summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--AUTHORS1
-rw-r--r--COPYING340
-rw-r--r--COPYING-DOCS397
-rw-r--r--ChangeLog122
-rw-r--r--INSTALL36
-rw-r--r--Makefile.am8
-rw-r--r--Makefile.cvs14
-rw-r--r--NEWS1
-rw-r--r--README49
-rw-r--r--TODO28
-rw-r--r--acinclude.m411917
-rw-r--r--aclocal.m4863
-rw-r--r--config.h.in240
-rw-r--r--configure.files2
-rw-r--r--configure.in173
-rw-r--r--configure.in.in11
-rw-r--r--doc/Makefile.am1
-rw-r--r--doc/da/Makefile.am2
-rw-r--r--doc/da/index.docbook981
-rw-r--r--doc/es/Makefile.am2
-rw-r--r--doc/es/config_appear.pngbin0 -> 32039 bytes
-rw-r--r--doc/es/config_scan.pngbin0 -> 32310 bytes
-rw-r--r--doc/es/filemap.pngbin0 -> 35902 bytes
-rw-r--r--doc/es/index.docbook995
-rw-r--r--doc/es/main.pngbin0 -> 59371 bytes
-rw-r--r--doc/et/Makefile.am2
-rw-r--r--doc/et/index.docbook995
-rw-r--r--doc/filelight/Makefile.am2
-rw-r--r--doc/filelight/config_appear.pngbin0 -> 11952 bytes
-rw-r--r--doc/filelight/config_scan.pngbin0 -> 12904 bytes
-rw-r--r--doc/filelight/filemap.pngbin0 -> 12206 bytes
-rw-r--r--doc/filelight/index.docbook613
-rw-r--r--doc/filelight/main.pngbin0 -> 19720 bytes
-rw-r--r--doc/it/Makefile.am2
-rw-r--r--doc/it/config_appear.pngbin0 -> 20086 bytes
-rw-r--r--doc/it/config_scan.pngbin0 -> 21118 bytes
-rw-r--r--doc/it/index.docbook995
-rw-r--r--doc/it/main.pngbin0 -> 43016 bytes
-rw-r--r--doc/pt/Makefile.am2
-rw-r--r--doc/pt/index.docbook995
-rw-r--r--doc/ru/Makefile.am2
-rw-r--r--doc/ru/index.docbook993
-rw-r--r--doc/sv/Makefile.am2
-rw-r--r--doc/sv/config_appear.pngbin0 -> 9000 bytes
-rw-r--r--doc/sv/config_scan.pngbin0 -> 9421 bytes
-rw-r--r--doc/sv/index.docbook995
-rw-r--r--doc/sv/main.pngbin0 -> 16897 bytes
-rw-r--r--filelight.lsm13
-rw-r--r--misc/Makefile.am12
-rw-r--r--misc/cr32-action-view_filelight.pngbin0 -> 1499 bytes
-rw-r--r--misc/filelight.desktop39
-rw-r--r--misc/filelight_part.desktop30
-rw-r--r--misc/filelight_partui.rc40
-rw-r--r--misc/filelightrc6
-rw-r--r--misc/filelightui.rc108
-rw-r--r--misc/hi16-app-filelight.pngbin0 -> 944 bytes
-rw-r--r--misc/hi22-app-filelight.pngbin0 -> 1536 bytes
-rw-r--r--misc/hi32-app-filelight.pngbin0 -> 3034 bytes
-rw-r--r--misc/hi48-app-filelight.pngbin0 -> 5845 bytes
-rw-r--r--misc/hi64-app-filelight.pngbin0 -> 9612 bytes
-rw-r--r--po/Makefile.am1
-rw-r--r--po/az/Makefile.am3
-rw-r--r--po/az/filelight.po447
-rw-r--r--po/bg/Makefile.am3
-rw-r--r--po/bg/filelight.po499
-rw-r--r--po/br/Makefile.am3
-rw-r--r--po/br/filelight.po465
-rw-r--r--po/ca/Makefile.am3
-rw-r--r--po/ca/filelight.po417
-rw-r--r--po/cs/Makefile.am3
-rw-r--r--po/cs/filelight.po498
-rw-r--r--po/cy/Makefile.am3
-rw-r--r--po/cy/filelight.po424
-rw-r--r--po/da/Makefile.am3
-rw-r--r--po/da/filelight.po495
-rw-r--r--po/de/Makefile.am3
-rw-r--r--po/de/filelight.po499
-rw-r--r--po/el/Makefile.am3
-rw-r--r--po/el/filelight.po448
-rw-r--r--po/en_GB/Makefile.am3
-rw-r--r--po/en_GB/filelight.po496
-rw-r--r--po/es/Makefile.am3
-rw-r--r--po/es/filelight.po508
-rw-r--r--po/et/Makefile.am3
-rw-r--r--po/et/filelight.po460
-rw-r--r--po/fr/Makefile.am3
-rw-r--r--po/fr/filelight.po501
-rw-r--r--po/ga/Makefile.am3
-rw-r--r--po/ga/filelight.po457
-rw-r--r--po/gl/Makefile.am3
-rw-r--r--po/gl/filelight.po440
-rw-r--r--po/is/Makefile.am3
-rw-r--r--po/is/filelight.po413
-rw-r--r--po/it/Makefile.am3
-rw-r--r--po/it/filelight.po511
-rw-r--r--po/ja/Makefile.am3
-rw-r--r--po/ja/filelight.po422
-rw-r--r--po/ka/Makefile.am3
-rw-r--r--po/ka/filelight.po491
-rw-r--r--po/lt/Makefile.am3
-rw-r--r--po/lt/filelight.po542
-rw-r--r--po/nb/Makefile.am3
-rw-r--r--po/nb/filelight.po496
-rw-r--r--po/nl/Makefile.am3
-rw-r--r--po/nl/filelight.po452
-rw-r--r--po/pl/Makefile.am3
-rw-r--r--po/pl/filelight.po497
-rw-r--r--po/pt/Makefile.am3
-rw-r--r--po/pt/filelight.po483
-rw-r--r--po/pt_BR/Makefile.am3
-rw-r--r--po/pt_BR/filelight.po550
-rw-r--r--po/ro/Makefile.am3
-rw-r--r--po/ro/filelight.po433
-rw-r--r--po/ru/Makefile.am3
-rw-r--r--po/ru/filelight.po440
-rw-r--r--po/rw/Makefile.am3
-rw-r--r--po/rw/filelight.po537
-rw-r--r--po/sr/Makefile.am3
-rw-r--r--po/sr/filelight.po495
-rw-r--r--po/sr@Latn/Makefile.am3
-rw-r--r--po/sr@Latn/filelight.po495
-rw-r--r--po/sv/Makefile.am3
-rw-r--r--po/sv/filelight.po439
-rw-r--r--po/ta/Makefile.am3
-rw-r--r--po/ta/filelight.po501
-rw-r--r--po/tr/Makefile.am3
-rw-r--r--po/tr/filelight.po499
-rw-r--r--po/uk/Makefile.am3
-rw-r--r--po/uk/filelight.po484
-rw-r--r--src/Makefile.am3
-rw-r--r--src/app/Makefile.am8
-rw-r--r--src/app/historyAction.cpp96
-rw-r--r--src/app/historyAction.h64
-rw-r--r--src/app/main.cpp55
-rw-r--r--src/app/mainWindow.cpp280
-rw-r--r--src/app/mainWindow.h83
-rw-r--r--src/define.h17
-rw-r--r--src/part/Config.cpp62
-rw-r--r--src/part/Config.h41
-rw-r--r--src/part/Makefile.am19
-rw-r--r--src/part/debug.h36
-rw-r--r--src/part/dialog.ui574
-rw-r--r--src/part/fileTree.cpp67
-rw-r--r--src/part/fileTree.h238
-rw-r--r--src/part/localLister.cpp333
-rw-r--r--src/part/localLister.h35
-rw-r--r--src/part/part.cpp254
-rw-r--r--src/part/part.h71
-rw-r--r--src/part/progressBox.cpp65
-rw-r--r--src/part/progressBox.h32
-rw-r--r--src/part/radialMap/Makefile.am4
-rw-r--r--src/part/radialMap/builder.cpp141
-rw-r--r--src/part/radialMap/builder.h38
-rw-r--r--src/part/radialMap/labels.cpp327
-rw-r--r--src/part/radialMap/map.cpp442
-rw-r--r--src/part/radialMap/radialMap.h72
-rw-r--r--src/part/radialMap/segmentTip.cpp186
-rw-r--r--src/part/radialMap/segmentTip.h34
-rw-r--r--src/part/radialMap/sincos.h25
-rw-r--r--src/part/radialMap/widget.cpp187
-rw-r--r--src/part/radialMap/widget.h114
-rw-r--r--src/part/radialMap/widgetEvents.cpp275
-rw-r--r--src/part/remoteLister.cpp160
-rw-r--r--src/part/remoteLister.h28
-rw-r--r--src/part/scan.cpp204
-rw-r--r--src/part/scan.h52
-rw-r--r--src/part/settingsDialog.cpp214
-rw-r--r--src/part/settingsDialog.h48
-rw-r--r--src/part/summaryWidget.cpp236
-rw-r--r--src/part/summaryWidget.h25
-rw-r--r--stamp-h.in0
-rw-r--r--subdirs4
172 files changed, 43615 insertions, 0 deletions
diff --git a/AUTHORS b/AUTHORS
new file mode 100644
index 0000000..152d042
--- /dev/null
+++ b/AUTHORS
@@ -0,0 +1 @@
+Max Howell <max.howell@methylblue.com> \ No newline at end of file
diff --git a/COPYING b/COPYING
new file mode 100644
index 0000000..0fc8a21
--- /dev/null
+++ b/COPYING
@@ -0,0 +1,340 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+ 51 Franklin Steet, 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) <year> <name of author>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Steet, Fifth Floor, Boston, MA 02110-1301 USA
+
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+ Gnomovision version 69, Copyright (C) year name of author
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+ <signature of Ty Coon>, 1 April 1989
+ Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs. If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library. If this is what you want to do, use the GNU Library General
+Public License instead of this License.
diff --git a/COPYING-DOCS b/COPYING-DOCS
new file mode 100644
index 0000000..4a0fe1c
--- /dev/null
+++ b/COPYING-DOCS
@@ -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.
diff --git a/ChangeLog b/ChangeLog
new file mode 100644
index 0000000..5839c2e
--- /dev/null
+++ b/ChangeLog
@@ -0,0 +1,122 @@
+1.0
+ Added copy to clipboard function to segment context menus
+ Accepts URLs from drag and drop
+ Click central circle to go "up"
+ Fixed a crash on startup
+ Fixed a crash during use
+ Fixed not displaying non-latin1 label correctly
+
+0.6.3
+ Made "Scan Directory..." a KStdAction::open with setText( "Scan Directory..." );
+ Swaped map rendering from bitBlt to paintPixmap (again) as some users get problems with the labels being obliterated
+ LocationBar history is saved inbetween sessions for KDE >= 3.1.3
+ Rescans are forced if locationBar Go is pushed for location to current map
+ Fixed several bugs related to resizing the filemap
+ Initial map display had a long running issue which meant you had to perform a resize to ensure all detail was shown. I finally put in the hours and fixed it.
+ Cancelling scans clears the location bar
+ Option to show files not represented as segments (because they are too small) combined in large segments with relevant summaries
+ Directories that would normally have no child segments shown now have hidden Files segment shown
+ Fixed faulty show/hide of progress box when many scans done in quick succession
+ Session management
+ Saving of Window/*bar settings inbetween sessions
+ Fixed popup related non-updates and false action calls
+ Canvas code cleanup
+ Stopped combo activated scans being called twice
+ Improved map generation speed (scan speeds are still slow however)
+ Appropriate wait cursors are set during long operations (scans, map generation)
+ Fixed misrendered transparency when tooltips exceed Filelight boundries
+ Optimised and de-flickered the tooltips
+ Segments that contain unrepresented files (due to 5 level limit on maps) now show a thick border at the edge to indicate that there are unrepresented files
+ Commandline now accepts ../ and ./ type arguments
+ Add "Open Konsole here" to context-menu, also tidied it up and made it properly context relevant
+ Popup title is now relative to map path to reduce menu width somewhat without resorting to csqueeze()
+ Fixed bug with not showing unrepresented files for dirs that contained dirs
+ Improvement selection of units for tooltips (always prefer megabytes unless < 0.01 MB)
+ Improved selection of decimal places for size display (2sig.fig. please)
+ Label font sizes now default to the system standard
+ Labels have indentation relative to their level
+ Label selection improved (not enough yet though!)
+ Better looking label line diagonals
+ When smaller fonts are requested, Filelight maximises the font size differences
+ Attempted to fix crash at exit bug
+ Made files shades of gray, made indicator for directories that have unshown files
+ Removed presence of multi-file segments except in root level circumstances (unless Show Small Files is selected in Settings)
+ Contrast system revamped, you can now have more contrast
+ Segment colouring system rewritten, better distinction between different segment types
+ Used more KStdActions (less work for translation teams at very least)
+ Fixed bug where segmenttip wasn't shown for 1st pixel but labels were
+ Directories with unshown files have better arrow heads now thanks to some clever trig
+ Checked for possible cases where division by zero might occur and corrected code
+ Huge code rewrite in preparation for transition to KPart (must release soon, this is getting silly)
+ Allow clicks on the central circle to represent the map's root (eg. middle-click to open in Konqi)
+0.6.2
+ Attempted a fix for the absurdly large file bug (eg > 1400GB!)
+ Linking bug fixed for Gentoo systems
+ Compile bug fixed for GCC < 3
+ Fixed crash bug when scan had been stopped and then back then forward pressed
+ Fixed another compile bug for systems that don't support large files (Debian apparently)
+ Internationalisation support thanks to patch from Andr Somers
+ Made the tooltip translucent (NOT a gimmick, this feature is essential IMO)
+ Started making debug messages use kdDebug so users can enable/disable the messages
+ Implemented XML GUI
+ Vast slot/signal cleanup, fixed many bugs
+ Fixed a few bugs with the progress box
+ Cancelled scans now remain stored in the back/forward histories
+ Fixed incorrect reporting of directory file counts
+ Increased minimum segment size to 3px outer diameter (any depth)
+ Added location_bar UI element to toolbar (much work)
+ The segment tip now appears below the cursor when hovering over the upper part of the map
+ Increased the recent scans list to 8 entries and made the combohistory work better
+0.6.1
+ Filelight again compiles on KDE <= 3.1.3 (but with some reduced functionality)
+ Rewrote HistoryAction code
+ Improved default choice of smallest font
+ Lowest level segment labels show whenever mouse is not over anything
+ Middle click opens segment according to mime type (eg. jpgs open in kuickshow)
+ Implemented realtime contrast updates
+ Added antialiasing, font size and contrast settings to appearance tab
+ Renamed "colour scheme" tab "appearance"
+ Extruded label fontsizes reflect their segment's depth
+ Rescans ignore tree cache
+ Changing scan options clears the tree cache
+ Directory select dialog shows current path as selected when opened
+ Scans no longer have to be repeated
+ Implemented antialiasing for the map, very slow so only happens after resizes
+ Gracefully handles failures to read file attributes
+ Rewrote backend with templating, should have done that in first place!
+ Improved changelog listing methods!
+ Included support for GNU systems that don't support large files (>2GB)
+0.6.0
+ Added expanded labels to give more information on segments in focus
+ Added settings dialogs
+ Added new colour schemes
+ Allowed scans to not cross at mount points
+ Added #Files info for directory tooltips
+ filemap is now displayed centrally
+ Shows percentage of files in directories
+0.5.1
+ Added Filelight to the Utilities submenu in the K-Menu
+ Tooltips are now presented for file info instead of using the statusbar
+ Made resizing of the filemap smoother
+ Improved the icon and made a 48x48 and 22x22 version
+ Reworked the code somewhat
+ Scans can now be cancelled
+ The go history actions are more intelligent
+ Fixed all the bugs I could find
+ Attempted to improve filemap contrast some more (still not perfect, but getting there)
+ Added visual activation cues for various clicks
+0.50
+ Few bug fixes
+ Improved performance for rendering and scanning
+ Improved contrast of the filemap
+ Added icon
+ Added left and right click functionality
+ Improved error handling
+0.45
+ Added toolbar, implemented history functionality
+ Click to scan segments
+ Increased filesize limit to 4096 GB
+ Fixed <time.h> required - make bug
+ Various optimisations
+0.4
+ Initial public release
diff --git a/INSTALL b/INSTALL
new file mode 100644
index 0000000..d263cb4
--- /dev/null
+++ b/INSTALL
@@ -0,0 +1,36 @@
+
+ Filelight INSTALL
+===================
+
+Simply:
+
+ $ ./configure && make && su -c "make install"
+
+But, I recommend:
+
+ $ CXXFLAGS="-O3" ./configure --enable-final --disable-debug \
+ && make && su -c "make install"
+
+
+ Troubleshooting
+=================
+
+Check you have the kde development packages installed, they'll be named
+something like:
+
+ kde-devel
+
+This should pull in a lot of other development packages (unless they are already
+installed) like:
+
+ x11-devel
+ qt-devel
+
+If you get stuck, please email me the config.log file with any information you
+can provide. I will get back to you! Compile issues suck, I know this full well.
+--------------------------------------------------------------------------------
+
+
+I hope you enjoy using Filelight!
+
+Max Howell <max.howell@methylblue.com>
diff --git a/Makefile.am b/Makefile.am
new file mode 100644
index 0000000..ae05a42
--- /dev/null
+++ b/Makefile.am
@@ -0,0 +1,8 @@
+SUBDIRS = src misc doc po
+
+messages: rc.cpp
+ $(EXTRACTRC) `find . -name "*.rc" -o -name "*.ui"` >> rc.cpp
+ LIST=`find src -name \*.h -o -name \*.cpp` ;\
+ if test -n "$$LIST"; then \
+ $(XGETTEXT) rc.cpp $$LIST -o $(podir)/filelight.pot; \
+ fi
diff --git a/Makefile.cvs b/Makefile.cvs
new file mode 100644
index 0000000..be59a86
--- /dev/null
+++ b/Makefile.cvs
@@ -0,0 +1,14 @@
+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:
diff --git a/NEWS b/NEWS
new file mode 100644
index 0000000..8d1c8b6
--- /dev/null
+++ b/NEWS
@@ -0,0 +1 @@
+
diff --git a/README b/README
new file mode 100644
index 0000000..c624052
--- /dev/null
+++ b/README
@@ -0,0 +1,49 @@
+
+ Filelight README
+==================
+
+Filelight allows you to understand exactly where your diskspace is being used by
+graphically representating your filesystem as a set of concentric
+segmented-rings.
+
+README last updated with respect to 1.0
+--------------------------------------------------------------------------------
+
+
+ Dependencies
+==============
+
+Filelight depends on KDElibs >= 3.2 and therefore Qt >= 3.2.
+
+
+ Usage Tips
+============
+
+* Click on directories to center the view there
+* Click on files to launch the application associated with them
+* Middle click to open files/directories with Konqueror
+* Right click on the central white circle to manipulate the base directory
+* Increase the window size to see more detail
+* Hover over segments to find out more information
+* Available as a view-KPart in Konqueror
+* You can specify a directory to scan on startup from the command line, eg:
+
+ $ filelight /home/mxcl
+
+
+ Install
+=========
+
+See the accompanying file; INSTALL.
+
+
+ Bugs
+======
+
+There are less bugs everyday! Please report bugs to filelight@methylblue.com
+--------------------------------------------------------------------------------
+
+
+I hope you enjoy using Filelight!
+
+Max Howell <max.howell@methylblue.com>
diff --git a/TODO b/TODO
new file mode 100644
index 0000000..499a76a
--- /dev/null
+++ b/TODO
@@ -0,0 +1,28 @@
+1.3
+ features for sysadmins, split by users etc.
+
+1.2
+ split rendering engine from data-gatherer and allow data to be fed through a pipe thus allowing different data sources to be profiled.
+ show preview icons next to the labels
+ last access time colour scheme
+ History actions need to have menu pulldown just like konqi
+ show statusbar signal to say that diretories weren't scanned due to lack of permissions (allow user to enter root password, for this scan only or to keep and then scan only bits that were missed)
+ determine if canvas is too square and shrink map accordingly
+
+1.1
+ If scanning a partition show free space
+ if the view is square shrink the map slightly as a slightly rectangular view is preferable
+ use kdirwatcher, then move rescan to scan menu, rename force rescan
+ clicking center goes up directory
+ refactor disklister.cpp
+ implement vectors instead of double-linked lists for file data
+ Trace inodes in binarytree to avoid recursive hardlinks and counting same directory tree twice
+ admin mode
+ fix that Part settings file is not same as app settings file
+ support other mouse actions for central circle (ie middle click, right click)
+ write caches for all scans, so if crash or something that root scan that took 20 mins is not lost
+
+MAYBE
+ flicking mouse wheel shows different information in tooltip, and there's an off setting, show temp status message to reflect info box
+ ideally, eventually show which labels are children of which by grouping them with a coloured square or something
+ create html summary files (pics and text) \ No newline at end of file
diff --git a/acinclude.m4 b/acinclude.m4
new file mode 100644
index 0000000..868519c
--- /dev/null
+++ b/acinclude.m4
@@ -0,0 +1,11917 @@
+## -*- autoconf -*-
+
+dnl This file is part of the KDE libraries/packages
+dnl Copyright (C) 1997 Janos Farkas (chexum@shadow.banki.hu)
+dnl (C) 1997,98,99 Stephan Kulow (coolo@kde.org)
+
+dnl This file is free software; you can redistribute it and/or
+dnl modify it under the terms of the GNU Library General Public
+dnl License as published by the Free Software Foundation; either
+dnl version 2 of the License, or (at your option) any later version.
+
+dnl This library is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
+dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+dnl Library General Public License for more details.
+
+dnl You should have received a copy of the GNU Library General Public License
+dnl along with this library; see the file COPYING.LIB. If not, write to
+dnl the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+dnl Boston, MA 02110-1301, USA.
+
+dnl IMPORTANT NOTE:
+dnl Please do not modify this file unless you expect your modifications to be
+dnl carried into every other module in the repository.
+dnl
+dnl Single-module modifications are best placed in configure.in for kdelibs
+dnl and kdebase or configure.in.in if present.
+
+# KDE_PATH_X_DIRECT
+dnl Internal subroutine of AC_PATH_X.
+dnl Set ac_x_includes and/or ac_x_libraries.
+AC_DEFUN([KDE_PATH_X_DIRECT],
+[
+AC_REQUIRE([KDE_CHECK_LIB64])
+
+if test "$ac_x_includes" = NO; then
+ # Guess where to find include files, by looking for this one X11 .h file.
+ test -z "$x_direct_test_include" && x_direct_test_include=X11/Intrinsic.h
+
+ # First, try using that file with no special directory specified.
+AC_TRY_CPP([#include <$x_direct_test_include>],
+[# We can compile using X headers with no special include directory.
+ac_x_includes=],
+[# Look for the header file in a standard set of common directories.
+# Check X11 before X11Rn because it is often a symlink to the current release.
+ for ac_dir in \
+ /usr/X11/include \
+ /usr/X11R6/include \
+ /usr/X11R5/include \
+ /usr/X11R4/include \
+ \
+ /usr/include/X11 \
+ /usr/include/X11R6 \
+ /usr/include/X11R5 \
+ /usr/include/X11R4 \
+ \
+ /usr/local/X11/include \
+ /usr/local/X11R6/include \
+ /usr/local/X11R5/include \
+ /usr/local/X11R4/include \
+ \
+ /usr/local/include/X11 \
+ /usr/local/include/X11R6 \
+ /usr/local/include/X11R5 \
+ /usr/local/include/X11R4 \
+ \
+ /usr/X386/include \
+ /usr/x386/include \
+ /usr/XFree86/include/X11 \
+ \
+ /usr/include \
+ /usr/local/include \
+ /usr/unsupported/include \
+ /usr/athena/include \
+ /usr/local/x11r5/include \
+ /usr/lpp/Xamples/include \
+ \
+ /usr/openwin/include \
+ /usr/openwin/share/include \
+ ; \
+ do
+ if test -r "$ac_dir/$x_direct_test_include"; then
+ ac_x_includes=$ac_dir
+ break
+ fi
+ done])
+fi # $ac_x_includes = NO
+
+if test "$ac_x_libraries" = NO; then
+ # Check for the libraries.
+
+ test -z "$x_direct_test_library" && x_direct_test_library=Xt
+ test -z "$x_direct_test_function" && x_direct_test_function=XtMalloc
+
+ # See if we find them without any special options.
+ # Don't add to $LIBS permanently.
+ ac_save_LIBS="$LIBS"
+ LIBS="-l$x_direct_test_library $LIBS"
+AC_TRY_LINK([#include <X11/Intrinsic.h>], [${x_direct_test_function}(1)],
+[LIBS="$ac_save_LIBS"
+# We can link X programs with no special library path.
+ac_x_libraries=],
+[LIBS="$ac_save_LIBS"
+# First see if replacing the include by lib works.
+# Check X11 before X11Rn because it is often a symlink to the current release.
+for ac_dir in `echo "$ac_x_includes" | sed s/include/lib${kdelibsuff}/` \
+ /usr/X11/lib${kdelibsuff} \
+ /usr/X11R6/lib${kdelibsuff} \
+ /usr/X11R5/lib${kdelibsuff} \
+ /usr/X11R4/lib${kdelibsuff} \
+ \
+ /usr/lib${kdelibsuff}/X11 \
+ /usr/lib${kdelibsuff}/X11R6 \
+ /usr/lib${kdelibsuff}/X11R5 \
+ /usr/lib${kdelibsuff}/X11R4 \
+ \
+ /usr/local/X11/lib${kdelibsuff} \
+ /usr/local/X11R6/lib${kdelibsuff} \
+ /usr/local/X11R5/lib${kdelibsuff} \
+ /usr/local/X11R4/lib${kdelibsuff} \
+ \
+ /usr/local/lib${kdelibsuff}/X11 \
+ /usr/local/lib${kdelibsuff}/X11R6 \
+ /usr/local/lib${kdelibsuff}/X11R5 \
+ /usr/local/lib${kdelibsuff}/X11R4 \
+ \
+ /usr/X386/lib${kdelibsuff} \
+ /usr/x386/lib${kdelibsuff} \
+ /usr/XFree86/lib${kdelibsuff}/X11 \
+ \
+ /usr/lib${kdelibsuff} \
+ /usr/local/lib${kdelibsuff} \
+ /usr/unsupported/lib${kdelibsuff} \
+ /usr/athena/lib${kdelibsuff} \
+ /usr/local/x11r5/lib${kdelibsuff} \
+ /usr/lpp/Xamples/lib${kdelibsuff} \
+ /lib/usr/lib${kdelibsuff}/X11 \
+ \
+ /usr/openwin/lib${kdelibsuff} \
+ /usr/openwin/share/lib${kdelibsuff} \
+ ; \
+do
+dnl Don't even attempt the hair of trying to link an X program!
+ for ac_extension in a so sl; do
+ if test -r $ac_dir/lib${x_direct_test_library}.$ac_extension; then
+ ac_x_libraries=$ac_dir
+ break 2
+ fi
+ done
+done])
+fi # $ac_x_libraries = NO
+])
+
+
+dnl ------------------------------------------------------------------------
+dnl Find a file (or one of more files in a list of dirs)
+dnl ------------------------------------------------------------------------
+dnl
+AC_DEFUN([AC_FIND_FILE],
+[
+$3=NO
+for i in $2;
+do
+ for j in $1;
+ do
+ echo "configure: __oline__: $i/$j" >&AC_FD_CC
+ if test -r "$i/$j"; then
+ echo "taking that" >&AC_FD_CC
+ $3=$i
+ break 2
+ fi
+ done
+done
+])
+
+dnl KDE_FIND_PATH(program-name, variable-name, list-of-dirs,
+dnl if-not-found, test-parameter, prepend-path)
+dnl
+dnl Look for program-name in list-of-dirs+$PATH.
+dnl If prepend-path is set, look in $PATH+list-of-dirs instead.
+dnl If found, $variable-name is set. If not, if-not-found is evaluated.
+dnl test-parameter: if set, the program is executed with this arg,
+dnl and only a successful exit code is required.
+AC_DEFUN([KDE_FIND_PATH],
+[
+ AC_MSG_CHECKING([for $1])
+ if test -n "$$2"; then
+ kde_cv_path="$$2";
+ else
+ kde_cache=`echo $1 | sed 'y%./+-%__p_%'`
+
+ AC_CACHE_VAL(kde_cv_path_$kde_cache,
+ [
+ kde_cv_path="NONE"
+ kde_save_IFS=$IFS
+ IFS=':'
+ dirs=""
+ for dir in $PATH; do
+ dirs="$dirs $dir"
+ done
+ if test -z "$6"; then dnl Append dirs in PATH (default)
+ dirs="$3 $dirs"
+ else dnl Prepend dirs in PATH (if 6th arg is set)
+ dirs="$dirs $3"
+ fi
+ IFS=$kde_save_IFS
+
+ for dir in $dirs; do
+ if test -x "$dir/$1"; then
+ if test -n "$5"
+ then
+ evalstr="$dir/$1 $5 2>&1 "
+ if eval $evalstr; then
+ kde_cv_path="$dir/$1"
+ break
+ fi
+ else
+ kde_cv_path="$dir/$1"
+ break
+ fi
+ fi
+ done
+
+ eval "kde_cv_path_$kde_cache=$kde_cv_path"
+
+ ])
+
+ eval "kde_cv_path=\"`echo '$kde_cv_path_'$kde_cache`\""
+
+ fi
+
+ if test -z "$kde_cv_path" || test "$kde_cv_path" = NONE; then
+ AC_MSG_RESULT(not found)
+ $4
+ else
+ AC_MSG_RESULT($kde_cv_path)
+ $2=$kde_cv_path
+
+ fi
+])
+
+AC_DEFUN([KDE_MOC_ERROR_MESSAGE],
+[
+ AC_MSG_ERROR([No Qt meta object compiler (moc) found!
+Please check whether you installed Qt correctly.
+You need to have a running moc binary.
+configure tried to run $ac_cv_path_moc and the test didn't
+succeed. If configure shouldn't have tried this one, set
+the environment variable MOC to the right one before running
+configure.
+])
+])
+
+AC_DEFUN([KDE_UIC_ERROR_MESSAGE],
+[
+ AC_MSG_WARN([No Qt ui compiler (uic) found!
+Please check whether you installed Qt correctly.
+You need to have a running uic binary.
+configure tried to run $ac_cv_path_uic and the test didn't
+succeed. If configure shouldn't have tried this one, set
+the environment variable UIC to the right one before running
+configure.
+])
+])
+
+
+AC_DEFUN([KDE_CHECK_UIC_FLAG],
+[
+ AC_MSG_CHECKING([whether uic supports -$1 ])
+ kde_cache=`echo $1 | sed 'y% .=/+-%____p_%'`
+ AC_CACHE_VAL(kde_cv_prog_uic_$kde_cache,
+ [
+ cat >conftest.ui <<EOT
+ <!DOCTYPE UI><UI version="3" stdsetdef="1"></UI>
+EOT
+ ac_uic_testrun="$UIC_PATH -$1 $2 conftest.ui >/dev/null"
+ if AC_TRY_EVAL(ac_uic_testrun); then
+ eval "kde_cv_prog_uic_$kde_cache=yes"
+ else
+ eval "kde_cv_prog_uic_$kde_cache=no"
+ fi
+ rm -f conftest*
+ ])
+
+ if eval "test \"`echo '$kde_cv_prog_uic_'$kde_cache`\" = yes"; then
+ AC_MSG_RESULT([yes])
+ :
+ $3
+ else
+ AC_MSG_RESULT([no])
+ :
+ $4
+ fi
+])
+
+
+dnl ------------------------------------------------------------------------
+dnl Find the meta object compiler and the ui compiler in the PATH,
+dnl in $QTDIR/bin, and some more usual places
+dnl ------------------------------------------------------------------------
+dnl
+AC_DEFUN([AC_PATH_QT_MOC_UIC],
+[
+ AC_REQUIRE([KDE_CHECK_PERL])
+ qt_bindirs=""
+ for dir in $kde_qt_dirs; do
+ qt_bindirs="$qt_bindirs $dir/bin $dir/src/moc"
+ done
+ qt_bindirs="$qt_bindirs /usr/bin /usr/X11R6/bin /usr/local/qt/bin"
+ if test ! "$ac_qt_bindir" = "NO"; then
+ qt_bindirs="$ac_qt_bindir $qt_bindirs"
+ fi
+
+ KDE_FIND_PATH(moc, MOC, [$qt_bindirs], [KDE_MOC_ERROR_MESSAGE])
+ if test -z "$UIC_NOT_NEEDED"; then
+ KDE_FIND_PATH(uic, UIC_PATH, [$qt_bindirs], [UIC_PATH=""])
+ if test -z "$UIC_PATH" ; then
+ KDE_UIC_ERROR_MESSAGE
+ exit 1
+ else
+ UIC=$UIC_PATH
+
+ if test $kde_qtver = 3; then
+ KDE_CHECK_UIC_FLAG(L,[/nonexistent],ac_uic_supports_libpath=yes,ac_uic_supports_libpath=no)
+ KDE_CHECK_UIC_FLAG(nounload,,ac_uic_supports_nounload=yes,ac_uic_supports_nounload=no)
+
+ if test x$ac_uic_supports_libpath = xyes; then
+ UIC="$UIC -L \$(kde_widgetdir)"
+ fi
+ if test x$ac_uic_supports_nounload = xyes; then
+ UIC="$UIC -nounload"
+ fi
+ fi
+ fi
+ else
+ UIC="echo uic not available: "
+ fi
+
+ AC_SUBST(MOC)
+ AC_SUBST(UIC)
+
+ UIC_TR="i18n"
+ if test $kde_qtver = 3; then
+ UIC_TR="tr2i18n"
+ fi
+
+ AC_SUBST(UIC_TR)
+])
+
+AC_DEFUN([KDE_1_CHECK_PATHS],
+[
+ KDE_1_CHECK_PATH_HEADERS
+
+ KDE_TEST_RPATH=
+
+ if test -n "$USE_RPATH"; then
+
+ if test -n "$kde_libraries"; then
+ KDE_TEST_RPATH="-R $kde_libraries"
+ fi
+
+ if test -n "$qt_libraries"; then
+ KDE_TEST_RPATH="$KDE_TEST_RPATH -R $qt_libraries"
+ fi
+
+ if test -n "$x_libraries"; then
+ KDE_TEST_RPATH="$KDE_TEST_RPATH -R $x_libraries"
+ fi
+
+ KDE_TEST_RPATH="$KDE_TEST_RPATH $KDE_EXTRA_RPATH"
+ fi
+
+AC_MSG_CHECKING([for KDE libraries installed])
+ac_link='$LIBTOOL_SHELL --silent --mode=link ${CXX-g++} -o conftest $CXXFLAGS $all_includes $CPPFLAGS $LDFLAGS $all_libraries conftest.$ac_ext $LIBS -lkdecore $LIBQT $KDE_TEST_RPATH 1>&5'
+
+if AC_TRY_EVAL(ac_link) && test -s conftest; then
+ AC_MSG_RESULT(yes)
+else
+ AC_MSG_ERROR([your system fails at linking a small KDE application!
+Check, if your compiler is installed correctly and if you have used the
+same compiler to compile Qt and kdelibs as you did use now.
+For more details about this problem, look at the end of config.log.])
+fi
+
+if eval `KDEDIR= ./conftest 2>&5`; then
+ kde_result=done
+else
+ kde_result=problems
+fi
+
+KDEDIR= ./conftest 2> /dev/null >&5 # make an echo for config.log
+kde_have_all_paths=yes
+
+KDE_SET_PATHS($kde_result)
+
+])
+
+AC_DEFUN([KDE_SET_PATHS],
+[
+ kde_cv_all_paths="kde_have_all_paths=\"yes\" \
+ kde_htmldir=\"$kde_htmldir\" \
+ kde_appsdir=\"$kde_appsdir\" \
+ kde_icondir=\"$kde_icondir\" \
+ kde_sounddir=\"$kde_sounddir\" \
+ kde_datadir=\"$kde_datadir\" \
+ kde_locale=\"$kde_locale\" \
+ kde_cgidir=\"$kde_cgidir\" \
+ kde_confdir=\"$kde_confdir\" \
+ kde_kcfgdir=\"$kde_kcfgdir\" \
+ kde_mimedir=\"$kde_mimedir\" \
+ kde_toolbardir=\"$kde_toolbardir\" \
+ kde_wallpaperdir=\"$kde_wallpaperdir\" \
+ kde_templatesdir=\"$kde_templatesdir\" \
+ kde_bindir=\"$kde_bindir\" \
+ kde_servicesdir=\"$kde_servicesdir\" \
+ kde_servicetypesdir=\"$kde_servicetypesdir\" \
+ kde_moduledir=\"$kde_moduledir\" \
+ kde_styledir=\"$kde_styledir\" \
+ kde_widgetdir=\"$kde_widgetdir\" \
+ xdg_appsdir=\"$xdg_appsdir\" \
+ xdg_menudir=\"$xdg_menudir\" \
+ xdg_directorydir=\"$xdg_directorydir\" \
+ kde_result=$1"
+])
+
+AC_DEFUN([KDE_SET_DEFAULT_PATHS],
+[
+if test "$1" = "default"; then
+
+ if test -z "$kde_htmldir"; then
+ kde_htmldir='\${datadir}/doc/HTML'
+ fi
+ if test -z "$kde_appsdir"; then
+ kde_appsdir='\${datadir}/applnk'
+ fi
+ if test -z "$kde_icondir"; then
+ kde_icondir='\${datadir}/icons'
+ fi
+ if test -z "$kde_sounddir"; then
+ kde_sounddir='\${datadir}/sounds'
+ fi
+ if test -z "$kde_datadir"; then
+ kde_datadir='\${datadir}/apps'
+ fi
+ if test -z "$kde_locale"; then
+ kde_locale='\${datadir}/locale'
+ fi
+ if test -z "$kde_cgidir"; then
+ kde_cgidir='\${exec_prefix}/cgi-bin'
+ fi
+ if test -z "$kde_confdir"; then
+ kde_confdir='\${datadir}/config'
+ fi
+ if test -z "$kde_kcfgdir"; then
+ kde_kcfgdir='\${datadir}/config.kcfg'
+ fi
+ if test -z "$kde_mimedir"; then
+ kde_mimedir='\${datadir}/mimelnk'
+ fi
+ if test -z "$kde_toolbardir"; then
+ kde_toolbardir='\${datadir}/toolbar'
+ fi
+ if test -z "$kde_wallpaperdir"; then
+ kde_wallpaperdir='\${datadir}/wallpapers'
+ fi
+ if test -z "$kde_templatesdir"; then
+ kde_templatesdir='\${datadir}/templates'
+ fi
+ if test -z "$kde_bindir"; then
+ kde_bindir='\${exec_prefix}/bin'
+ fi
+ if test -z "$kde_servicesdir"; then
+ kde_servicesdir='\${datadir}/services'
+ fi
+ if test -z "$kde_servicetypesdir"; then
+ kde_servicetypesdir='\${datadir}/servicetypes'
+ fi
+ if test -z "$kde_moduledir"; then
+ if test "$kde_qtver" = "2"; then
+ kde_moduledir='\${libdir}/kde2'
+ else
+ kde_moduledir='\${libdir}/kde3'
+ fi
+ fi
+ if test -z "$kde_styledir"; then
+ kde_styledir='\${libdir}/kde3/plugins/styles'
+ fi
+ if test -z "$kde_widgetdir"; then
+ kde_widgetdir='\${libdir}/kde3/plugins/designer'
+ fi
+ if test -z "$xdg_appsdir"; then
+ xdg_appsdir='\${datadir}/applications/kde'
+ fi
+ if test -z "$xdg_menudir"; then
+ xdg_menudir='\${sysconfdir}/xdg/menus'
+ fi
+ if test -z "$xdg_directorydir"; then
+ xdg_directorydir='\${datadir}/desktop-directories'
+ fi
+
+ KDE_SET_PATHS(defaults)
+
+else
+
+ if test $kde_qtver = 1; then
+ AC_MSG_RESULT([compiling])
+ KDE_1_CHECK_PATHS
+ else
+ AC_MSG_ERROR([path checking not yet supported for KDE 2])
+ fi
+
+fi
+])
+
+AC_DEFUN([KDE_CHECK_PATHS_FOR_COMPLETENESS],
+[ if test -z "$kde_htmldir" || test -z "$kde_appsdir" ||
+ test -z "$kde_icondir" || test -z "$kde_sounddir" ||
+ test -z "$kde_datadir" || test -z "$kde_locale" ||
+ test -z "$kde_cgidir" || test -z "$kde_confdir" ||
+ test -z "$kde_kcfgdir" ||
+ test -z "$kde_mimedir" || test -z "$kde_toolbardir" ||
+ test -z "$kde_wallpaperdir" || test -z "$kde_templatesdir" ||
+ test -z "$kde_bindir" || test -z "$kde_servicesdir" ||
+ test -z "$kde_servicetypesdir" || test -z "$kde_moduledir" ||
+ test -z "$kde_styledir" || test -z "kde_widgetdir" ||
+ test -z "$xdg_appsdir" || test -z "$xdg_menudir" || test -z "$xdg_directorydir" ||
+ test "x$kde_have_all_paths" != "xyes"; then
+ kde_have_all_paths=no
+ fi
+])
+
+AC_DEFUN([KDE_MISSING_PROG_ERROR],
+[
+ AC_MSG_ERROR([The important program $1 was not found!
+Please check whether you installed KDE correctly.
+])
+])
+
+AC_DEFUN([KDE_MISSING_ARTS_ERROR],
+[
+ AC_MSG_ERROR([The important program $1 was not found!
+Please check whether you installed aRts correctly or use
+--without-arts to compile without aRts support (this will remove functionality).
+])
+])
+
+AC_DEFUN([KDE_SET_DEFAULT_BINDIRS],
+[
+ kde_default_bindirs="/usr/bin /usr/local/bin /opt/local/bin /usr/X11R6/bin /opt/kde/bin /opt/kde3/bin /usr/kde/bin /usr/local/kde/bin"
+ test -n "$KDEDIR" && kde_default_bindirs="$KDEDIR/bin $kde_default_bindirs"
+ if test -n "$KDEDIRS"; then
+ kde_save_IFS=$IFS
+ IFS=:
+ for dir in $KDEDIRS; do
+ kde_default_bindirs="$dir/bin $kde_default_bindirs "
+ done
+ IFS=$kde_save_IFS
+ fi
+])
+
+AC_DEFUN([KDE_SUBST_PROGRAMS],
+[
+ AC_ARG_WITH(arts,
+ AC_HELP_STRING([--without-arts],[build without aRts [default=no]]),
+ [build_arts=$withval],
+ [build_arts=yes]
+ )
+ AM_CONDITIONAL(include_ARTS, test "$build_arts" '!=' "no")
+ if test "$build_arts" = "no"; then
+ AC_DEFINE(WITHOUT_ARTS, 1, [Defined if compiling without arts])
+ fi
+
+ KDE_SET_DEFAULT_BINDIRS
+ kde_default_bindirs="$exec_prefix/bin $prefix/bin $kde_libs_prefix/bin $kde_default_bindirs"
+ KDE_FIND_PATH(dcopidl, DCOPIDL, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(dcopidl)])
+ KDE_FIND_PATH(dcopidl2cpp, DCOPIDL2CPP, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(dcopidl2cpp)])
+ if test "$build_arts" '!=' "no"; then
+ KDE_FIND_PATH(mcopidl, MCOPIDL, [$kde_default_bindirs], [KDE_MISSING_ARTS_ERROR(mcopidl)])
+ KDE_FIND_PATH(artsc-config, ARTSCCONFIG, [$kde_default_bindirs], [KDE_MISSING_ARTS_ERROR(artsc-config)])
+ fi
+ KDE_FIND_PATH(meinproc, MEINPROC, [$kde_default_bindirs])
+
+ kde32ornewer=1
+ kde33ornewer=1
+ if test -n "$kde_qtver" && test "$kde_qtver" -lt 3; then
+ kde32ornewer=
+ kde33ornewer=
+ else
+ if test "$kde_qtver" = "3"; then
+ if test "$kde_qtsubver" -le 1; then
+ kde32ornewer=
+ fi
+ if test "$kde_qtsubver" -le 2; then
+ kde33ornewer=
+ fi
+ if test "$KDECONFIG" != "compiled"; then
+ if test `$KDECONFIG --version | grep KDE | sed 's/KDE: \(...\).*/\1/'` = 3.2; then
+ kde33ornewer=
+ fi
+ fi
+ fi
+ fi
+
+ if test -n "$kde32ornewer"; then
+ KDE_FIND_PATH(kconfig_compiler, KCONFIG_COMPILER, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(kconfig_compiler)])
+ KDE_FIND_PATH(dcopidlng, DCOPIDLNG, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(dcopidlng)])
+ fi
+ if test -n "$kde33ornewer"; then
+ KDE_FIND_PATH(makekdewidgets, MAKEKDEWIDGETS, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(makekdewidgets)])
+ AC_SUBST(MAKEKDEWIDGETS)
+ fi
+ KDE_FIND_PATH(xmllint, XMLLINT, [${prefix}/bin ${exec_prefix}/bin], [XMLLINT=""])
+
+ if test -n "$MEINPROC" -a "$MEINPROC" != "compiled"; then
+ kde_sharedirs="/usr/share/kde /usr/local/share /usr/share /opt/kde3/share /opt/kde/share $prefix/share"
+ test -n "$KDEDIR" && kde_sharedirs="$KDEDIR/share $kde_sharedirs"
+ AC_FIND_FILE(apps/ksgmltools2/customization/kde-chunk.xsl, $kde_sharedirs, KDE_XSL_STYLESHEET)
+ if test "$KDE_XSL_STYLESHEET" = "NO"; then
+ KDE_XSL_STYLESHEET=""
+ else
+ KDE_XSL_STYLESHEET="$KDE_XSL_STYLESHEET/apps/ksgmltools2/customization/kde-chunk.xsl"
+ fi
+ fi
+
+ DCOP_DEPENDENCIES='$(DCOPIDL)'
+ if test -n "$kde32ornewer"; then
+ KCFG_DEPENDENCIES='$(KCONFIG_COMPILER)'
+ DCOP_DEPENDENCIES='$(DCOPIDL) $(DCOPIDLNG)'
+ AC_SUBST(KCONFIG_COMPILER)
+ AC_SUBST(KCFG_DEPENDENCIES)
+ AC_SUBST(DCOPIDLNG)
+ fi
+ AC_SUBST(DCOPIDL)
+ AC_SUBST(DCOPIDL2CPP)
+ AC_SUBST(DCOP_DEPENDENCIES)
+ AC_SUBST(MCOPIDL)
+ AC_SUBST(ARTSCCONFIG)
+ AC_SUBST(MEINPROC)
+ AC_SUBST(KDE_XSL_STYLESHEET)
+ AC_SUBST(XMLLINT)
+])dnl
+
+AC_DEFUN([AC_CREATE_KFSSTND],
+[
+AC_REQUIRE([AC_CHECK_RPATH])
+
+AC_MSG_CHECKING([for KDE paths])
+kde_result=""
+kde_cached_paths=yes
+AC_CACHE_VAL(kde_cv_all_paths,
+[
+ KDE_SET_DEFAULT_PATHS($1)
+ kde_cached_paths=no
+])
+eval "$kde_cv_all_paths"
+KDE_CHECK_PATHS_FOR_COMPLETENESS
+if test "$kde_have_all_paths" = "no" && test "$kde_cached_paths" = "yes"; then
+ # wrong values were cached, may be, we can set better ones
+ kde_result=
+ kde_htmldir= kde_appsdir= kde_icondir= kde_sounddir=
+ kde_datadir= kde_locale= kde_cgidir= kde_confdir= kde_kcfgdir=
+ kde_mimedir= kde_toolbardir= kde_wallpaperdir= kde_templatesdir=
+ kde_bindir= kde_servicesdir= kde_servicetypesdir= kde_moduledir=
+ kde_have_all_paths=
+ kde_styledir=
+ kde_widgetdir=
+ xdg_appsdir = xdg_menudir= xdg_directorydir=
+ KDE_SET_DEFAULT_PATHS($1)
+ eval "$kde_cv_all_paths"
+ KDE_CHECK_PATHS_FOR_COMPLETENESS
+ kde_result="$kde_result (cache overridden)"
+fi
+if test "$kde_have_all_paths" = "no"; then
+ AC_MSG_ERROR([configure could not run a little KDE program to test the environment.
+Since it had compiled and linked before, it must be a strange problem on your system.
+Look at config.log for details. If you are not able to fix this, look at
+http://www.kde.org/faq/installation.html or any www.kde.org mirror.
+(If you're using an egcs version on Linux, you may update binutils!)
+])
+else
+ rm -f conftest*
+ AC_MSG_RESULT($kde_result)
+fi
+
+bindir=$kde_bindir
+
+KDE_SUBST_PROGRAMS
+
+])
+
+AC_DEFUN([AC_SUBST_KFSSTND],
+[
+AC_SUBST(kde_htmldir)
+AC_SUBST(kde_appsdir)
+AC_SUBST(kde_icondir)
+AC_SUBST(kde_sounddir)
+AC_SUBST(kde_datadir)
+AC_SUBST(kde_locale)
+AC_SUBST(kde_confdir)
+AC_SUBST(kde_kcfgdir)
+AC_SUBST(kde_mimedir)
+AC_SUBST(kde_wallpaperdir)
+AC_SUBST(kde_bindir)
+dnl X Desktop Group standards
+AC_SUBST(xdg_appsdir)
+AC_SUBST(xdg_menudir)
+AC_SUBST(xdg_directorydir)
+dnl for KDE 2
+AC_SUBST(kde_templatesdir)
+AC_SUBST(kde_servicesdir)
+AC_SUBST(kde_servicetypesdir)
+AC_SUBST(kde_moduledir)
+AC_SUBST(kdeinitdir, '$(kde_moduledir)')
+AC_SUBST(kde_styledir)
+AC_SUBST(kde_widgetdir)
+if test "$kde_qtver" = 1; then
+ kde_minidir="$kde_icondir/mini"
+else
+# for KDE 1 - this breaks KDE2 apps using minidir, but
+# that's the plan ;-/
+ kde_minidir="/dev/null"
+fi
+dnl AC_SUBST(kde_minidir)
+dnl AC_SUBST(kde_cgidir)
+dnl AC_SUBST(kde_toolbardir)
+])
+
+AC_DEFUN([KDE_MISC_TESTS],
+[
+ dnl Checks for libraries.
+ AC_CHECK_LIB(util, main, [LIBUTIL="-lutil"]) dnl for *BSD
+ AC_SUBST(LIBUTIL)
+ AC_CHECK_LIB(compat, main, [LIBCOMPAT="-lcompat"]) dnl for *BSD
+ AC_SUBST(LIBCOMPAT)
+ kde_have_crypt=
+ AC_CHECK_LIB(crypt, crypt, [LIBCRYPT="-lcrypt"; kde_have_crypt=yes],
+ AC_CHECK_LIB(c, crypt, [kde_have_crypt=yes], [
+ AC_MSG_WARN([you have no crypt in either libcrypt or libc.
+You should install libcrypt from another source or configure with PAM
+support])
+ kde_have_crypt=no
+ ]))
+ AC_SUBST(LIBCRYPT)
+ if test $kde_have_crypt = yes; then
+ AC_DEFINE_UNQUOTED(HAVE_CRYPT, 1, [Defines if your system has the crypt function])
+ fi
+ AC_CHECK_SOCKLEN_T
+ AC_CHECK_LIB(dnet, dnet_ntoa, [X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet"])
+ if test $ac_cv_lib_dnet_dnet_ntoa = no; then
+ AC_CHECK_LIB(dnet_stub, dnet_ntoa,
+ [X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet_stub"])
+ fi
+ AC_CHECK_FUNC(inet_ntoa)
+ if test $ac_cv_func_inet_ntoa = no; then
+ AC_CHECK_LIB(nsl, inet_ntoa, X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl")
+ fi
+ AC_CHECK_FUNC(connect)
+ if test $ac_cv_func_connect = no; then
+ AC_CHECK_LIB(socket, connect, X_EXTRA_LIBS="-lsocket $X_EXTRA_LIBS", ,
+ $X_EXTRA_LIBS)
+ fi
+
+ AC_CHECK_FUNC(remove)
+ if test $ac_cv_func_remove = no; then
+ AC_CHECK_LIB(posix, remove, X_EXTRA_LIBS="$X_EXTRA_LIBS -lposix")
+ fi
+
+ # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay.
+ AC_CHECK_FUNC(shmat, ,
+ AC_CHECK_LIB(ipc, shmat, X_EXTRA_LIBS="$X_EXTRA_LIBS -lipc"))
+
+ # more headers that need to be explicitly included on darwin
+ AC_CHECK_HEADERS(sys/types.h stdint.h)
+
+ # sys/bitypes.h is needed for uint32_t and friends on Tru64
+ AC_CHECK_HEADERS(sys/bitypes.h)
+
+ # darwin requires a poll emulation library
+ AC_CHECK_LIB(poll, poll, LIB_POLL="-lpoll")
+
+ # for some image handling on Mac OS X
+ AC_CHECK_HEADERS(Carbon/Carbon.h)
+
+ # CoreAudio framework
+ AC_CHECK_HEADER(CoreAudio/CoreAudio.h, [
+ AC_DEFINE(HAVE_COREAUDIO, 1, [Define if you have the CoreAudio API])
+ FRAMEWORK_COREAUDIO="-Wl,-framework,CoreAudio"
+ ])
+
+ AC_CHECK_RES_INIT
+ AC_SUBST(LIB_POLL)
+ AC_SUBST(FRAMEWORK_COREAUDIO)
+ LIBSOCKET="$X_EXTRA_LIBS"
+ AC_SUBST(LIBSOCKET)
+ AC_SUBST(X_EXTRA_LIBS)
+ AC_CHECK_LIB(ucb, killpg, [LIBUCB="-lucb"]) dnl for Solaris2.4
+ AC_SUBST(LIBUCB)
+
+ case $host in dnl this *is* LynxOS specific
+ *-*-lynxos* )
+ AC_MSG_CHECKING([LynxOS header file wrappers])
+ [CFLAGS="$CFLAGS -D__NO_INCLUDE_WARN__"]
+ AC_MSG_RESULT(disabled)
+ AC_CHECK_LIB(bsd, gethostbyname, [LIBSOCKET="-lbsd"]) dnl for LynxOS
+ ;;
+ esac
+
+ KDE_CHECK_TYPES
+ KDE_CHECK_LIBDL
+ KDE_CHECK_STRLCPY
+ KDE_CHECK_PIE_SUPPORT
+
+# darwin needs this to initialize the environment
+AC_CHECK_HEADERS(crt_externs.h)
+AC_CHECK_FUNC(_NSGetEnviron, [AC_DEFINE(HAVE_NSGETENVIRON, 1, [Define if your system needs _NSGetEnviron to set up the environment])])
+
+AH_VERBATIM(_DARWIN_ENVIRON,
+[
+#if defined(HAVE_NSGETENVIRON) && defined(HAVE_CRT_EXTERNS_H)
+# include <sys/time.h>
+# include <crt_externs.h>
+# define environ (*_NSGetEnviron())
+#endif
+])
+
+AH_VERBATIM(_AIX_STRINGS_H_BZERO,
+[
+/*
+ * AIX defines FD_SET in terms of bzero, but fails to include <strings.h>
+ * that defines bzero.
+ */
+
+#if defined(_AIX)
+#include <strings.h>
+#endif
+])
+
+AC_CHECK_FUNCS([vsnprintf snprintf])
+
+AH_VERBATIM(_TRU64,[
+/*
+ * On HP-UX, the declaration of vsnprintf() is needed every time !
+ */
+
+#if !defined(HAVE_VSNPRINTF) || defined(hpux)
+#if __STDC__
+#include <stdarg.h>
+#include <stdlib.h>
+#else
+#include <varargs.h>
+#endif
+#ifdef __cplusplus
+extern "C"
+#endif
+int vsnprintf(char *str, size_t n, char const *fmt, va_list ap);
+#ifdef __cplusplus
+extern "C"
+#endif
+int snprintf(char *str, size_t n, char const *fmt, ...);
+#endif
+])
+
+])
+
+dnl ------------------------------------------------------------------------
+dnl Find the header files and libraries for X-Windows. Extended the
+dnl macro AC_PATH_X
+dnl ------------------------------------------------------------------------
+dnl
+AC_DEFUN([K_PATH_X],
+[
+AC_REQUIRE([KDE_MISC_TESTS])dnl
+AC_REQUIRE([KDE_CHECK_LIB64])
+
+AC_ARG_ENABLE(
+ embedded,
+ AC_HELP_STRING([--enable-embedded],[link to Qt-embedded, don't use X]),
+ kde_use_qt_emb=$enableval,
+ kde_use_qt_emb=no
+)
+
+AC_ARG_ENABLE(
+ qtopia,
+ AC_HELP_STRING([--enable-qtopia],[link to Qt-embedded, link to the Qtopia Environment]),
+ kde_use_qt_emb_palm=$enableval,
+ kde_use_qt_emb_palm=no
+)
+
+AC_ARG_ENABLE(
+ mac,
+ AC_HELP_STRING([--enable-mac],[link to Qt/Mac (don't use X)]),
+ kde_use_qt_mac=$enableval,
+ kde_use_qt_mac=no
+)
+
+# used to disable x11-specific stuff on special platforms
+AM_CONDITIONAL(include_x11, test "$kde_use_qt_emb" = "no" && test "$kde_use_qt_mac" = "no")
+
+if test "$kde_use_qt_emb" = "no" && test "$kde_use_qt_mac" = "no"; then
+
+AC_MSG_CHECKING(for X)
+
+AC_CACHE_VAL(kde_cv_have_x,
+[# One or both of the vars are not set, and there is no cached value.
+if test "{$x_includes+set}" = set || test "$x_includes" = NONE; then
+ kde_x_includes=NO
+else
+ kde_x_includes=$x_includes
+fi
+if test "{$x_libraries+set}" = set || test "$x_libraries" = NONE; then
+ kde_x_libraries=NO
+else
+ kde_x_libraries=$x_libraries
+fi
+
+# below we use the standard autoconf calls
+ac_x_libraries=$kde_x_libraries
+ac_x_includes=$kde_x_includes
+
+KDE_PATH_X_DIRECT
+dnl AC_PATH_X_XMKMF picks /usr/lib as the path for the X libraries.
+dnl Unfortunately, if compiling with the N32 ABI, this is not the correct
+dnl location. The correct location is /usr/lib32 or an undefined value
+dnl (the linker is smart enough to pick the correct default library).
+dnl Things work just fine if you use just AC_PATH_X_DIRECT.
+dnl Solaris has a similar problem. AC_PATH_X_XMKMF forces x_includes to
+dnl /usr/openwin/include, which doesn't work. /usr/include does work, so
+dnl x_includes should be left alone.
+case "$host" in
+mips-sgi-irix6*)
+ ;;
+*-*-solaris*)
+ ;;
+*)
+ _AC_PATH_X_XMKMF
+ if test -z "$ac_x_includes"; then
+ ac_x_includes="."
+ fi
+ if test -z "$ac_x_libraries"; then
+ ac_x_libraries="/usr/lib${kdelibsuff}"
+ fi
+esac
+#from now on we use our own again
+
+# when the user already gave --x-includes, we ignore
+# what the standard autoconf macros told us.
+if test "$kde_x_includes" = NO; then
+ kde_x_includes=$ac_x_includes
+fi
+
+# for --x-libraries too
+if test "$kde_x_libraries" = NO; then
+ kde_x_libraries=$ac_x_libraries
+fi
+
+if test "$kde_x_includes" = NO; then
+ AC_MSG_ERROR([Can't find X includes. Please check your installation and add the correct paths!])
+fi
+
+if test "$kde_x_libraries" = NO; then
+ AC_MSG_ERROR([Can't find X libraries. Please check your installation and add the correct paths!])
+fi
+
+# Record where we found X for the cache.
+kde_cv_have_x="have_x=yes \
+ kde_x_includes=$kde_x_includes kde_x_libraries=$kde_x_libraries"
+])dnl
+
+eval "$kde_cv_have_x"
+
+if test "$have_x" != yes; then
+ AC_MSG_RESULT($have_x)
+ no_x=yes
+else
+ AC_MSG_RESULT([libraries $kde_x_libraries, headers $kde_x_includes])
+fi
+
+if test -z "$kde_x_includes" || test "x$kde_x_includes" = xNONE; then
+ X_INCLUDES=""
+ x_includes="."; dnl better than nothing :-
+ else
+ x_includes=$kde_x_includes
+ X_INCLUDES="-I$x_includes"
+fi
+
+if test -z "$kde_x_libraries" || test "x$kde_x_libraries" = xNONE; then
+ X_LDFLAGS=""
+ x_libraries="/usr/lib"; dnl better than nothing :-
+ else
+ x_libraries=$kde_x_libraries
+ X_LDFLAGS="-L$x_libraries"
+fi
+all_includes="$X_INCLUDES"
+all_libraries="$X_LDFLAGS $LDFLAGS_AS_NEEDED $LDFLAGS_NEW_DTAGS"
+
+# Check for libraries that X11R6 Xt/Xaw programs need.
+ac_save_LDFLAGS="$LDFLAGS"
+LDFLAGS="$LDFLAGS $X_LDFLAGS"
+# SM needs ICE to (dynamically) link under SunOS 4.x (so we have to
+# check for ICE first), but we must link in the order -lSM -lICE or
+# we get undefined symbols. So assume we have SM if we have ICE.
+# These have to be linked with before -lX11, unlike the other
+# libraries we check for below, so use a different variable.
+# --interran@uluru.Stanford.EDU, kb@cs.umb.edu.
+AC_CHECK_LIB(ICE, IceConnectionNumber,
+ [LIBSM="-lSM -lICE"], , $X_EXTRA_LIBS)
+LDFLAGS="$ac_save_LDFLAGS"
+
+LIB_X11='-lX11 $(LIBSOCKET)'
+
+AC_MSG_CHECKING(for libXext)
+AC_CACHE_VAL(kde_cv_have_libXext,
+[
+kde_ldflags_safe="$LDFLAGS"
+kde_libs_safe="$LIBS"
+
+LDFLAGS="$LDFLAGS $X_LDFLAGS $USER_LDFLAGS"
+LIBS="-lXext -lX11 $LIBSOCKET"
+
+AC_TRY_LINK([
+#include <stdio.h>
+#ifdef STDC_HEADERS
+# include <stdlib.h>
+#endif
+],
+[
+printf("hello Xext\n");
+],
+kde_cv_have_libXext=yes,
+kde_cv_have_libXext=no
+)
+
+LDFLAGS=$kde_ldflags_safe
+LIBS=$kde_libs_safe
+])
+
+AC_MSG_RESULT($kde_cv_have_libXext)
+
+if test "$kde_cv_have_libXext" = "no"; then
+ AC_MSG_ERROR([We need a working libXext to proceed. Since configure
+can't find it itself, we stop here assuming that make wouldn't find
+them either.])
+fi
+
+LIB_XEXT="-lXext"
+QTE_NORTTI=""
+
+elif test "$kde_use_qt_emb" = "yes"; then
+ dnl We're using QT Embedded
+ CPPFLAGS=-DQWS
+ CXXFLAGS="$CXXFLAGS -fno-rtti"
+ QTE_NORTTI="-fno-rtti -DQWS"
+ X_PRE_LIBS=""
+ LIB_X11=""
+ LIB_XEXT=""
+ LIB_XRENDER=""
+ LIBSM=""
+ X_INCLUDES=""
+ X_LDFLAGS=""
+ x_includes=""
+ x_libraries=""
+elif test "$kde_use_qt_mac" = "yes"; then
+ dnl We're using QT/Mac (I use QT_MAC so that qglobal.h doesn't *have* to
+ dnl be included to get the information) --Sam
+ CXXFLAGS="$CXXFLAGS -DQT_MAC -no-cpp-precomp"
+ CFLAGS="$CFLAGS -DQT_MAC -no-cpp-precomp"
+ X_PRE_LIBS=""
+ LIB_X11=""
+ LIB_XEXT=""
+ LIB_XRENDER=""
+ LIBSM=""
+ X_INCLUDES=""
+ X_LDFLAGS=""
+ x_includes=""
+ x_libraries=""
+fi
+AC_SUBST(X_PRE_LIBS)
+AC_SUBST(LIB_X11)
+AC_SUBST(LIB_XRENDER)
+AC_SUBST(LIBSM)
+AC_SUBST(X_INCLUDES)
+AC_SUBST(X_LDFLAGS)
+AC_SUBST(x_includes)
+AC_SUBST(x_libraries)
+AC_SUBST(QTE_NORTTI)
+AC_SUBST(LIB_XEXT)
+
+])
+
+AC_DEFUN([KDE_PRINT_QT_PROGRAM],
+[
+AC_REQUIRE([KDE_USE_QT])
+cat > conftest.$ac_ext <<EOF
+#include "confdefs.h"
+#include <qglobal.h>
+#include <qapplication.h>
+EOF
+if test "$kde_qtver" = "2"; then
+cat >> conftest.$ac_ext <<EOF
+#include <qevent.h>
+#include <qstring.h>
+#include <qstyle.h>
+EOF
+
+if test $kde_qtsubver -gt 0; then
+cat >> conftest.$ac_ext <<EOF
+#if QT_VERSION < 210
+#error 1
+#endif
+EOF
+fi
+fi
+
+if test "$kde_qtver" = "3"; then
+cat >> conftest.$ac_ext <<EOF
+#include <qcursor.h>
+#include <qstylefactory.h>
+#include <private/qucomextra_p.h>
+EOF
+fi
+
+echo "#if ! ($kde_qt_verstring)" >> conftest.$ac_ext
+cat >> conftest.$ac_ext <<EOF
+#error 1
+#endif
+
+int main() {
+EOF
+if test "$kde_qtver" = "2"; then
+cat >> conftest.$ac_ext <<EOF
+ QStringList *t = new QStringList();
+ Q_UNUSED(t);
+EOF
+if test $kde_qtsubver -gt 0; then
+cat >> conftest.$ac_ext <<EOF
+ QString s;
+ s.setLatin1("Elvis is alive", 14);
+EOF
+fi
+fi
+if test "$kde_qtver" = "3"; then
+cat >> conftest.$ac_ext <<EOF
+ (void)QStyleFactory::create(QString::null);
+ QCursor c(Qt::WhatsThisCursor);
+EOF
+fi
+cat >> conftest.$ac_ext <<EOF
+ return 0;
+}
+EOF
+])
+
+AC_DEFUN([KDE_USE_QT],
+[
+if test -z "$1"; then
+ # Current default Qt version: 3.3
+ kde_qtver=3
+ kde_qtsubver=3
+else
+ kde_qtsubver=`echo "$1" | sed -e 's#[0-9][0-9]*\.\([0-9][0-9]*\).*#\1#'`
+ # following is the check if subversion isnt found in passed argument
+ if test "$kde_qtsubver" = "$1"; then
+ kde_qtsubver=1
+ fi
+ kde_qtver=`echo "$1" | sed -e 's#^\([0-9][0-9]*\)\..*#\1#'`
+ if test "$kde_qtver" = "1"; then
+ kde_qtsubver=42
+ fi
+fi
+
+if test -z "$2"; then
+ if test "$kde_qtver" = "2"; then
+ if test $kde_qtsubver -gt 0; then
+ kde_qt_minversion=">= Qt 2.2.2"
+ else
+ kde_qt_minversion=">= Qt 2.0.2"
+ fi
+ fi
+ if test "$kde_qtver" = "3"; then
+ if test $kde_qtsubver -gt 0; then
+ if test $kde_qtsubver -gt 1; then
+ if test $kde_qtsubver -gt 2; then
+ kde_qt_minversion=">= Qt 3.3 and < 4.0"
+ else
+ kde_qt_minversion=">= Qt 3.2 and < 4.0"
+ fi
+ else
+ kde_qt_minversion=">= Qt 3.1 (20021021) and < 4.0"
+ fi
+ else
+ kde_qt_minversion=">= Qt 3.0 and < 4.0"
+ fi
+ fi
+ if test "$kde_qtver" = "1"; then
+ kde_qt_minversion=">= 1.42 and < 2.0"
+ fi
+else
+ kde_qt_minversion="$2"
+fi
+
+if test -z "$3"; then
+ if test $kde_qtver = 3; then
+ if test $kde_qtsubver -gt 0; then
+ kde_qt_verstring="QT_VERSION >= 0x03@VER@00 && QT_VERSION < 0x040000"
+ qtsubver=`echo "00$kde_qtsubver" | sed -e 's,.*\(..\)$,\1,'`
+ kde_qt_verstring=`echo $kde_qt_verstring | sed -e "s,@VER@,$qtsubver,"`
+ else
+ kde_qt_verstring="QT_VERSION >= 300 && QT_VERSION < 0x040000"
+ fi
+ fi
+ if test $kde_qtver = 2; then
+ if test $kde_qtsubver -gt 0; then
+ kde_qt_verstring="QT_VERSION >= 222"
+ else
+ kde_qt_verstring="QT_VERSION >= 200"
+ fi
+ fi
+ if test $kde_qtver = 1; then
+ kde_qt_verstring="QT_VERSION >= 142 && QT_VERSION < 200"
+ fi
+else
+ kde_qt_verstring="$3"
+fi
+
+if test $kde_qtver = 4; then
+ kde_qt_dirs="$QTDIR /usr/lib/qt4 /usr/lib/qt /usr/share/qt4"
+fi
+if test $kde_qtver = 3; then
+ kde_qt_dirs="$QTDIR /usr/lib/qt3 /usr/lib/qt /usr/share/qt3"
+fi
+if test $kde_qtver = 2; then
+ kde_qt_dirs="$QTDIR /usr/lib/qt2 /usr/lib/qt"
+fi
+if test $kde_qtver = 1; then
+ kde_qt_dirs="$QTDIR /usr/lib/qt"
+fi
+])
+
+AC_DEFUN([KDE_CHECK_QT_DIRECT],
+[
+AC_REQUIRE([KDE_USE_QT])
+AC_MSG_CHECKING([if Qt compiles without flags])
+AC_CACHE_VAL(kde_cv_qt_direct,
+[
+AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+ac_LD_LIBRARY_PATH_safe=$LD_LIBRARY_PATH
+ac_LIBRARY_PATH="$LIBRARY_PATH"
+ac_cxxflags_safe="$CXXFLAGS"
+ac_ldflags_safe="$LDFLAGS"
+ac_libs_safe="$LIBS"
+
+CXXFLAGS="$CXXFLAGS -I$qt_includes"
+LDFLAGS="$LDFLAGS $X_LDFLAGS"
+if test "x$kde_use_qt_emb" != "xyes" && test "x$kde_use_qt_mac" != "xyes"; then
+LIBS="$LIBQT -lXext -lX11 $LIBSOCKET"
+else
+LIBS="$LIBQT $LIBSOCKET"
+fi
+LD_LIBRARY_PATH=
+export LD_LIBRARY_PATH
+LIBRARY_PATH=
+export LIBRARY_PATH
+
+KDE_PRINT_QT_PROGRAM
+
+if AC_TRY_EVAL(ac_link) && test -s conftest; then
+ kde_cv_qt_direct="yes"
+else
+ kde_cv_qt_direct="no"
+ echo "configure: failed program was:" >&AC_FD_CC
+ cat conftest.$ac_ext >&AC_FD_CC
+fi
+
+rm -f conftest*
+CXXFLAGS="$ac_cxxflags_safe"
+LDFLAGS="$ac_ldflags_safe"
+LIBS="$ac_libs_safe"
+
+LD_LIBRARY_PATH="$ac_LD_LIBRARY_PATH_safe"
+export LD_LIBRARY_PATH
+LIBRARY_PATH="$ac_LIBRARY_PATH"
+export LIBRARY_PATH
+AC_LANG_RESTORE
+])
+
+if test "$kde_cv_qt_direct" = "yes"; then
+ AC_MSG_RESULT(yes)
+ $1
+else
+ AC_MSG_RESULT(no)
+ $2
+fi
+])
+
+dnl ------------------------------------------------------------------------
+dnl Try to find the Qt headers and libraries.
+dnl $(QT_LDFLAGS) will be -Lqtliblocation (if needed)
+dnl and $(QT_INCLUDES) will be -Iqthdrlocation (if needed)
+dnl ------------------------------------------------------------------------
+dnl
+AC_DEFUN([AC_PATH_QT_1_3],
+[
+AC_REQUIRE([K_PATH_X])
+AC_REQUIRE([KDE_USE_QT])
+AC_REQUIRE([KDE_CHECK_LIB64])
+
+dnl ------------------------------------------------------------------------
+dnl Add configure flag to enable linking to MT version of Qt library.
+dnl ------------------------------------------------------------------------
+
+AC_ARG_ENABLE(
+ mt,
+ AC_HELP_STRING([--disable-mt],[link to non-threaded Qt (deprecated)]),
+ kde_use_qt_mt=$enableval,
+ [
+ if test $kde_qtver = 3; then
+ kde_use_qt_mt=yes
+ else
+ kde_use_qt_mt=no
+ fi
+ ]
+)
+
+USING_QT_MT=""
+
+dnl ------------------------------------------------------------------------
+dnl If we not get --disable-qt-mt then adjust some vars for the host.
+dnl ------------------------------------------------------------------------
+
+KDE_MT_LDFLAGS=
+KDE_MT_LIBS=
+if test "x$kde_use_qt_mt" = "xyes"; then
+ KDE_CHECK_THREADING
+ if test "x$kde_use_threading" = "xyes"; then
+ CPPFLAGS="$USE_THREADS -DQT_THREAD_SUPPORT $CPPFLAGS"
+ KDE_MT_LDFLAGS="$USE_THREADS"
+ KDE_MT_LIBS="$LIBPTHREAD"
+ else
+ kde_use_qt_mt=no
+ fi
+fi
+AC_SUBST(KDE_MT_LDFLAGS)
+AC_SUBST(KDE_MT_LIBS)
+
+kde_qt_was_given=yes
+
+dnl ------------------------------------------------------------------------
+dnl If we haven't been told how to link to Qt, we work it out for ourselves.
+dnl ------------------------------------------------------------------------
+if test -z "$LIBQT_GLOB"; then
+ if test "x$kde_use_qt_emb" = "xyes"; then
+ LIBQT_GLOB="libqte.*"
+ else
+ LIBQT_GLOB="libqt.*"
+ fi
+fi
+
+dnl ------------------------------------------------------------
+dnl If we got --enable-embedded then adjust the Qt library name.
+dnl ------------------------------------------------------------
+if test "x$kde_use_qt_emb" = "xyes"; then
+ qtlib="qte"
+else
+ qtlib="qt"
+fi
+
+kde_int_qt="-l$qtlib"
+
+if test -z "$LIBQPE"; then
+dnl ------------------------------------------------------------
+dnl If we got --enable-palmtop then add -lqpe to the link line
+dnl ------------------------------------------------------------
+ if test "x$kde_use_qt_emb" = "xyes"; then
+ if test "x$kde_use_qt_emb_palm" = "xyes"; then
+ LIB_QPE="-lqpe"
+ else
+ LIB_QPE=""
+ fi
+ else
+ LIB_QPE=""
+ fi
+fi
+
+dnl ------------------------------------------------------------------------
+dnl If we got --enable-qt-mt then adjust the Qt library name for the host.
+dnl ------------------------------------------------------------------------
+
+if test "x$kde_use_qt_mt" = "xyes"; then
+ LIBQT="-l$qtlib-mt"
+ kde_int_qt="-l$qtlib-mt"
+ LIBQT_GLOB="lib$qtlib-mt.*"
+ USING_QT_MT="using -mt"
+else
+ LIBQT="-l$qtlib"
+fi
+
+if test $kde_qtver != 1; then
+
+ AC_REQUIRE([AC_FIND_PNG])
+ AC_REQUIRE([AC_FIND_JPEG])
+ LIBQT="$LIBQT $LIBPNG $LIBJPEG"
+fi
+
+if test $kde_qtver = 3; then
+ AC_REQUIRE([KDE_CHECK_LIBDL])
+ LIBQT="$LIBQT $LIBDL"
+fi
+
+AC_MSG_CHECKING([for Qt])
+
+if test "x$kde_use_qt_emb" != "xyes" && test "x$kde_use_qt_mac" != "xyes"; then
+LIBQT="$LIBQT $X_PRE_LIBS -lXext -lX11 $LIBSM $LIBSOCKET"
+fi
+ac_qt_includes=NO ac_qt_libraries=NO ac_qt_bindir=NO
+qt_libraries=""
+qt_includes=""
+AC_ARG_WITH(qt-dir,
+ AC_HELP_STRING([--with-qt-dir=DIR],[where the root of Qt is installed ]),
+ [ ac_qt_includes="$withval"/include
+ ac_qt_libraries="$withval"/lib${kdelibsuff}
+ ac_qt_bindir="$withval"/bin
+ ])
+
+AC_ARG_WITH(qt-includes,
+ AC_HELP_STRING([--with-qt-includes=DIR],[where the Qt includes are. ]),
+ [
+ ac_qt_includes="$withval"
+ ])
+
+kde_qt_libs_given=no
+
+AC_ARG_WITH(qt-libraries,
+ AC_HELP_STRING([--with-qt-libraries=DIR],[where the Qt library is installed.]),
+ [ ac_qt_libraries="$withval"
+ kde_qt_libs_given=yes
+ ])
+
+AC_CACHE_VAL(ac_cv_have_qt,
+[#try to guess Qt locations
+
+qt_incdirs=""
+for dir in $kde_qt_dirs; do
+ qt_incdirs="$qt_incdirs $dir/include $dir"
+done
+qt_incdirs="$QTINC $qt_incdirs /usr/local/qt/include /usr/include/qt /usr/include /usr/X11R6/include/X11/qt /usr/X11R6/include/qt /usr/X11R6/include/qt2 /usr/include/qt3 $x_includes"
+if test ! "$ac_qt_includes" = "NO"; then
+ qt_incdirs="$ac_qt_includes $qt_incdirs"
+fi
+
+if test "$kde_qtver" != "1"; then
+ kde_qt_header=qstyle.h
+else
+ kde_qt_header=qglobal.h
+fi
+
+AC_FIND_FILE($kde_qt_header, $qt_incdirs, qt_incdir)
+ac_qt_includes="$qt_incdir"
+
+qt_libdirs=""
+for dir in $kde_qt_dirs; do
+ qt_libdirs="$qt_libdirs $dir/lib${kdelibsuff} $dir"
+done
+qt_libdirs="$QTLIB $qt_libdirs /usr/X11R6/lib /usr/lib /usr/local/qt/lib $x_libraries"
+if test ! "$ac_qt_libraries" = "NO"; then
+ qt_libdir=$ac_qt_libraries
+else
+ qt_libdirs="$ac_qt_libraries $qt_libdirs"
+ # if the Qt was given, the chance is too big that libqt.* doesn't exist
+ qt_libdir=NONE
+ for dir in $qt_libdirs; do
+ try="ls -1 $dir/${LIBQT_GLOB}"
+ if test -n "`$try 2> /dev/null`"; then qt_libdir=$dir; break; else echo "tried $dir" >&AC_FD_CC ; fi
+ done
+fi
+for a in $qt_libdir/lib`echo ${kde_int_qt} | sed 's,^-l,,'`_incremental.*; do
+ if test -e "$a"; then
+ LIBQT="$LIBQT ${kde_int_qt}_incremental"
+ break
+ fi
+done
+
+ac_qt_libraries="$qt_libdir"
+
+AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+
+ac_cxxflags_safe="$CXXFLAGS"
+ac_ldflags_safe="$LDFLAGS"
+ac_libs_safe="$LIBS"
+
+CXXFLAGS="$CXXFLAGS -I$qt_incdir $all_includes"
+LDFLAGS="$LDFLAGS -L$qt_libdir $all_libraries $USER_LDFLAGS $KDE_MT_LDFLAGS"
+LIBS="$LIBS $LIBQT $KDE_MT_LIBS"
+
+KDE_PRINT_QT_PROGRAM
+
+if AC_TRY_EVAL(ac_link) && test -s conftest; then
+ rm -f conftest*
+else
+ echo "configure: failed program was:" >&AC_FD_CC
+ cat conftest.$ac_ext >&AC_FD_CC
+ ac_qt_libraries="NO"
+fi
+rm -f conftest*
+CXXFLAGS="$ac_cxxflags_safe"
+LDFLAGS="$ac_ldflags_safe"
+LIBS="$ac_libs_safe"
+
+AC_LANG_RESTORE
+if test "$ac_qt_includes" = NO || test "$ac_qt_libraries" = NO; then
+ ac_cv_have_qt="have_qt=no"
+ ac_qt_notfound=""
+ missing_qt_mt=""
+ if test "$ac_qt_includes" = NO; then
+ if test "$ac_qt_libraries" = NO; then
+ ac_qt_notfound="(headers and libraries)";
+ else
+ ac_qt_notfound="(headers)";
+ fi
+ else
+ if test "x$kde_use_qt_mt" = "xyes"; then
+ missing_qt_mt="
+Make sure that you have compiled Qt with thread support!"
+ ac_qt_notfound="(library $qtlib-mt)";
+ else
+ ac_qt_notfound="(library $qtlib)";
+ fi
+ fi
+
+ AC_MSG_ERROR([Qt ($kde_qt_minversion) $ac_qt_notfound not found. Please check your installation!
+For more details about this problem, look at the end of config.log.$missing_qt_mt])
+else
+ have_qt="yes"
+fi
+])
+
+eval "$ac_cv_have_qt"
+
+if test "$have_qt" != yes; then
+ AC_MSG_RESULT([$have_qt]);
+else
+ ac_cv_have_qt="have_qt=yes \
+ ac_qt_includes=$ac_qt_includes ac_qt_libraries=$ac_qt_libraries"
+ AC_MSG_RESULT([libraries $ac_qt_libraries, headers $ac_qt_includes $USING_QT_MT])
+
+ qt_libraries="$ac_qt_libraries"
+ qt_includes="$ac_qt_includes"
+fi
+
+if test ! "$kde_qt_libs_given" = "yes" && test ! "$kde_qtver" = 3; then
+ KDE_CHECK_QT_DIRECT(qt_libraries= ,[])
+fi
+
+AC_SUBST(qt_libraries)
+AC_SUBST(qt_includes)
+
+if test "$qt_includes" = "$x_includes" || test -z "$qt_includes"; then
+ QT_INCLUDES=""
+else
+ QT_INCLUDES="-I$qt_includes"
+ all_includes="$QT_INCLUDES $all_includes"
+fi
+
+if test "$qt_libraries" = "$x_libraries" || test -z "$qt_libraries"; then
+ QT_LDFLAGS=""
+else
+ QT_LDFLAGS="-L$qt_libraries"
+ all_libraries="$QT_LDFLAGS $all_libraries"
+fi
+test -z "$KDE_MT_LDFLAGS" || all_libraries="$all_libraries $KDE_MT_LDFLAGS"
+
+AC_SUBST(QT_INCLUDES)
+AC_SUBST(QT_LDFLAGS)
+AC_PATH_QT_MOC_UIC
+
+KDE_CHECK_QT_JPEG
+
+if test "x$kde_use_qt_emb" != "xyes" && test "x$kde_use_qt_mac" != "xyes"; then
+LIB_QT="$kde_int_qt $LIBJPEG_QT "'$(LIBZ) $(LIBPNG) -lXext $(LIB_X11) $(LIBSM)'
+else
+LIB_QT="$kde_int_qt $LIBJPEG_QT "'$(LIBZ) $(LIBPNG)'
+fi
+test -z "$KDE_MT_LIBS" || LIB_QT="$LIB_QT $KDE_MT_LIBS"
+for a in $qt_libdir/lib`echo ${kde_int_qt} | sed 's,^-l,,'`_incremental.*; do
+ if test -e "$a"; then
+ LIB_QT="$LIB_QT ${kde_int_qt}_incremental"
+ break
+ fi
+done
+
+AC_SUBST(LIB_QT)
+AC_SUBST(LIB_QPE)
+
+AC_SUBST(kde_qtver)
+])
+
+AC_DEFUN([AC_PATH_QT],
+[
+AC_PATH_QT_1_3
+])
+
+AC_DEFUN([KDE_CHECK_UIC_PLUGINS],
+[
+AC_REQUIRE([AC_PATH_QT_MOC_UIC])
+
+if test x$ac_uic_supports_libpath = xyes; then
+
+AC_MSG_CHECKING([if UIC has KDE plugins available])
+AC_CACHE_VAL(kde_cv_uic_plugins,
+[
+cat > actest.ui << EOF
+<!DOCTYPE UI><UI version="3.0" stdsetdef="1">
+<class>NewConnectionDialog</class>
+<widget class="QDialog">
+ <widget class="KLineEdit">
+ <property name="name">
+ <cstring>testInput</cstring>
+ </property>
+ </widget>
+</widget>
+</UI>
+EOF
+
+
+
+kde_cv_uic_plugins=no
+kde_line="$UIC_PATH -L $kde_widgetdir"
+if test x$ac_uic_supports_nounload = xyes; then
+ kde_line="$kde_line -nounload"
+fi
+kde_line="$kde_line -impl actest.h actest.ui > actest.cpp"
+if AC_TRY_EVAL(kde_line); then
+ # if you're trying to debug this check and think it's incorrect,
+ # better check your installation. The check _is_ correct - your
+ # installation is not.
+ if test -f actest.cpp && grep klineedit actest.cpp > /dev/null; then
+ kde_cv_uic_plugins=yes
+ fi
+fi
+rm -f actest.ui actest.cpp
+])
+
+AC_MSG_RESULT([$kde_cv_uic_plugins])
+if test "$kde_cv_uic_plugins" != yes; then
+ AC_MSG_ERROR([
+you need to install kdelibs first.
+
+If you did install kdelibs, then the Qt version that is picked up by
+this configure is not the same version you used to compile kdelibs.
+The Qt Plugin installed by kdelibs is *ONLY* loadable if it is the
+_same Qt version_, compiled with the _same compiler_ and the same Qt
+configuration settings.
+])
+fi
+fi
+])
+
+AC_DEFUN([KDE_CHECK_FINAL],
+[
+ AC_ARG_ENABLE(final,
+ AC_HELP_STRING([--enable-final],
+ [build size optimized apps (experimental - needs lots of memory)]),
+ kde_use_final=$enableval, kde_use_final=no)
+
+ if test "x$kde_use_final" = "xyes"; then
+ KDE_USE_FINAL_TRUE=""
+ KDE_USE_FINAL_FALSE="#"
+ else
+ KDE_USE_FINAL_TRUE="#"
+ KDE_USE_FINAL_FALSE=""
+ fi
+ AC_SUBST(KDE_USE_FINAL_TRUE)
+ AC_SUBST(KDE_USE_FINAL_FALSE)
+])
+
+AC_DEFUN([KDE_CHECK_CLOSURE],
+[
+ AC_ARG_ENABLE(closure,
+ AC_HELP_STRING([--enable-closure],[delay template instantiation]),
+ kde_use_closure=$enableval, kde_use_closure=no)
+
+ KDE_NO_UNDEFINED=""
+ if test "x$kde_use_closure" = "xyes"; then
+ KDE_USE_CLOSURE_TRUE=""
+ KDE_USE_CLOSURE_FALSE="#"
+# CXXFLAGS="$CXXFLAGS $REPO"
+ else
+ KDE_USE_CLOSURE_TRUE="#"
+ KDE_USE_CLOSURE_FALSE=""
+ KDE_NO_UNDEFINED=""
+ case $host in
+ *-*-linux-gnu)
+ KDE_CHECK_COMPILER_FLAG([Wl,--no-undefined],
+ [KDE_CHECK_COMPILER_FLAG([Wl,--allow-shlib-undefined],
+ [KDE_NO_UNDEFINED="-Wl,--no-undefined -Wl,--allow-shlib-undefined"],
+ [KDE_NO_UNDEFINED=""])],
+ [KDE_NO_UNDEFINED=""])
+ ;;
+ esac
+ fi
+ AC_SUBST(KDE_USE_CLOSURE_TRUE)
+ AC_SUBST(KDE_USE_CLOSURE_FALSE)
+ AC_SUBST(KDE_NO_UNDEFINED)
+])
+
+dnl Check if the linker supports --enable-new-dtags and --as-needed
+AC_DEFUN([KDE_CHECK_NEW_LDFLAGS],
+[
+ AC_ARG_ENABLE(new_ldflags,
+ AC_HELP_STRING([--enable-new-ldflags],
+ [enable the new linker flags]),
+ kde_use_new_ldflags=$enableval,
+ kde_use_new_ldflags=no)
+
+ LDFLAGS_AS_NEEDED=""
+ LDFLAGS_NEW_DTAGS=""
+ if test "x$kde_use_new_ldflags" = "xyes"; then
+ LDFLAGS_NEW_DTAGS=""
+ KDE_CHECK_COMPILER_FLAG([Wl,--enable-new-dtags],
+ [LDFLAGS_NEW_DTAGS="-Wl,--enable-new-dtags"],)
+
+ KDE_CHECK_COMPILER_FLAG([Wl,--as-needed],
+ [LDFLAGS_AS_NEEDED="-Wl,--as-needed"],)
+ fi
+ AC_SUBST(LDFLAGS_AS_NEEDED)
+ AC_SUBST(LDFLAGS_NEW_DTAGS)
+])
+
+AC_DEFUN([KDE_CHECK_NMCHECK],
+[
+ AC_ARG_ENABLE(nmcheck,AC_HELP_STRING([--enable-nmcheck],[enable automatic namespace cleanness check]),
+ kde_use_nmcheck=$enableval, kde_use_nmcheck=no)
+
+ if test "$kde_use_nmcheck" = "yes"; then
+ KDE_USE_NMCHECK_TRUE=""
+ KDE_USE_NMCHECK_FALSE="#"
+ else
+ KDE_USE_NMCHECK_TRUE="#"
+ KDE_USE_NMCHECK_FALSE=""
+ fi
+ AC_SUBST(KDE_USE_NMCHECK_TRUE)
+ AC_SUBST(KDE_USE_NMCHECK_FALSE)
+])
+
+AC_DEFUN([KDE_EXPAND_MAKEVAR], [
+savex=$exec_prefix
+test "x$exec_prefix" = xNONE && exec_prefix=$prefix
+tmp=$$2
+while $1=`eval echo "$tmp"`; test "x$$1" != "x$tmp"; do tmp=$$1; done
+exec_prefix=$savex
+])
+
+dnl ------------------------------------------------------------------------
+dnl Now, the same with KDE
+dnl $(KDE_LDFLAGS) will be the kdeliblocation (if needed)
+dnl and $(kde_includes) will be the kdehdrlocation (if needed)
+dnl ------------------------------------------------------------------------
+dnl
+AC_DEFUN([AC_BASE_PATH_KDE],
+[
+AC_REQUIRE([KDE_CHECK_STL])
+AC_REQUIRE([AC_PATH_QT])dnl
+AC_REQUIRE([KDE_CHECK_LIB64])
+
+AC_CHECK_RPATH
+AC_MSG_CHECKING([for KDE])
+
+if test "${prefix}" != NONE; then
+ kde_includes=${includedir}
+ KDE_EXPAND_MAKEVAR(ac_kde_includes, includedir)
+
+ kde_libraries=${libdir}
+ KDE_EXPAND_MAKEVAR(ac_kde_libraries, libdir)
+
+else
+ ac_kde_includes=
+ ac_kde_libraries=
+ kde_libraries=""
+ kde_includes=""
+fi
+
+AC_CACHE_VAL(ac_cv_have_kde,
+[#try to guess kde locations
+
+if test "$kde_qtver" = 1; then
+ kde_check_header="ksock.h"
+ kde_check_lib="libkdecore.la"
+else
+ kde_check_header="ksharedptr.h"
+ kde_check_lib="libkio.la"
+fi
+
+if test -z "$1"; then
+
+kde_incdirs="$kde_libs_prefix/include /usr/lib/kde/include /usr/local/kde/include /usr/local/include /usr/kde/include /usr/include/kde /usr/include /opt/kde3/include /opt/kde/include $x_includes $qt_includes"
+test -n "$KDEDIR" && kde_incdirs="$KDEDIR/include $KDEDIR/include/kde $KDEDIR $kde_incdirs"
+kde_incdirs="$ac_kde_includes $kde_incdirs"
+AC_FIND_FILE($kde_check_header, $kde_incdirs, kde_incdir)
+ac_kde_includes="$kde_incdir"
+
+if test -n "$ac_kde_includes" && test ! -r "$ac_kde_includes/$kde_check_header"; then
+ AC_MSG_ERROR([
+in the prefix, you've chosen, are no KDE headers installed. This will fail.
+So, check this please and use another prefix!])
+fi
+
+kde_libdirs="$kde_libs_prefix/lib${kdelibsuff} /usr/lib/kde/lib${kdelibsuff} /usr/local/kde/lib${kdelibsuff} /usr/kde/lib${kdelibsuff} /usr/lib${kdelibsuff}/kde /usr/lib${kdelibsuff}/kde3 /usr/lib${kdelibsuff} /usr/X11R6/lib${kdelibsuff} /usr/local/lib${kdelibsuff} /opt/kde3/lib${kdelibsuff} /opt/kde/lib${kdelibsuff} /usr/X11R6/kde/lib${kdelibsuff}"
+test -n "$KDEDIR" && kde_libdirs="$KDEDIR/lib${kdelibsuff} $KDEDIR $kde_libdirs"
+kde_libdirs="$ac_kde_libraries $libdir $kde_libdirs"
+AC_FIND_FILE($kde_check_lib, $kde_libdirs, kde_libdir)
+ac_kde_libraries="$kde_libdir"
+
+kde_widgetdir=NO
+dnl this might be somewhere else
+AC_FIND_FILE("kde3/plugins/designer/kdewidgets.la", $kde_libdirs, kde_widgetdir)
+
+if test -n "$ac_kde_libraries" && test ! -r "$ac_kde_libraries/$kde_check_lib"; then
+AC_MSG_ERROR([
+in the prefix, you've chosen, are no KDE libraries installed. This will fail.
+So, check this please and use another prefix!])
+fi
+
+if test -n "$kde_widgetdir" && test ! -r "$kde_widgetdir/kde3/plugins/designer/kdewidgets.la"; then
+AC_MSG_ERROR([
+I can't find the designer plugins. These are required and should have been installed
+by kdelibs])
+fi
+
+if test -n "$kde_widgetdir"; then
+ kde_widgetdir="$kde_widgetdir/kde3/plugins/designer"
+fi
+
+
+if test "$ac_kde_includes" = NO || test "$ac_kde_libraries" = NO || test "$kde_widgetdir" = NO; then
+ ac_cv_have_kde="have_kde=no"
+else
+ ac_cv_have_kde="have_kde=yes \
+ ac_kde_includes=$ac_kde_includes ac_kde_libraries=$ac_kde_libraries"
+fi
+
+else dnl test -z $1, e.g. from kdelibs
+
+ ac_cv_have_kde="have_kde=no"
+
+fi
+])dnl
+
+eval "$ac_cv_have_kde"
+
+if test "$have_kde" != "yes"; then
+ if test "${prefix}" = NONE; then
+ ac_kde_prefix="$ac_default_prefix"
+ else
+ ac_kde_prefix="$prefix"
+ fi
+ if test "$exec_prefix" = NONE; then
+ ac_kde_exec_prefix="$ac_kde_prefix"
+ AC_MSG_RESULT([will be installed in $ac_kde_prefix])
+ else
+ ac_kde_exec_prefix="$exec_prefix"
+ AC_MSG_RESULT([will be installed in $ac_kde_prefix and $ac_kde_exec_prefix])
+ fi
+
+ kde_libraries="${libdir}"
+ kde_includes="${includedir}"
+
+else
+ ac_cv_have_kde="have_kde=yes \
+ ac_kde_includes=$ac_kde_includes ac_kde_libraries=$ac_kde_libraries"
+ AC_MSG_RESULT([libraries $ac_kde_libraries, headers $ac_kde_includes])
+
+ kde_libraries="$ac_kde_libraries"
+ kde_includes="$ac_kde_includes"
+fi
+AC_SUBST(kde_libraries)
+AC_SUBST(kde_includes)
+
+if test "$kde_includes" = "$x_includes" || test "$kde_includes" = "$qt_includes" || test "$kde_includes" = "/usr/include"; then
+ KDE_INCLUDES=""
+else
+ KDE_INCLUDES="-I$kde_includes"
+ all_includes="$KDE_INCLUDES $all_includes"
+fi
+
+KDE_DEFAULT_CXXFLAGS="-DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION"
+
+KDE_LDFLAGS="-L$kde_libraries"
+if test ! "$kde_libraries" = "$x_libraries" && test ! "$kde_libraries" = "$qt_libraries" ; then
+ all_libraries="$KDE_LDFLAGS $all_libraries"
+fi
+
+AC_SUBST(KDE_LDFLAGS)
+AC_SUBST(KDE_INCLUDES)
+
+AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
+
+all_libraries="$all_libraries $USER_LDFLAGS"
+all_includes="$all_includes $USER_INCLUDES"
+AC_SUBST(all_includes)
+AC_SUBST(all_libraries)
+
+if test -z "$1"; then
+KDE_CHECK_UIC_PLUGINS
+fi
+
+ac_kde_libraries="$kde_libdir"
+
+AC_SUBST(AUTODIRS)
+
+
+])
+
+AC_DEFUN([KDE_CHECK_EXTRA_LIBS],
+[
+AC_MSG_CHECKING(for extra includes)
+AC_ARG_WITH(extra-includes,AC_HELP_STRING([--with-extra-includes=DIR],[adds non standard include paths]),
+ kde_use_extra_includes="$withval",
+ kde_use_extra_includes=NONE
+)
+kde_extra_includes=
+if test -n "$kde_use_extra_includes" && \
+ test "$kde_use_extra_includes" != "NONE"; then
+
+ ac_save_ifs=$IFS
+ IFS=':'
+ for dir in $kde_use_extra_includes; do
+ kde_extra_includes="$kde_extra_includes $dir"
+ USER_INCLUDES="$USER_INCLUDES -I$dir"
+ done
+ IFS=$ac_save_ifs
+ kde_use_extra_includes="added"
+else
+ kde_use_extra_includes="no"
+fi
+AC_SUBST(USER_INCLUDES)
+
+AC_MSG_RESULT($kde_use_extra_includes)
+
+kde_extra_libs=
+AC_MSG_CHECKING(for extra libs)
+AC_ARG_WITH(extra-libs,AC_HELP_STRING([--with-extra-libs=DIR],[adds non standard library paths]),
+ kde_use_extra_libs=$withval,
+ kde_use_extra_libs=NONE
+)
+if test -n "$kde_use_extra_libs" && \
+ test "$kde_use_extra_libs" != "NONE"; then
+
+ ac_save_ifs=$IFS
+ IFS=':'
+ for dir in $kde_use_extra_libs; do
+ kde_extra_libs="$kde_extra_libs $dir"
+ KDE_EXTRA_RPATH="$KDE_EXTRA_RPATH -R $dir"
+ USER_LDFLAGS="$USER_LDFLAGS -L$dir"
+ done
+ IFS=$ac_save_ifs
+ kde_use_extra_libs="added"
+else
+ kde_use_extra_libs="no"
+fi
+
+AC_SUBST(USER_LDFLAGS)
+
+AC_MSG_RESULT($kde_use_extra_libs)
+
+])
+
+AC_DEFUN([KDE_1_CHECK_PATH_HEADERS],
+[
+ AC_MSG_CHECKING([for KDE headers installed])
+ AC_LANG_SAVE
+ AC_LANG_CPLUSPLUS
+cat > conftest.$ac_ext <<EOF
+#ifdef STDC_HEADERS
+# include <stdlib.h>
+#endif
+#include <stdio.h>
+#include "confdefs.h"
+#include <kapp.h>
+
+int main() {
+ printf("kde_htmldir=\\"%s\\"\n", KApplication::kde_htmldir().data());
+ printf("kde_appsdir=\\"%s\\"\n", KApplication::kde_appsdir().data());
+ printf("kde_icondir=\\"%s\\"\n", KApplication::kde_icondir().data());
+ printf("kde_sounddir=\\"%s\\"\n", KApplication::kde_sounddir().data());
+ printf("kde_datadir=\\"%s\\"\n", KApplication::kde_datadir().data());
+ printf("kde_locale=\\"%s\\"\n", KApplication::kde_localedir().data());
+ printf("kde_cgidir=\\"%s\\"\n", KApplication::kde_cgidir().data());
+ printf("kde_confdir=\\"%s\\"\n", KApplication::kde_configdir().data());
+ printf("kde_mimedir=\\"%s\\"\n", KApplication::kde_mimedir().data());
+ printf("kde_toolbardir=\\"%s\\"\n", KApplication::kde_toolbardir().data());
+ printf("kde_wallpaperdir=\\"%s\\"\n",
+ KApplication::kde_wallpaperdir().data());
+ printf("kde_bindir=\\"%s\\"\n", KApplication::kde_bindir().data());
+ printf("kde_partsdir=\\"%s\\"\n", KApplication::kde_partsdir().data());
+ printf("kde_servicesdir=\\"/tmp/dummy\\"\n");
+ printf("kde_servicetypesdir=\\"/tmp/dummy\\"\n");
+ printf("kde_moduledir=\\"/tmp/dummy\\"\n");
+ printf("kde_styledir=\\"/tmp/dummy\\"\n");
+ printf("kde_widgetdir=\\"/tmp/dummy\\"\n");
+ printf("xdg_appsdir=\\"/tmp/dummy\\"\n");
+ printf("xdg_menudir=\\"/tmp/dummy\\"\n");
+ printf("xdg_directorydir=\\"/tmp/dummy\\"\n");
+ printf("kde_kcfgdir=\\"/tmp/dummy\\"\n");
+ return 0;
+ }
+EOF
+
+ ac_save_CPPFLAGS=$CPPFLAGS
+ CPPFLAGS="$all_includes $CPPFLAGS"
+ if AC_TRY_EVAL(ac_compile); then
+ AC_MSG_RESULT(yes)
+ else
+ AC_MSG_ERROR([your system is not able to compile a small KDE application!
+Check, if you installed the KDE header files correctly.
+For more details about this problem, look at the end of config.log.])
+ fi
+ CPPFLAGS=$ac_save_CPPFLAGS
+
+ AC_LANG_RESTORE
+])
+
+AC_DEFUN([KDE_CHECK_KDEQTADDON],
+[
+AC_MSG_CHECKING(for kde-qt-addon)
+AC_CACHE_VAL(kde_cv_have_kdeqtaddon,
+[
+ kde_ldflags_safe="$LDFLAGS"
+ kde_libs_safe="$LIBS"
+ kde_cxxflags_safe="$CXXFLAGS"
+
+ LIBS="-lkde-qt-addon $LIBQT $LIBS"
+ CXXFLAGS="$CXXFLAGS -I$prefix/include -I$prefix/include/kde $all_includes"
+ LDFLAGS="$LDFLAGS $all_libraries $USER_LDFLAGS"
+
+ AC_TRY_LINK([
+ #include <qdom.h>
+ ],
+ [
+ QDomDocument doc;
+ ],
+ kde_cv_have_kdeqtaddon=yes,
+ kde_cv_have_kdeqtaddon=no
+ )
+
+ LDFLAGS=$kde_ldflags_safe
+ LIBS=$kde_libs_safe
+ CXXFLAGS=$kde_cxxflags_safe
+])
+
+AC_MSG_RESULT($kde_cv_have_kdeqtaddon)
+
+if test "$kde_cv_have_kdeqtaddon" = "no"; then
+ AC_MSG_ERROR([Can't find libkde-qt-addon. You need to install it first.
+It is a separate package (and CVS module) named kde-qt-addon.])
+fi
+])
+
+AC_DEFUN([KDE_CREATE_LIBS_ALIASES],
+[
+ AC_REQUIRE([KDE_MISC_TESTS])
+ AC_REQUIRE([KDE_CHECK_LIBDL])
+ AC_REQUIRE([K_PATH_X])
+
+if test $kde_qtver = 3; then
+ case $host in
+ *cygwin*) lib_kded="-lkdeinit_kded" ;;
+ *) lib_kded="" ;;
+ esac
+ AC_SUBST(LIB_KDED, $lib_kded)
+ AC_SUBST(LIB_KDECORE, "-lkdecore")
+ AC_SUBST(LIB_KDEUI, "-lkdeui")
+ AC_SUBST(LIB_KIO, "-lkio")
+ AC_SUBST(LIB_KJS, "-lkjs")
+ AC_SUBST(LIB_SMB, "-lsmb")
+ AC_SUBST(LIB_KAB, "-lkab")
+ AC_SUBST(LIB_KABC, "-lkabc")
+ AC_SUBST(LIB_KHTML, "-lkhtml")
+ AC_SUBST(LIB_KSPELL, "-lkspell")
+ AC_SUBST(LIB_KPARTS, "-lkparts")
+ AC_SUBST(LIB_KDEPRINT, "-lkdeprint")
+ AC_SUBST(LIB_KUTILS, "-lkutils")
+ AC_SUBST(LIB_KDEPIM, "-lkdepim")
+ AC_SUBST(LIB_KIMPROXY, "-lkimproxy")
+ AC_SUBST(LIB_KNEWSTUFF, "-lknewstuff")
+ AC_SUBST(LIB_KDNSSD, "-lkdnssd")
+ AC_SUBST(LIB_KUNITTEST, "-lkunittest")
+# these are for backward compatibility
+ AC_SUBST(LIB_KSYCOCA, "-lkio")
+ AC_SUBST(LIB_KFILE, "-lkio")
+elif test $kde_qtver = 2; then
+ AC_SUBST(LIB_KDECORE, "-lkdecore")
+ AC_SUBST(LIB_KDEUI, "-lkdeui")
+ AC_SUBST(LIB_KIO, "-lkio")
+ AC_SUBST(LIB_KSYCOCA, "-lksycoca")
+ AC_SUBST(LIB_SMB, "-lsmb")
+ AC_SUBST(LIB_KFILE, "-lkfile")
+ AC_SUBST(LIB_KAB, "-lkab")
+ AC_SUBST(LIB_KHTML, "-lkhtml")
+ AC_SUBST(LIB_KSPELL, "-lkspell")
+ AC_SUBST(LIB_KPARTS, "-lkparts")
+ AC_SUBST(LIB_KDEPRINT, "-lkdeprint")
+else
+ AC_SUBST(LIB_KDECORE, "-lkdecore -lXext $(LIB_QT)")
+ AC_SUBST(LIB_KDEUI, "-lkdeui $(LIB_KDECORE)")
+ AC_SUBST(LIB_KFM, "-lkfm $(LIB_KDECORE)")
+ AC_SUBST(LIB_KFILE, "-lkfile $(LIB_KFM) $(LIB_KDEUI)")
+ AC_SUBST(LIB_KAB, "-lkab $(LIB_KIMGIO) $(LIB_KDECORE)")
+fi
+])
+
+AC_DEFUN([AC_PATH_KDE],
+[
+ AC_BASE_PATH_KDE
+ AC_ARG_ENABLE(path-check,AC_HELP_STRING([--disable-path-check],[don't try to find out, where to install]),
+ [
+ if test "$enableval" = "no";
+ then ac_use_path_checking="default"
+ else ac_use_path_checking=""
+ fi
+ ],
+ [
+ if test "$kde_qtver" = 1;
+ then ac_use_path_checking=""
+ else ac_use_path_checking="default"
+ fi
+ ]
+ )
+
+ AC_CREATE_KFSSTND($ac_use_path_checking)
+
+ AC_SUBST_KFSSTND
+ KDE_CREATE_LIBS_ALIASES
+])
+
+dnl KDE_CHECK_FUNC_EXT(<func>, [headers], [sample-use], [C prototype], [autoheader define], [call if found])
+AC_DEFUN([KDE_CHECK_FUNC_EXT],
+[
+AC_MSG_CHECKING(for $1)
+AC_CACHE_VAL(kde_cv_func_$1,
+[
+AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+save_CXXFLAGS="$CXXFLAGS"
+kde_safe_LIBS="$LIBS"
+LIBS="$LIBS $X_EXTRA_LIBS"
+if test "$GXX" = "yes"; then
+CXXFLAGS="$CXXFLAGS -pedantic-errors"
+fi
+AC_TRY_COMPILE([
+$2
+],
+[
+$3
+],
+kde_cv_func_$1=yes,
+kde_cv_func_$1=no)
+CXXFLAGS="$save_CXXFLAGS"
+LIBS="$kde_safe_LIBS"
+AC_LANG_RESTORE
+])
+
+AC_MSG_RESULT($kde_cv_func_$1)
+
+AC_MSG_CHECKING([if $1 needs custom prototype])
+AC_CACHE_VAL(kde_cv_proto_$1,
+[
+if test "x$kde_cv_func_$1" = xyes; then
+ kde_cv_proto_$1=no
+else
+ case "$1" in
+ setenv|unsetenv|usleep|random|srandom|seteuid|mkstemps|mkstemp|revoke|vsnprintf|strlcpy|strlcat)
+ kde_cv_proto_$1="yes - in libkdefakes"
+ ;;
+ *)
+ kde_cv_proto_$1=unknown
+ ;;
+ esac
+fi
+
+if test "x$kde_cv_proto_$1" = xunknown; then
+
+AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+ kde_safe_libs=$LIBS
+ LIBS="$LIBS $X_EXTRA_LIBS"
+ AC_TRY_LINK([
+$2
+
+extern "C" $4;
+],
+[
+$3
+],
+[ kde_cv_func_$1=yes
+ kde_cv_proto_$1=yes ],
+ [kde_cv_proto_$1="$1 unavailable"]
+)
+LIBS=$kde_safe_libs
+AC_LANG_RESTORE
+fi
+])
+AC_MSG_RESULT($kde_cv_proto_$1)
+
+if test "x$kde_cv_func_$1" = xyes; then
+ AC_DEFINE(HAVE_$5, 1, [Define if you have $1])
+ $6
+fi
+if test "x$kde_cv_proto_$1" = xno; then
+ AC_DEFINE(HAVE_$5_PROTO, 1,
+ [Define if you have the $1 prototype])
+fi
+
+AH_VERBATIM([_HAVE_$5_PROTO],
+[
+#if !defined(HAVE_$5_PROTO)
+#ifdef __cplusplus
+extern "C" {
+#endif
+$4;
+#ifdef __cplusplus
+}
+#endif
+#endif
+])
+])
+
+AC_DEFUN([AC_CHECK_SETENV],
+[
+ KDE_CHECK_FUNC_EXT(setenv, [
+#include <stdlib.h>
+],
+ [setenv("VAR", "VALUE", 1);],
+ [int setenv (const char *, const char *, int)],
+ [SETENV])
+])
+
+AC_DEFUN([AC_CHECK_UNSETENV],
+[
+ KDE_CHECK_FUNC_EXT(unsetenv, [
+#include <stdlib.h>
+],
+ [unsetenv("VAR");],
+ [void unsetenv (const char *)],
+ [UNSETENV])
+])
+
+AC_DEFUN([AC_CHECK_GETDOMAINNAME],
+[
+ KDE_CHECK_FUNC_EXT(getdomainname, [
+#include <stdlib.h>
+#include <unistd.h>
+#include <netdb.h>
+],
+ [
+char buffer[200];
+getdomainname(buffer, 200);
+],
+ [#include <sys/types.h>
+ int getdomainname (char *, size_t)],
+ [GETDOMAINNAME])
+])
+
+AC_DEFUN([AC_CHECK_GETHOSTNAME],
+[
+ KDE_CHECK_FUNC_EXT(gethostname, [
+#include <stdlib.h>
+#include <unistd.h>
+],
+ [
+char buffer[200];
+gethostname(buffer, 200);
+],
+ [int gethostname (char *, unsigned int)],
+ [GETHOSTNAME])
+])
+
+AC_DEFUN([AC_CHECK_USLEEP],
+[
+ KDE_CHECK_FUNC_EXT(usleep, [
+#include <unistd.h>
+],
+ [
+usleep(200);
+],
+ [int usleep (unsigned int)],
+ [USLEEP])
+])
+
+
+AC_DEFUN([AC_CHECK_RANDOM],
+[
+ KDE_CHECK_FUNC_EXT(random, [
+#include <stdlib.h>
+],
+ [
+random();
+],
+ [long int random(void)],
+ [RANDOM])
+
+ KDE_CHECK_FUNC_EXT(srandom, [
+#include <stdlib.h>
+],
+ [
+srandom(27);
+],
+ [void srandom(unsigned int)],
+ [SRANDOM])
+
+])
+
+AC_DEFUN([AC_CHECK_INITGROUPS],
+[
+ KDE_CHECK_FUNC_EXT(initgroups, [
+#include <sys/types.h>
+#include <unistd.h>
+#include <grp.h>
+],
+ [
+char buffer[200];
+initgroups(buffer, 27);
+],
+ [int initgroups(const char *, gid_t)],
+ [INITGROUPS])
+])
+
+AC_DEFUN([AC_CHECK_MKSTEMPS],
+[
+ KDE_CHECK_FUNC_EXT(mkstemps, [
+#include <stdlib.h>
+#include <unistd.h>
+],
+ [
+mkstemps("/tmp/aaaXXXXXX", 6);
+],
+ [int mkstemps(char *, int)],
+ [MKSTEMPS])
+])
+
+AC_DEFUN([AC_CHECK_MKSTEMP],
+[
+ KDE_CHECK_FUNC_EXT(mkstemp, [
+#include <stdlib.h>
+#include <unistd.h>
+],
+ [
+mkstemp("/tmp/aaaXXXXXX");
+],
+ [int mkstemp(char *)],
+ [MKSTEMP])
+])
+
+AC_DEFUN([AC_CHECK_MKDTEMP],
+[
+ KDE_CHECK_FUNC_EXT(mkdtemp, [
+#include <stdlib.h>
+#include <unistd.h>
+],
+ [
+mkdtemp("/tmp/aaaXXXXXX");
+],
+ [char *mkdtemp(char *)],
+ [MKDTEMP])
+])
+
+
+AC_DEFUN([AC_CHECK_RES_INIT],
+[
+ AC_MSG_CHECKING([if res_init needs -lresolv])
+ kde_libs_safe="$LIBS"
+ LIBS="$LIBS $X_EXTRA_LIBS -lresolv"
+ AC_TRY_LINK(
+ [
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <arpa/nameser.h>
+#include <resolv.h>
+ ],
+ [
+ res_init();
+ ],
+ [
+ LIBRESOLV="-lresolv"
+ AC_MSG_RESULT(yes)
+ AC_DEFINE(HAVE_RES_INIT, 1, [Define if you have the res_init function])
+ ],
+ [ AC_MSG_RESULT(no) ]
+ )
+ LIBS=$kde_libs_safe
+ AC_SUBST(LIBRESOLV)
+
+ KDE_CHECK_FUNC_EXT(res_init,
+ [
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <arpa/nameser.h>
+#include <resolv.h>
+ ],
+ [res_init()],
+ [int res_init(void)],
+ [RES_INIT])
+])
+
+AC_DEFUN([AC_CHECK_STRLCPY],
+[
+ KDE_CHECK_FUNC_EXT(strlcpy, [
+#include <string.h>
+],
+[ char buf[20];
+ strlcpy(buf, "KDE function test", sizeof(buf));
+],
+ [unsigned long strlcpy(char*, const char*, unsigned long)],
+ [STRLCPY])
+])
+
+AC_DEFUN([AC_CHECK_STRLCAT],
+[
+ KDE_CHECK_FUNC_EXT(strlcat, [
+#include <string.h>
+],
+[ char buf[20];
+ buf[0]='\0';
+ strlcat(buf, "KDE function test", sizeof(buf));
+],
+ [unsigned long strlcat(char*, const char*, unsigned long)],
+ [STRLCAT])
+])
+
+AC_DEFUN([AC_CHECK_RES_QUERY],
+[
+ KDE_CHECK_FUNC_EXT(res_query, [
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <arpa/nameser.h>
+#include <resolv.h>
+#include <netdb.h>
+],
+[
+res_query(NULL, 0, 0, NULL, 0);
+],
+ [int res_query(const char *, int, int, unsigned char *, int)],
+ [RES_QUERY])
+])
+
+AC_DEFUN([AC_CHECK_DN_SKIPNAME],
+[
+ KDE_CHECK_FUNC_EXT(dn_skipname, [
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <arpa/nameser.h>
+#include <resolv.h>
+],
+[
+dn_skipname (NULL, NULL);
+],
+ [int dn_skipname (unsigned char *, unsigned char *)],
+ [DN_SKIPNAME])
+])
+
+
+AC_DEFUN([AC_FIND_GIF],
+ [AC_MSG_CHECKING([for giflib])
+AC_CACHE_VAL(ac_cv_lib_gif,
+[ac_save_LIBS="$LIBS"
+if test "x$kde_use_qt_emb" != "xyes" && test "x$kde_use_qt_mac" != "xyes"; then
+LIBS="$all_libraries -lgif -lX11 $LIBSOCKET"
+else
+LIBS="$all_libraries -lgif"
+fi
+AC_TRY_LINK(dnl
+[
+#ifdef __cplusplus
+extern "C" {
+#endif
+int GifLastError(void);
+#ifdef __cplusplus
+}
+#endif
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+],
+ [return GifLastError();],
+ eval "ac_cv_lib_gif=yes",
+ eval "ac_cv_lib_gif=no")
+LIBS="$ac_save_LIBS"
+])dnl
+if eval "test \"`echo $ac_cv_lib_gif`\" = yes"; then
+ AC_MSG_RESULT(yes)
+ AC_DEFINE_UNQUOTED(HAVE_LIBGIF, 1, [Define if you have libgif])
+else
+ AC_MSG_ERROR(You need giflib30. Please install the kdesupport package)
+fi
+])
+
+AC_DEFUN([KDE_FIND_JPEG_HELPER],
+[
+AC_MSG_CHECKING([for libjpeg$2])
+AC_CACHE_VAL(ac_cv_lib_jpeg_$1,
+[
+ac_save_LIBS="$LIBS"
+LIBS="$all_libraries $USER_LDFLAGS -ljpeg$2 -lm"
+ac_save_CFLAGS="$CFLAGS"
+CFLAGS="$CFLAGS $all_includes $USER_INCLUDES"
+AC_TRY_LINK(
+[
+#ifdef __cplusplus
+extern "C" {
+#endif
+void jpeg_CreateDecompress();
+#ifdef __cplusplus
+}
+#endif
+],
+[jpeg_CreateDecompress();],
+ eval "ac_cv_lib_jpeg_$1=-ljpeg$2",
+ eval "ac_cv_lib_jpeg_$1=no")
+LIBS="$ac_save_LIBS"
+CFLAGS="$ac_save_CFLAGS"
+])
+
+if eval "test ! \"`echo $ac_cv_lib_jpeg_$1`\" = no"; then
+ LIBJPEG="$ac_cv_lib_jpeg_$1"
+ AC_MSG_RESULT($ac_cv_lib_jpeg_$1)
+else
+ AC_MSG_RESULT(no)
+ $3
+fi
+
+])
+
+AC_DEFUN([AC_FIND_JPEG],
+[
+dnl first look for libraries
+KDE_FIND_JPEG_HELPER(6b, 6b,
+ KDE_FIND_JPEG_HELPER(normal, [],
+ [
+ LIBJPEG=
+ ]
+ )
+)
+
+dnl then search the headers (can't use simply AC_TRY_xxx, as jpeglib.h
+dnl requires system dependent includes loaded before it)
+jpeg_incdirs="$includedir /usr/include /usr/local/include $kde_extra_includes"
+AC_FIND_FILE(jpeglib.h, $jpeg_incdirs, jpeg_incdir)
+test "x$jpeg_incdir" = xNO && jpeg_incdir=
+
+dnl if headers _and_ libraries are missing, this is no error, and we
+dnl continue with a warning (the user will get no jpeg support in khtml)
+dnl if only one is missing, it means a configuration error, but we still
+dnl only warn
+if test -n "$jpeg_incdir" && test -n "$LIBJPEG" ; then
+ AC_DEFINE_UNQUOTED(HAVE_LIBJPEG, 1, [Define if you have libjpeg])
+else
+ if test -n "$jpeg_incdir" || test -n "$LIBJPEG" ; then
+ AC_MSG_WARN([
+There is an installation error in jpeg support. You seem to have only one
+of either the headers _or_ the libraries installed. You may need to either
+provide correct --with-extra-... options, or the development package of
+libjpeg6b. You can get a source package of libjpeg from http://www.ijg.org/
+Disabling JPEG support.
+])
+ else
+ AC_MSG_WARN([libjpeg not found. disable JPEG support.])
+ fi
+ jpeg_incdir=
+ LIBJPEG=
+fi
+
+AC_SUBST(LIBJPEG)
+AH_VERBATIM(_AC_CHECK_JPEG,
+[/*
+ * jpeg.h needs HAVE_BOOLEAN, when the system uses boolean in system
+ * headers and I'm too lazy to write a configure test as long as only
+ * unixware is related
+ */
+#ifdef _UNIXWARE
+#define HAVE_BOOLEAN
+#endif
+])
+])
+
+AC_DEFUN([KDE_CHECK_QT_JPEG],
+[
+if test -n "$LIBJPEG"; then
+AC_MSG_CHECKING([if Qt needs $LIBJPEG])
+AC_CACHE_VAL(kde_cv_qt_jpeg,
+[
+AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+ac_save_LIBS="$LIBS"
+LIBS="$all_libraries $USER_LDFLAGS $LIBQT"
+LIBS=`echo $LIBS | sed "s/$LIBJPEG//"`
+ac_save_CXXFLAGS="$CXXFLAGS"
+CXXFLAGS="$CXXFLAGS $all_includes $USER_INCLUDES"
+AC_TRY_LINK(
+[#include <qapplication.h>],
+ [
+ int argc;
+ char** argv;
+ QApplication app(argc, argv);],
+ eval "kde_cv_qt_jpeg=no",
+ eval "kde_cv_qt_jpeg=yes")
+LIBS="$ac_save_LIBS"
+CXXFLAGS="$ac_save_CXXFLAGS"
+AC_LANG_RESTORE
+fi
+])
+
+if eval "test ! \"`echo $kde_cv_qt_jpeg`\" = no"; then
+ AC_MSG_RESULT(yes)
+ LIBJPEG_QT='$(LIBJPEG)'
+else
+ AC_MSG_RESULT(no)
+ LIBJPEG_QT=
+fi
+
+])
+
+AC_DEFUN([AC_FIND_ZLIB],
+[
+AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
+AC_MSG_CHECKING([for libz])
+AC_CACHE_VAL(ac_cv_lib_z,
+[
+kde_save_LIBS="$LIBS"
+LIBS="$all_libraries $USER_LDFLAGS -lz $LIBSOCKET"
+kde_save_CFLAGS="$CFLAGS"
+CFLAGS="$CFLAGS $all_includes $USER_INCLUDES"
+AC_TRY_LINK(dnl
+[
+#include<zlib.h>
+],
+[
+ char buf[42];
+ gzFile f = (gzFile) 0;
+ /* this would segfault.. but we only link, don't run */
+ (void) gzgets(f, buf, sizeof(buf));
+
+ return (zlibVersion() == ZLIB_VERSION);
+],
+ eval "ac_cv_lib_z='-lz'",
+ eval "ac_cv_lib_z=no")
+LIBS="$kde_save_LIBS"
+CFLAGS="$kde_save_CFLAGS"
+])dnl
+if test ! "$ac_cv_lib_z" = no; then
+ AC_DEFINE_UNQUOTED(HAVE_LIBZ, 1, [Define if you have libz])
+ LIBZ="$ac_cv_lib_z"
+ AC_MSG_RESULT($ac_cv_lib_z)
+else
+ AC_MSG_ERROR(not found.
+ Possibly configure picks up an outdated version
+ installed by XFree86. Remove it from your system.
+
+ Check your installation and look into config.log)
+ LIBZ=""
+fi
+AC_SUBST(LIBZ)
+])
+
+AC_DEFUN([KDE_TRY_TIFFLIB],
+[
+AC_MSG_CHECKING([for libtiff $1])
+
+AC_CACHE_VAL(kde_cv_libtiff_$1,
+[
+AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+kde_save_LIBS="$LIBS"
+if test "x$kde_use_qt_emb" != "xyes" && test "x$kde_use_qt_mac" != "xyes"; then
+LIBS="$all_libraries $USER_LDFLAGS -l$1 $LIBJPEG $LIBZ -lX11 $LIBSOCKET -lm"
+else
+LIBS="$all_libraries $USER_LDFLAGS -l$1 $LIBJPEG $LIBZ -lm"
+fi
+kde_save_CXXFLAGS="$CXXFLAGS"
+CXXFLAGS="$CXXFLAGS $all_includes $USER_INCLUDES"
+
+AC_TRY_LINK(dnl
+[
+#include<tiffio.h>
+],
+ [return (TIFFOpen( "", "r") == 0); ],
+[
+ kde_cv_libtiff_$1="-l$1 $LIBJPEG $LIBZ"
+], [
+ kde_cv_libtiff_$1=no
+])
+
+LIBS="$kde_save_LIBS"
+CXXFLAGS="$kde_save_CXXFLAGS"
+AC_LANG_RESTORE
+])
+
+if test "$kde_cv_libtiff_$1" = "no"; then
+ AC_MSG_RESULT(no)
+ LIBTIFF=""
+ $3
+else
+ LIBTIFF="$kde_cv_libtiff_$1"
+ AC_MSG_RESULT(yes)
+ AC_DEFINE_UNQUOTED(HAVE_LIBTIFF, 1, [Define if you have libtiff])
+ $2
+fi
+
+])
+
+AC_DEFUN([AC_FIND_TIFF],
+[
+AC_REQUIRE([K_PATH_X])
+AC_REQUIRE([AC_FIND_ZLIB])
+AC_REQUIRE([AC_FIND_JPEG])
+AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
+
+KDE_TRY_TIFFLIB(tiff, [],
+ KDE_TRY_TIFFLIB(tiff34))
+
+AC_SUBST(LIBTIFF)
+])
+
+AC_DEFUN([KDE_FIND_LIBEXR],
+[
+AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
+AC_REQUIRE([AC_FIND_ZLIB])
+AC_CACHE_VAL(ac_cv_libexr,
+[
+ if test -z "$PKG_CONFIG"; then
+ AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
+ fi
+
+ AC_MSG_CHECKING([for OpenEXR libraries])
+
+ if test "$PKG_CONFIG" = "no" ; then
+ AC_MSG_RESULT(no)
+ echo "*** The pkg-config script could not be found. Make sure it is"
+ echo "*** in your path, or set the PKG_CONFIG environment variable"
+ echo "*** to the full path to pkg-config."
+ echo "*** Or see http://www.freedesktop.org/software/pkgconfig to get pkg-config."
+ else
+ if !(`$PKG_CONFIG --exists OpenEXR`) ; then
+ AC_MSG_RESULT(no)
+ EXRSTATUS=no
+ else
+ if !(`$PKG_CONFIG --atleast-version="1.1.1" OpenEXR`) ; then
+ AC_MSG_RESULT(no)
+ EXRSTATUS=old
+ else
+ kde_save_LIBS="$LIBS"
+ LIBS="$LIBS $all_libraries $USER_LDFLAGS `pkg-config --libs OpenEXR` $LIBZ"
+ AC_LANG_SAVE
+ AC_LANG_CPLUSPLUS
+ kde_save_CXXFLAGS="$CXXFLAGS"
+ EXR_FLAGS=`$PKG_CONFIG --cflags OpenEXR`
+ CXXFLAGS="$CXXFLAGS $all_includes $USER_INCLUDES $EXR_FLAGS"
+
+ AC_TRY_LINK(dnl
+ [
+ #include <ImfRgbaFile.h>
+ ],
+ [
+ using namespace Imf;
+ RgbaInputFile file ("dummy");
+ return 0;
+ ],
+ eval "ac_cv_libexr='`pkg-config --libs OpenEXR`'",
+ eval "ac_cv_libexr=no"
+ )
+ LIBS="$kde_save_LIBS"
+ CXXFLAGS="$kde_save_CXXFLAGS"
+ AC_LANG_RESTORE
+ ])dnl
+ if eval "test ! \"`echo $ac_cv_libexr`\" = no"; then
+ AC_DEFINE_UNQUOTED(HAVE_EXR, 1, [Define if you have OpenEXR])
+ LIB_EXR="$ac_cv_libexr"
+ AC_MSG_RESULT($ac_cv_libexr)
+ else
+ AC_MSG_RESULT(no)
+ LIB_EXR=""
+ fi
+ fi
+ fi
+ fi
+ AC_SUBST(LIB_EXR)
+ AC_SUBST(EXR_FLAGS)
+])
+
+
+
+AC_DEFUN([AC_FIND_PNG],
+[
+AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
+AC_REQUIRE([AC_FIND_ZLIB])
+AC_MSG_CHECKING([for libpng])
+AC_CACHE_VAL(ac_cv_lib_png,
+[
+kde_save_LIBS="$LIBS"
+if test "x$kde_use_qt_emb" != "xyes" && test "x$kde_use_qt_mac" != "xyes"; then
+LIBS="$LIBS $all_libraries $USER_LDFLAGS -lpng $LIBZ -lm -lX11 $LIBSOCKET"
+else
+LIBS="$LIBS $all_libraries $USER_LDFLAGS -lpng $LIBZ -lm"
+fi
+kde_save_CFLAGS="$CFLAGS"
+CFLAGS="$CFLAGS $all_includes $USER_INCLUDES"
+
+AC_TRY_LINK(dnl
+ [
+ #include<png.h>
+ ],
+ [
+ png_structp png_ptr = png_create_read_struct( /* image ptr */
+ PNG_LIBPNG_VER_STRING, 0, 0, 0 );
+ return( png_ptr != 0 );
+ ],
+ eval "ac_cv_lib_png='-lpng $LIBZ -lm'",
+ eval "ac_cv_lib_png=no"
+)
+LIBS="$kde_save_LIBS"
+CFLAGS="$kde_save_CFLAGS"
+])dnl
+if eval "test ! \"`echo $ac_cv_lib_png`\" = no"; then
+ AC_DEFINE_UNQUOTED(HAVE_LIBPNG, 1, [Define if you have libpng])
+ LIBPNG="$ac_cv_lib_png"
+ AC_SUBST(LIBPNG)
+ AC_MSG_RESULT($ac_cv_lib_png)
+else
+ AC_MSG_RESULT(no)
+ LIBPNG=""
+ AC_SUBST(LIBPNG)
+fi
+])
+
+
+AC_DEFUN([AC_FIND_JASPER],
+[
+AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
+AC_REQUIRE([AC_FIND_JPEG])
+AC_MSG_CHECKING([for jasper])
+AC_CACHE_VAL(ac_cv_jasper,
+[
+kde_save_LIBS="$LIBS"
+LIBS="$LIBS $all_libraries $USER_LDFLAGS -ljasper $LIBJPEG -lm"
+kde_save_CFLAGS="$CFLAGS"
+CFLAGS="$CFLAGS $all_includes $USER_INCLUDES"
+
+AC_TRY_LINK(dnl
+ [
+ #include<jasper/jasper.h>
+ ],
+ [
+ return( jas_init() );
+ ],
+ eval "ac_cv_jasper='-ljasper $LIBJPEG -lm'",
+ eval "ac_cv_jasper=no"
+)
+LIBS="$kde_save_LIBS"
+CFLAGS="$kde_save_CFLAGS"
+])dnl
+if eval "test ! \"`echo $ac_cv_jasper`\" = no"; then
+ AC_DEFINE_UNQUOTED(HAVE_JASPER, 1, [Define if you have jasper])
+ LIB_JASPER="$ac_cv_jasper"
+ AC_MSG_RESULT($ac_cv_jasper)
+else
+ AC_MSG_RESULT(no)
+ LIB_JASPER=""
+fi
+AC_SUBST(LIB_JASPER)
+])
+
+AC_DEFUN([AC_CHECK_BOOL],
+[
+ AC_DEFINE_UNQUOTED(HAVE_BOOL, 1, [You _must_ have bool])
+])
+
+AC_DEFUN([AC_CHECK_GNU_EXTENSIONS],
+[
+AC_MSG_CHECKING(if you need GNU extensions)
+AC_CACHE_VAL(ac_cv_gnu_extensions,
+[
+cat > conftest.c << EOF
+#include <features.h>
+
+#ifdef __GNU_LIBRARY__
+yes
+#endif
+EOF
+
+if (eval "$ac_cpp conftest.c") 2>&5 |
+ egrep "yes" >/dev/null 2>&1; then
+ rm -rf conftest*
+ ac_cv_gnu_extensions=yes
+else
+ ac_cv_gnu_extensions=no
+fi
+])
+
+AC_MSG_RESULT($ac_cv_gnu_extensions)
+if test "$ac_cv_gnu_extensions" = "yes"; then
+ AC_DEFINE_UNQUOTED(_GNU_SOURCE, 1, [Define if you need to use the GNU extensions])
+fi
+])
+
+AC_DEFUN([KDE_CHECK_COMPILER_FLAG],
+[
+AC_MSG_CHECKING([whether $CXX supports -$1])
+kde_cache=`echo $1 | sed 'y% .=/+-,%____p__%'`
+AC_CACHE_VAL(kde_cv_prog_cxx_$kde_cache,
+[
+ AC_LANG_SAVE
+ AC_LANG_CPLUSPLUS
+ save_CXXFLAGS="$CXXFLAGS"
+ CXXFLAGS="$CXXFLAGS -$1"
+ AC_TRY_LINK([],[ return 0; ], [eval "kde_cv_prog_cxx_$kde_cache=yes"], [])
+ CXXFLAGS="$save_CXXFLAGS"
+ AC_LANG_RESTORE
+])
+if eval "test \"`echo '$kde_cv_prog_cxx_'$kde_cache`\" = yes"; then
+ AC_MSG_RESULT(yes)
+ :
+ $2
+else
+ AC_MSG_RESULT(no)
+ :
+ $3
+fi
+])
+
+AC_DEFUN([KDE_CHECK_C_COMPILER_FLAG],
+[
+AC_MSG_CHECKING([whether $CC supports -$1])
+kde_cache=`echo $1 | sed 'y% .=/+-,%____p__%'`
+AC_CACHE_VAL(kde_cv_prog_cc_$kde_cache,
+[
+ AC_LANG_SAVE
+ AC_LANG_C
+ save_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS -$1"
+ AC_TRY_LINK([],[ return 0; ], [eval "kde_cv_prog_cc_$kde_cache=yes"], [])
+ CFLAGS="$save_CFLAGS"
+ AC_LANG_RESTORE
+])
+if eval "test \"`echo '$kde_cv_prog_cc_'$kde_cache`\" = yes"; then
+ AC_MSG_RESULT(yes)
+ :
+ $2
+else
+ AC_MSG_RESULT(no)
+ :
+ $3
+fi
+])
+
+
+dnl AC_REMOVE_FORBIDDEN removes forbidden arguments from variables
+dnl use: AC_REMOVE_FORBIDDEN(CC, [-forbid -bad-option whatever])
+dnl it's all white-space separated
+AC_DEFUN([AC_REMOVE_FORBIDDEN],
+[ __val=$$1
+ __forbid=" $2 "
+ if test -n "$__val"; then
+ __new=""
+ ac_save_IFS=$IFS
+ IFS=" "
+ for i in $__val; do
+ case "$__forbid" in
+ *" $i "*) AC_MSG_WARN([found forbidden $i in $1, removing it]) ;;
+ *) # Careful to not add spaces, where there were none, because otherwise
+ # libtool gets confused, if we change e.g. CXX
+ if test -z "$__new" ; then __new=$i ; else __new="$__new $i" ; fi ;;
+ esac
+ done
+ IFS=$ac_save_IFS
+ $1=$__new
+ fi
+])
+
+
+AC_DEFUN([KDE_CHECK_FOR_BAD_COMPILER],
+[
+ AC_MSG_CHECKING([whether $CC is blacklisted])
+
+ dnl In theory we have tu run this test against $CC and $CXX
+ dnl in C and in C++ mode, because its perfectly legal for
+ dnl the user to mix compiler versions, since C has a defined
+ dnl ABI.
+ dnl
+ dnl For now, we assume the user is not on crack.
+
+ AC_TRY_COMPILE([
+#ifdef __GNUC__
+#if __GNUC__ == 4 && __GNUC_MINOR__ == 0 && __GNUC_PATCHLEVEL__ == 0
+choke me
+#endif
+#endif
+], ,
+ kde_bad_compiler=no,
+ kde_bad_compiler=yes
+)
+
+ AC_MSG_RESULT($kde_bad_compiler)
+
+if test "$kde_bad_compiler" = "yes"; then
+ AC_MSG_ERROR([
+
+This particular compiler version is blacklisted because it
+is known to miscompile KDE. Please use a newer version, or
+if that is not yet available, choose an older version.
+
+Please do not report a bug or bother us reporting this
+configure error. We know about it, and we introduced
+it by intention to avoid untraceable bugs or crashes in KDE.
+
+])
+fi
+
+])
+
+
+AC_DEFUN([KDE_CHECK_FOR_OPT_NOINLINE_MATCH],
+[
+ AC_CACHE_CHECK([whether system headers can cope with -O2 -fno-inline],
+ kde_cv_opt_noinline_match,
+ [
+ kde_cv_opt_noinline_match=irrelevant
+ dnl if we don't use both -O2 and -fno-inline, this check is moot
+ if echo "$CFLAGS" | grep -e -O2 >/dev/null 2>/dev/null \
+ && echo "$CFLAGS" | grep -e -fno-inline >/dev/null 2>/dev/null ; then
+
+ ac_cflags_save="$CFLAGS"
+ CFLAGS="$CFLAGS -D_USE_GNU"
+
+ AC_TRY_LINK([
+ #include <string.h>
+], [ const char *pt, *et;
+ et = __extension__ ({ char __a0, __a1, __a2; (__builtin_constant_p ( ";," ) && ((size_t)(const void *)(( ";," )+ 1) - (size_t)(const void *)( ";," ) == 1) ? ((__a0 =((__const char *) ( ";," ))[0], __a0 == '\0') ? ((void) ( pt ),((void *)0) ) : ((__a1 = ((__const char *) ( ";," ))[1], __a1== '\0') ? (__extension__ (__builtin_constant_p ( __a0 ) && ( __a0 ) == '\0' ? (char *) __rawmemchr ( pt , __a0) : strchr( pt , __a0 ))) : ((__a2 = ((__const char *) ( ";," ))[2], __a2 == '\0') ? __strpbrk_c2 ( pt , __a0, __a1) :(((__const char *) ( ";," ))[3] == '\0' ? __strpbrk_c3 ( pt ,__a0, __a1, __a2): strpbrk ( pt , ";," ))))) : strpbrk ( pt , ";," )); }) ;
+],
+ kde_cv_opt_noinline_match=yes,
+ kde_cv_opt_noinline_match=no
+ )
+
+ CFLAGS="$ac_cflags_save"
+ fi
+ ])
+])
+
+
+dnl AC_VALIDIFY_CXXFLAGS checks for forbidden flags the user may have given
+AC_DEFUN([AC_VALIDIFY_CXXFLAGS],
+[dnl
+if test "x$kde_use_qt_emb" != "xyes"; then
+ AC_REMOVE_FORBIDDEN(CXX, [-fno-rtti -rpath])
+ AC_REMOVE_FORBIDDEN(CXXFLAGS, [-fno-rtti -rpath])
+else
+ AC_REMOVE_FORBIDDEN(CXX, [-rpath])
+ AC_REMOVE_FORBIDDEN(CXXFLAGS, [-rpath])
+fi
+])
+
+AC_DEFUN([AC_CHECK_COMPILERS],
+[
+ AC_ARG_ENABLE(debug,
+ AC_HELP_STRING([--enable-debug=ARG],[enables debug symbols (yes|no|full) [default=no]]),
+ [
+ case $enableval in
+ yes)
+ kde_use_debug_code="yes"
+ kde_use_debug_define=no
+ ;;
+ full)
+ kde_use_debug_code="full"
+ kde_use_debug_define=no
+ ;;
+ *)
+ kde_use_debug_code="no"
+ kde_use_debug_define=yes
+ ;;
+ esac
+ ],
+ [kde_use_debug_code="no"
+ kde_use_debug_define=no
+ ])
+
+ dnl Just for configure --help
+ AC_ARG_ENABLE(dummyoption,
+ AC_HELP_STRING([--disable-debug],
+ [disables debug output and debug symbols [default=no]]),
+ [],[])
+
+ AC_ARG_ENABLE(strict,
+ AC_HELP_STRING([--enable-strict],
+ [compiles with strict compiler options (may not work!)]),
+ [
+ if test $enableval = "no"; then
+ kde_use_strict_options="no"
+ else
+ kde_use_strict_options="yes"
+ fi
+ ], [kde_use_strict_options="no"])
+
+ AC_ARG_ENABLE(warnings,AC_HELP_STRING([--disable-warnings],[disables compilation with -Wall and similar]),
+ [
+ if test $enableval = "no"; then
+ kde_use_warnings="no"
+ else
+ kde_use_warnings="yes"
+ fi
+ ], [kde_use_warnings="yes"])
+
+ dnl enable warnings for debug build
+ if test "$kde_use_debug_code" != "no"; then
+ kde_use_warnings=yes
+ fi
+
+ AC_ARG_ENABLE(profile,AC_HELP_STRING([--enable-profile],[creates profiling infos [default=no]]),
+ [kde_use_profiling=$enableval],
+ [kde_use_profiling="no"]
+ )
+
+ dnl this prevents stupid AC_PROG_CC to add "-g" to the default CFLAGS
+ CFLAGS=" $CFLAGS"
+
+ AC_PROG_CC
+
+ AC_PROG_CPP
+
+ if test "$GCC" = "yes"; then
+ if test "$kde_use_debug_code" != "no"; then
+ if test $kde_use_debug_code = "full"; then
+ CFLAGS="-g3 -fno-inline $CFLAGS"
+ else
+ CFLAGS="-g -O2 -fno-schedule-insns -fno-inline $CFLAGS"
+ fi
+ else
+ CFLAGS="-O2 $CFLAGS"
+ fi
+ fi
+
+ if test "$kde_use_debug_define" = "yes"; then
+ CFLAGS="-DNDEBUG $CFLAGS"
+ fi
+
+
+ case "$host" in
+ *-*-sysv4.2uw*) CFLAGS="-D_UNIXWARE $CFLAGS";;
+ *-*-sysv5uw7*) CFLAGS="-D_UNIXWARE7 $CFLAGS";;
+ esac
+
+ if test -z "$LDFLAGS" && test "$kde_use_debug_code" = "no" && test "$GCC" = "yes"; then
+ LDFLAGS=""
+ fi
+
+ CXXFLAGS=" $CXXFLAGS"
+
+ AC_PROG_CXX
+
+ KDE_CHECK_FOR_BAD_COMPILER
+
+ if test "$GXX" = "yes" || test "$CXX" = "KCC"; then
+ if test "$kde_use_debug_code" != "no"; then
+ if test "$CXX" = "KCC"; then
+ CXXFLAGS="+K0 -Wall -pedantic -W -Wpointer-arith -Wwrite-strings $CXXFLAGS"
+ else
+ if test "$kde_use_debug_code" = "full"; then
+ CXXFLAGS="-g3 -fno-inline $CXXFLAGS"
+ else
+ CXXFLAGS="-g -O2 -fno-schedule-insns -fno-inline $CXXFLAGS"
+ fi
+ fi
+ KDE_CHECK_COMPILER_FLAG(fno-builtin,[CXXFLAGS="-fno-builtin $CXXFLAGS"])
+
+ dnl convenience compiler flags
+ KDE_CHECK_COMPILER_FLAG(Woverloaded-virtual, [WOVERLOADED_VIRTUAL="-Woverloaded-virtual"], [WOVERLOADED_VRITUAL=""])
+ AC_SUBST(WOVERLOADED_VIRTUAL)
+ else
+ if test "$CXX" = "KCC"; then
+ CXXFLAGS="+K3 $CXXFLAGS"
+ else
+ CXXFLAGS="-O2 $CXXFLAGS"
+ fi
+ fi
+ fi
+
+ if test "$kde_use_debug_define" = "yes"; then
+ CXXFLAGS="-DNDEBUG -DNO_DEBUG $CXXFLAGS"
+ fi
+
+ if test "$kde_use_profiling" = "yes"; then
+ KDE_CHECK_COMPILER_FLAG(pg,
+ [
+ CFLAGS="-pg $CFLAGS"
+ CXXFLAGS="-pg $CXXFLAGS"
+ ])
+ fi
+
+ if test "$kde_use_warnings" = "yes"; then
+ if test "$GCC" = "yes"; then
+ CXXFLAGS="-Wall -W -Wpointer-arith $CXXFLAGS"
+ case $host in
+ *-*-linux-gnu)
+ CFLAGS="-std=iso9899:1990 -W -Wall -Wchar-subscripts -Wshadow -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -D_XOPEN_SOURCE=500 -D_BSD_SOURCE $CFLAGS"
+ CXXFLAGS="-ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts $CXXFLAGS"
+ KDE_CHECK_COMPILER_FLAG(Wmissing-format-attribute, [CXXFLAGS="$CXXFLAGS -Wformat-security -Wmissing-format-attribute"])
+ KDE_CHECK_C_COMPILER_FLAG(Wmissing-format-attribute, [CFLAGS="$CFLAGS -Wformat-security -Wmissing-format-attribute"])
+ ;;
+ esac
+ KDE_CHECK_COMPILER_FLAG(Wundef,[CXXFLAGS="-Wundef $CXXFLAGS"])
+ KDE_CHECK_COMPILER_FLAG(Wno-long-long,[CXXFLAGS="-Wno-long-long $CXXFLAGS"])
+ dnl ### FIXME: revert for KDE 4
+ KDE_CHECK_COMPILER_FLAG(Wno-non-virtual-dtor,[CXXFLAGS="$CXXFLAGS -Wno-non-virtual-dtor"])
+ fi
+ fi
+
+ if test "$GXX" = "yes" && test "$kde_use_strict_options" = "yes"; then
+ CXXFLAGS="-Wcast-qual -Wshadow -Wcast-align $CXXFLAGS"
+ fi
+
+ AC_ARG_ENABLE(pch,
+ AC_HELP_STRING([--enable-pch],
+ [enables precompiled header support (currently only KCC or gcc >=3.4+unsermake) [default=no]]),
+ [ kde_use_pch=$enableval ],[ kde_use_pch=no ])
+
+ HAVE_GCC_VISIBILITY=0
+ AC_SUBST([HAVE_GCC_VISIBILITY])
+
+ if test "$GXX" = "yes"; then
+ gcc_no_reorder_blocks=NO
+ KDE_CHECK_COMPILER_FLAG(fno-reorder-blocks,[gcc_no_reorder_blocks=YES])
+ if test $kde_use_debug_code != "no" && \
+ test $kde_use_debug_code != "full" && \
+ test "YES" = "$gcc_no_reorder_blocks" ; then
+ CXXFLAGS="$CXXFLAGS -fno-reorder-blocks"
+ CFLAGS="$CFLAGS -fno-reorder-blocks"
+ fi
+ KDE_CHECK_COMPILER_FLAG(fno-exceptions,[CXXFLAGS="$CXXFLAGS -fno-exceptions"])
+ KDE_CHECK_COMPILER_FLAG(fno-check-new, [CXXFLAGS="$CXXFLAGS -fno-check-new"])
+ KDE_CHECK_COMPILER_FLAG(fno-common, [CXXFLAGS="$CXXFLAGS -fno-common"])
+ KDE_CHECK_COMPILER_FLAG(fexceptions, [USE_EXCEPTIONS="-fexceptions"], USE_EXCEPTIONS= )
+ ENABLE_PERMISSIVE_FLAG="-fpermissive"
+
+ if test "$kde_use_pch" = "yes"; then
+ AC_MSG_CHECKING(whether gcc supports precompiling c header files)
+ echo >conftest.h
+ if $CC -x c-header conftest.h >/dev/null 2>/dev/null; then
+ kde_gcc_supports_pch=yes
+ AC_MSG_RESULT(yes)
+ else
+ kde_gcc_supports_pch=no
+ AC_MSG_RESULT(no)
+ fi
+ if test "$kde_gcc_supports_pch" = "yes"; then
+ AC_MSG_CHECKING(whether gcc supports precompiling c++ header files)
+ if $CXX -x c++-header conftest.h >/dev/null 2>/dev/null; then
+ kde_gcc_supports_pch=yes
+ AC_MSG_RESULT(yes)
+ else
+ kde_gcc_supports_pch=no
+ AC_MSG_RESULT(no)
+ fi
+ fi
+ rm -f conftest.h conftest.h.gch
+ fi
+
+ KDE_CHECK_FOR_OPT_NOINLINE_MATCH
+ if test "x$kde_cv_opt_noinline_match" = "xno" ; then
+ CFLAGS="`echo "$CFLAGS" | sed "s/ -fno-inline//"`"
+ fi
+ fi
+ AM_CONDITIONAL(unsermake_enable_pch, test "$kde_use_pch" = "yes" && test "$kde_gcc_supports_pch" = "yes")
+ if test "$CXX" = "KCC"; then
+ dnl unfortunately we currently cannot disable exception support in KCC
+ dnl because doing so is binary incompatible and Qt by default links with exceptions :-(
+ dnl KDE_CHECK_COMPILER_FLAG(-no_exceptions,[CXXFLAGS="$CXXFLAGS --no_exceptions"])
+ dnl KDE_CHECK_COMPILER_FLAG(-exceptions, [USE_EXCEPTIONS="--exceptions"], USE_EXCEPTIONS= )
+
+ if test "$kde_use_pch" = "yes"; then
+ dnl TODO: support --pch-dir!
+ KDE_CHECK_COMPILER_FLAG(-pch,[CXXFLAGS="$CXXFLAGS --pch"])
+ dnl the below works (but the dir must exist), but it's
+ dnl useless for a whole package.
+ dnl The are precompiled headers for each source file, so when compiling
+ dnl from scratch, it doesn't make a difference, and they take up
+ dnl around ~5Mb _per_ sourcefile.
+ dnl KDE_CHECK_COMPILER_FLAG(-pch_dir /tmp,
+ dnl [CXXFLAGS="$CXXFLAGS --pch_dir `pwd`/pcheaders"])
+ fi
+ dnl this flag controls inlining. by default KCC inlines in optimisation mode
+ dnl all implementations that are defined inside the class {} declaration.
+ dnl because of templates-compatibility with broken gcc compilers, this
+ dnl can cause excessive inlining. This flag limits it to a sane level
+ KDE_CHECK_COMPILER_FLAG(-inline_keyword_space_time=6,[CXXFLAGS="$CXXFLAGS --inline_keyword_space_time=6"])
+ KDE_CHECK_COMPILER_FLAG(-inline_auto_space_time=2,[CXXFLAGS="$CXXFLAGS --inline_auto_space_time=2"])
+ KDE_CHECK_COMPILER_FLAG(-inline_implicit_space_time=2.0,[CXXFLAGS="$CXXFLAGS --inline_implicit_space_time=2.0"])
+ KDE_CHECK_COMPILER_FLAG(-inline_generated_space_time=2.0,[CXXFLAGS="$CXXFLAGS --inline_generated_space_time=2.0"])
+ dnl Some source files are shared between multiple executables
+ dnl (or libraries) and some of those need template instantiations.
+ dnl In that case KCC needs to compile those sources with
+ dnl --one_instantiation_per_object. To make it easy for us we compile
+ dnl _all_ objects with that flag (--one_per is a shorthand).
+ KDE_CHECK_COMPILER_FLAG(-one_per, [CXXFLAGS="$CXXFLAGS --one_per"])
+ fi
+ AC_SUBST(USE_EXCEPTIONS)
+ dnl obsolete macro - provided to keep things going
+ USE_RTTI=
+ AC_SUBST(USE_RTTI)
+
+ case "$host" in
+ *-*-irix*) test "$GXX" = yes && CXXFLAGS="-D_LANGUAGE_C_PLUS_PLUS -D__LANGUAGE_C_PLUS_PLUS $CXXFLAGS" ;;
+ *-*-sysv4.2uw*) CXXFLAGS="-D_UNIXWARE $CXXFLAGS";;
+ *-*-sysv5uw7*) CXXFLAGS="-D_UNIXWARE7 $CXXFLAGS";;
+ *-*-solaris*)
+ if test "$GXX" = yes; then
+ libstdcpp=`$CXX -print-file-name=libstdc++.so`
+ if test ! -f $libstdcpp; then
+ AC_MSG_ERROR([You've compiled gcc without --enable-shared. This doesn't work with KDE. Please recompile gcc with --enable-shared to receive a libstdc++.so])
+ fi
+ fi
+ ;;
+ esac
+
+ AC_VALIDIFY_CXXFLAGS
+
+ AC_PROG_CXXCPP
+
+ if test "$GCC" = yes; then
+ NOOPT_CFLAGS=-O0
+ fi
+ KDE_CHECK_COMPILER_FLAG(O0,[NOOPT_CXXFLAGS=-O0])
+
+ AC_ARG_ENABLE(coverage,
+ AC_HELP_STRING([--enable-coverage],[use gcc coverage testing]), [
+ if test "$am_cv_CC_dependencies_compiler_type" = "gcc3"; then
+ ac_coverage_compiler="-fprofile-arcs -ftest-coverage"
+ ac_coverage_linker="-lgcc"
+ elif test "$am_cv_CC_dependencies_compiler_type" = "gcc"; then
+ ac_coverage_compiler="-fprofile-arcs -ftest-coverage"
+ ac_coverage_linker=""
+ else
+ AC_MSG_ERROR([coverage with your compiler is not supported])
+ fi
+ CFLAGS="$CFLAGS $ac_coverage_compiler"
+ CXXFLAGS="$CXXFLAGS $ac_coverage_compiler"
+ LDFLAGS="$LDFLAGS $ac_coverage_linker"
+ ])
+
+ AC_SUBST(NOOPT_CXXFLAGS)
+ AC_SUBST(NOOPT_CFLAGS)
+ AC_SUBST(ENABLE_PERMISSIVE_FLAG)
+
+ KDE_CHECK_NEW_LDFLAGS
+ KDE_CHECK_FINAL
+ KDE_CHECK_CLOSURE
+ KDE_CHECK_NMCHECK
+
+ ifdef([AM_DEPENDENCIES], AC_REQUIRE([KDE_ADD_DEPENDENCIES]), [])
+])
+
+AC_DEFUN([KDE_CHECK_VISIBILITY_GCC_BUG],
+ [
+ AC_CACHE_CHECK([for gcc -fvisibility-inlines-hidden bug], kde_cv_val_gcc_visibility_bug,
+ [
+ AC_LANG_SAVE
+ AC_LANG_CPLUSPLUS
+
+ safe_CXXFLAGS=$CXXFLAGS
+ safe_LDFLAGS=$LDFLAGS
+ CXXFLAGS="$CXXFLAGS -fPIC -fvisibility-inlines-hidden -O0"
+ LDFLAGS="$LDFLAGS -shared -fPIC"
+
+ AC_TRY_LINK(
+ [
+ /* http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19664 */
+ #include <string>
+ int some_function( void ) __attribute__ ((visibility("default")));
+ int some_function( void )
+ {
+ std::string s("blafasel");
+ return 0;
+ }
+ ], [/* elvis is alive */],
+ kde_cv_val_gcc_visibility_bug=no, kde_cv_val_gcc_visibility_bug=yes)
+
+ CXXFLAGS=$safe_CXXFLAGS
+ LDFLAGS=$safe_LDFLAGS
+ AC_LANG_RESTORE
+ ]
+ )
+
+ if test x$kde_cv_val_gcc_visibility_bug = xno; then
+ CXXFLAGS="$CXXFLAGS -fvisibility-inlines-hidden"
+ fi
+ ]
+)
+
+AC_DEFUN([KDE_ENABLE_HIDDEN_VISIBILITY],
+[
+ AC_BEFORE([AC_PATH_QT_1_3], [KDE_ENABLE_HIDDEN_VISIBILITY])
+
+ AC_MSG_CHECKING([grepping for visibility push/pop in headers])
+
+ if test "x$GXX" = "xyes"; then
+ AC_LANG_SAVE
+ AC_LANG_CPLUSPLUS
+ AC_EGREP_CPP(
+ [GCC visibility push],
+ [ #include <exception>
+ ],
+ [
+ AC_MSG_RESULT(yes)
+ kde_stdc_visibility_patched=yes ],
+ [
+ AC_MSG_RESULT(no)
+ AC_MSG_WARN([Your libstdc++ doesn't appear to be patched for
+ visibility support. Disabling -fvisibility=hidden])
+
+ kde_stdc_visibility_patched=no ])
+
+ AC_LANG_RESTORE
+
+ kde_have_gcc_visibility=no
+ KDE_CHECK_COMPILER_FLAG(fvisibility=hidden,
+ [
+ kde_have_gcc_visibility=yes
+ dnl the whole toolchain is just a mess, gcc is just too buggy
+ dnl to handle STL with visibility enabled. Lets reconsider
+ dnl when gcc 4.2 is out or when things get fixed in the compiler.
+ dnl Contact mueller@kde.org for details.
+ AC_ARG_ENABLE(gcc-hidden-visibility,
+ AC_HELP_STRING([--enable-gcc-hidden-visibility],[toolchain hidden visibility [default=no]]),
+ [kde_have_gcc_visibility=$enableval],
+ [kde_have_gcc_visibility=no])
+
+ AC_CACHE_CHECK([if Qt is patched for -fvisibility], kde_cv_val_qt_gcc_visibility_patched,
+ [
+ AC_LANG_SAVE
+ AC_LANG_CPLUSPLUS
+
+ safe_CXXFLAGS=$CXXFLAGS
+ CXXFLAGS="$CXXFLAGS $all_includes"
+
+ AC_TRY_COMPILE(
+ [
+#include <qglobal.h>
+#if Q_EXPORT - 0 != 0
+/* if this compiles, then Q_EXPORT is undefined */
+/* if Q_EXPORT is nonempty, this will break compilation */
+#endif
+ ], [/* elvis is alive */],
+ kde_cv_val_qt_gcc_visibility_patched=no, kde_cv_val_qt_gcc_visibility_patched=yes)
+
+ CXXFLAGS=$safe_CXXFLAGS
+ AC_LANG_RESTORE
+ ]
+ )
+
+ if test x$kde_have_gcc_visibility = "xyes" && test x$kde_stdc_visibility_patched = "xyes" && test x$kde_cv_val_qt_gcc_visibility_patched = "xyes"; then
+ CXXFLAGS="$CXXFLAGS -fvisibility=hidden"
+ KDE_CHECK_VISIBILITY_GCC_BUG
+ HAVE_GCC_VISIBILITY=1
+ AC_DEFINE_UNQUOTED(__KDE_HAVE_GCC_VISIBILITY, "$HAVE_GCC_VISIBILITY", [define to 1 if -fvisibility is supported])
+ fi
+ ])
+ fi
+])
+
+AC_DEFUN([KDE_ADD_DEPENDENCIES],
+[
+ [A]M_DEPENDENCIES(CC)
+ [A]M_DEPENDENCIES(CXX)
+])
+
+dnl just a wrapper to clean up configure.in
+AC_DEFUN([KDE_PROG_LIBTOOL],
+[
+AC_REQUIRE([AC_CHECK_COMPILERS])
+AC_REQUIRE([AC_ENABLE_SHARED])
+AC_REQUIRE([AC_ENABLE_STATIC])
+
+AC_REQUIRE([AC_LIBTOOL_DLOPEN])
+AC_REQUIRE([KDE_CHECK_LIB64])
+
+AC_OBJEXT
+AC_EXEEXT
+
+AM_PROG_LIBTOOL
+AC_LIBTOOL_CXX
+
+LIBTOOL_SHELL="/bin/sh ./libtool"
+# LIBTOOL="$LIBTOOL --silent"
+KDE_PLUGIN="-avoid-version -module -no-undefined \$(KDE_NO_UNDEFINED) \$(KDE_RPATH) \$(KDE_MT_LDFLAGS)"
+AC_SUBST(KDE_PLUGIN)
+
+# This hack ensures that libtool creates shared libs for kunittest plugins. By default check_LTLIBRARIES makes static libs.
+KDE_CHECK_PLUGIN="\$(KDE_PLUGIN) -rpath \$(libdir)"
+AC_SUBST(KDE_CHECK_PLUGIN)
+
+# we patch configure quite some so we better keep that consistent for incremental runs
+AC_SUBST(AUTOCONF,'$(SHELL) $(top_srcdir)/admin/cvs.sh configure || touch configure')
+])
+
+AC_DEFUN([KDE_CHECK_LIB64],
+[
+ AC_ARG_ENABLE(libsuffix,
+ AC_HELP_STRING([--enable-libsuffix],
+ [/lib directory suffix (64,32,none,auto[=default])]),
+ kdelibsuff=$enableval, kdelibsuff="auto")
+
+ if test "$kdelibsuff" = "auto"; then
+
+cat > conftest.c << EOF
+#include <stdio.h>
+int main() {
+ return 0;
+}
+EOF
+ kdelibsuff=`$CC conftest.c -o conftest.out; ldd conftest.out |sed -ne '/libc.so/{
+ s,.*/lib\([[^\/]]*\)/.*,\1,
+ p
+}'`
+ rm -rf conftest.*
+ fi
+
+ if test "$kdelibsuff" = "no" || test "$kdelibsuff" = "none"; then
+ kdelibsuff=
+ fi
+ if test -z "$kdelibsuff"; then
+ AC_MSG_RESULT([not using lib directory suffix])
+ AC_DEFINE(KDELIBSUFF, [""], Suffix for lib directories)
+ else
+ if test "$libdir" = '${exec_prefix}/lib'; then
+ libdir="$libdir${kdelibsuff}"
+ AC_SUBST([libdir], ["$libdir"]) dnl ugly hack for lib64 platforms
+ fi
+ AC_DEFINE_UNQUOTED(KDELIBSUFF, ["${kdelibsuff}"], Suffix for lib directories)
+ AC_MSG_RESULT([using lib directory suffix $kdelibsuff])
+ fi
+])
+
+AC_DEFUN([KDE_CHECK_TYPES],
+[ AC_CHECK_SIZEOF(int, 4)dnl
+ AC_CHECK_SIZEOF(short)dnl
+ AC_CHECK_SIZEOF(long, 4)dnl
+ AC_CHECK_SIZEOF(char *, 4)dnl
+])dnl
+
+dnl Not used - kept for compat only?
+AC_DEFUN([KDE_DO_IT_ALL],
+[
+AC_CANONICAL_SYSTEM
+AC_ARG_PROGRAM
+AM_INIT_AUTOMAKE($1, $2)
+AM_DISABLE_LIBRARIES
+AC_PREFIX_DEFAULT(${KDEDIR:-/usr/local/kde})
+AC_CHECK_COMPILERS
+KDE_PROG_LIBTOOL
+AM_KDE_WITH_NLS
+AC_PATH_KDE
+])
+
+AC_DEFUN([AC_CHECK_RPATH],
+[
+AC_MSG_CHECKING(for rpath)
+AC_ARG_ENABLE(rpath,
+ AC_HELP_STRING([--disable-rpath],[do not use the rpath feature of ld]),
+ USE_RPATH=$enableval, USE_RPATH=yes)
+
+if test -z "$KDE_RPATH" && test "$USE_RPATH" = "yes"; then
+
+ KDE_RPATH="-R \$(libdir)"
+
+ if test "$kde_libraries" != "$libdir"; then
+ KDE_RPATH="$KDE_RPATH -R \$(kde_libraries)"
+ fi
+
+ if test -n "$qt_libraries"; then
+ KDE_RPATH="$KDE_RPATH -R \$(qt_libraries)"
+ fi
+ dnl $x_libraries is set to /usr/lib in case
+ if test -n "$X_LDFLAGS"; then
+ X_RPATH="-R \$(x_libraries)"
+ KDE_RPATH="$KDE_RPATH $X_RPATH"
+ fi
+ if test -n "$KDE_EXTRA_RPATH"; then
+ KDE_RPATH="$KDE_RPATH \$(KDE_EXTRA_RPATH)"
+ fi
+fi
+AC_SUBST(KDE_EXTRA_RPATH)
+AC_SUBST(KDE_RPATH)
+AC_SUBST(X_RPATH)
+AC_MSG_RESULT($USE_RPATH)
+])
+
+dnl Check for the type of the third argument of getsockname
+AC_DEFUN([AC_CHECK_SOCKLEN_T],
+[
+ AC_MSG_CHECKING(for socklen_t)
+ AC_CACHE_VAL(kde_cv_socklen_t,
+ [
+ AC_LANG_PUSH(C++)
+ kde_cv_socklen_t=no
+ AC_TRY_COMPILE([
+ #include <sys/types.h>
+ #include <sys/socket.h>
+ ],
+ [
+ socklen_t len;
+ getpeername(0,0,&len);
+ ],
+ [
+ kde_cv_socklen_t=yes
+ kde_cv_socklen_t_equiv=socklen_t
+ ])
+ AC_LANG_POP(C++)
+ ])
+ AC_MSG_RESULT($kde_cv_socklen_t)
+ if test $kde_cv_socklen_t = no; then
+ AC_MSG_CHECKING([for socklen_t equivalent for socket functions])
+ AC_CACHE_VAL(kde_cv_socklen_t_equiv,
+ [
+ kde_cv_socklen_t_equiv=int
+ AC_LANG_PUSH(C++)
+ for t in int size_t unsigned long "unsigned long"; do
+ AC_TRY_COMPILE([
+ #include <sys/types.h>
+ #include <sys/socket.h>
+ ],
+ [
+ $t len;
+ getpeername(0,0,&len);
+ ],
+ [
+ kde_cv_socklen_t_equiv="$t"
+ break
+ ])
+ done
+ AC_LANG_POP(C++)
+ ])
+ AC_MSG_RESULT($kde_cv_socklen_t_equiv)
+ fi
+ AC_DEFINE_UNQUOTED(kde_socklen_t, $kde_cv_socklen_t_equiv,
+ [type to use in place of socklen_t if not defined])
+ AC_DEFINE_UNQUOTED(ksize_t, $kde_cv_socklen_t_equiv,
+ [type to use in place of socklen_t if not defined (deprecated, use kde_socklen_t)])
+])
+
+dnl This is a merge of some macros out of the gettext aclocal.m4
+dnl since we don't need anything, I took the things we need
+dnl the copyright for them is:
+dnl >
+dnl Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
+dnl This Makefile.in is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl This program is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+dnl PARTICULAR PURPOSE.
+dnl >
+dnl for this file it is relicensed under LGPL
+
+AC_DEFUN([AM_KDE_WITH_NLS],
+ [
+ dnl If we use NLS figure out what method
+
+ AM_PATH_PROG_WITH_TEST_KDE(MSGFMT, msgfmt,
+ [test -n "`$ac_dir/$ac_word --version 2>&1 | grep 'GNU gettext'`"], msgfmt)
+ AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
+
+ if test -z "`$GMSGFMT --version 2>&1 | grep 'GNU gettext'`"; then
+ AC_MSG_RESULT([found msgfmt program is not GNU msgfmt; ignore it])
+ GMSGFMT=":"
+ fi
+ MSGFMT=$GMSGFMT
+ AC_SUBST(GMSGFMT)
+ AC_SUBST(MSGFMT)
+
+ AM_PATH_PROG_WITH_TEST_KDE(XGETTEXT, xgettext,
+ [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :)
+
+ dnl Test whether we really found GNU xgettext.
+ if test "$XGETTEXT" != ":"; then
+ dnl If it is no GNU xgettext we define it as : so that the
+ dnl Makefiles still can work.
+ if $XGETTEXT --omit-header /dev/null 2> /dev/null; then
+ : ;
+ else
+ AC_MSG_RESULT(
+ [found xgettext programs is not GNU xgettext; ignore it])
+ XGETTEXT=":"
+ fi
+ fi
+ AC_SUBST(XGETTEXT)
+
+ ])
+
+# Search path for a program which passes the given test.
+# Ulrich Drepper <drepper@cygnus.com>, 1996.
+
+# serial 1
+# Stephan Kulow: I appended a _KDE against name conflicts
+
+dnl AM_PATH_PROG_WITH_TEST_KDE(VARIABLE, PROG-TO-CHECK-FOR,
+dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]])
+AC_DEFUN([AM_PATH_PROG_WITH_TEST_KDE],
+[# Extract the first word of "$2", so it can be a program name with args.
+set dummy $2; ac_word=[$]2
+AC_MSG_CHECKING([for $ac_word])
+AC_CACHE_VAL(ac_cv_path_$1,
+[case "[$]$1" in
+ /*)
+ ac_cv_path_$1="[$]$1" # Let the user override the test with a path.
+ ;;
+ *)
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+ for ac_dir in ifelse([$5], , $PATH, [$5]); do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ if [$3]; then
+ ac_cv_path_$1="$ac_dir/$ac_word"
+ break
+ fi
+ fi
+ done
+ IFS="$ac_save_ifs"
+dnl If no 4th arg is given, leave the cache variable unset,
+dnl so AC_PATH_PROGS will keep looking.
+ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
+])dnl
+ ;;
+esac])dnl
+$1="$ac_cv_path_$1"
+if test -n "[$]$1"; then
+ AC_MSG_RESULT([$]$1)
+else
+ AC_MSG_RESULT(no)
+fi
+AC_SUBST($1)dnl
+])
+
+
+# Check whether LC_MESSAGES is available in <locale.h>.
+# Ulrich Drepper <drepper@cygnus.com>, 1995.
+
+# serial 1
+
+AC_DEFUN([AM_LC_MESSAGES],
+ [if test $ac_cv_header_locale_h = yes; then
+ AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES,
+ [AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES],
+ am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)])
+ if test $am_cv_val_LC_MESSAGES = yes; then
+ AC_DEFINE(HAVE_LC_MESSAGES, 1, [Define if your locale.h file contains LC_MESSAGES])
+ fi
+ fi])
+
+dnl From Jim Meyering.
+dnl FIXME: migrate into libit.
+
+AC_DEFUN([AM_FUNC_OBSTACK],
+[AC_CACHE_CHECK([for obstacks], am_cv_func_obstack,
+ [AC_TRY_LINK([#include "obstack.h"],
+ [struct obstack *mem;obstack_free(mem,(char *) 0)],
+ am_cv_func_obstack=yes,
+ am_cv_func_obstack=no)])
+ if test $am_cv_func_obstack = yes; then
+ AC_DEFINE(HAVE_OBSTACK)
+ else
+ LIBOBJS="$LIBOBJS obstack.o"
+ fi
+])
+
+dnl From Jim Meyering. Use this if you use the GNU error.[ch].
+dnl FIXME: Migrate into libit
+
+AC_DEFUN([AM_FUNC_ERROR_AT_LINE],
+[AC_CACHE_CHECK([for error_at_line], am_cv_lib_error_at_line,
+ [AC_TRY_LINK([],[error_at_line(0, 0, "", 0, "");],
+ am_cv_lib_error_at_line=yes,
+ am_cv_lib_error_at_line=no)])
+ if test $am_cv_lib_error_at_line = no; then
+ LIBOBJS="$LIBOBJS error.o"
+ fi
+ AC_SUBST(LIBOBJS)dnl
+])
+
+# Macro to add for using GNU gettext.
+# Ulrich Drepper <drepper@cygnus.com>, 1995.
+
+# serial 1
+# Stephan Kulow: I put a KDE in it to avoid name conflicts
+
+AC_DEFUN([AM_KDE_GNU_GETTEXT],
+ [AC_REQUIRE([AC_PROG_MAKE_SET])dnl
+ AC_REQUIRE([AC_PROG_RANLIB])dnl
+ AC_REQUIRE([AC_HEADER_STDC])dnl
+ AC_REQUIRE([AC_TYPE_OFF_T])dnl
+ AC_REQUIRE([AC_TYPE_SIZE_T])dnl
+ AC_REQUIRE([AC_FUNC_ALLOCA])dnl
+ AC_REQUIRE([AC_FUNC_MMAP])dnl
+ AC_REQUIRE([AM_KDE_WITH_NLS])dnl
+ AC_CHECK_HEADERS([limits.h locale.h nl_types.h string.h values.h alloca.h])
+ AC_CHECK_FUNCS([getcwd munmap putenv setlocale strchr strcasecmp \
+__argz_count __argz_stringify __argz_next])
+
+ AC_MSG_CHECKING(for stpcpy)
+ AC_CACHE_VAL(kde_cv_func_stpcpy,
+ [
+ kde_safe_cxxflags=$CXXFLAGS
+ CXXFLAGS="-Werror"
+ AC_LANG_SAVE
+ AC_LANG_CPLUSPLUS
+ AC_TRY_COMPILE([
+ #include <string.h>
+ ],
+ [
+ char buffer[200];
+ stpcpy(buffer, buffer);
+ ],
+ kde_cv_func_stpcpy=yes,
+ kde_cv_func_stpcpy=no)
+ AC_LANG_RESTORE
+ CXXFLAGS=$kde_safe_cxxflags
+ ])
+ AC_MSG_RESULT($kde_cv_func_stpcpy)
+ if eval "test \"`echo $kde_cv_func_stpcpy`\" = yes"; then
+ AC_DEFINE(HAVE_STPCPY, 1, [Define if you have stpcpy])
+ fi
+
+ AM_LC_MESSAGES
+
+ if test "x$CATOBJEXT" != "x"; then
+ if test "x$ALL_LINGUAS" = "x"; then
+ LINGUAS=
+ else
+ AC_MSG_CHECKING(for catalogs to be installed)
+ NEW_LINGUAS=
+ for lang in ${LINGUAS=$ALL_LINGUAS}; do
+ case "$ALL_LINGUAS" in
+ *$lang*) NEW_LINGUAS="$NEW_LINGUAS $lang" ;;
+ esac
+ done
+ LINGUAS=$NEW_LINGUAS
+ AC_MSG_RESULT($LINGUAS)
+ fi
+
+ dnl Construct list of names of catalog files to be constructed.
+ if test -n "$LINGUAS"; then
+ for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done
+ fi
+ fi
+
+ ])
+
+AC_DEFUN([AC_HAVE_XPM],
+ [AC_REQUIRE_CPP()dnl
+ AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
+
+ test -z "$XPM_LDFLAGS" && XPM_LDFLAGS=
+ test -z "$XPM_INCLUDE" && XPM_INCLUDE=
+
+ AC_ARG_WITH(xpm,AC_HELP_STRING([--without-xpm],[disable color pixmap XPM tests]),
+ xpm_test=$withval, xpm_test="yes")
+ if test "x$xpm_test" = xno; then
+ ac_cv_have_xpm=no
+ else
+ AC_MSG_CHECKING(for XPM)
+ AC_CACHE_VAL(ac_cv_have_xpm,
+ [
+ ac_save_ldflags="$LDFLAGS"
+ ac_save_cflags="$CFLAGS"
+ if test "x$kde_use_qt_emb" != "xyes" && test "x$kde_use_qt_mac" != "xyes"; then
+ LDFLAGS="$LDFLAGS $X_LDFLAGS $USER_LDFLAGS $LDFLAGS $XPM_LDFLAGS $all_libraries -lXpm -lX11 -lXext $LIBZ $LIBSOCKET"
+ else
+ LDFLAGS="$LDFLAGS $X_LDFLAGS $USER_LDFLAGS $LDFLAGS $XPM_LDFLAGS $all_libraries -lXpm $LIBZ $LIBSOCKET"
+ fi
+ CFLAGS="$CFLAGS $X_INCLUDES $USER_INCLUDES"
+ test -n "$XPM_INCLUDE" && CFLAGS="-I$XPM_INCLUDE $CFLAGS"
+ AC_TRY_LINK([#include <X11/xpm.h>],[],
+ ac_cv_have_xpm="yes",ac_cv_have_xpm="no")
+ LDFLAGS="$ac_save_ldflags"
+ CFLAGS="$ac_save_cflags"
+ ])dnl
+
+ if test "$ac_cv_have_xpm" = no; then
+ AC_MSG_RESULT(no)
+ XPM_LDFLAGS=""
+ XPMINC=""
+ $2
+ else
+ AC_DEFINE(HAVE_XPM, 1, [Define if you have XPM support])
+ if test "$XPM_LDFLAGS" = ""; then
+ XPMLIB='-lXpm $(LIB_X11)'
+ else
+ XPMLIB="-L$XPM_LDFLAGS -lXpm "'$(LIB_X11)'
+ fi
+ if test "$XPM_INCLUDE" = ""; then
+ XPMINC=""
+ else
+ XPMINC="-I$XPM_INCLUDE"
+ fi
+ AC_MSG_RESULT(yes)
+ $1
+ fi
+ fi
+ AC_SUBST(XPMINC)
+ AC_SUBST(XPMLIB)
+])
+
+AC_DEFUN([AC_HAVE_DPMS],
+ [AC_REQUIRE_CPP()dnl
+ AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
+
+ test -z "$DPMS_LDFLAGS" && DPMS_LDFLAGS=
+ test -z "$DPMS_INCLUDE" && DPMS_INCLUDE=
+ DPMS_LIB=
+
+ AC_ARG_WITH(dpms,AC_HELP_STRING([--without-dpms],[disable DPMS power saving]),
+ dpms_test=$withval, dpms_test="yes")
+ if test "x$dpms_test" = xno; then
+ ac_cv_have_dpms=no
+ else
+ AC_MSG_CHECKING(for DPMS)
+ dnl Note: ac_cv_have_dpms can be no, yes, or -lXdpms.
+ dnl 'yes' means DPMS_LIB="", '-lXdpms' means DPMS_LIB="-lXdpms".
+ AC_CACHE_VAL(ac_cv_have_dpms,
+ [
+ if test "x$kde_use_qt_emb" = "xyes" || test "x$kde_use_qt_mac" = "xyes"; then
+ AC_MSG_RESULT(no)
+ ac_cv_have_dpms="no"
+ else
+ ac_save_ldflags="$LDFLAGS"
+ ac_save_cflags="$CFLAGS"
+ ac_save_libs="$LIBS"
+ LDFLAGS="$LDFLAGS $DPMS_LDFLAGS $all_libraries"
+ LIBS="-lX11 -lXext $LIBSOCKET"
+ CFLAGS="$CFLAGS $X_INCLUDES"
+ test -n "$DPMS_INCLUDE" && CFLAGS="-I$DPMS_INCLUDE $CFLAGS"
+ AC_TRY_LINK([
+ #include <X11/Xproto.h>
+ #include <X11/X.h>
+ #include <X11/Xlib.h>
+ #include <X11/extensions/dpms.h>
+ int foo_test_dpms()
+ { return DPMSSetTimeouts( 0, 0, 0, 0 ); }],[],
+ ac_cv_have_dpms="yes", [
+ LIBS="-lXdpms $LIBS"
+ AC_TRY_LINK([
+ #include <X11/Xproto.h>
+ #include <X11/X.h>
+ #include <X11/Xlib.h>
+ #include <X11/extensions/dpms.h>
+ int foo_test_dpms()
+ { return DPMSSetTimeouts( 0, 0, 0, 0 ); }],[],
+ [
+ ac_cv_have_dpms="-lXdpms"
+ ],ac_cv_have_dpms="no")
+ ])
+ LDFLAGS="$ac_save_ldflags"
+ CFLAGS="$ac_save_cflags"
+ LIBS="$ac_save_libs"
+ fi
+ ])dnl
+
+ if test "$ac_cv_have_dpms" = no; then
+ AC_MSG_RESULT(no)
+ DPMS_LDFLAGS=""
+ DPMSINC=""
+ $2
+ else
+ AC_DEFINE(HAVE_DPMS, 1, [Define if you have DPMS support])
+ if test "$ac_cv_have_dpms" = "-lXdpms"; then
+ DPMS_LIB="-lXdpms"
+ fi
+ if test "$DPMS_LDFLAGS" = ""; then
+ DPMSLIB="$DPMS_LIB "'$(LIB_X11)'
+ else
+ DPMSLIB="$DPMS_LDFLAGS $DPMS_LIB "'$(LIB_X11)'
+ fi
+ if test "$DPMS_INCLUDE" = ""; then
+ DPMSINC=""
+ else
+ DPMSINC="-I$DPMS_INCLUDE"
+ fi
+ AC_MSG_RESULT(yes)
+ $1
+ fi
+ fi
+ ac_save_cflags="$CFLAGS"
+ CFLAGS="$CFLAGS $X_INCLUDES"
+ test -n "$DPMS_INCLUDE" && CFLAGS="-I$DPMS_INCLUDE $CFLAGS"
+ AH_TEMPLATE(HAVE_DPMSCAPABLE_PROTO,
+ [Define if you have the DPMSCapable prototype in <X11/extensions/dpms.h>])
+ AC_CHECK_DECL(DPMSCapable,
+ AC_DEFINE(HAVE_DPMSCAPABLE_PROTO),,
+ [#include <X11/Xlib.h>
+ #include <X11/extensions/dpms.h>])
+ AH_TEMPLATE(HAVE_DPMSINFO_PROTO,
+ [Define if you have the DPMSInfo prototype in <X11/extensions/dpms.h>])
+ AC_CHECK_DECL(DPMSInfo,
+ AC_DEFINE(HAVE_DPMSINFO_PROTO),,
+ [#include <X11/Xlib.h>
+ #include <X11/extensions/dpms.h>])
+ CFLAGS="$ac_save_cflags"
+ AC_SUBST(DPMSINC)
+ AC_SUBST(DPMSLIB)
+])
+
+AC_DEFUN([AC_HAVE_GL],
+ [AC_REQUIRE_CPP()dnl
+ AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
+
+ test -z "$GL_LDFLAGS" && GL_LDFLAGS=
+ test -z "$GL_INCLUDE" && GL_INCLUDE=
+
+ AC_ARG_WITH(gl,AC_HELP_STRING([--without-gl],[disable 3D GL modes]),
+ gl_test=$withval, gl_test="yes")
+ if test "x$kde_use_qt_emb" = "xyes"; then
+ # GL and Qt Embedded is a no-go for now.
+ ac_cv_have_gl=no
+ elif test "x$gl_test" = xno; then
+ ac_cv_have_gl=no
+ else
+ AC_MSG_CHECKING(for GL)
+ AC_CACHE_VAL(ac_cv_have_gl,
+ [
+ AC_LANG_SAVE
+ AC_LANG_CPLUSPLUS
+ ac_save_ldflags=$LDFLAGS
+ ac_save_cxxflags=$CXXFLAGS
+ ac_save_libs=$LIBS
+ LDFLAGS="$LDFLAGS $GL_LDFLAGS $X_LDFLAGS $all_libraries"
+ LIBS="$LIBS -lGL -lGLU"
+ test "x$kde_use_qt_mac" != xyes && test "x$kde_use_qt_emb" != xyes && LIBS="$LIBS -lX11"
+ LIBS="$LIBS $LIB_XEXT -lm $LIBSOCKET"
+ CXXFLAGS="$CFLAGS $X_INCLUDES"
+ test -n "$GL_INCLUDE" && CFLAGS="-I$GL_INCLUDE $CFLAGS"
+ AC_TRY_LINK([#include <GL/gl.h>
+#include <GL/glu.h>
+], [],
+ ac_cv_have_gl="yes", ac_cv_have_gl="no")
+ AC_LANG_RESTORE
+ LDFLAGS=$ac_save_ldflags
+ CXXFLAGS=$ac_save_cxxflags
+ LIBS=$ac_save_libs
+ ])dnl
+
+ if test "$ac_cv_have_gl" = "no"; then
+ AC_MSG_RESULT(no)
+ GL_LDFLAGS=""
+ GLINC=""
+ $2
+ else
+ AC_DEFINE(HAVE_GL, 1, [Defines if you have GL (Mesa, OpenGL, ...)])
+ if test "$GL_LDFLAGS" = ""; then
+ GLLIB='-lGLU -lGL $(LIB_X11)'
+ else
+ GLLIB="$GL_LDFLAGS -lGLU -lGL "'$(LIB_X11)'
+ fi
+ if test "$GL_INCLUDE" = ""; then
+ GLINC=""
+ else
+ GLINC="-I$GL_INCLUDE"
+ fi
+ AC_MSG_RESULT($ac_cv_have_gl)
+ $1
+ fi
+ fi
+ AC_SUBST(GLINC)
+ AC_SUBST(GLLIB)
+])
+
+
+ dnl shadow password and PAM magic - maintained by ossi@kde.org
+
+AC_DEFUN([KDE_PAM], [
+ AC_REQUIRE([KDE_CHECK_LIBDL])
+
+ want_pam=
+ AC_ARG_WITH(pam,
+ AC_HELP_STRING([--with-pam[=ARG]],[enable support for PAM: ARG=[yes|no|service name]]),
+ [ if test "x$withval" = "xyes"; then
+ want_pam=yes
+ pam_service=kde
+ elif test "x$withval" = "xno"; then
+ want_pam=no
+ else
+ want_pam=yes
+ pam_service=$withval
+ fi
+ ], [ pam_service=kde ])
+
+ use_pam=
+ PAMLIBS=
+ if test "x$want_pam" != xno; then
+ AC_CHECK_LIB(pam, pam_start, [
+ AC_CHECK_HEADER(security/pam_appl.h,
+ [ pam_header=security/pam_appl.h ],
+ [ AC_CHECK_HEADER(pam/pam_appl.h,
+ [ pam_header=pam/pam_appl.h ],
+ [
+ AC_MSG_WARN([PAM detected, but no headers found!
+Make sure you have the necessary development packages installed.])
+ ]
+ )
+ ]
+ )
+ ], , $LIBDL)
+ if test -z "$pam_header"; then
+ if test "x$want_pam" = xyes; then
+ AC_MSG_ERROR([--with-pam was specified, but cannot compile with PAM!])
+ fi
+ else
+ AC_DEFINE(HAVE_PAM, 1, [Defines if you have PAM (Pluggable Authentication Modules)])
+ PAMLIBS="$PAM_MISC_LIB -lpam $LIBDL"
+ use_pam=yes
+
+ dnl darwin claims to be something special
+ if test "$pam_header" = "pam/pam_appl.h"; then
+ AC_DEFINE(HAVE_PAM_PAM_APPL_H, 1, [Define if your PAM headers are in pam/ instead of security/])
+ fi
+
+ dnl test whether struct pam_message is const (Linux) or not (Sun)
+ AC_MSG_CHECKING(for const pam_message)
+ AC_EGREP_HEADER([struct pam_message], $pam_header,
+ [ AC_EGREP_HEADER([const struct pam_message], $pam_header,
+ [AC_MSG_RESULT([const: Linux-type PAM])],
+ [AC_MSG_RESULT([nonconst: Sun-type PAM])
+ AC_DEFINE(PAM_MESSAGE_NONCONST, 1, [Define if your PAM support takes non-const arguments (Solaris)])]
+ )],
+ [AC_MSG_RESULT([not found - assume const, Linux-type PAM])])
+ fi
+ fi
+
+ AC_SUBST(PAMLIBS)
+])
+
+dnl DEF_PAM_SERVICE(arg name, full name, define name)
+AC_DEFUN([DEF_PAM_SERVICE], [
+ AC_ARG_WITH($1-pam,
+ AC_HELP_STRING([--with-$1-pam=[val]],[override PAM service from --with-pam for $2]),
+ [ if test "x$use_pam" = xyes; then
+ $3_PAM_SERVICE=$withval
+ else
+ AC_MSG_ERROR([Cannot use use --with-$1-pam, as no PAM was detected.
+You may want to enforce it by using --with-pam.])
+ fi
+ ],
+ [ if test "x$use_pam" = xyes; then
+ $3_PAM_SERVICE="$pam_service"
+ fi
+ ])
+ if test -n "$$3_PAM_SERVICE"; then
+ AC_MSG_RESULT([The PAM service used by $2 will be $$3_PAM_SERVICE])
+ AC_DEFINE_UNQUOTED($3_PAM_SERVICE, "$$3_PAM_SERVICE", [The PAM service to be used by $2])
+ fi
+ AC_SUBST($3_PAM_SERVICE)
+])
+
+AC_DEFUN([KDE_SHADOWPASSWD], [
+ AC_REQUIRE([KDE_PAM])
+
+ AC_CHECK_LIB(shadow, getspent,
+ [ LIBSHADOW="-lshadow"
+ ac_use_shadow=yes
+ ],
+ [ dnl for UnixWare
+ AC_CHECK_LIB(gen, getspent,
+ [ LIBGEN="-lgen"
+ ac_use_shadow=yes
+ ],
+ [ AC_CHECK_FUNC(getspent,
+ [ ac_use_shadow=yes ],
+ [ ac_use_shadow=no ])
+ ])
+ ])
+ AC_SUBST(LIBSHADOW)
+ AC_SUBST(LIBGEN)
+
+ AC_MSG_CHECKING([for shadow passwords])
+
+ AC_ARG_WITH(shadow,
+ AC_HELP_STRING([--with-shadow],[If you want shadow password support]),
+ [ if test "x$withval" != "xno"; then
+ use_shadow=yes
+ else
+ use_shadow=no
+ fi
+ ], [
+ use_shadow="$ac_use_shadow"
+ ])
+
+ if test "x$use_shadow" = xyes; then
+ AC_MSG_RESULT(yes)
+ AC_DEFINE(HAVE_SHADOW, 1, [Define if you use shadow passwords])
+ else
+ AC_MSG_RESULT(no)
+ LIBSHADOW=
+ LIBGEN=
+ fi
+
+ dnl finally make the relevant binaries setuid root, if we have shadow passwds.
+ dnl this still applies, if we could use it indirectly through pam.
+ if test "x$use_shadow" = xyes ||
+ ( test "x$use_pam" = xyes && test "x$ac_use_shadow" = xyes ); then
+ case $host in
+ *-*-freebsd* | *-*-netbsd* | *-*-openbsd*)
+ SETUIDFLAGS="-m 4755 -o root";;
+ *)
+ SETUIDFLAGS="-m 4755";;
+ esac
+ fi
+ AC_SUBST(SETUIDFLAGS)
+
+])
+
+AC_DEFUN([KDE_PASSWDLIBS], [
+ AC_REQUIRE([KDE_MISC_TESTS]) dnl for LIBCRYPT
+ AC_REQUIRE([KDE_PAM])
+ AC_REQUIRE([KDE_SHADOWPASSWD])
+
+ if test "x$use_pam" = "xyes"; then
+ PASSWDLIBS="$PAMLIBS"
+ else
+ PASSWDLIBS="$LIBCRYPT $LIBSHADOW $LIBGEN"
+ fi
+
+ dnl FreeBSD uses a shadow-like setup, where /etc/passwd holds the users, but
+ dnl /etc/master.passwd holds the actual passwords. /etc/master.passwd requires
+ dnl root to read, so kcheckpass needs to be root (even when using pam, since pam
+ dnl may need to read /etc/master.passwd).
+ case $host in
+ *-*-freebsd*)
+ SETUIDFLAGS="-m 4755 -o root"
+ ;;
+ *)
+ ;;
+ esac
+
+ AC_SUBST(PASSWDLIBS)
+])
+
+AC_DEFUN([KDE_CHECK_LIBDL],
+[
+AC_CHECK_LIB(dl, dlopen, [
+LIBDL="-ldl"
+ac_cv_have_dlfcn=yes
+])
+
+AC_CHECK_LIB(dld, shl_unload, [
+LIBDL="-ldld"
+ac_cv_have_shload=yes
+])
+
+AC_SUBST(LIBDL)
+])
+
+AC_DEFUN([KDE_CHECK_DLOPEN],
+[
+KDE_CHECK_LIBDL
+AC_CHECK_HEADERS(dlfcn.h dl.h)
+if test "$ac_cv_header_dlfcn_h" = "no"; then
+ ac_cv_have_dlfcn=no
+fi
+
+if test "$ac_cv_header_dl_h" = "no"; then
+ ac_cv_have_shload=no
+fi
+
+dnl XXX why change enable_dlopen? its already set by autoconf's AC_ARG_ENABLE
+dnl (MM)
+AC_ARG_ENABLE(dlopen,
+AC_HELP_STRING([--disable-dlopen],[link statically [default=no]]),
+enable_dlopen=$enableval,
+enable_dlopen=yes)
+
+# override the user's opinion, if we know it better ;)
+if test "$ac_cv_have_dlfcn" = "no" && test "$ac_cv_have_shload" = "no"; then
+ enable_dlopen=no
+fi
+
+if test "$ac_cv_have_dlfcn" = "yes"; then
+ AC_DEFINE_UNQUOTED(HAVE_DLFCN, 1, [Define if you have dlfcn])
+fi
+
+if test "$ac_cv_have_shload" = "yes"; then
+ AC_DEFINE_UNQUOTED(HAVE_SHLOAD, 1, [Define if you have shload])
+fi
+
+if test "$enable_dlopen" = no ; then
+ test -n "$1" && eval $1
+else
+ test -n "$2" && eval $2
+fi
+
+])
+
+AC_DEFUN([KDE_CHECK_DYNAMIC_LOADING],
+[
+KDE_CHECK_DLOPEN(libtool_enable_shared=yes, libtool_enable_static=no)
+KDE_PROG_LIBTOOL
+AC_MSG_CHECKING([dynamic loading])
+eval "`egrep '^build_libtool_libs=' libtool`"
+if test "$build_libtool_libs" = "yes" && test "$enable_dlopen" = "yes"; then
+ dynamic_loading=yes
+ AC_DEFINE_UNQUOTED(HAVE_DYNAMIC_LOADING)
+else
+ dynamic_loading=no
+fi
+AC_MSG_RESULT($dynamic_loading)
+if test "$dynamic_loading" = "yes"; then
+ $1
+else
+ $2
+fi
+])
+
+AC_DEFUN([KDE_ADD_INCLUDES],
+[
+if test -z "$1"; then
+ test_include="Pix.h"
+else
+ test_include="$1"
+fi
+
+AC_MSG_CHECKING([for libg++ ($test_include)])
+
+AC_CACHE_VAL(kde_cv_libgpp_includes,
+[
+kde_cv_libgpp_includes=no
+
+ for ac_dir in \
+ \
+ /usr/include/g++ \
+ /usr/include \
+ /usr/unsupported/include \
+ /opt/include \
+ $extra_include \
+ ; \
+ do
+ if test -r "$ac_dir/$test_include"; then
+ kde_cv_libgpp_includes=$ac_dir
+ break
+ fi
+ done
+])
+
+AC_MSG_RESULT($kde_cv_libgpp_includes)
+if test "$kde_cv_libgpp_includes" != "no"; then
+ all_includes="-I$kde_cv_libgpp_includes $all_includes $USER_INCLUDES"
+fi
+])
+])
+
+AC_DEFUN([KDE_CHECK_LIBPTHREAD],
+[
+ dnl This code is here specifically to handle the
+ dnl various flavors of threading library on FreeBSD
+ dnl 4-, 5-, and 6-, and the (weird) rules around it.
+ dnl There may be an environment PTHREAD_LIBS that
+ dnl specifies what to use; otherwise, search for it.
+ dnl -pthread is special cased and unsets LIBPTHREAD
+ dnl below if found.
+ LIBPTHREAD=""
+
+ if test -n "$PTHREAD_LIBS"; then
+ if test "x$PTHREAD_LIBS" = "x-pthread" ; then
+ LIBPTHREAD="PTHREAD"
+ else
+ PTHREAD_LIBS_save="$PTHREAD_LIBS"
+ PTHREAD_LIBS=`echo "$PTHREAD_LIBS_save" | sed -e 's,^-l,,g'`
+ AC_MSG_CHECKING([for pthread_create in $PTHREAD_LIBS])
+ KDE_CHECK_LIB($PTHREAD_LIBS, pthread_create, [
+ LIBPTHREAD="$PTHREAD_LIBS_save"])
+ PTHREAD_LIBS="$PTHREAD_LIBS_save"
+ fi
+ fi
+
+ dnl Is this test really needed, in the face of the Tru64 test below?
+ if test -z "$LIBPTHREAD"; then
+ AC_CHECK_LIB(pthread, pthread_create, [LIBPTHREAD="-lpthread"])
+ fi
+
+ dnl This is a special Tru64 check, see BR 76171 issue #18.
+ if test -z "$LIBPTHREAD" ; then
+ AC_MSG_CHECKING([for pthread_create in -lpthread])
+ kde_safe_libs=$LIBS
+ LIBS="$LIBS -lpthread"
+ AC_TRY_LINK([#include <pthread.h>],[(void)pthread_create(0,0,0,0);],[
+ AC_MSG_RESULT(yes)
+ LIBPTHREAD="-lpthread"],[
+ AC_MSG_RESULT(no)])
+ LIBS=$kde_safe_libs
+ fi
+
+ dnl Un-special-case for FreeBSD.
+ if test "x$LIBPTHREAD" = "xPTHREAD" ; then
+ LIBPTHREAD=""
+ fi
+
+ AC_SUBST(LIBPTHREAD)
+])
+
+AC_DEFUN([KDE_CHECK_PTHREAD_OPTION],
+[
+ USE_THREADS=""
+ if test -z "$LIBPTHREAD"; then
+ KDE_CHECK_COMPILER_FLAG(pthread, [USE_THREADS="-D_THREAD_SAFE -pthread"])
+ fi
+
+ AH_VERBATIM(__svr_define, [
+#if defined(__SVR4) && !defined(__svr4__)
+#define __svr4__ 1
+#endif
+])
+ case $host_os in
+ solaris*)
+ KDE_CHECK_COMPILER_FLAG(mt, [USE_THREADS="-mt"])
+ CPPFLAGS="$CPPFLAGS -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -DUSE_SOLARIS -DSVR4"
+ ;;
+ freebsd*)
+ CPPFLAGS="$CPPFLAGS -D_THREAD_SAFE $PTHREAD_CFLAGS"
+ ;;
+ aix*)
+ CPPFLAGS="$CPPFLAGS -D_THREAD_SAFE"
+ LIBPTHREAD="$LIBPTHREAD -lc_r"
+ ;;
+ linux*) CPPFLAGS="$CPPFLAGS -D_REENTRANT"
+ if test "$CXX" = "KCC"; then
+ CXXFLAGS="$CXXFLAGS --thread_safe"
+ NOOPT_CXXFLAGS="$NOOPT_CXXFLAGS --thread_safe"
+ fi
+ ;;
+ *)
+ ;;
+ esac
+ AC_SUBST(USE_THREADS)
+ AC_SUBST(LIBPTHREAD)
+])
+
+AC_DEFUN([KDE_CHECK_THREADING],
+[
+ AC_REQUIRE([KDE_CHECK_LIBPTHREAD])
+ AC_REQUIRE([KDE_CHECK_PTHREAD_OPTION])
+ dnl default is yes if libpthread is found and no if no libpthread is available
+ if test -z "$LIBPTHREAD"; then
+ if test -z "$USE_THREADS"; then
+ kde_check_threading_default=no
+ else
+ kde_check_threading_default=yes
+ fi
+ else
+ kde_check_threading_default=yes
+ fi
+ AC_ARG_ENABLE(threading,AC_HELP_STRING([--disable-threading],[disables threading even if libpthread found]),
+ kde_use_threading=$enableval, kde_use_threading=$kde_check_threading_default)
+ if test "x$kde_use_threading" = "xyes"; then
+ AC_DEFINE(HAVE_LIBPTHREAD, 1, [Define if you have a working libpthread (will enable threaded code)])
+ fi
+])
+
+AC_DEFUN([KDE_TRY_LINK_PYTHON],
+[
+if test "$kde_python_link_found" = no; then
+
+if test "$1" = normal; then
+ AC_MSG_CHECKING(if a Python application links)
+else
+ AC_MSG_CHECKING(if Python depends on $2)
+fi
+
+AC_CACHE_VAL(kde_cv_try_link_python_$1,
+[
+kde_save_cflags="$CFLAGS"
+CFLAGS="$CFLAGS $PYTHONINC"
+kde_save_libs="$LIBS"
+LIBS="$LIBS $LIBPYTHON $2 $LIBDL $LIBSOCKET"
+kde_save_ldflags="$LDFLAGS"
+LDFLAGS="$LDFLAGS $PYTHONLIB"
+
+AC_TRY_LINK(
+[
+#include <Python.h>
+],[
+ PySys_SetArgv(1, 0);
+],
+ [kde_cv_try_link_python_$1=yes],
+ [kde_cv_try_link_python_$1=no]
+)
+CFLAGS="$kde_save_cflags"
+LIBS="$kde_save_libs"
+LDFLAGS="$kde_save_ldflags"
+])
+
+if test "$kde_cv_try_link_python_$1" = "yes"; then
+ AC_MSG_RESULT(yes)
+ kde_python_link_found=yes
+ if test ! "$1" = normal; then
+ LIBPYTHON="$LIBPYTHON $2"
+ fi
+ $3
+else
+ AC_MSG_RESULT(no)
+ $4
+fi
+
+fi
+
+])
+
+AC_DEFUN([KDE_CHECK_PYTHON_DIR],
+[
+AC_MSG_CHECKING([for Python directory])
+
+AC_CACHE_VAL(kde_cv_pythondir,
+[
+ if test -z "$PYTHONDIR"; then
+ kde_cv_pythondir=/usr/local
+ else
+ kde_cv_pythondir="$PYTHONDIR"
+ fi
+])
+
+AC_ARG_WITH(pythondir,
+AC_HELP_STRING([--with-pythondir=pythondir],[use python installed in pythondir]),
+[
+ ac_python_dir=$withval
+], ac_python_dir=$kde_cv_pythondir
+)
+
+AC_MSG_RESULT($ac_python_dir)
+])
+
+AC_DEFUN([KDE_CHECK_PYTHON_INTERN],
+[
+AC_REQUIRE([KDE_CHECK_LIBDL])
+AC_REQUIRE([KDE_CHECK_LIBPTHREAD])
+AC_REQUIRE([KDE_CHECK_PYTHON_DIR])
+
+if test -z "$1"; then
+ version="1.5"
+else
+ version="$1"
+fi
+
+AC_MSG_CHECKING([for Python$version])
+
+python_incdirs="$ac_python_dir/include /usr/include /usr/local/include/ $kde_extra_includes"
+AC_FIND_FILE(Python.h, $python_incdirs, python_incdir)
+if test ! -r $python_incdir/Python.h; then
+ AC_FIND_FILE(python$version/Python.h, $python_incdirs, python_incdir)
+ python_incdir=$python_incdir/python$version
+ if test ! -r $python_incdir/Python.h; then
+ python_incdir=no
+ fi
+fi
+
+PYTHONINC=-I$python_incdir
+
+python_libdirs="$ac_python_dir/lib$kdelibsuff /usr/lib$kdelibsuff /usr/local /usr/lib$kdelibsuff $kde_extra_libs"
+AC_FIND_FILE(libpython$version.so, $python_libdirs, python_libdir)
+if test ! -r $python_libdir/libpython$version.so; then
+ AC_FIND_FILE(libpython$version.a, $python_libdirs, python_libdir)
+ if test ! -r $python_libdir/libpython$version.a; then
+ AC_FIND_FILE(python$version/config/libpython$version.a, $python_libdirs, python_libdir)
+ python_libdir=$python_libdir/python$version/config
+ if test ! -r $python_libdir/libpython$version.a; then
+ python_libdir=no
+ fi
+ fi
+fi
+
+PYTHONLIB=-L$python_libdir
+kde_orig_LIBPYTHON=$LIBPYTHON
+if test -z "$LIBPYTHON"; then
+ LIBPYTHON=-lpython$version
+fi
+
+AC_FIND_FILE(python$version/copy.py, $python_libdirs, python_moddir)
+python_moddir=$python_moddir/python$version
+if test ! -r $python_moddir/copy.py; then
+ python_moddir=no
+fi
+
+PYTHONMODDIR=$python_moddir
+
+AC_MSG_RESULT(header $python_incdir library $python_libdir modules $python_moddir)
+
+if test x$python_incdir = xno || test x$python_libdir = xno || test x$python_moddir = xno; then
+ LIBPYTHON=$kde_orig_LIBPYTHON
+ test "x$PYTHONLIB" = "x-Lno" && PYTHONLIB=""
+ test "x$PYTHONINC" = "x-Ino" && PYTHONINC=""
+ $2
+else
+ dnl Note: this test is very weak
+ kde_python_link_found=no
+ KDE_TRY_LINK_PYTHON(normal)
+ KDE_TRY_LINK_PYTHON(m, -lm)
+ KDE_TRY_LINK_PYTHON(pthread, $LIBPTHREAD)
+ KDE_TRY_LINK_PYTHON(tcl, -ltcl)
+ KDE_TRY_LINK_PYTHON(db2, -ldb2)
+ KDE_TRY_LINK_PYTHON(m_and_thread, [$LIBPTHREAD -lm])
+ KDE_TRY_LINK_PYTHON(m_and_thread_and_util, [$LIBPTHREAD -lm -lutil])
+ KDE_TRY_LINK_PYTHON(m_and_thread_and_db3, [$LIBPTHREAD -lm -ldb-3 -lutil])
+ KDE_TRY_LINK_PYTHON(pthread_and_db3, [$LIBPTHREAD -ldb-3])
+ KDE_TRY_LINK_PYTHON(m_and_thread_and_db, [$LIBPTHREAD -lm -ldb -ltermcap -lutil])
+ KDE_TRY_LINK_PYTHON(pthread_and_dl, [$LIBPTHREAD $LIBDL -lutil -lreadline -lncurses -lm])
+ KDE_TRY_LINK_PYTHON(pthread_and_panel_curses, [$LIBPTHREAD $LIBDL -lm -lpanel -lcurses])
+ KDE_TRY_LINK_PYTHON(m_and_thread_and_db_special, [$LIBPTHREAD -lm -ldb -lutil], [],
+ [AC_MSG_WARN([it seems, Python depends on another library.
+ Please set LIBPYTHON to '-lpython$version -lotherlib' before calling configure to fix this
+ and contact the authors to let them know about this problem])
+ ])
+
+ LIBPYTHON="$LIBPYTHON $LIBDL $LIBSOCKET"
+ AC_SUBST(PYTHONINC)
+ AC_SUBST(PYTHONLIB)
+ AC_SUBST(LIBPYTHON)
+ AC_SUBST(PYTHONMODDIR)
+ AC_DEFINE(HAVE_PYTHON, 1, [Define if you have the development files for python])
+fi
+
+])
+
+
+AC_DEFUN([KDE_CHECK_PYTHON],
+[
+ KDE_CHECK_PYTHON_INTERN("2.4",
+ [KDE_CHECK_PYTHON_INTERN("2.3",
+ [KDE_CHECK_PYTHON_INTERN("2.2",
+ [KDE_CHECK_PYTHON_INTERN("2.1",
+ [KDE_CHECK_PYTHON_INTERN("2.0",
+ [KDE_CHECK_PYTHON_INTERN($1, $2) ])
+ ])
+ ])
+ ])
+ ])
+])
+
+AC_DEFUN([KDE_CHECK_STL],
+[
+ AC_LANG_SAVE
+ AC_LANG_CPLUSPLUS
+ ac_save_CXXFLAGS="$CXXFLAGS"
+ CXXFLAGS="`echo $CXXFLAGS | sed s/-fno-exceptions//`"
+
+ AC_MSG_CHECKING([if C++ programs can be compiled])
+ AC_CACHE_VAL(kde_cv_stl_works,
+ [
+ AC_TRY_COMPILE([
+#include <string>
+using namespace std;
+],[
+ string astring="Hallo Welt.";
+ astring.erase(0, 6); // now astring is "Welt"
+ return 0;
+], kde_cv_stl_works=yes,
+ kde_cv_stl_works=no)
+])
+
+ AC_MSG_RESULT($kde_cv_stl_works)
+
+ if test "$kde_cv_stl_works" = "yes"; then
+ # back compatible
+ AC_DEFINE_UNQUOTED(HAVE_SGI_STL, 1, [Define if you have a STL implementation by SGI])
+ else
+ AC_MSG_ERROR([Your Installation isn't able to compile simple C++ programs.
+Check config.log for details - if you're using a Linux distribution you might miss
+a package named similar to libstdc++-dev.])
+ fi
+
+ CXXFLAGS="$ac_save_CXXFLAGS"
+ AC_LANG_RESTORE
+])
+
+AC_DEFUN([AC_FIND_QIMGIO],
+ [AC_REQUIRE([AC_FIND_JPEG])
+AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
+AC_MSG_CHECKING([for qimgio])
+AC_CACHE_VAL(ac_cv_lib_qimgio,
+[
+AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+ac_save_LIBS="$LIBS"
+ac_save_CXXFLAGS="$CXXFLAGS"
+LIBS="$all_libraries -lqimgio -lpng -lz $LIBJPEG $LIBQT"
+CXXFLAGS="$CXXFLAGS -I$qt_incdir $all_includes"
+AC_TRY_RUN(dnl
+[
+#include <qimageio.h>
+#include <qstring.h>
+int main() {
+ QString t = "hallo";
+ t.fill('t');
+ qInitImageIO();
+}
+],
+ ac_cv_lib_qimgio=yes,
+ ac_cv_lib_qimgio=no,
+ ac_cv_lib_qimgio=no)
+LIBS="$ac_save_LIBS"
+CXXFLAGS="$ac_save_CXXFLAGS"
+AC_LANG_RESTORE
+])dnl
+if eval "test \"`echo $ac_cv_lib_qimgio`\" = yes"; then
+ LIBQIMGIO="-lqimgio -lpng -lz $LIBJPEG"
+ AC_MSG_RESULT(yes)
+ AC_DEFINE_UNQUOTED(HAVE_QIMGIO, 1, [Define if you have the Qt extension qimgio available])
+ AC_SUBST(LIBQIMGIO)
+else
+ AC_MSG_RESULT(not found)
+fi
+])
+
+AC_DEFUN([AM_DISABLE_LIBRARIES],
+[
+ AC_PROVIDE([AM_ENABLE_STATIC])
+ AC_PROVIDE([AM_ENABLE_SHARED])
+ enable_static=no
+ enable_shared=yes
+])
+
+
+AC_DEFUN([AC_CHECK_UTMP_FILE],
+[
+ AC_MSG_CHECKING([for utmp file])
+
+ AC_CACHE_VAL(kde_cv_utmp_file,
+ [
+ kde_cv_utmp_file=no
+
+ for ac_file in \
+ \
+ /var/run/utmp \
+ /var/adm/utmp \
+ /etc/utmp \
+ ; \
+ do
+ if test -r "$ac_file"; then
+ kde_cv_utmp_file=$ac_file
+ break
+ fi
+ done
+ ])
+
+ if test "$kde_cv_utmp_file" != "no"; then
+ AC_DEFINE_UNQUOTED(UTMP, "$kde_cv_utmp_file", [Define the file for utmp entries])
+ $1
+ AC_MSG_RESULT($kde_cv_utmp_file)
+ else
+ $2
+ AC_MSG_RESULT([non found])
+ fi
+])
+
+
+AC_DEFUN([KDE_CREATE_SUBDIRSLIST],
+[
+
+DO_NOT_COMPILE="$DO_NOT_COMPILE CVS debian bsd-port admin"
+TOPSUBDIRS=""
+
+if test ! -s $srcdir/subdirs; then
+ dnl Note: Makefile.common creates subdirs, so this is just a fallback
+ files=`cd $srcdir && ls -1`
+ dirs=`for i in $files; do if test -d $i; then echo $i; fi; done`
+ for i in $dirs; do
+ echo $i >> $srcdir/subdirs
+ done
+fi
+
+ac_topsubdirs=
+if test -s $srcdir/inst-apps; then
+ ac_topsubdirs="`cat $srcdir/inst-apps`"
+elif test -s $srcdir/subdirs; then
+ ac_topsubdirs="`cat $srcdir/subdirs`"
+fi
+
+for i in $ac_topsubdirs; do
+ AC_MSG_CHECKING([if $i should be compiled])
+ if test -d $srcdir/$i; then
+ install_it="yes"
+ for j in $DO_NOT_COMPILE; do
+ if test $i = $j; then
+ install_it="no"
+ fi
+ done
+ else
+ install_it="no"
+ fi
+ AC_MSG_RESULT($install_it)
+ vari=`echo $i | sed -e 's,[[-+.@]],_,g'`
+ if test $install_it = "yes"; then
+ TOPSUBDIRS="$TOPSUBDIRS $i"
+ eval "$vari""_SUBDIR_included=yes"
+ else
+ eval "$vari""_SUBDIR_included=no"
+ fi
+done
+
+AC_SUBST(TOPSUBDIRS)
+])
+
+AC_DEFUN([KDE_CHECK_NAMESPACES],
+[
+AC_MSG_CHECKING(whether C++ compiler supports namespaces)
+AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+AC_TRY_COMPILE([
+],
+[
+namespace Foo {
+ extern int i;
+ namespace Bar {
+ extern int i;
+ }
+}
+
+int Foo::i = 0;
+int Foo::Bar::i = 1;
+],[
+ AC_MSG_RESULT(yes)
+ AC_DEFINE(HAVE_NAMESPACES)
+], [
+AC_MSG_RESULT(no)
+])
+AC_LANG_RESTORE
+])
+
+dnl ------------------------------------------------------------------------
+dnl Check for S_ISSOCK macro. Doesn't exist on Unix SCO. faure@kde.org
+dnl ------------------------------------------------------------------------
+dnl
+AC_DEFUN([AC_CHECK_S_ISSOCK],
+[
+AC_MSG_CHECKING(for S_ISSOCK)
+AC_CACHE_VAL(ac_cv_have_s_issock,
+[
+AC_TRY_LINK(
+[
+#include <sys/stat.h>
+],
+[
+struct stat buff;
+int b = S_ISSOCK( buff.st_mode );
+],
+ac_cv_have_s_issock=yes,
+ac_cv_have_s_issock=no)
+])
+AC_MSG_RESULT($ac_cv_have_s_issock)
+if test "$ac_cv_have_s_issock" = "yes"; then
+ AC_DEFINE_UNQUOTED(HAVE_S_ISSOCK, 1, [Define if sys/stat.h declares S_ISSOCK.])
+fi
+
+AH_VERBATIM(_ISSOCK,
+[
+#ifndef HAVE_S_ISSOCK
+#define HAVE_S_ISSOCK
+#define S_ISSOCK(mode) (1==0)
+#endif
+])
+
+])
+
+dnl ------------------------------------------------------------------------
+dnl Check for MAXPATHLEN macro, defines KDEMAXPATHLEN. faure@kde.org
+dnl ------------------------------------------------------------------------
+dnl
+AC_DEFUN([AC_CHECK_KDEMAXPATHLEN],
+[
+AC_MSG_CHECKING(for MAXPATHLEN)
+AC_CACHE_VAL(ac_cv_maxpathlen,
+[
+cat > conftest.$ac_ext <<EOF
+#ifdef STDC_HEADERS
+# include <stdlib.h>
+#endif
+#include <stdio.h>
+#include <sys/param.h>
+#ifndef MAXPATHLEN
+#define MAXPATHLEN 1024
+#endif
+
+KDE_HELLO MAXPATHLEN
+
+EOF
+
+ac_try="$ac_cpp conftest.$ac_ext 2>/dev/null | grep '^KDE_HELLO' >conftest.out"
+
+if AC_TRY_EVAL(ac_try) && test -s conftest.out; then
+ ac_cv_maxpathlen=`sed 's#KDE_HELLO ##' conftest.out`
+else
+ ac_cv_maxpathlen=1024
+fi
+
+rm conftest.*
+
+])
+AC_MSG_RESULT($ac_cv_maxpathlen)
+AC_DEFINE_UNQUOTED(KDEMAXPATHLEN,$ac_cv_maxpathlen, [Define a safe value for MAXPATHLEN] )
+])
+
+AC_DEFUN([KDE_CHECK_HEADER],
+[
+ kde_safe_cppflags=$CPPFLAGS
+ CPPFLAGS="$CPPFLAGS $all_includes"
+ AC_LANG_SAVE
+ AC_LANG_CPLUSPLUS
+ AC_CHECK_HEADER([$1], [$2], [$3], [$4])
+ AC_LANG_RESTORE
+ CPPFLAGS=$kde_safe_cppflags
+])
+
+AC_DEFUN([KDE_CHECK_HEADERS],
+[
+ AH_CHECK_HEADERS([$1])
+ AC_LANG_SAVE
+ kde_safe_cppflags=$CPPFLAGS
+ CPPFLAGS="$CPPFLAGS $all_includes"
+ AC_LANG_CPLUSPLUS
+ AC_CHECK_HEADERS([$1], [$2], [$3], [$4])
+ CPPFLAGS=$kde_safe_cppflags
+ AC_LANG_RESTORE
+])
+
+AC_DEFUN([KDE_FAST_CONFIGURE],
+[
+ dnl makes configure fast (needs perl)
+ AC_ARG_ENABLE(fast-perl, AC_HELP_STRING([--disable-fast-perl],[disable fast Makefile generation (needs perl)]),
+ with_fast_perl=$enableval, with_fast_perl=yes)
+])
+
+AC_DEFUN([KDE_CONF_FILES],
+[
+ val=
+ if test -f $srcdir/configure.files ; then
+ val=`sed -e 's%^%\$(top_srcdir)/%' $srcdir/configure.files`
+ fi
+ CONF_FILES=
+ if test -n "$val" ; then
+ for i in $val ; do
+ CONF_FILES="$CONF_FILES $i"
+ done
+ fi
+ AC_SUBST(CONF_FILES)
+])dnl
+
+dnl This sets the prefix, for arts and kdelibs
+dnl Do NOT use in any other module.
+dnl It only looks at --prefix, KDEDIR and falls back to /usr/local/kde
+AC_DEFUN([KDE_SET_PREFIX_CORE],
+[
+ unset CDPATH
+ dnl make $KDEDIR the default for the installation
+ AC_PREFIX_DEFAULT(${KDEDIR:-/usr/local/kde})
+
+ if test "x$prefix" = "xNONE"; then
+ prefix=$ac_default_prefix
+ ac_configure_args="$ac_configure_args --prefix=$prefix"
+ fi
+ # And delete superfluous '/' to make compares easier
+ prefix=`echo "$prefix" | sed 's,//*,/,g' | sed -e 's,/$,,'`
+ exec_prefix=`echo "$exec_prefix" | sed 's,//*,/,g' | sed -e 's,/$,,'`
+
+ kde_libs_prefix='$(prefix)'
+ kde_libs_htmldir='$(kde_htmldir)'
+ AC_SUBST(kde_libs_prefix)
+ AC_SUBST(kde_libs_htmldir)
+ KDE_FAST_CONFIGURE
+ KDE_CONF_FILES
+])
+
+
+AC_DEFUN([KDE_SET_PREFIX],
+[
+ unset CDPATH
+ dnl We can't give real code to that macro, only a value.
+ dnl It only matters for --help, since we set the prefix in this function anyway.
+ AC_PREFIX_DEFAULT(${KDEDIR:-the kde prefix})
+
+ KDE_SET_DEFAULT_BINDIRS
+ if test "x$prefix" = "xNONE"; then
+ dnl no prefix given: look for kde-config in the PATH and deduce the prefix from it
+ KDE_FIND_PATH(kde-config, KDECONFIG, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(kde-config)], [], prepend)
+ else
+ dnl prefix given: look for kde-config, preferrably in prefix, otherwise in PATH
+ kde_save_PATH="$PATH"
+ PATH="$exec_prefix/bin:$prefix/bin:$PATH"
+ KDE_FIND_PATH(kde-config, KDECONFIG, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(kde-config)], [], prepend)
+ PATH="$kde_save_PATH"
+ fi
+
+ kde_libs_prefix=`$KDECONFIG --prefix`
+ if test -z "$kde_libs_prefix" || test ! -x "$kde_libs_prefix"; then
+ AC_MSG_ERROR([$KDECONFIG --prefix outputed the non existant prefix '$kde_libs_prefix' for kdelibs.
+ This means it has been moved since you installed it.
+ This won't work. Please recompile kdelibs for the new prefix.
+ ])
+ fi
+ kde_libs_htmldir=`$KDECONFIG --install html --expandvars`
+
+ AC_MSG_CHECKING([where to install])
+ if test "x$prefix" = "xNONE"; then
+ prefix=$kde_libs_prefix
+ AC_MSG_RESULT([$prefix (as returned by kde-config)])
+ else
+ dnl --prefix was given. Compare prefixes and warn (in configure.in.bot.end) if different
+ given_prefix=$prefix
+ AC_MSG_RESULT([$prefix (as requested)])
+ fi
+
+ # And delete superfluous '/' to make compares easier
+ prefix=`echo "$prefix" | sed 's,//*,/,g' | sed -e 's,/$,,'`
+ exec_prefix=`echo "$exec_prefix" | sed 's,//*,/,g' | sed -e 's,/$,,'`
+ given_prefix=`echo "$given_prefix" | sed 's,//*,/,g' | sed -e 's,/$,,'`
+
+ AC_SUBST(KDECONFIG)
+ AC_SUBST(kde_libs_prefix)
+ AC_SUBST(kde_libs_htmldir)
+
+ KDE_FAST_CONFIGURE
+ KDE_CONF_FILES
+])
+
+pushdef([AC_PROG_INSTALL],
+[
+ dnl our own version, testing for a -p flag
+ popdef([AC_PROG_INSTALL])
+ dnl as AC_PROG_INSTALL works as it works we first have
+ dnl to save if the user didn't specify INSTALL, as the
+ dnl autoconf one overwrites INSTALL and we have no chance to find
+ dnl out afterwards
+ test -n "$INSTALL" && kde_save_INSTALL_given=$INSTALL
+ test -n "$INSTALL_PROGRAM" && kde_save_INSTALL_PROGRAM_given=$INSTALL_PROGRAM
+ test -n "$INSTALL_SCRIPT" && kde_save_INSTALL_SCRIPT_given=$INSTALL_SCRIPT
+ AC_PROG_INSTALL
+
+ if test -z "$kde_save_INSTALL_given" ; then
+ # OK, user hasn't given any INSTALL, autoconf found one for us
+ # now we test, if it supports the -p flag
+ AC_MSG_CHECKING(for -p flag to install)
+ rm -f confinst.$$.* > /dev/null 2>&1
+ echo "Testtest" > confinst.$$.orig
+ ac_res=no
+ if ${INSTALL} -p confinst.$$.orig confinst.$$.new > /dev/null 2>&1 ; then
+ if test -f confinst.$$.new ; then
+ # OK, -p seems to do no harm to install
+ INSTALL="${INSTALL} -p"
+ ac_res=yes
+ fi
+ fi
+ rm -f confinst.$$.*
+ AC_MSG_RESULT($ac_res)
+ fi
+ dnl the following tries to resolve some signs and wonders coming up
+ dnl with different autoconf/automake versions
+ dnl e.g.:
+ dnl *automake 1.4 install-strip sets A_M_INSTALL_PROGRAM_FLAGS to -s
+ dnl and has INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(A_M_INSTALL_PROGRAM_FLAGS)
+ dnl it header-vars.am, so there the actual INSTALL_PROGRAM gets the -s
+ dnl *automake 1.4a (and above) use INSTALL_STRIP_FLAG and only has
+ dnl INSTALL_PROGRAM = @INSTALL_PROGRAM@ there, but changes the
+ dnl install-@DIR@PROGRAMS targets to explicitly use that flag
+ dnl *autoconf 2.13 is dumb, and thinks it can use INSTALL_PROGRAM as
+ dnl INSTALL_SCRIPT, which breaks with automake <= 1.4
+ dnl *autoconf >2.13 (since 10.Apr 1999) has not that failure
+ dnl *sometimes KDE does not use the install-@DIR@PROGRAM targets from
+ dnl automake (due to broken Makefile.am or whatever) to install programs,
+ dnl and so does not see the -s flag in automake > 1.4
+ dnl to clean up that mess we:
+ dnl +set INSTALL_PROGRAM to use INSTALL_STRIP_FLAG
+ dnl which cleans KDE's program with automake > 1.4;
+ dnl +set INSTALL_SCRIPT to only use INSTALL, to clean up autoconf's problems
+ dnl with automake<=1.4
+ dnl note that dues to this sometimes two '-s' flags are used (if KDE
+ dnl properly uses install-@DIR@PROGRAMS, but I don't care
+ dnl
+ dnl And to all this comes, that I even can't write in comments variable
+ dnl names used by automake, because it is so stupid to think I wanted to
+ dnl _use_ them, therefor I have written A_M_... instead of AM_
+ dnl hmm, I wanted to say something ... ahh yes: Arghhh.
+
+ if test -z "$kde_save_INSTALL_PROGRAM_given" ; then
+ INSTALL_PROGRAM='${INSTALL} $(INSTALL_STRIP_FLAG)'
+ fi
+ if test -z "$kde_save_INSTALL_SCRIPT_given" ; then
+ INSTALL_SCRIPT='${INSTALL}'
+ fi
+])dnl
+
+AC_DEFUN([KDE_LANG_CPLUSPLUS],
+[AC_LANG_CPLUSPLUS
+ac_link='rm -rf SunWS_cache; ${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&AC_FD_CC'
+pushdef([AC_LANG_CPLUSPLUS], [popdef([AC_LANG_CPLUSPLUS]) KDE_LANG_CPLUSPLUS])
+])
+
+pushdef([AC_LANG_CPLUSPLUS],
+[popdef([AC_LANG_CPLUSPLUS])
+KDE_LANG_CPLUSPLUS
+])
+
+AC_DEFUN([KDE_CHECK_LONG_LONG],
+[
+AC_MSG_CHECKING(for long long)
+AC_CACHE_VAL(kde_cv_c_long_long,
+[
+ AC_LANG_SAVE
+ AC_LANG_CPLUSPLUS
+ AC_TRY_LINK([], [
+ long long foo = 0;
+ foo = foo+1;
+ ],
+ kde_cv_c_long_long=yes, kde_cv_c_long_long=no)
+ AC_LANG_RESTORE
+])
+AC_MSG_RESULT($kde_cv_c_long_long)
+if test "$kde_cv_c_long_long" = yes; then
+ AC_DEFINE(HAVE_LONG_LONG, 1, [Define if you have long long as datatype])
+fi
+])
+
+AC_DEFUN([KDE_CHECK_LIB],
+[
+ kde_save_LDFLAGS="$LDFLAGS"
+ dnl AC_CHECK_LIB modifies LIBS, so save it here
+ kde_save_LIBS="$LIBS"
+ LDFLAGS="$LDFLAGS $all_libraries"
+ case $host_os in
+ aix*) LDFLAGS="-brtl $LDFLAGS"
+ test "$GCC" = yes && LDFLAGS="-Wl,$LDFLAGS"
+ ;;
+ esac
+ AC_CHECK_LIB($1, $2, $3, $4, $5)
+ LDFLAGS="$kde_save_LDFLAGS"
+ LIBS="$kde_save_LIBS"
+])
+
+AC_DEFUN([KDE_JAVA_PREFIX],
+[
+ dir=`dirname "$1"`
+ base=`basename "$1"`
+ list=`ls -1 $dir 2> /dev/null`
+ for entry in $list; do
+ if test -d $dir/$entry/bin; then
+ case $entry in
+ $base)
+ javadirs="$javadirs $dir/$entry/bin"
+ ;;
+ esac
+ elif test -d $dir/$entry/jre/bin; then
+ case $entry in
+ $base)
+ javadirs="$javadirs $dir/$entry/jre/bin"
+ ;;
+ esac
+ fi
+ done
+])
+
+dnl KDE_CHEC_JAVA_DIR(onlyjre)
+AC_DEFUN([KDE_CHECK_JAVA_DIR],
+[
+
+AC_ARG_WITH(java,
+AC_HELP_STRING([--with-java=javadir],[use java installed in javadir, --without-java disables]),
+[ ac_java_dir=$withval
+], ac_java_dir=""
+)
+
+AC_MSG_CHECKING([for Java])
+
+dnl at this point ac_java_dir is either a dir, 'no' to disable, or '' to say look in $PATH
+if test "x$ac_java_dir" = "xno"; then
+ kde_java_bindir=no
+ kde_java_includedir=no
+ kde_java_libjvmdir=no
+ kde_java_libgcjdir=no
+ kde_java_libhpidir=no
+else
+ if test "x$ac_java_dir" = "x"; then
+
+
+ dnl No option set -> collect list of candidate paths
+ if test -n "$JAVA_HOME"; then
+ KDE_JAVA_PREFIX($JAVA_HOME)
+ fi
+ KDE_JAVA_PREFIX(/usr/j2se)
+ KDE_JAVA_PREFIX(/usr/lib/j2se)
+ KDE_JAVA_PREFIX(/usr/j*dk*)
+ KDE_JAVA_PREFIX(/usr/lib/j*dk*)
+ KDE_JAVA_PREFIX(/opt/j*sdk*)
+ KDE_JAVA_PREFIX(/usr/lib/java*)
+ KDE_JAVA_PREFIX(/usr/java*)
+ KDE_JAVA_PREFIX(/usr/java/j*dk*)
+ KDE_JAVA_PREFIX(/usr/java/j*re*)
+ KDE_JAVA_PREFIX(/usr/lib/SunJava2*)
+ KDE_JAVA_PREFIX(/usr/lib/SunJava*)
+ KDE_JAVA_PREFIX(/usr/lib/IBMJava2*)
+ KDE_JAVA_PREFIX(/usr/lib/IBMJava*)
+ KDE_JAVA_PREFIX(/opt/java*)
+
+ kde_cv_path="NONE"
+ kde_save_IFS=$IFS
+ IFS=':'
+ for dir in $PATH; do
+ if test -d "$dir"; then
+ javadirs="$javadirs $dir"
+ fi
+ done
+ IFS=$kde_save_IFS
+ jredirs=
+
+ dnl Now javadirs contains a list of paths that exist, all ending with bin/
+ for dir in $javadirs; do
+ dnl Check for the java executable
+ if test -x "$dir/java"; then
+ dnl And also check for a libjvm.so somewhere under there
+ dnl Since we have to go to the parent dir, /usr/bin is excluded, /usr is too big.
+ if test "$dir" != "/usr/bin"; then
+ libjvmdir=`find $dir/.. -name libjvm.so | sed 's,libjvm.so,,'|head -n 1`
+ if test ! -f $libjvmdir/libjvm.so; then continue; fi
+ jredirs="$jredirs $dir"
+ fi
+ fi
+ done
+
+ dnl Now jredirs contains a reduced list, of paths where both java and ../**/libjvm.so was found
+ JAVAC=
+ JAVA=
+ kde_java_bindir=no
+ for dir in $jredirs; do
+ JAVA="$dir/java"
+ kde_java_bindir=$dir
+ if test -x "$dir/javac"; then
+ JAVAC="$dir/javac"
+ break
+ fi
+ done
+
+ if test -n "$JAVAC"; then
+ dnl this substitution might not work - well, we test for jni.h below
+ kde_java_includedir=`echo $JAVAC | sed -e 's,bin/javac$,include/,'`
+ else
+ kde_java_includedir=no
+ fi
+ else
+ dnl config option set
+ kde_java_bindir=$ac_java_dir/bin
+ if test -x $ac_java_dir/bin/java && test ! -x $ac_java_dir/bin/javac; then
+ kde_java_includedir=no
+ else
+ kde_java_includedir=$ac_java_dir/include
+ fi
+ fi
+fi
+
+dnl At this point kde_java_bindir and kde_java_includedir are either set or "no"
+if test "x$kde_java_bindir" != "xno"; then
+
+ dnl Look for libjvm.so
+ kde_java_libjvmdir=`find $kde_java_bindir/.. -name libjvm.so | sed 's,libjvm.so,,'|head -n 1`
+ dnl Look for libgcj.so
+ kde_java_libgcjdir=`find $kde_java_bindir/.. -name libgcj.so | sed 's,libgcj.so,,'|head -n 1`
+ dnl Look for libhpi.so and avoid green threads
+ kde_java_libhpidir=`find $kde_java_bindir/.. -name libhpi.so | grep -v green | sed 's,libhpi.so,,' | head -n 1`
+
+ dnl Now check everything's fine under there
+ dnl the include dir is our flag for having the JDK
+ if test -d "$kde_java_includedir"; then
+ if test ! -x "$kde_java_bindir/javac"; then
+ AC_MSG_ERROR([javac not found under $kde_java_bindir - it seems you passed a wrong --with-java.])
+ fi
+ if test ! -x "$kde_java_bindir/javah"; then
+ AC_MSG_ERROR([javah not found under $kde_java_bindir. javac was found though! Use --with-java or --without-java.])
+ fi
+ if test ! -x "$kde_java_bindir/jar"; then
+ AC_MSG_ERROR([jar not found under $kde_java_bindir. javac was found though! Use --with-java or --without-java.])
+ fi
+ if test ! -r "$kde_java_includedir/jni.h"; then
+ AC_MSG_ERROR([jni.h not found under $kde_java_includedir. Use --with-java or --without-java.])
+ fi
+
+ jni_includes="-I$kde_java_includedir"
+ dnl Strange thing, jni.h requires jni_md.h which is under genunix here..
+ dnl and under linux here..
+
+ dnl not needed for gcj
+
+ if test "x$kde_java_libgcjdir" = "x"; then
+ test -d "$kde_java_includedir/linux" && jni_includes="$jni_includes -I$kde_java_includedir/linux"
+ test -d "$kde_java_includedir/solaris" && jni_includes="$jni_includes -I$kde_java_includedir/solaris"
+ test -d "$kde_java_includedir/genunix" && jni_includes="$jni_includes -I$kde_java_includedir/genunix"
+ fi
+
+ else
+ JAVAC=
+ jni_includes=
+ fi
+
+ if test "x$kde_java_libgcjdir" = "x"; then
+ if test ! -r "$kde_java_libjvmdir/libjvm.so"; then
+ AC_MSG_ERROR([libjvm.so not found under $kde_java_libjvmdir. Use --without-java.])
+ fi
+ else
+ if test ! -r "$kde_java_libgcjdir/libgcj.so"; then
+ AC_MSG_ERROR([libgcj.so not found under $kde_java_libgcjdir. Use --without-java.])
+ fi
+ fi
+
+ if test ! -x "$kde_java_bindir/java"; then
+ AC_MSG_ERROR([java not found under $kde_java_bindir. javac was found though! Use --with-java or --without-java.])
+ fi
+
+ dnl not needed for gcj compile
+
+ if test "x$kde_java_libgcjdir" = "x"; then
+ if test ! -r "$kde_java_libhpidir/libhpi.so"; then
+ AC_MSG_ERROR([libhpi.so not found under $kde_java_libhpidir. Use --without-java.])
+ fi
+ fi
+
+ if test -n "$jni_includes"; then
+ dnl Check for JNI version
+ AC_LANG_SAVE
+ AC_LANG_CPLUSPLUS
+ ac_cxxflags_safe="$CXXFLAGS"
+ CXXFLAGS="$CXXFLAGS $all_includes $jni_includes"
+
+ AC_TRY_COMPILE([
+ #include <jni.h>
+ ],
+ [
+ #ifndef JNI_VERSION_1_2
+ Syntax Error
+ #endif
+ ],[ kde_jni_works=yes ],
+ [ kde_jni_works=no ])
+
+ if test $kde_jni_works = no; then
+ AC_MSG_ERROR([Incorrect version of $kde_java_includedir/jni.h.
+ You need to have Java Development Kit (JDK) version 1.2.
+
+ Use --with-java to specify another location.
+ Use --without-java to configure without java support.
+ Or download a newer JDK and try again.
+ See e.g. http://java.sun.com/products/jdk/1.2 ])
+ fi
+
+ CXXFLAGS="$ac_cxxflags_safe"
+ AC_LANG_RESTORE
+
+ dnl All tests ok, inform and subst the variables
+
+ JAVAC=$kde_java_bindir/javac
+ JAVAH=$kde_java_bindir/javah
+ JAR=$kde_java_bindir/jar
+ AC_DEFINE_UNQUOTED(PATH_JAVA, "$kde_java_bindir/java", [Define where your java executable is])
+ if test "x$kde_java_libgcjdir" = "x"; then
+ JVMLIBS="-L$kde_java_libjvmdir -ljvm -L$kde_java_libhpidir -lhpi"
+ else
+ JVMLIBS="-L$kde_java_libgcjdir -lgcj"
+ fi
+ AC_MSG_RESULT([java JDK in $kde_java_bindir])
+
+ else
+ AC_DEFINE_UNQUOTED(PATH_JAVA, "$kde_java_bindir/java", [Define where your java executable is])
+ AC_MSG_RESULT([java JRE in $kde_java_bindir])
+ fi
+elif test -d "/Library/Java/Home"; then
+ kde_java_bindir="/Library/Java/Home/bin"
+ jni_includes="-I/Library/Java/Home/include"
+
+ JAVAC=$kde_java_bindir/javac
+ JAVAH=$kde_java_bindir/javah
+ JAR=$kde_java_bindir/jar
+ JVMLIBS="-Wl,-framework,JavaVM"
+
+ AC_DEFINE_UNQUOTED(PATH_JAVA, "$kde_java_bindir/java", [Define where your java executable is])
+ AC_MSG_RESULT([Apple Java Framework])
+else
+ AC_MSG_RESULT([none found])
+fi
+
+AC_SUBST(JAVAC)
+AC_SUBST(JAVAH)
+AC_SUBST(JAR)
+AC_SUBST(JVMLIBS)
+AC_SUBST(jni_includes)
+
+# for backward compat
+kde_cv_java_includedir=$kde_java_includedir
+kde_cv_java_bindir=$kde_java_bindir
+])
+
+dnl this is a redefinition of autoconf 2.5x's AC_FOREACH.
+dnl When the argument list becomes big, as in KDE for AC_OUTPUT in
+dnl big packages, m4_foreach is dog-slow. So use our own version of
+dnl it. (matz@kde.org)
+m4_define([mm_foreach],
+[m4_pushdef([$1])_mm_foreach($@)m4_popdef([$1])])
+m4_define([mm_car], [[$1]])
+m4_define([mm_car2], [[$@]])
+m4_define([_mm_foreach],
+[m4_if(m4_quote($2), [], [],
+ [m4_define([$1], mm_car($2))$3[]_mm_foreach([$1],
+ mm_car2(m4_shift($2)),
+ [$3])])])
+m4_define([AC_FOREACH],
+[mm_foreach([$1], m4_split(m4_normalize([$2])), [$3])])
+
+AC_DEFUN([KDE_NEED_FLEX],
+[
+kde_libs_safe=$LIBS
+LIBS="$LIBS $USER_LDFLAGS"
+AM_PROG_LEX
+LIBS=$kde_libs_safe
+if test -z "$LEXLIB"; then
+ AC_MSG_ERROR([You need to have flex installed.])
+fi
+AC_SUBST(LEXLIB)
+])
+
+AC_DEFUN([AC_PATH_QTOPIA],
+[
+ dnl TODO: use AC_CACHE_VAL
+
+ if test -z "$1"; then
+ qtopia_minver_maj=1
+ qtopia_minver_min=5
+ qtopia_minver_pat=0
+ else
+ qtopia_minver_maj=`echo "$1" | sed -e "s/^\(.*\)\..*\..*$/\1/"`
+ qtopia_minver_min=`echo "$1" | sed -e "s/^.*\.\(.*\)\..*$/\1/"`
+ qtopia_minver_pat=`echo "$1" | sed -e "s/^.*\..*\.\(.*\)$/\1/"`
+ fi
+
+ qtopia_minver="$qtopia_minver_maj$qtopia_minver_min$qtopia_minver_pat"
+ qtopia_minverstr="$qtopia_minver_maj.$qtopia_minver_min.$qtopia_minver_pat"
+
+ AC_REQUIRE([AC_PATH_QT])
+
+ AC_MSG_CHECKING([for Qtopia])
+
+ LIB_QTOPIA="-lqpe"
+ AC_SUBST(LIB_QTOPIA)
+
+ kde_qtopia_dirs="$QPEDIR /opt/Qtopia"
+
+ ac_qtopia_incdir=NO
+
+ AC_ARG_WITH(qtopia-dir,
+ AC_HELP_STRING([--with-qtopia-dir=DIR],[where the root of Qtopia is installed]),
+ [ ac_qtopia_incdir="$withval"/include] )
+
+ qtopia_incdirs=""
+ for dir in $kde_qtopia_dirs; do
+ qtopia_incdirs="$qtopia_incdirs $dir/include"
+ done
+
+ if test ! "$ac_qtopia_incdir" = "NO"; then
+ qtopia_incdirs="$ac_qtopia_incdir $qtopia_incdirs"
+ fi
+
+ qtopia_incdir=""
+ AC_FIND_FILE(qpe/qpeapplication.h, $qtopia_incdirs, qtopia_incdir)
+ ac_qtopia_incdir="$qtopia_incdir"
+
+ if test -z "$qtopia_incdir"; then
+ AC_MSG_ERROR([Cannot find Qtopia headers. Please check your installation.])
+ fi
+
+ qtopia_ver_maj=`cat $qtopia_incdir/qpe/version.h | sed -n -e 's,.*QPE_VERSION "\(.*\)\..*\..*".*,\1,p'`;
+ qtopia_ver_min=`cat $qtopia_incdir/qpe/version.h | sed -n -e 's,.*QPE_VERSION ".*\.\(.*\)\..*".*,\1,p'`;
+ qtopia_ver_pat=`cat $qtopia_incdir/qpe/version.h | sed -n -e 's,.*QPE_VERSION ".*\..*\.\(.*\)".*,\1,p'`;
+
+ qtopia_ver="$qtopia_ver_maj$qtopia_ver_min$qtopia_ver_pat"
+ qtopia_verstr="$qtopia_ver_maj.$qtopia_ver_min.$qtopia_ver_pat"
+ if test "$qtopia_ver" -lt "$qtopia_minver"; then
+ AC_MSG_ERROR([found Qtopia version $qtopia_verstr but version $qtopia_minverstr
+is required.])
+ fi
+
+ AC_LANG_SAVE
+ AC_LANG_CPLUSPLUS
+
+ ac_cxxflags_safe="$CXXFLAGS"
+ ac_ldflags_safe="$LDFLAGS"
+ ac_libs_safe="$LIBS"
+
+ CXXFLAGS="$CXXFLAGS -I$qtopia_incdir $all_includes"
+ LDFLAGS="$LDFLAGS $QT_LDFLAGS $all_libraries $USER_LDFLAGS $KDE_MT_LDFLAGS"
+ LIBS="$LIBS $LIB_QTOPIA $LIBQT"
+
+ cat > conftest.$ac_ext <<EOF
+#include "confdefs.h"
+#include <qpe/qpeapplication.h>
+#include <qpe/version.h>
+
+int main( int argc, char **argv )
+{
+ QPEApplication app( argc, argv );
+ return 0;
+}
+EOF
+
+ if AC_TRY_EVAL(ac_link) && test -s conftest; then
+ rm -f conftest*
+ else
+ rm -f conftest*
+ AC_MSG_ERROR([Cannot link small Qtopia Application. For more details look at
+the end of config.log])
+ fi
+
+ CXXFLAGS="$ac_cxxflags_safe"
+ LDFLAGS="$ac_ldflags_safe"
+ LIBS="$ac_libs_safe"
+
+ AC_LANG_RESTORE
+
+ QTOPIA_INCLUDES="-I$qtopia_incdir"
+ AC_SUBST(QTOPIA_INCLUDES)
+
+ AC_MSG_RESULT([found version $qtopia_verstr with headers at $qtopia_incdir])
+])
+
+
+AC_DEFUN([KDE_INIT_DOXYGEN],
+[
+AC_MSG_CHECKING([for Qt docs])
+kde_qtdir=
+if test "${with_qt_dir+set}" = set; then
+ kde_qtdir="$with_qt_dir"
+fi
+
+AC_FIND_FILE(qsql.html, [ $kde_qtdir/doc/html $QTDIR/doc/html /usr/share/doc/packages/qt3/html /usr/lib/qt/doc /usr/lib/qt3/doc /usr/lib/qt3/doc/html /usr/doc/qt3/html /usr/doc/qt3 /usr/share/doc/qt3-doc /usr/share/qt3/doc/html /usr/X11R6/share/doc/qt/html ], QTDOCDIR)
+AC_MSG_RESULT($QTDOCDIR)
+
+AC_SUBST(QTDOCDIR)
+
+KDE_FIND_PATH(dot, DOT, [], [])
+if test -n "$DOT"; then
+ KDE_HAVE_DOT="YES"
+else
+ KDE_HAVE_DOT="NO"
+fi
+AC_SUBST(KDE_HAVE_DOT)
+KDE_FIND_PATH(doxygen, DOXYGEN, [], [])
+AC_SUBST(DOXYGEN)
+
+DOXYGEN_PROJECT_NAME="$1"
+DOXYGEN_PROJECT_NUMBER="$2"
+AC_SUBST(DOXYGEN_PROJECT_NAME)
+AC_SUBST(DOXYGEN_PROJECT_NUMBER)
+
+KDE_HAS_DOXYGEN=no
+if test -n "$DOXYGEN" && test -x "$DOXYGEN" && test -f $QTDOCDIR/qsql.html; then
+ KDE_HAS_DOXYGEN=yes
+fi
+AC_SUBST(KDE_HAS_DOXYGEN)
+
+])
+
+
+AC_DEFUN([AC_FIND_BZIP2],
+[
+AC_MSG_CHECKING([for bzDecompress in libbz2])
+AC_CACHE_VAL(ac_cv_lib_bzip2,
+[
+AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+kde_save_LIBS="$LIBS"
+LIBS="$all_libraries $USER_LDFLAGS -lbz2 $LIBSOCKET"
+kde_save_CXXFLAGS="$CXXFLAGS"
+CXXFLAGS="$CXXFLAGS $all_includes $USER_INCLUDES"
+AC_TRY_LINK(dnl
+[
+#define BZ_NO_STDIO
+#include<bzlib.h>
+],
+ [ bz_stream s; (void) bzDecompress(&s); ],
+ eval "ac_cv_lib_bzip2='-lbz2'",
+ eval "ac_cv_lib_bzip2=no")
+LIBS="$kde_save_LIBS"
+CXXFLAGS="$kde_save_CXXFLAGS"
+AC_LANG_RESTORE
+])dnl
+AC_MSG_RESULT($ac_cv_lib_bzip2)
+
+if test ! "$ac_cv_lib_bzip2" = no; then
+ BZIP2DIR=bzip2
+
+ LIBBZ2="$ac_cv_lib_bzip2"
+ AC_SUBST(LIBBZ2)
+
+else
+
+ cxx_shared_flag=
+ ld_shared_flag=
+ KDE_CHECK_COMPILER_FLAG(shared, [
+ ld_shared_flag="-shared"
+ ])
+ KDE_CHECK_COMPILER_FLAG(fPIC, [
+ cxx_shared_flag="-fPIC"
+ ])
+
+ AC_MSG_CHECKING([for BZ2_bzDecompress in (shared) libbz2])
+ AC_CACHE_VAL(ac_cv_lib_bzip2_prefix,
+ [
+ AC_LANG_SAVE
+ AC_LANG_CPLUSPLUS
+ kde_save_LIBS="$LIBS"
+ LIBS="$all_libraries $USER_LDFLAGS $ld_shared_flag -lbz2 $LIBSOCKET"
+ kde_save_CXXFLAGS="$CXXFLAGS"
+ CXXFLAGS="$CFLAGS $cxx_shared_flag $all_includes $USER_INCLUDES"
+
+ AC_TRY_LINK(dnl
+ [
+ #define BZ_NO_STDIO
+ #include<bzlib.h>
+ ],
+ [ bz_stream s; (void) BZ2_bzDecompress(&s); ],
+ eval "ac_cv_lib_bzip2_prefix='-lbz2'",
+ eval "ac_cv_lib_bzip2_prefix=no")
+ LIBS="$kde_save_LIBS"
+ CXXFLAGS="$kde_save_CXXFLAGS"
+ AC_LANG_RESTORE
+ ])dnl
+
+ AC_MSG_RESULT($ac_cv_lib_bzip2_prefix)
+
+ if test ! "$ac_cv_lib_bzip2_prefix" = no; then
+ BZIP2DIR=bzip2
+
+ LIBBZ2="$ac_cv_lib_bzip2_prefix"
+ AC_SUBST(LIBBZ2)
+
+ AC_DEFINE(NEED_BZ2_PREFIX, 1, [Define if the libbz2 functions need the BZ2_ prefix])
+ dnl else, we just ignore this
+ fi
+
+fi
+AM_CONDITIONAL(include_BZIP2, test -n "$BZIP2DIR")
+])
+
+dnl ------------------------------------------------------------------------
+dnl Try to find the SSL headers and libraries.
+dnl $(SSL_LDFLAGS) will be -Lsslliblocation (if needed)
+dnl and $(SSL_INCLUDES) will be -Isslhdrlocation (if needed)
+dnl ------------------------------------------------------------------------
+dnl
+AC_DEFUN([KDE_CHECK_SSL],
+[
+LIBSSL="-lssl -lcrypto"
+AC_REQUIRE([KDE_CHECK_LIB64])
+
+ac_ssl_includes=NO ac_ssl_libraries=NO
+ssl_libraries=""
+ssl_includes=""
+AC_ARG_WITH(ssl-dir,
+ AC_HELP_STRING([--with-ssl-dir=DIR],[where the root of OpenSSL is installed]),
+ [ ac_ssl_includes="$withval"/include
+ ac_ssl_libraries="$withval"/lib$kdelibsuff
+ ])
+
+want_ssl=yes
+AC_ARG_WITH(ssl,
+ AC_HELP_STRING([--without-ssl],[disable SSL checks]),
+ [want_ssl=$withval])
+
+if test $want_ssl = yes; then
+
+AC_MSG_CHECKING(for OpenSSL)
+
+AC_CACHE_VAL(ac_cv_have_ssl,
+[#try to guess OpenSSL locations
+
+ ssl_incdirs="/usr/include /usr/local/include /usr/ssl/include /usr/local/ssl/include $prefix/include $kde_extra_includes"
+ ssl_incdirs="$ac_ssl_includes $ssl_incdirs"
+ AC_FIND_FILE(openssl/ssl.h, $ssl_incdirs, ssl_incdir)
+ ac_ssl_includes="$ssl_incdir"
+
+ ssl_libdirs="/usr/lib$kdelibsuff /usr/local/lib$kdelibsuff /usr/ssl/lib$kdelibsuff /usr/local/ssl/lib$kdelibsuff $libdir $prefix/lib$kdelibsuff $exec_prefix/lib$kdelibsuff $kde_extra_libs"
+ if test ! "$ac_ssl_libraries" = "NO"; then
+ ssl_libdirs="$ac_ssl_libraries $ssl_libdirs"
+ fi
+
+ test=NONE
+ ssl_libdir=NONE
+ for dir in $ssl_libdirs; do
+ try="ls -1 $dir/libssl*"
+ if test=`eval $try 2> /dev/null`; then ssl_libdir=$dir; break; else echo "tried $dir" >&AC_FD_CC ; fi
+ done
+
+ ac_ssl_libraries="$ssl_libdir"
+
+ ac_ldflags_safe="$LDFLAGS"
+ ac_libs_safe="$LIBS"
+
+ LDFLAGS="$LDFLAGS -L$ssl_libdir $all_libraries"
+ LIBS="$LIBS $LIBSSL -lRSAglue -lrsaref"
+
+ AC_TRY_LINK(,void RSAPrivateEncrypt(void);RSAPrivateEncrypt();,
+ ac_ssl_rsaref="yes"
+ ,
+ ac_ssl_rsaref="no"
+ )
+
+ LDFLAGS="$ac_ldflags_safe"
+ LIBS="$ac_libs_safe"
+
+ if test "$ac_ssl_includes" = NO || test "$ac_ssl_libraries" = NO; then
+ have_ssl=no
+ else
+ have_ssl=yes;
+ fi
+
+ ])
+
+ eval "$ac_cv_have_ssl"
+
+ AC_MSG_RESULT([libraries $ac_ssl_libraries, headers $ac_ssl_includes])
+
+ AC_MSG_CHECKING([whether OpenSSL uses rsaref])
+ AC_MSG_RESULT($ac_ssl_rsaref)
+
+ AC_MSG_CHECKING([for easter eggs])
+ AC_MSG_RESULT([none found])
+
+else
+ have_ssl=no
+fi
+
+if test "$have_ssl" = yes; then
+ AC_MSG_CHECKING(for OpenSSL version)
+ dnl Check for SSL version
+ AC_CACHE_VAL(ac_cv_ssl_version,
+ [
+
+ cat >conftest.$ac_ext <<EOF
+#include <openssl/opensslv.h>
+#include <stdio.h>
+ int main() {
+
+#ifndef OPENSSL_VERSION_NUMBER
+ printf("ssl_version=\\"error\\"\n");
+#else
+ if (OPENSSL_VERSION_NUMBER < 0x00906000)
+ printf("ssl_version=\\"old\\"\n");
+ else
+ printf("ssl_version=\\"ok\\"\n");
+#endif
+ return (0);
+ }
+EOF
+
+ ac_save_CPPFLAGS=$CPPFLAGS
+ if test "$ac_ssl_includes" != "/usr/include"; then
+ CPPFLAGS="$CPPFLAGS -I$ac_ssl_includes"
+ fi
+
+ if AC_TRY_EVAL(ac_link); then
+
+ if eval `./conftest 2>&5`; then
+ if test $ssl_version = error; then
+ AC_MSG_ERROR([$ssl_incdir/openssl/opensslv.h doesn't define OPENSSL_VERSION_NUMBER !])
+ else
+ if test $ssl_version = old; then
+ AC_MSG_WARN([OpenSSL version too old. Upgrade to 0.9.6 at least, see http://www.openssl.org. SSL support disabled.])
+ have_ssl=no
+ fi
+ fi
+ ac_cv_ssl_version="ssl_version=$ssl_version"
+ else
+ AC_MSG_ERROR([Your system couldn't run a small SSL test program.
+ Check config.log, and if you can't figure it out, send a mail to
+ David Faure <faure@kde.org>, attaching your config.log])
+ fi
+
+ else
+ AC_MSG_ERROR([Your system couldn't link a small SSL test program.
+ Check config.log, and if you can't figure it out, send a mail to
+ David Faure <faure@kde.org>, attaching your config.log])
+ fi
+ CPPFLAGS=$ac_save_CPPFLAGS
+
+ ])
+
+ eval "$ac_cv_ssl_version"
+ AC_MSG_RESULT($ssl_version)
+fi
+
+if test "$have_ssl" != yes; then
+ LIBSSL="";
+else
+ AC_DEFINE(HAVE_SSL, 1, [If we are going to use OpenSSL])
+ ac_cv_have_ssl="have_ssl=yes \
+ ac_ssl_includes=$ac_ssl_includes ac_ssl_libraries=$ac_ssl_libraries ac_ssl_rsaref=$ac_ssl_rsaref"
+
+
+ ssl_libraries="$ac_ssl_libraries"
+ ssl_includes="$ac_ssl_includes"
+
+ if test "$ac_ssl_rsaref" = yes; then
+ LIBSSL="-lssl -lcrypto -lRSAglue -lrsaref"
+ fi
+
+ if test $ssl_version = "old"; then
+ AC_DEFINE(HAVE_OLD_SSL_API, 1, [Define if you have OpenSSL < 0.9.6])
+ fi
+fi
+
+SSL_INCLUDES=
+
+if test "$ssl_includes" = "/usr/include"; then
+ if test -f /usr/kerberos/include/krb5.h; then
+ SSL_INCLUDES="-I/usr/kerberos/include"
+ fi
+elif test "$ssl_includes" != "/usr/local/include" && test -n "$ssl_includes"; then
+ SSL_INCLUDES="-I$ssl_includes"
+fi
+
+if test "$ssl_libraries" = "/usr/lib" || test "$ssl_libraries" = "/usr/local/lib" || test -z "$ssl_libraries" || test "$ssl_libraries" = "NONE"; then
+ SSL_LDFLAGS=""
+else
+ SSL_LDFLAGS="-L$ssl_libraries -R$ssl_libraries"
+fi
+
+AC_SUBST(SSL_INCLUDES)
+AC_SUBST(SSL_LDFLAGS)
+AC_SUBST(LIBSSL)
+])
+
+AC_DEFUN([KDE_CHECK_STRLCPY],
+[
+ AC_REQUIRE([AC_CHECK_STRLCAT])
+ AC_REQUIRE([AC_CHECK_STRLCPY])
+ AC_CHECK_SIZEOF(size_t)
+ AC_CHECK_SIZEOF(unsigned long)
+
+ AC_MSG_CHECKING([sizeof size_t == sizeof unsigned long])
+ AC_TRY_COMPILE(,[
+ #if SIZEOF_SIZE_T != SIZEOF_UNSIGNED_LONG
+ choke me
+ #endif
+ ],AC_MSG_RESULT([yes]),[
+ AC_MSG_RESULT(no)
+ AC_MSG_ERROR([
+ Apparently on your system our assumption sizeof size_t == sizeof unsigned long
+ does not apply. Please mail kde-devel@kde.org with a description of your system!
+ ])
+ ])
+])
+
+AC_DEFUN([KDE_CHECK_BINUTILS],
+[
+ AC_MSG_CHECKING([if ld supports unversioned version maps])
+
+ kde_save_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS -Wl,--version-script=conftest.map"
+ echo "{ local: extern \"C++\" { foo }; };" > conftest.map
+ AC_TRY_LINK([int foo;],
+[
+#ifdef __INTEL_COMPILER
+icc apparently does not support libtools version-info and version-script
+at the same time. Dunno where the bug is, but until somebody figured out,
+better disable the optional version scripts.
+#endif
+
+ foo = 42;
+], kde_supports_versionmaps=yes, kde_supports_versionmaps=no)
+ LDFLAGS="$kde_save_LDFLAGS"
+ rm -f conftest.map
+ AM_CONDITIONAL(include_VERSION_SCRIPT,
+ [test "$kde_supports_versionmaps" = "yes" && test "$kde_use_debug_code" = "no"])
+
+ AC_MSG_RESULT($kde_supports_versionmaps)
+])
+
+AC_DEFUN([AM_PROG_OBJC],[
+AC_CHECK_PROGS(OBJC, gcc, gcc)
+test -z "$OBJC" && AC_MSG_ERROR([no acceptable objective-c gcc found in \$PATH])
+if test "x${OBJCFLAGS-unset}" = xunset; then
+ OBJCFLAGS="-g -O2"
+fi
+AC_SUBST(OBJCFLAGS)
+_AM_IF_OPTION([no-dependencies],, [_AM_DEPENDENCIES(OBJC)])
+])
+
+AC_DEFUN([KDE_CHECK_PERL],
+[
+ KDE_FIND_PATH(perl, PERL, [$bindir $exec_prefix/bin $prefix/bin], [
+ AC_MSG_ERROR([No Perl found in your $PATH.
+We need perl to generate some code.])
+ ])
+ AC_SUBST(PERL)
+])
+
+AC_DEFUN([KDE_CHECK_LARGEFILE],
+[
+AC_SYS_LARGEFILE
+if test "$ac_cv_sys_file_offset_bits" != no; then
+ CPPFLAGS="$CPPFLAGS -D_FILE_OFFSET_BITS=$ac_cv_sys_file_offset_bits"
+fi
+
+if test "x$ac_cv_sys_large_files" != "xno"; then
+ CPPFLAGS="$CPPFLAGS -D_LARGE_FILES=1"
+fi
+
+])
+
+dnl A small extension to PKG_CHECK_MODULES (defined in pkg.m4.in)
+dnl which allows to search for libs that get installed into the KDE prefix.
+dnl
+dnl Syntax: KDE_PKG_CHECK_MODULES(KSTUFF, libkexif >= 0.2 glib = 1.3.4, action-if, action-not)
+dnl defines KSTUFF_LIBS, KSTUFF_CFLAGS, see pkg-config man page
+dnl also defines KSTUFF_PKG_ERRORS on error
+AC_DEFUN([KDE_PKG_CHECK_MODULES], [
+
+ PKG_CONFIG_PATH="$prefix/lib${kdelibsuff}/pkgconfig:$PKG_CONFIG_PATH"
+ if test "$prefix" != "$kde_libs_prefix"; then
+ PKG_CONFIG_PATH="$kde_libs_prefix/lib${kdelibsuff}/pkgconfig:$PKG_CONFIG_PATH"
+ fi
+ export PKG_CONFIG_PATH
+ PKG_CHECK_MODULES([$1],[$2],[$3],[$4])
+])
+
+
+dnl Check for PIE support in the compiler and linker
+AC_DEFUN([KDE_CHECK_PIE_SUPPORT],
+[
+ AC_CACHE_CHECK([for PIE support], kde_cv_val_pie_support,
+ [
+ AC_LANG_SAVE
+ AC_LANG_CPLUSPLUS
+ safe_CXXFLAGS=$CXXFLAGS
+ safe_LDFLAGS=$LDFLAGS
+ CXXFLAGS="$CXXFLAGS -fPIE"
+ LDFLAGS="$LDFLAGS -pie"
+
+ AC_TRY_LINK([int foo;], [], [kde_cv_val_pie_support=yes], [kde_cv_val_pie_support=no])
+
+ CXXFLAGS=$safe_CXXFLAGS
+ LDFLAGS=$safe_LDFLAGS
+ AC_LANG_RESTORE
+ ])
+
+ AC_MSG_CHECKING(if enabling -pie/fPIE support)
+
+ AC_ARG_ENABLE(pie,
+ AC_HELP_STRING([--enable-pie],[platform supports PIE linking [default=detect]]),
+ [kde_has_pie_support=$enableval],
+ [kde_has_pie_support=detect])
+
+ if test "$kde_has_pie_support" = "detect"; then
+ kde_has_pie_support=$kde_cv_val_pie_support
+ fi
+
+ AC_MSG_RESULT([$kde_has_pie_support])
+
+ KDE_USE_FPIE=""
+ KDE_USE_PIE=""
+
+ AC_SUBST([KDE_USE_FPIE])
+ AC_SUBST([KDE_USE_PIE])
+
+ if test "$kde_has_pie_support" = "yes"; then
+ KDE_USE_FPIE="-fPIE"
+ KDE_USE_PIE="-pie"
+ fi
+])
+# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
+## Copyright 1996, 1997, 1998, 1999, 2000, 2001
+## Free Software Foundation, Inc.
+## Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
+##
+## 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.
+##
+## As a special exception to the GNU General Public License, if you
+## distribute this file as part of a program that contains a
+## configuration script generated by Autoconf, you may include it under
+## the same distribution terms that you use for the rest of that program.
+
+# serial 47 AC_PROG_LIBTOOL
+
+
+# AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED)
+# -----------------------------------------------------------
+# If this macro is not defined by Autoconf, define it here.
+m4_ifdef([AC_PROVIDE_IFELSE],
+ [],
+ [m4_define([AC_PROVIDE_IFELSE],
+ [m4_ifdef([AC_PROVIDE_$1],
+ [$2], [$3])])])
+
+
+# AC_PROG_LIBTOOL
+# ---------------
+AC_DEFUN([AC_PROG_LIBTOOL],
+[AC_REQUIRE([_AC_PROG_LIBTOOL])dnl
+dnl If AC_PROG_CXX has already been expanded, run AC_LIBTOOL_CXX
+dnl immediately, otherwise, hook it in at the end of AC_PROG_CXX.
+ AC_PROVIDE_IFELSE([AC_PROG_CXX],
+ [AC_LIBTOOL_CXX],
+ [define([AC_PROG_CXX], defn([AC_PROG_CXX])[AC_LIBTOOL_CXX
+ ])])
+dnl And a similar setup for Fortran 77 support
+ AC_PROVIDE_IFELSE([AC_PROG_F77],
+ [AC_LIBTOOL_F77],
+ [define([AC_PROG_F77], defn([AC_PROG_F77])[AC_LIBTOOL_F77
+])])
+
+dnl Quote A][M_PROG_GCJ so that aclocal doesn't bring it in needlessly.
+dnl If either AC_PROG_GCJ or A][M_PROG_GCJ have already been expanded, run
+dnl AC_LIBTOOL_GCJ immediately, otherwise, hook it in at the end of both.
+ AC_PROVIDE_IFELSE([AC_PROG_GCJ],
+ [AC_LIBTOOL_GCJ],
+ [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
+ [AC_LIBTOOL_GCJ],
+ [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],
+ [AC_LIBTOOL_GCJ],
+ [ifdef([AC_PROG_GCJ],
+ [define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])
+ ifdef([A][M_PROG_GCJ],
+ [define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[AC_LIBTOOL_GCJ])])
+ ifdef([LT_AC_PROG_GCJ],
+ [define([LT_AC_PROG_GCJ],
+ defn([LT_AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])])])
+])])# AC_PROG_LIBTOOL
+
+
+# _AC_PROG_LIBTOOL
+# ----------------
+AC_DEFUN([_AC_PROG_LIBTOOL],
+[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl
+AC_BEFORE([$0],[AC_LIBTOOL_CXX])dnl
+AC_BEFORE([$0],[AC_LIBTOOL_F77])dnl
+AC_BEFORE([$0],[AC_LIBTOOL_GCJ])dnl
+
+# This can be used to rebuild libtool when needed
+LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh"
+
+# Always use our own libtool.
+LIBTOOL='$(SHELL) $(top_builddir)/libtool --silent'
+AC_SUBST(LIBTOOL)dnl
+
+# Prevent multiple expansion
+define([AC_PROG_LIBTOOL], [])
+])# _AC_PROG_LIBTOOL
+
+
+# AC_LIBTOOL_SETUP
+# ----------------
+AC_DEFUN([AC_LIBTOOL_SETUP],
+[AC_PREREQ(2.50)dnl
+AC_REQUIRE([AC_ENABLE_SHARED])dnl
+AC_REQUIRE([AC_ENABLE_STATIC])dnl
+AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl
+AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([AC_PROG_LD])dnl
+AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl
+AC_REQUIRE([AC_PROG_NM])dnl
+
+AC_REQUIRE([AC_PROG_LN_S])dnl
+AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl
+# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers!
+AC_REQUIRE([AC_OBJEXT])dnl
+AC_REQUIRE([AC_EXEEXT])dnl
+dnl
+
+AC_LIBTOOL_SYS_MAX_CMD_LEN
+AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
+AC_LIBTOOL_OBJDIR
+
+AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
+_LT_AC_PROG_ECHO_BACKSLASH
+
+case $host_os in
+aix3*)
+ # AIX sometimes has problems with the GCC collect2 program. For some
+ # reason, if we set the COLLECT_NAMES environment variable, the problems
+ # vanish in a puff of smoke.
+ if test "X${COLLECT_NAMES+set}" != Xset; then
+ COLLECT_NAMES=
+ export COLLECT_NAMES
+ fi
+ ;;
+esac
+
+# Sed substitution that helps us do robust quoting. It backslashifies
+# metacharacters that are still active within double-quoted strings.
+Xsed='sed -e s/^X//'
+[sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g']
+
+# Same as above, but do not quote variable references.
+[double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g']
+
+# Sed substitution to delay expansion of an escaped shell variable in a
+# double_quote_subst'ed string.
+delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
+
+# Sed substitution to avoid accidental globbing in evaled expressions
+no_glob_subst='s/\*/\\\*/g'
+
+# Constants:
+rm="rm -f"
+
+# Global variables:
+default_ofile=libtool
+can_build_shared=yes
+
+# All known linkers require a `.a' archive for static linking (except M$VC,
+# which needs '.lib').
+libext=a
+ltmain="$ac_aux_dir/ltmain.sh"
+ofile="$default_ofile"
+with_gnu_ld="$lt_cv_prog_gnu_ld"
+
+AC_CHECK_TOOL(AR, ar, false)
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+AC_CHECK_TOOL(STRIP, strip, :)
+
+old_CC="$CC"
+old_CFLAGS="$CFLAGS"
+
+# Set sane defaults for various variables
+test -z "$AR" && AR=ar
+test -z "$AR_FLAGS" && AR_FLAGS=cru
+test -z "$AS" && AS=as
+test -z "$CC" && CC=cc
+test -z "$LTCC" && LTCC=$CC
+test -z "$DLLTOOL" && DLLTOOL=dlltool
+test -z "$LD" && LD=ld
+test -z "$LN_S" && LN_S="ln -s"
+test -z "$MAGIC_CMD" && MAGIC_CMD=file
+test -z "$NM" && NM=nm
+test -z "$SED" && SED=sed
+test -z "$OBJDUMP" && OBJDUMP=objdump
+test -z "$RANLIB" && RANLIB=:
+test -z "$STRIP" && STRIP=:
+test -z "$ac_objext" && ac_objext=o
+
+# Determine commands to create old-style static archives.
+old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs'
+old_postinstall_cmds='chmod 644 $oldlib'
+old_postuninstall_cmds=
+
+if test -n "$RANLIB"; then
+ case $host_os in
+ openbsd*)
+ old_postinstall_cmds="\$RANLIB -t \$oldlib~$old_postinstall_cmds"
+ ;;
+ *)
+ old_postinstall_cmds="\$RANLIB \$oldlib~$old_postinstall_cmds"
+ ;;
+ esac
+ old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
+fi
+
+# Only perform the check for file, if the check method requires it
+case $deplibs_check_method in
+file_magic*)
+ if test "$file_magic_cmd" = '$MAGIC_CMD'; then
+ AC_PATH_MAGIC
+ fi
+ ;;
+esac
+
+AC_PROVIDE_IFELSE([AC_LIBTOOL_DLOPEN], enable_dlopen=yes, enable_dlopen=no)
+AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL],
+enable_win32_dll=yes, enable_win32_dll=no)
+
+AC_ARG_ENABLE([libtool-lock],
+ [AC_HELP_STRING([--disable-libtool-lock],
+ [avoid locking (might break parallel builds)])])
+test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
+
+AC_ARG_WITH([pic],
+ [AC_HELP_STRING([--with-pic],
+ [try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
+ [pic_mode="$withval"],
+ [pic_mode=default])
+test -z "$pic_mode" && pic_mode=default
+
+# Use C for the default configuration in the libtool script
+tagname=
+AC_LIBTOOL_LANG_C_CONFIG
+_LT_AC_TAGCONFIG
+])# AC_LIBTOOL_SETUP
+
+
+# _LT_AC_SYS_COMPILER
+# -------------------
+AC_DEFUN([_LT_AC_SYS_COMPILER],
+[AC_REQUIRE([AC_PROG_CC])dnl
+
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+
+# Allow CC to be a program name with arguments.
+compiler=$CC
+])# _LT_AC_SYS_COMPILER
+
+
+# _LT_AC_SYS_LIBPATH_AIX
+# ----------------------
+# Links a minimal program and checks the executable
+# for the system default hardcoded library path. In most cases,
+# this is /usr/lib:/lib, but when the MPI compilers are used
+# the location of the communication and MPI libs are included too.
+# If we don't find anything, use the default library path according
+# to the aix ld manual.
+AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX],
+[AC_LINK_IFELSE(AC_LANG_PROGRAM,[
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
+}'`
+# Check for a 64-bit object if we didn't find anything.
+if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
+}'`; fi],[])
+if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+])# _LT_AC_SYS_LIBPATH_AIX
+
+
+# _LT_AC_SHELL_INIT(ARG)
+# ----------------------
+AC_DEFUN([_LT_AC_SHELL_INIT],
+[ifdef([AC_DIVERSION_NOTICE],
+ [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)],
+ [AC_DIVERT_PUSH(NOTICE)])
+$1
+AC_DIVERT_POP
+])# _LT_AC_SHELL_INIT
+
+
+# _LT_AC_PROG_ECHO_BACKSLASH
+# --------------------------
+# Add some code to the start of the generated configure script which
+# will find an echo command which doesn't interpret backslashes.
+AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH],
+[_LT_AC_SHELL_INIT([
+# Check that we are running under the correct shell.
+SHELL=${CONFIG_SHELL-/bin/sh}
+
+case X$ECHO in
+X*--fallback-echo)
+ # Remove one level of quotation (which was required for Make).
+ ECHO=`echo "$ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','`
+ ;;
+esac
+
+echo=${ECHO-echo}
+if test "X[$]1" = X--no-reexec; then
+ # Discard the --no-reexec flag, and continue.
+ shift
+elif test "X[$]1" = X--fallback-echo; then
+ # Avoid inline document here, it may be left over
+ :
+elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then
+ # Yippee, $echo works!
+ :
+else
+ # Restart under the correct shell.
+ exec $SHELL "[$]0" --no-reexec ${1+"[$]@"}
+fi
+
+if test "X[$]1" = X--fallback-echo; then
+ # used as fallback echo
+ shift
+ cat <<EOF
+[$]*
+EOF
+ exit 0
+fi
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+if test "X${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi
+
+if test -z "$ECHO"; then
+if test "X${echo_test_string+set}" != Xset; then
+# find a string as large as possible, as long as the shell can cope with it
+ for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do
+ # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
+ if (echo_test_string="`eval $cmd`") 2>/dev/null &&
+ echo_test_string="`eval $cmd`" &&
+ (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null
+ then
+ break
+ fi
+ done
+fi
+
+if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
+ echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ :
+else
+ # The Solaris, AIX, and Digital Unix default echo programs unquote
+ # backslashes. This makes it impossible to quote backslashes using
+ # echo "$something" | sed 's/\\/\\\\/g'
+ #
+ # So, first we look for a working echo in the user's PATH.
+
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ for dir in $PATH /usr/ucb; do
+ IFS="$lt_save_ifs"
+ if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
+ test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
+ echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ echo="$dir/echo"
+ break
+ fi
+ done
+ IFS="$lt_save_ifs"
+
+ if test "X$echo" = Xecho; then
+ # We didn't find a better echo, so look for alternatives.
+ if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' &&
+ echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ # This shell has a builtin print -r that does the trick.
+ echo='print -r'
+ elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) &&
+ test "X$CONFIG_SHELL" != X/bin/ksh; then
+ # If we have ksh, try running configure again with it.
+ ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
+ export ORIGINAL_CONFIG_SHELL
+ CONFIG_SHELL=/bin/ksh
+ export CONFIG_SHELL
+ exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"}
+ else
+ # Try using printf.
+ echo='printf %s\n'
+ if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
+ echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ # Cool, printf works
+ :
+ elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
+ test "X$echo_testing_string" = 'X\t' &&
+ echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
+ export CONFIG_SHELL
+ SHELL="$CONFIG_SHELL"
+ export SHELL
+ echo="$CONFIG_SHELL [$]0 --fallback-echo"
+ elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
+ test "X$echo_testing_string" = 'X\t' &&
+ echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ echo="$CONFIG_SHELL [$]0 --fallback-echo"
+ else
+ # maybe with a smaller string...
+ prev=:
+
+ for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do
+ if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null
+ then
+ break
+ fi
+ prev="$cmd"
+ done
+
+ if test "$prev" != 'sed 50q "[$]0"'; then
+ echo_test_string=`eval $prev`
+ export echo_test_string
+ exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"}
+ else
+ # Oops. We lost completely, so just stick with echo.
+ echo=echo
+ fi
+ fi
+ fi
+ fi
+fi
+fi
+
+# Copy echo and quote the copy suitably for passing to libtool from
+# the Makefile, instead of quoting the original, which is used later.
+ECHO=$echo
+if test "X$ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then
+ ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo"
+fi
+
+AC_SUBST(ECHO)
+])])# _LT_AC_PROG_ECHO_BACKSLASH
+
+
+# _LT_AC_LOCK
+# -----------
+AC_DEFUN([_LT_AC_LOCK],
+[AC_ARG_ENABLE([libtool-lock],
+ [AC_HELP_STRING([--disable-libtool-lock],
+ [avoid locking (might break parallel builds)])])
+test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
+
+# Some flags need to be propagated to the compiler or linker for good
+# libtool support.
+case $host in
+ia64-*-hpux*)
+ # Find out which ABI we are using.
+ echo 'int i;' > conftest.$ac_ext
+ if AC_TRY_EVAL(ac_compile); then
+ case `/usr/bin/file conftest.$ac_objext` in
+ *ELF-32*)
+ HPUX_IA64_MODE="32"
+ ;;
+ *ELF-64*)
+ HPUX_IA64_MODE="64"
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+*-*-irix6*)
+ # Find out which ABI we are using.
+ echo '[#]line __oline__ "configure"' > conftest.$ac_ext
+ if AC_TRY_EVAL(ac_compile); then
+ if test "$lt_cv_prog_gnu_ld" = yes; then
+ case `/usr/bin/file conftest.$ac_objext` in
+ *32-bit*)
+ LD="${LD-ld} -melf32bsmip"
+ ;;
+ *N32*)
+ LD="${LD-ld} -melf32bmipn32"
+ ;;
+ *64-bit*)
+ LD="${LD-ld} -melf64bmip"
+ ;;
+ esac
+ else
+ case `/usr/bin/file conftest.$ac_objext` in
+ *32-bit*)
+ LD="${LD-ld} -32"
+ ;;
+ *N32*)
+ LD="${LD-ld} -n32"
+ ;;
+ *64-bit*)
+ LD="${LD-ld} -64"
+ ;;
+ esac
+ fi
+ fi
+ rm -rf conftest*
+ ;;
+
+x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*)
+ # Find out which ABI we are using.
+ echo 'int i;' > conftest.$ac_ext
+ if AC_TRY_EVAL(ac_compile); then
+ case "`/usr/bin/file conftest.o`" in
+ *32-bit*)
+ LINUX_64_MODE="32"
+ case $host in
+ x86_64-*linux*)
+ LD="${LD-ld} -m elf_i386"
+ ;;
+ ppc64-*linux*)
+ LD="${LD-ld} -m elf32ppclinux"
+ ;;
+ s390x-*linux*)
+ LD="${LD-ld} -m elf_s390"
+ ;;
+ sparc64-*linux*)
+ LD="${LD-ld} -m elf32_sparc"
+ ;;
+ esac
+ ;;
+ *64-bit*)
+ LINUX_64_MODE="64"
+ case $host in
+ x86_64-*linux*)
+ LD="${LD-ld} -m elf_x86_64"
+ ;;
+ ppc*-*linux*|powerpc*-*linux*)
+ LD="${LD-ld} -m elf64ppc"
+ ;;
+ s390*-*linux*)
+ LD="${LD-ld} -m elf64_s390"
+ ;;
+ sparc*-*linux*)
+ LD="${LD-ld} -m elf64_sparc"
+ ;;
+ esac
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+
+*-*-sco3.2v5*)
+ # On SCO OpenServer 5, we need -belf to get full-featured binaries.
+ SAVE_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS -belf"
+ AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
+ [AC_LANG_PUSH(C)
+ AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
+ AC_LANG_POP])
+ if test x"$lt_cv_cc_needs_belf" != x"yes"; then
+ # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
+ CFLAGS="$SAVE_CFLAGS"
+ fi
+ ;;
+AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL],
+[*-*-cygwin* | *-*-mingw* | *-*-pw32*)
+ AC_CHECK_TOOL(DLLTOOL, dlltool, false)
+ AC_CHECK_TOOL(AS, as, false)
+ AC_CHECK_TOOL(OBJDUMP, objdump, false)
+ ;;
+ ])
+esac
+
+need_locks="$enable_libtool_lock"
+
+])# _LT_AC_LOCK
+
+
+# AC_LIBTOOL_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
+# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
+# ----------------------------------------------------------------
+# Check whether the given compiler option works
+AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION],
+[AC_REQUIRE([LT_AC_PROG_SED])
+AC_CACHE_CHECK([$1], [$2],
+ [$2=no
+ ifelse([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
+ printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+ lt_compiler_flag="$3"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ # The option is referenced via a variable to avoid confusing sed.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
+ -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
+ (eval "$lt_compile" 2>conftest.err)
+ ac_status=$?
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+ if (exit $ac_status) && test -s "$ac_outfile"; then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ if test ! -s conftest.err; then
+ $2=yes
+ fi
+ fi
+ $rm conftest*
+])
+
+if test x"[$]$2" = xyes; then
+ ifelse([$5], , :, [$5])
+else
+ ifelse([$6], , :, [$6])
+fi
+])# AC_LIBTOOL_COMPILER_OPTION
+
+
+# AC_LIBTOOL_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
+# [ACTION-SUCCESS], [ACTION-FAILURE])
+# ------------------------------------------------------------
+# Check whether the given compiler option works
+AC_DEFUN([AC_LIBTOOL_LINKER_OPTION],
+[AC_CACHE_CHECK([$1], [$2],
+ [$2=no
+ save_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS $3"
+ printf "$lt_simple_link_test_code" > conftest.$ac_ext
+ if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ if test -s conftest.err; then
+ # Append any errors to the config.log.
+ cat conftest.err 1>&AS_MESSAGE_LOG_FD
+ else
+ $2=yes
+ fi
+ fi
+ $rm conftest*
+ LDFLAGS="$save_LDFLAGS"
+])
+
+if test x"[$]$2" = xyes; then
+ ifelse([$4], , :, [$4])
+else
+ ifelse([$5], , :, [$5])
+fi
+])# AC_LIBTOOL_LINKER_OPTION
+
+
+# AC_LIBTOOL_SYS_MAX_CMD_LEN
+# --------------------------
+AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN],
+[# find the maximum length of command line arguments
+AC_MSG_CHECKING([the maximum length of command line arguments])
+AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
+ i=0
+ testring="ABCD"
+
+ case $build_os in
+ msdosdjgpp*)
+ # On DJGPP, this test can blow up pretty badly due to problems in libc
+ # (any single argument exceeding 2000 bytes causes a buffer overrun
+ # during glob expansion). Even if it were fixed, the result of this
+ # check would be larger than it should be.
+ lt_cv_sys_max_cmd_len=12288; # 12K is about right
+ ;;
+
+ gnu*)
+ # Under GNU Hurd, this test is not required because there is
+ # no limit to the length of command line arguments.
+ # Libtool will interpret -1 as no limit whatsoever
+ lt_cv_sys_max_cmd_len=-1;
+ ;;
+
+ cygwin* | mingw*)
+ # On Win9x/ME, this test blows up -- it succeeds, but takes
+ # about 5 minutes as the teststring grows exponentially.
+ # Worse, since 9x/ME are not pre-emptively multitasking,
+ # you end up with a "frozen" computer, even though with patience
+ # the test eventually succeeds (with a max line length of 256k).
+ # Instead, let's just punt: use the minimum linelength reported by
+ # all of the supported platforms: 8192 (on NT/2K/XP).
+ lt_cv_sys_max_cmd_len=8192;
+ ;;
+
+ *)
+ # If test is not a shell built-in, we'll probably end up computing a
+ # maximum length that is only half of the actual maximum length, but
+ # we can't tell.
+ while (test "X"`$CONFIG_SHELL [$]0 --fallback-echo "X$testring" 2>/dev/null` \
+ = "XX$testring") >/dev/null 2>&1 &&
+ new_result=`expr "X$testring" : ".*" 2>&1` &&
+ lt_cv_sys_max_cmd_len=$new_result &&
+ test $i != 17 # 1/2 MB should be enough
+ do
+ i=`expr $i + 1`
+ testring=$testring$testring
+ done
+ testring=
+ # Add a significant safety factor because C++ compilers can tack on massive
+ # amounts of additional arguments before passing them to the linker.
+ # It appears as though 1/2 is a usable value.
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
+ ;;
+ esac
+])
+if test -n $lt_cv_sys_max_cmd_len ; then
+ AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
+else
+ AC_MSG_RESULT(none)
+fi
+])# AC_LIBTOOL_SYS_MAX_CMD_LEN
+
+
+# _LT_AC_CHECK_DLFCN
+# --------------------
+AC_DEFUN([_LT_AC_CHECK_DLFCN],
+[AC_CHECK_HEADERS(dlfcn.h)dnl
+])# _LT_AC_CHECK_DLFCN
+
+
+# _LT_AC_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
+# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
+# ------------------------------------------------------------------
+AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF],
+[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl
+if test "$cross_compiling" = yes; then :
+ [$4]
+else
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<EOF
+[#line __oline__ "configure"
+#include "confdefs.h"
+
+#if HAVE_DLFCN_H
+#include <dlfcn.h>
+#endif
+
+#include <stdio.h>
+
+#ifdef RTLD_GLOBAL
+# define LT_DLGLOBAL RTLD_GLOBAL
+#else
+# ifdef DL_GLOBAL
+# define LT_DLGLOBAL DL_GLOBAL
+# else
+# define LT_DLGLOBAL 0
+# endif
+#endif
+
+/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
+ find out it does not work in some platform. */
+#ifndef LT_DLLAZY_OR_NOW
+# ifdef RTLD_LAZY
+# define LT_DLLAZY_OR_NOW RTLD_LAZY
+# else
+# ifdef DL_LAZY
+# define LT_DLLAZY_OR_NOW DL_LAZY
+# else
+# ifdef RTLD_NOW
+# define LT_DLLAZY_OR_NOW RTLD_NOW
+# else
+# ifdef DL_NOW
+# define LT_DLLAZY_OR_NOW DL_NOW
+# else
+# define LT_DLLAZY_OR_NOW 0
+# endif
+# endif
+# endif
+# endif
+#endif
+
+#ifdef __cplusplus
+extern "C" void exit (int);
+#endif
+
+void fnord() { int i=42;}
+int main ()
+{
+ void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+ int status = $lt_dlunknown;
+
+ if (self)
+ {
+ if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
+ else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
+ /* dlclose (self); */
+ }
+
+ exit (status);
+}]
+EOF
+ if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
+ (./conftest; exit; ) 2>/dev/null
+ lt_status=$?
+ case x$lt_status in
+ x$lt_dlno_uscore) $1 ;;
+ x$lt_dlneed_uscore) $2 ;;
+ x$lt_unknown|x*) $3 ;;
+ esac
+ else :
+ # compilation failed
+ $3
+ fi
+fi
+rm -fr conftest*
+])# _LT_AC_TRY_DLOPEN_SELF
+
+
+# AC_LIBTOOL_DLOPEN_SELF
+# -------------------
+AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF],
+[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl
+if test "x$enable_dlopen" != xyes; then
+ enable_dlopen=unknown
+ enable_dlopen_self=unknown
+ enable_dlopen_self_static=unknown
+else
+ lt_cv_dlopen=no
+ lt_cv_dlopen_libs=
+
+ case $host_os in
+ beos*)
+ lt_cv_dlopen="load_add_on"
+ lt_cv_dlopen_libs=
+ lt_cv_dlopen_self=yes
+ ;;
+
+ mingw* | pw32*)
+ lt_cv_dlopen="LoadLibrary"
+ lt_cv_dlopen_libs=
+ ;;
+
+ cygwin*)
+ lt_cv_dlopen="dlopen"
+ lt_cv_dlopen_libs=
+ ;;
+
+ darwin*)
+ # if libdl is installed we need to link against it
+ AC_CHECK_LIB([dl], [dlopen],
+ [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[
+ lt_cv_dlopen="dyld"
+ lt_cv_dlopen_libs=
+ lt_cv_dlopen_self=yes
+ ])
+ ;;
+
+ *)
+ AC_CHECK_FUNC([shl_load],
+ [lt_cv_dlopen="shl_load"],
+ [AC_CHECK_LIB([dld], [shl_load],
+ [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"],
+ [AC_CHECK_FUNC([dlopen],
+ [lt_cv_dlopen="dlopen"],
+ [AC_CHECK_LIB([dl], [dlopen],
+ [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
+ [AC_CHECK_LIB([svld], [dlopen],
+ [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
+ [AC_CHECK_LIB([dld], [dld_link],
+ [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"])
+ ])
+ ])
+ ])
+ ])
+ ])
+ ;;
+ esac
+
+ if test "x$lt_cv_dlopen" != xno; then
+ enable_dlopen=yes
+ else
+ enable_dlopen=no
+ fi
+
+ case $lt_cv_dlopen in
+ dlopen)
+ save_CPPFLAGS="$CPPFLAGS"
+ test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
+
+ save_LDFLAGS="$LDFLAGS"
+ eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
+
+ save_LIBS="$LIBS"
+ LIBS="$lt_cv_dlopen_libs $LIBS"
+
+ AC_CACHE_CHECK([whether a program can dlopen itself],
+ lt_cv_dlopen_self, [dnl
+ _LT_AC_TRY_DLOPEN_SELF(
+ lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
+ lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
+ ])
+
+ if test "x$lt_cv_dlopen_self" = xyes; then
+ LDFLAGS="$LDFLAGS $link_static_flag"
+ AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
+ lt_cv_dlopen_self_static, [dnl
+ _LT_AC_TRY_DLOPEN_SELF(
+ lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
+ lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross)
+ ])
+ fi
+
+ CPPFLAGS="$save_CPPFLAGS"
+ LDFLAGS="$save_LDFLAGS"
+ LIBS="$save_LIBS"
+ ;;
+ esac
+
+ case $lt_cv_dlopen_self in
+ yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
+ *) enable_dlopen_self=unknown ;;
+ esac
+
+ case $lt_cv_dlopen_self_static in
+ yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
+ *) enable_dlopen_self_static=unknown ;;
+ esac
+fi
+])# AC_LIBTOOL_DLOPEN_SELF
+
+
+# AC_LIBTOOL_PROG_CC_C_O([TAGNAME])
+# ---------------------------------
+# Check to see if options -c and -o are simultaneously supported by compiler
+AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O],
+[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
+AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
+ [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
+ [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
+ $rm -r conftest 2>/dev/null
+ mkdir conftest
+ cd conftest
+ mkdir out
+ printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+ # According to Tom Tromey, Ian Lance Taylor reported there are C compilers
+ # that will create temporary files in the current directory regardless of
+ # the output directory. Thus, making CWD read-only will cause this test
+ # to fail, enabling locking or at least warning the user not to do parallel
+ # builds.
+ chmod -w .
+
+ lt_compiler_flag="-o out/conftest2.$ac_objext"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
+ -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
+ (eval "$lt_compile" 2>out/conftest.err)
+ ac_status=$?
+ cat out/conftest.err >&AS_MESSAGE_LOG_FD
+ echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+ if (exit $ac_status) && test -s out/conftest2.$ac_objext
+ then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ if test ! -s out/conftest.err; then
+ _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
+ fi
+ fi
+ chmod u+w .
+ $rm conftest* out/*
+ rmdir out
+ cd ..
+ rmdir conftest
+ $rm conftest*
+])
+])# AC_LIBTOOL_PROG_CC_C_O
+
+
+# AC_LIBTOOL_SYS_HARD_LINK_LOCKS([TAGNAME])
+# -----------------------------------------
+# Check to see if we can do hard links to lock some files if needed
+AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS],
+[AC_REQUIRE([_LT_AC_LOCK])dnl
+
+hard_links="nottested"
+if test "$_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then
+ # do not overwrite the value of need_locks provided by the user
+ AC_MSG_CHECKING([if we can lock with hard links])
+ hard_links=yes
+ $rm conftest*
+ ln conftest.a conftest.b 2>/dev/null && hard_links=no
+ touch conftest.a
+ ln conftest.a conftest.b 2>&5 || hard_links=no
+ ln conftest.a conftest.b 2>/dev/null && hard_links=no
+ AC_MSG_RESULT([$hard_links])
+ if test "$hard_links" = no; then
+ AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe])
+ need_locks=warn
+ fi
+else
+ need_locks=no
+fi
+])# AC_LIBTOOL_SYS_HARD_LINK_LOCKS
+
+
+# AC_LIBTOOL_OBJDIR
+# -----------------
+AC_DEFUN([AC_LIBTOOL_OBJDIR],
+[AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
+[rm -f .libs 2>/dev/null
+mkdir .libs 2>/dev/null
+if test -d .libs; then
+ lt_cv_objdir=.libs
+else
+ # MS-DOS does not allow filenames that begin with a dot.
+ lt_cv_objdir=_libs
+fi
+rmdir .libs 2>/dev/null])
+objdir=$lt_cv_objdir
+])# AC_LIBTOOL_OBJDIR
+
+
+# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH([TAGNAME])
+# ----------------------------------------------
+# Check hardcoding attributes.
+AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH],
+[AC_MSG_CHECKING([how to hardcode library paths into programs])
+_LT_AC_TAGVAR(hardcode_action, $1)=
+if test -n "$_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)" || \
+ test -n "$_LT_AC_TAGVAR(runpath_var $1)" || \
+ test "X$_LT_AC_TAGVAR(hardcode_automatic, $1)"="Xyes" ; then
+
+ # We can hardcode non-existant directories.
+ if test "$_LT_AC_TAGVAR(hardcode_direct, $1)" != no &&
+ # If the only mechanism to avoid hardcoding is shlibpath_var, we
+ # have to relink, otherwise we might link with an installed library
+ # when we should be linking with a yet-to-be-installed one
+ ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)" != no &&
+ test "$_LT_AC_TAGVAR(hardcode_minus_L, $1)" != no; then
+ # Linking always hardcodes the temporary library directory.
+ _LT_AC_TAGVAR(hardcode_action, $1)=relink
+ else
+ # We can link without hardcoding, and we can hardcode nonexisting dirs.
+ _LT_AC_TAGVAR(hardcode_action, $1)=immediate
+ fi
+else
+ # We cannot hardcode anything, or else we can only hardcode existing
+ # directories.
+ _LT_AC_TAGVAR(hardcode_action, $1)=unsupported
+fi
+AC_MSG_RESULT([$_LT_AC_TAGVAR(hardcode_action, $1)])
+
+if test "$_LT_AC_TAGVAR(hardcode_action, $1)" = relink; then
+ # Fast installation is not supported
+ enable_fast_install=no
+elif test "$shlibpath_overrides_runpath" = yes ||
+ test "$enable_shared" = no; then
+ # Fast installation is not necessary
+ enable_fast_install=needless
+fi
+])# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH
+
+
+# AC_LIBTOOL_SYS_LIB_STRIP
+# ------------------------
+AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP],
+[striplib=
+old_striplib=
+AC_MSG_CHECKING([whether stripping libraries is possible])
+if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then
+ test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
+ test -z "$striplib" && striplib="$STRIP --strip-unneeded"
+ AC_MSG_RESULT([yes])
+else
+# FIXME - insert some real tests, host_os isn't really good enough
+ case $host_os in
+ darwin*)
+ if test -n "$STRIP" ; then
+ striplib="$STRIP -x"
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+fi
+ ;;
+ *)
+ AC_MSG_RESULT([no])
+ ;;
+ esac
+fi
+])# AC_LIBTOOL_SYS_LIB_STRIP
+
+
+# AC_LIBTOOL_SYS_DYNAMIC_LINKER
+# -----------------------------
+# PORTME Fill in your ld.so characteristics
+AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER],
+[AC_MSG_CHECKING([dynamic linker characteristics])
+library_names_spec=
+libname_spec='lib$name'
+soname_spec=
+shrext=".so"
+postinstall_cmds=
+postuninstall_cmds=
+finish_cmds=
+finish_eval=
+shlibpath_var=
+shlibpath_overrides_runpath=unknown
+version_type=none
+dynamic_linker="$host_os ld.so"
+sys_lib_dlsearch_path_spec="/lib /usr/lib"
+sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+need_lib_prefix=unknown
+hardcode_into_libs=no
+
+# when you set need_version to no, make sure it does not cause -set_version
+# flags to be left without arguments
+need_version=unknown
+
+case $host_os in
+aix3*)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
+ shlibpath_var=LIBPATH
+
+ # AIX 3 has no versioning support, so we append a major version to the name.
+ soname_spec='${libname}${release}${shared_ext}$major'
+ ;;
+
+aix4* | aix5*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ hardcode_into_libs=yes
+ if test "$host_cpu" = ia64; then
+ # AIX 5 supports IA64
+ library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ else
+ # With GCC up to 2.95.x, collect2 would create an import file
+ # for dependence libraries. The import file would start with
+ # the line `#! .'. This would cause the generated library to
+ # depend on `.', always an invalid library. This was fixed in
+ # development snapshots of GCC prior to 3.0.
+ case $host_os in
+ aix4 | aix4.[[01]] | aix4.[[01]].*)
+ if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
+ echo ' yes '
+ echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
+ :
+ else
+ can_build_shared=no
+ fi
+ ;;
+ esac
+ # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
+ # soname into executable. Probably we can add versioning support to
+ # collect2, so additional links can be useful in future.
+ if test "$aix_use_runtimelinking" = yes; then
+ # If using run time linking (on AIX 4.2 or later) use lib<name>.so
+ # instead of lib<name>.a to let people know that these are not
+ # typical AIX shared libraries.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ else
+ # We preserve .a as extension for shared libraries through AIX4.2
+ # and later when we are not doing run time linking.
+ library_names_spec='${libname}${release}.a $libname.a'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ fi
+ shlibpath_var=LIBPATH
+ fi
+ ;;
+
+amigaos*)
+ library_names_spec='$libname.ixlibrary $libname.a'
+ # Create ${libname}_ixlibrary.a entries in /sys/libs.
+ finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "(cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a)"; (cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a) || exit 1; done'
+ ;;
+
+beos*)
+ library_names_spec='${libname}${shared_ext}'
+ dynamic_linker="$host_os ld.so"
+ shlibpath_var=LIBRARY_PATH
+ ;;
+
+bsdi4*)
+ version_type=linux
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
+ sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
+ # the default ld.so.conf also contains /usr/contrib/lib and
+ # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
+ # libtool to hard-code these into programs
+ ;;
+
+cygwin* | mingw* | pw32*)
+ version_type=windows
+ shrext=".dll"
+ need_version=no
+ need_lib_prefix=no
+
+ case $GCC,$host_os in
+ yes,cygwin* | yes,mingw* | yes,pw32*)
+ library_names_spec='$libname.dll.a'
+ # DLL is installed to $(libdir)/../bin by postinstall_cmds
+ postinstall_cmds='base_file=`basename \${file}`~
+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
+ dldir=$destdir/`dirname \$dlpath`~
+ test -d \$dldir || mkdir -p \$dldir~
+ $install_prog $dir/$dlname \$dldir/$dlname'
+ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+ dlpath=$dir/\$dldll~
+ $rm \$dlpath'
+ shlibpath_overrides_runpath=yes
+
+ case $host_os in
+ cygwin*)
+ # Cygwin DLLs use 'cyg' prefix rather than 'lib'
+ soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+ sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
+ ;;
+ mingw*)
+ # MinGW DLLs use traditional 'lib' prefix
+ soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+ sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+ if echo "$sys_lib_search_path_spec" | [grep ';[c-zC-Z]:/' >/dev/null]; then
+ # It is most probably a Windows format PATH printed by
+ # mingw gcc, but we are running on Cygwin. Gcc prints its search
+ # path with ; separators, and with drive letters. We can handle the
+ # drive letters (cygwin fileutils understands them), so leave them,
+ # especially as we might pass files found there to a mingw objdump,
+ # which wouldn't understand a cygwinified path. Ahh.
+ sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+ else
+ sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+ fi
+ ;;
+ pw32*)
+ # pw32 DLLs use 'pw' prefix rather than 'lib'
+ library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+ ;;
+ esac
+ ;;
+
+ *)
+ library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib'
+ ;;
+ esac
+ dynamic_linker='Win32 ld.exe'
+ # FIXME: first we should search . and the directory the executable is in
+ shlibpath_var=PATH
+ ;;
+
+darwin* | rhapsody*)
+ dynamic_linker="$host_os dyld"
+ version_type=darwin
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext'
+ soname_spec='${libname}${release}${major}$shared_ext'
+ shlibpath_overrides_runpath=yes
+ shlibpath_var=DYLD_LIBRARY_PATH
+ shrext='$(test .$module = .yes && echo .so || echo .dylib)'
+ # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
+ if test "$GCC" = yes; then
+ sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
+ else
+ sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib'
+ fi
+ sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
+ ;;
+
+dgux*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+
+freebsd1*)
+ dynamic_linker=no
+ ;;
+
+kfreebsd*-gnu*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ dynamic_linker='GNU ld.so'
+ ;;
+
+freebsd*)
+ objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout`
+ version_type=freebsd-$objformat
+ case $version_type in
+ freebsd-elf*)
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+ need_version=no
+ need_lib_prefix=no
+ ;;
+ freebsd-*)
+ library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
+ need_version=yes
+ ;;
+ esac
+ shlibpath_var=LD_LIBRARY_PATH
+ case $host_os in
+ freebsd2*)
+ shlibpath_overrides_runpath=yes
+ ;;
+ freebsd3.[01]* | freebsdelf3.[01]*)
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+ *) # from 3.2 on
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+ esac
+ ;;
+
+gnu*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ hardcode_into_libs=yes
+ ;;
+
+hpux9* | hpux10* | hpux11*)
+ # Give a soname corresponding to the major version so that dld.sl refuses to
+ # link against other versions.
+ version_type=sunos
+ need_lib_prefix=no
+ need_version=no
+ case "$host_cpu" in
+ ia64*)
+ shrext='.so'
+ hardcode_into_libs=yes
+ dynamic_linker="$host_os dld.so"
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ if test "X$HPUX_IA64_MODE" = X32; then
+ sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+ else
+ sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+ fi
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ ;;
+ hppa*64*)
+ shrext='.sl'
+ hardcode_into_libs=yes
+ dynamic_linker="$host_os dld.sl"
+ shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
+ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ ;;
+ *)
+ shrext='.sl'
+ dynamic_linker="$host_os dld.sl"
+ shlibpath_var=SHLIB_PATH
+ shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ ;;
+ esac
+ # HP-UX runs *really* slowly unless shared libraries are mode 555.
+ postinstall_cmds='chmod 555 $lib'
+ ;;
+
+irix5* | irix6* | nonstopux*)
+ case $host_os in
+ nonstopux*) version_type=nonstopux ;;
+ *)
+ if test "$lt_cv_prog_gnu_ld" = yes; then
+ version_type=linux
+ else
+ version_type=irix
+ fi ;;
+ esac
+ need_lib_prefix=no
+ need_version=no
+ soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
+ case $host_os in
+ irix5* | nonstopux*)
+ libsuff= shlibsuff=
+ ;;
+ *)
+ case $LD in # libtool.m4 will add one of these switches to LD
+ *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
+ libsuff= shlibsuff= libmagic=32-bit;;
+ *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
+ libsuff=32 shlibsuff=N32 libmagic=N32;;
+ *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
+ libsuff=64 shlibsuff=64 libmagic=64-bit;;
+ *) libsuff= shlibsuff= libmagic=never-match;;
+ esac
+ ;;
+ esac
+ shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
+ shlibpath_overrides_runpath=no
+ sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
+ sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
+ hardcode_into_libs=yes
+ ;;
+
+# No shared lib support for Linux oldld, aout, or coff.
+linux*oldld* | linux*aout* | linux*coff*)
+ dynamic_linker=no
+ ;;
+
+# This must be Linux ELF.
+linux*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
+ libsuff=
+ if test "x$LINUX_64_MODE" = x64; then
+ # Some platforms are per default 64-bit, so there's no /lib64
+ if test -d /lib64; then
+ libsuff=64
+ fi
+ fi
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff}"
+ sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}"
+ # This implies no fast_install, which is unacceptable.
+ # Some rework will be needed to allow for fast_install
+ # before this can be enabled.
+ hardcode_into_libs=yes
+
+ # We used to test for /lib/ld.so.1 and disable shared libraries on
+ # powerpc, because MkLinux only supported shared libraries with the
+ # GNU dynamic linker. Since this was broken with cross compilers,
+ # most powerpc-linux boxes support dynamic linking these days and
+ # people can always --disable-shared, the test was removed, and we
+ # assume the GNU/Linux dynamic linker is in use.
+ dynamic_linker='GNU/Linux ld.so'
+ ;;
+
+netbsd*)
+ version_type=sunos
+ need_lib_prefix=no
+ need_version=no
+ if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+ dynamic_linker='NetBSD (a.out) ld.so'
+ else
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ dynamic_linker='NetBSD ld.elf_so'
+ fi
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+
+newsos6)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ ;;
+
+nto-qnx*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ ;;
+
+openbsd*)
+ version_type=sunos
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ case $host_os in
+ openbsd2.[[89]] | openbsd2.[[89]].*)
+ shlibpath_overrides_runpath=no
+ ;;
+ *)
+ shlibpath_overrides_runpath=yes
+ ;;
+ esac
+ else
+ shlibpath_overrides_runpath=yes
+ fi
+ ;;
+
+os2*)
+ libname_spec='$name'
+ shrext=".dll"
+ need_lib_prefix=no
+ library_names_spec='$libname${shared_ext} $libname.a'
+ dynamic_linker='OS/2 ld.exe'
+ shlibpath_var=LIBPATH
+ ;;
+
+osf3* | osf4* | osf5*)
+ version_type=osf
+ need_lib_prefix=no
+ need_version=no
+ soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
+ sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
+ ;;
+
+sco3.2v5*)
+ version_type=osf
+ soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+
+solaris*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ # ldd complains unless libraries are executable
+ postinstall_cmds='chmod +x $lib'
+ ;;
+
+sunos4*)
+ version_type=sunos
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ if test "$with_gnu_ld" = yes; then
+ need_lib_prefix=no
+ fi
+ need_version=yes
+ ;;
+
+sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ case $host_vendor in
+ sni)
+ shlibpath_overrides_runpath=no
+ need_lib_prefix=no
+ export_dynamic_flag_spec='${wl}-Blargedynsym'
+ runpath_var=LD_RUN_PATH
+ ;;
+ siemens)
+ need_lib_prefix=no
+ ;;
+ motorola)
+ need_lib_prefix=no
+ need_version=no
+ shlibpath_overrides_runpath=no
+ sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
+ ;;
+ esac
+ ;;
+
+sysv4*MP*)
+ if test -d /usr/nec ;then
+ version_type=linux
+ library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
+ soname_spec='$libname${shared_ext}.$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ fi
+ ;;
+
+uts4*)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+
+*)
+ dynamic_linker=no
+ ;;
+esac
+AC_MSG_RESULT([$dynamic_linker])
+test "$dynamic_linker" = no && can_build_shared=no
+])# AC_LIBTOOL_SYS_DYNAMIC_LINKER
+
+
+# _LT_AC_TAGCONFIG
+# ----------------
+AC_DEFUN([_LT_AC_TAGCONFIG],
+[AC_ARG_WITH([tags],
+ [AC_HELP_STRING([--with-tags@<:@=TAGS@:>@],
+ [include additional configurations @<:@automatic@:>@])],
+ [tagnames="$withval"])
+
+if test -f "$ltmain" && test -n "$tagnames"; then
+ if test ! -f "${ofile}"; then
+ AC_MSG_WARN([output file `$ofile' does not exist])
+ fi
+
+ if test -z "$LTCC"; then
+ eval "`$SHELL ${ofile} --config | grep '^LTCC='`"
+ if test -z "$LTCC"; then
+ AC_MSG_WARN([output file `$ofile' does not look like a libtool script])
+ else
+ AC_MSG_WARN([using `LTCC=$LTCC', extracted from `$ofile'])
+ fi
+ fi
+
+ # Extract list of available tagged configurations in $ofile.
+ # Note that this assumes the entire list is on one line.
+ available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'`
+
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for tagname in $tagnames; do
+ IFS="$lt_save_ifs"
+ # Check whether tagname contains only valid characters
+ case `$echo "X$tagname" | $Xsed -e 's:[[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]]::g'` in
+ "") ;;
+ *) AC_MSG_ERROR([invalid tag name: $tagname])
+ ;;
+ esac
+
+ if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null
+ then
+ AC_MSG_ERROR([tag name \"$tagname\" already exists])
+ fi
+
+ # Update the list of available tags.
+ if test -n "$tagname"; then
+ echo appending configuration tag \"$tagname\" to $ofile
+
+ case $tagname in
+ CXX)
+ if test -n "$CXX" && test "X$CXX" != "Xno"; then
+ AC_LIBTOOL_LANG_CXX_CONFIG
+ else
+ tagname=""
+ fi
+ ;;
+
+ F77)
+ if test -n "$F77" && test "X$F77" != "Xno"; then
+ AC_LIBTOOL_LANG_F77_CONFIG
+ else
+ tagname=""
+ fi
+ ;;
+
+ GCJ)
+ if test -n "$GCJ" && test "X$GCJ" != "Xno"; then
+ AC_LIBTOOL_LANG_GCJ_CONFIG
+ else
+ tagname=""
+ fi
+ ;;
+
+ RC)
+ AC_LIBTOOL_LANG_RC_CONFIG
+ ;;
+
+ *)
+ AC_MSG_ERROR([Unsupported tag name: $tagname])
+ ;;
+ esac
+
+ # Append the new tag name to the list of available tags.
+ if test -n "$tagname" ; then
+ available_tags="$available_tags $tagname"
+ fi
+ fi
+ done
+ IFS="$lt_save_ifs"
+
+ # Now substitute the updated list of available tags.
+ if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then
+ mv "${ofile}T" "$ofile"
+ chmod +x "$ofile"
+ else
+ rm -f "${ofile}T"
+ AC_MSG_ERROR([unable to update list of available tagged configurations.])
+ fi
+fi
+])# _LT_AC_TAGCONFIG
+
+
+# AC_LIBTOOL_DLOPEN
+# -----------------
+# enable checks for dlopen support
+AC_DEFUN([AC_LIBTOOL_DLOPEN],
+ [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])
+])# AC_LIBTOOL_DLOPEN
+
+
+# AC_LIBTOOL_WIN32_DLL
+# --------------------
+# declare package support for building win32 dll's
+AC_DEFUN([AC_LIBTOOL_WIN32_DLL],
+[AC_BEFORE([$0], [AC_LIBTOOL_SETUP])
+])# AC_LIBTOOL_WIN32_DLL
+
+
+# AC_ENABLE_SHARED([DEFAULT])
+# ---------------------------
+# implement the --enable-shared flag
+# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
+AC_DEFUN([AC_ENABLE_SHARED],
+[define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl
+AC_ARG_ENABLE([shared],
+ [AC_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
+ [build shared libraries @<:@default=]AC_ENABLE_SHARED_DEFAULT[@:>@])],
+ [p=${PACKAGE-default}
+ case $enableval in
+ yes) enable_shared=yes ;;
+ no) enable_shared=no ;;
+ *)
+ enable_shared=no
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for pkg in $enableval; do
+ IFS="$lt_save_ifs"
+ if test "X$pkg" = "X$p"; then
+ enable_shared=yes
+ fi
+ done
+ IFS="$lt_save_ifs"
+ ;;
+ esac],
+ [enable_shared=]AC_ENABLE_SHARED_DEFAULT)
+])# AC_ENABLE_SHARED
+
+
+# AC_DISABLE_SHARED
+# -----------------
+#- set the default shared flag to --disable-shared
+AC_DEFUN([AC_DISABLE_SHARED],
+[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+AC_ENABLE_SHARED(no)
+])# AC_DISABLE_SHARED
+
+
+# AC_ENABLE_STATIC([DEFAULT])
+# ---------------------------
+# implement the --enable-static flag
+# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
+AC_DEFUN([AC_ENABLE_STATIC],
+[define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl
+AC_ARG_ENABLE([static],
+ [AC_HELP_STRING([--enable-static@<:@=PKGS@:>@],
+ [build static libraries @<:@default=]AC_ENABLE_STATIC_DEFAULT[@:>@])],
+ [p=${PACKAGE-default}
+ case $enableval in
+ yes) enable_static=yes ;;
+ no) enable_static=no ;;
+ *)
+ enable_static=no
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for pkg in $enableval; do
+ IFS="$lt_save_ifs"
+ if test "X$pkg" = "X$p"; then
+ enable_static=yes
+ fi
+ done
+ IFS="$lt_save_ifs"
+ ;;
+ esac],
+ [enable_static=]AC_ENABLE_STATIC_DEFAULT)
+])# AC_ENABLE_STATIC
+
+
+# AC_DISABLE_STATIC
+# -----------------
+# set the default static flag to --disable-static
+AC_DEFUN([AC_DISABLE_STATIC],
+[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+AC_ENABLE_STATIC(no)
+])# AC_DISABLE_STATIC
+
+
+# AC_ENABLE_FAST_INSTALL([DEFAULT])
+# ---------------------------------
+# implement the --enable-fast-install flag
+# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
+AC_DEFUN([AC_ENABLE_FAST_INSTALL],
+[define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl
+AC_ARG_ENABLE([fast-install],
+ [AC_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
+ [optimize for fast installation @<:@default=]AC_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
+ [p=${PACKAGE-default}
+ case $enableval in
+ yes) enable_fast_install=yes ;;
+ no) enable_fast_install=no ;;
+ *)
+ enable_fast_install=no
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for pkg in $enableval; do
+ IFS="$lt_save_ifs"
+ if test "X$pkg" = "X$p"; then
+ enable_fast_install=yes
+ fi
+ done
+ IFS="$lt_save_ifs"
+ ;;
+ esac],
+ [enable_fast_install=]AC_ENABLE_FAST_INSTALL_DEFAULT)
+])# AC_ENABLE_FAST_INSTALL
+
+
+# AC_DISABLE_FAST_INSTALL
+# -----------------------
+# set the default to --disable-fast-install
+AC_DEFUN([AC_DISABLE_FAST_INSTALL],
+[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+AC_ENABLE_FAST_INSTALL(no)
+])# AC_DISABLE_FAST_INSTALL
+
+
+# AC_LIBTOOL_PICMODE([MODE])
+# --------------------------
+# implement the --with-pic flag
+# MODE is either `yes' or `no'. If omitted, it defaults to `both'.
+AC_DEFUN([AC_LIBTOOL_PICMODE],
+[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+pic_mode=ifelse($#,1,$1,default)
+])# AC_LIBTOOL_PICMODE
+
+
+# AC_PROG_EGREP
+# -------------
+# This is predefined starting with Autoconf 2.54, so this conditional
+# definition can be removed once we require Autoconf 2.54 or later.
+m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP],
+[AC_CACHE_CHECK([for egrep], [ac_cv_prog_egrep],
+ [if echo a | (grep -E '(a|b)') >/dev/null 2>&1
+ then ac_cv_prog_egrep='grep -E'
+ else ac_cv_prog_egrep='egrep'
+ fi])
+ EGREP=$ac_cv_prog_egrep
+ AC_SUBST([EGREP])
+])])
+
+
+# AC_PATH_TOOL_PREFIX
+# -------------------
+# find a file program which can recognise shared library
+AC_DEFUN([AC_PATH_TOOL_PREFIX],
+[AC_REQUIRE([AC_PROG_EGREP])dnl
+AC_MSG_CHECKING([for $1])
+AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
+[case $MAGIC_CMD in
+[[\\/*] | ?:[\\/]*])
+ lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
+ ;;
+*)
+ lt_save_MAGIC_CMD="$MAGIC_CMD"
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+dnl $ac_dummy forces splitting on constant user-supplied paths.
+dnl POSIX.2 word splitting is done only on the output of word expansions,
+dnl not every word. This closes a longstanding sh security hole.
+ ac_dummy="ifelse([$2], , $PATH, [$2])"
+ for ac_dir in $ac_dummy; do
+ IFS="$lt_save_ifs"
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$1; then
+ lt_cv_path_MAGIC_CMD="$ac_dir/$1"
+ if test -n "$file_magic_test_file"; then
+ case $deplibs_check_method in
+ "file_magic "*)
+ file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`"
+ MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+ if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
+ $EGREP "$file_magic_regex" > /dev/null; then
+ :
+ else
+ cat <<EOF 1>&2
+
+*** Warning: the command libtool uses to detect shared libraries,
+*** $file_magic_cmd, produces output that libtool cannot recognize.
+*** The result is that libtool may fail to recognize shared libraries
+*** as such. This will affect the creation of libtool libraries that
+*** depend on shared libraries, but programs linked with such libtool
+*** libraries will work regardless of this problem. Nevertheless, you
+*** may want to report the problem to your system manager and/or to
+*** bug-libtool@gnu.org
+
+EOF
+ fi ;;
+ esac
+ fi
+ break
+ fi
+ done
+ IFS="$lt_save_ifs"
+ MAGIC_CMD="$lt_save_MAGIC_CMD"
+ ;;
+esac])
+MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+if test -n "$MAGIC_CMD"; then
+ AC_MSG_RESULT($MAGIC_CMD)
+else
+ AC_MSG_RESULT(no)
+fi
+])# AC_PATH_TOOL_PREFIX
+
+
+# AC_PATH_MAGIC
+# -------------
+# find a file program which can recognise a shared library
+AC_DEFUN([AC_PATH_MAGIC],
+[AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
+if test -z "$lt_cv_path_MAGIC_CMD"; then
+ if test -n "$ac_tool_prefix"; then
+ AC_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
+ else
+ MAGIC_CMD=:
+ fi
+fi
+])# AC_PATH_MAGIC
+
+
+# AC_PROG_LD
+# ----------
+# find the pathname to the GNU or non-GNU linker
+AC_DEFUN([AC_PROG_LD],
+[AC_ARG_WITH([gnu-ld],
+ [AC_HELP_STRING([--with-gnu-ld],
+ [assume the C compiler uses GNU ld @<:@default=no@:>@])],
+ [test "$withval" = no || with_gnu_ld=yes],
+ [with_gnu_ld=no])
+AC_REQUIRE([LT_AC_PROG_SED])dnl
+AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+ac_prog=ld
+if test "$GCC" = yes; then
+ # Check if gcc -print-prog-name=ld gives a path.
+ AC_MSG_CHECKING([for ld used by $CC])
+ case $host in
+ *-*-mingw*)
+ # gcc leaves a trailing carriage return which upsets mingw
+ ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+ *)
+ ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+ esac
+ case $ac_prog in
+ # Accept absolute paths.
+ [[\\/]]* | ?:[[\\/]]*)
+ re_direlt='/[[^/]][[^/]]*/\.\./'
+ # Canonicalize the pathname of ld
+ ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'`
+ while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
+ ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"`
+ done
+ test -z "$LD" && LD="$ac_prog"
+ ;;
+ "")
+ # If it fails, then pretend we aren't using GCC.
+ ac_prog=ld
+ ;;
+ *)
+ # If it is relative, then search for the first ld in PATH.
+ with_gnu_ld=unknown
+ ;;
+ esac
+elif test "$with_gnu_ld" = yes; then
+ AC_MSG_CHECKING([for GNU ld])
+else
+ AC_MSG_CHECKING([for non-GNU ld])
+fi
+AC_CACHE_VAL(lt_cv_path_LD,
+[if test -z "$LD"; then
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ for ac_dir in $PATH; do
+ IFS="$lt_save_ifs"
+ test -z "$ac_dir" && ac_dir=.
+ if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+ lt_cv_path_LD="$ac_dir/$ac_prog"
+ # Check to see if the program is GNU ld. I'd rather use --version,
+ # but apparently some GNU ld's only accept -v.
+ # Break only if it was the GNU/non-GNU ld that we prefer.
+ case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
+ *GNU* | *'with BFD'*)
+ test "$with_gnu_ld" != no && break
+ ;;
+ *)
+ test "$with_gnu_ld" != yes && break
+ ;;
+ esac
+ fi
+ done
+ IFS="$lt_save_ifs"
+else
+ lt_cv_path_LD="$LD" # Let the user override the test with a path.
+fi])
+LD="$lt_cv_path_LD"
+if test -n "$LD"; then
+ AC_MSG_RESULT($LD)
+else
+ AC_MSG_RESULT(no)
+fi
+test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
+AC_PROG_LD_GNU
+])# AC_PROG_LD
+
+
+# AC_PROG_LD_GNU
+# --------------
+AC_DEFUN([AC_PROG_LD_GNU],
+[AC_REQUIRE([AC_PROG_EGREP])dnl
+AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
+[# I'd rather use --version here, but apparently some GNU ld's only accept -v.
+case `$LD -v 2>&1 </dev/null` in
+*GNU* | *'with BFD'*)
+ lt_cv_prog_gnu_ld=yes
+ ;;
+*)
+ lt_cv_prog_gnu_ld=no
+ ;;
+esac])
+with_gnu_ld=$lt_cv_prog_gnu_ld
+])# AC_PROG_LD_GNU
+
+
+# AC_PROG_LD_RELOAD_FLAG
+# ----------------------
+# find reload flag for linker
+# -- PORTME Some linkers may need a different reload flag.
+AC_DEFUN([AC_PROG_LD_RELOAD_FLAG],
+[AC_CACHE_CHECK([for $LD option to reload object files],
+ lt_cv_ld_reload_flag,
+ [lt_cv_ld_reload_flag='-r'])
+reload_flag=$lt_cv_ld_reload_flag
+case $reload_flag in
+"" | " "*) ;;
+*) reload_flag=" $reload_flag" ;;
+esac
+reload_cmds='$LD$reload_flag -o $output$reload_objs'
+])# AC_PROG_LD_RELOAD_FLAG
+
+
+# AC_DEPLIBS_CHECK_METHOD
+# -----------------------
+# how to check for library dependencies
+# -- PORTME fill in with the dynamic library characteristics
+AC_DEFUN([AC_DEPLIBS_CHECK_METHOD],
+[AC_CACHE_CHECK([how to recognise dependent libraries],
+lt_cv_deplibs_check_method,
+[lt_cv_file_magic_cmd='$MAGIC_CMD'
+lt_cv_file_magic_test_file=
+lt_cv_deplibs_check_method='unknown'
+# Need to set the preceding variable on all platforms that support
+# interlibrary dependencies.
+# 'none' -- dependencies not supported.
+# `unknown' -- same as none, but documents that we really don't know.
+# 'pass_all' -- all dependencies passed with no checks.
+# 'test_compile' -- check by making test program.
+# 'file_magic [[regex]]' -- check by looking for files in library path
+# which responds to the $file_magic_cmd with a given extended regex.
+# If you have `file' or equivalent on your system and you're not sure
+# whether `pass_all' will *always* work, you probably want this one.
+
+case $host_os in
+aix4* | aix5*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+beos*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+bsdi4*)
+ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
+ lt_cv_file_magic_cmd='/usr/bin/file -L'
+ lt_cv_file_magic_test_file=/shlib/libc.so
+ ;;
+
+cygwin*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+mingw* | pw32*)
+ # win32_libid is a shell function defined in ltmain.sh
+ lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+ lt_cv_file_magic_cmd='win32_libid'
+ ;;
+
+darwin* | rhapsody*)
+ # this will be overwritten by pass_all, but leave it in just in case
+ lt_cv_deplibs_check_method='file_magic Mach-O dynamically linked shared library'
+ lt_cv_file_magic_cmd='/usr/bin/file -L'
+ case "$host_os" in
+ rhapsody* | darwin1.[[012]])
+ lt_cv_file_magic_test_file=`/System/Library/Frameworks/System.framework/System`
+ ;;
+ *) # Darwin 1.3 on
+ lt_cv_file_magic_test_file='/usr/lib/libSystem.dylib'
+ ;;
+ esac
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+freebsd* | kfreebsd*-gnu)
+ if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
+ case $host_cpu in
+ i*86 )
+ # Not sure whether the presence of OpenBSD here was a mistake.
+ # Let's accept both of them until this is cleared up.
+ lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD)/i[[3-9]]86 (compact )?demand paged shared library'
+ lt_cv_file_magic_cmd=/usr/bin/file
+ lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
+ ;;
+ esac
+ else
+ lt_cv_deplibs_check_method=pass_all
+ fi
+ ;;
+
+gnu*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+hpux10.20* | hpux11*)
+ lt_cv_file_magic_cmd=/usr/bin/file
+ case "$host_cpu" in
+ ia64*)
+ lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
+ lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
+ ;;
+ hppa*64*)
+ [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]']
+ lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
+ ;;
+ *)
+ lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library'
+ lt_cv_file_magic_test_file=/usr/lib/libc.sl
+ ;;
+ esac
+ ;;
+
+irix5* | irix6* | nonstopux*)
+ case $host_os in
+ irix5* | nonstopux*)
+ # this will be overridden with pass_all, but let us keep it just in case
+ lt_cv_deplibs_check_method="file_magic ELF 32-bit MSB dynamic lib MIPS - version 1"
+ ;;
+ *)
+ case $LD in
+ *-32|*"-32 ") libmagic=32-bit;;
+ *-n32|*"-n32 ") libmagic=N32;;
+ *-64|*"-64 ") libmagic=64-bit;;
+ *) libmagic=never-match;;
+ esac
+ # this will be overridden with pass_all, but let us keep it just in case
+ lt_cv_deplibs_check_method="file_magic ELF ${libmagic} MSB mips-[[1234]] dynamic lib MIPS - version 1"
+ ;;
+ esac
+ lt_cv_file_magic_test_file=`echo /lib${libsuff}/libc.so*`
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+# This must be Linux ELF.
+linux*)
+ case $host_cpu in
+ alpha* | hppa* | i*86 | ia64* | m68* | mips* | powerpc* | sparc* | s390* | sh* | x86_64* )
+ lt_cv_deplibs_check_method=pass_all ;;
+ # the debian people say, arm and glibc 2.3.1 works for them with pass_all
+ arm* )
+ lt_cv_deplibs_check_method=pass_all ;;
+ *)
+ # glibc up to 2.1.1 does not perform some relocations on ARM
+ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' ;;
+ esac
+ lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
+ ;;
+
+netbsd*)
+ if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
+ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
+ else
+ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
+ fi
+ ;;
+
+newos6*)
+ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
+ lt_cv_file_magic_cmd=/usr/bin/file
+ lt_cv_file_magic_test_file=/usr/lib/libnls.so
+ ;;
+
+nto-qnx*)
+ lt_cv_deplibs_check_method=unknown
+ ;;
+
+openbsd*)
+ lt_cv_file_magic_cmd=/usr/bin/file
+ lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB shared object'
+ else
+ lt_cv_deplibs_check_method='file_magic OpenBSD.* shared library'
+ fi
+ ;;
+
+osf3* | osf4* | osf5*)
+ # this will be overridden with pass_all, but let us keep it just in case
+ lt_cv_deplibs_check_method='file_magic COFF format alpha shared library'
+ lt_cv_file_magic_test_file=/shlib/libc.so
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+sco3.2v5*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+solaris*)
+ lt_cv_deplibs_check_method=pass_all
+ lt_cv_file_magic_test_file=/lib/libc.so
+ ;;
+
+sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+ case $host_vendor in
+ motorola)
+ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]'
+ lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
+ ;;
+ ncr)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+ sequent)
+ lt_cv_file_magic_cmd='/bin/file'
+ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
+ ;;
+ sni)
+ lt_cv_file_magic_cmd='/bin/file'
+ lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
+ lt_cv_file_magic_test_file=/lib/libc.so
+ ;;
+ siemens)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+ esac
+ ;;
+
+sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[[78]]* | unixware7* | sysv4*uw2*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+esac
+])
+file_magic_cmd=$lt_cv_file_magic_cmd
+deplibs_check_method=$lt_cv_deplibs_check_method
+test -z "$deplibs_check_method" && deplibs_check_method=unknown
+])# AC_DEPLIBS_CHECK_METHOD
+
+
+# AC_PROG_NM
+# ----------
+# find the pathname to a BSD-compatible name lister
+AC_DEFUN([AC_PROG_NM],
+[AC_CACHE_CHECK([for BSD-compatible nm], lt_cv_path_NM,
+[if test -n "$NM"; then
+ # Let the user override the test.
+ lt_cv_path_NM="$NM"
+else
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do
+ IFS="$lt_save_ifs"
+ test -z "$ac_dir" && ac_dir=.
+ tmp_nm="$ac_dir/${ac_tool_prefix}nm"
+ if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
+ # Check to see if the nm accepts a BSD-compat flag.
+ # Adding the `sed 1q' prevents false positives on HP-UX, which says:
+ # nm: unknown option "B" ignored
+ # Tru64's nm complains that /dev/null is an invalid object file
+ case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
+ */dev/null* | *'Invalid file or object type'*)
+ lt_cv_path_NM="$tmp_nm -B"
+ break
+ ;;
+ *)
+ case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
+ */dev/null*)
+ lt_cv_path_NM="$tmp_nm -p"
+ break
+ ;;
+ *)
+ lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
+ continue # so that we can try to find one that supports BSD flags
+ ;;
+ esac
+ esac
+ fi
+ done
+ IFS="$lt_save_ifs"
+ test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm
+fi])
+NM="$lt_cv_path_NM"
+])# AC_PROG_NM
+
+
+# AC_CHECK_LIBM
+# -------------
+# check for math library
+AC_DEFUN([AC_CHECK_LIBM],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+LIBM=
+case $host in
+*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*)
+ # These system don't have libm, or don't need it
+ ;;
+*-ncr-sysv4.3*)
+ AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
+ AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
+ ;;
+*)
+ AC_CHECK_LIB(m, cos, LIBM="-lm")
+ ;;
+esac
+])# AC_CHECK_LIBM
+
+
+# AC_LIBLTDL_CONVENIENCE([DIRECTORY])
+# -----------------------------------
+# sets LIBLTDL to the link flags for the libltdl convenience library and
+# LTDLINCL to the include flags for the libltdl header and adds
+# --enable-ltdl-convenience to the configure arguments. Note that LIBLTDL
+# and LTDLINCL are not AC_SUBSTed, nor is AC_CONFIG_SUBDIRS called. If
+# DIRECTORY is not provided, it is assumed to be `libltdl'. LIBLTDL will
+# be prefixed with '${top_builddir}/' and LTDLINCL will be prefixed with
+# '${top_srcdir}/' (note the single quotes!). If your package is not
+# flat and you're not using automake, define top_builddir and
+# top_srcdir appropriately in the Makefiles.
+AC_DEFUN([AC_LIBLTDL_CONVENIENCE],
+[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+ case $enable_ltdl_convenience in
+ no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;;
+ "") enable_ltdl_convenience=yes
+ ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;;
+ esac
+ LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la
+ LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
+ # For backwards non-gettext consistent compatibility...
+ INCLTDL="$LTDLINCL"
+])# AC_LIBLTDL_CONVENIENCE
+
+
+# AC_LIBLTDL_INSTALLABLE([DIRECTORY])
+# -----------------------------------
+# sets LIBLTDL to the link flags for the libltdl installable library and
+# LTDLINCL to the include flags for the libltdl header and adds
+# --enable-ltdl-install to the configure arguments. Note that LIBLTDL
+# and LTDLINCL are not AC_SUBSTed, nor is AC_CONFIG_SUBDIRS called. If
+# DIRECTORY is not provided and an installed libltdl is not found, it is
+# assumed to be `libltdl'. LIBLTDL will be prefixed with '${top_builddir}/'
+# and LTDLINCL will be prefixed with '${top_srcdir}/' (note the single
+# quotes!). If your package is not flat and you're not using automake,
+# define top_builddir and top_srcdir appropriately in the Makefiles.
+# In the future, this macro may have to be called after AC_PROG_LIBTOOL.
+AC_DEFUN([AC_LIBLTDL_INSTALLABLE],
+[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+ AC_CHECK_LIB(ltdl, lt_dlinit,
+ [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no],
+ [if test x"$enable_ltdl_install" = xno; then
+ AC_MSG_WARN([libltdl not installed, but installation disabled])
+ else
+ enable_ltdl_install=yes
+ fi
+ ])
+ if test x"$enable_ltdl_install" = x"yes"; then
+ ac_configure_args="$ac_configure_args --enable-ltdl-install"
+ LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la
+ LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
+ else
+ ac_configure_args="$ac_configure_args --enable-ltdl-install=no"
+ LIBLTDL="-lltdl"
+ LTDLINCL=
+ fi
+ # For backwards non-gettext consistent compatibility...
+ INCLTDL="$LTDLINCL"
+])# AC_LIBLTDL_INSTALLABLE
+
+
+# AC_LIBTOOL_CXX
+# --------------
+# enable support for C++ libraries
+AC_DEFUN([AC_LIBTOOL_CXX],
+[AC_REQUIRE([_LT_AC_LANG_CXX])
+])# AC_LIBTOOL_CXX
+
+
+# _LT_AC_LANG_CXX
+# ---------------
+AC_DEFUN([_LT_AC_LANG_CXX],
+[AC_REQUIRE([AC_PROG_CXX])
+AC_REQUIRE([AC_PROG_CXXCPP])
+_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}CXX])
+])# _LT_AC_LANG_CXX
+
+
+# AC_LIBTOOL_F77
+# --------------
+# enable support for Fortran 77 libraries
+AC_DEFUN([AC_LIBTOOL_F77],
+[AC_REQUIRE([_LT_AC_LANG_F77])
+])# AC_LIBTOOL_F77
+
+
+# _LT_AC_LANG_F77
+# ---------------
+AC_DEFUN([_LT_AC_LANG_F77],
+[AC_REQUIRE([AC_PROG_F77])
+_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}F77])
+])# _LT_AC_LANG_F77
+
+
+# AC_LIBTOOL_GCJ
+# --------------
+# enable support for GCJ libraries
+AC_DEFUN([AC_LIBTOOL_GCJ],
+[AC_REQUIRE([_LT_AC_LANG_GCJ])
+])# AC_LIBTOOL_GCJ
+
+
+# _LT_AC_LANG_GCJ
+# ---------------
+AC_DEFUN([_LT_AC_LANG_GCJ],
+[AC_PROVIDE_IFELSE([AC_PROG_GCJ],[],
+ [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],[],
+ [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],[],
+ [ifdef([AC_PROG_GCJ],[AC_REQUIRE([AC_PROG_GCJ])],
+ [ifdef([A][M_PROG_GCJ],[AC_REQUIRE([A][M_PROG_GCJ])],
+ [AC_REQUIRE([A][C_PROG_GCJ_OR_A][M_PROG_GCJ])])])])])])
+_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}GCJ])
+])# _LT_AC_LANG_GCJ
+
+
+# AC_LIBTOOL_RC
+# --------------
+# enable support for Windows resource files
+AC_DEFUN([AC_LIBTOOL_RC],
+[AC_REQUIRE([LT_AC_PROG_RC])
+_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}RC])
+])# AC_LIBTOOL_RC
+
+
+# AC_LIBTOOL_LANG_C_CONFIG
+# ------------------------
+# Ensure that the configuration vars for the C compiler are
+# suitably defined. Those variables are subsequently used by
+# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
+AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG], [_LT_AC_LANG_C_CONFIG])
+AC_DEFUN([_LT_AC_LANG_C_CONFIG],
+[lt_save_CC="$CC"
+AC_LANG_PUSH(C)
+
+# Source file extension for C test sources.
+ac_ext=c
+
+# Object file extension for compiled C test sources.
+objext=o
+_LT_AC_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="int some_variable = 0;\n"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='int main(){return(0);}\n'
+
+_LT_AC_SYS_COMPILER
+
+#
+# Check for any special shared library compilation flags.
+#
+_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)=
+if test "$GCC" = no; then
+ case $host_os in
+ sco3.2v5*)
+ _LT_AC_TAGVAR(lt_prog_cc_shlib, $1)='-belf'
+ ;;
+ esac
+fi
+if test -n "$_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)"; then
+ AC_MSG_WARN([`$CC' requires `$_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)' to build shared libraries])
+ if echo "$old_CC $old_CFLAGS " | grep "[[ ]]$]_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)[[[ ]]" >/dev/null; then :
+ else
+ AC_MSG_WARN([add `$_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)' to the CC or CFLAGS env variable and reconfigure])
+ _LT_AC_TAGVAR(lt_cv_prog_cc_can_build_shared, $1)=no
+ fi
+fi
+
+
+#
+# Check to make sure the static flag actually works.
+#
+AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $_LT_AC_TAGVAR(lt_prog_compiler_static, $1) works],
+ _LT_AC_TAGVAR(lt_prog_compiler_static_works, $1),
+ $_LT_AC_TAGVAR(lt_prog_compiler_static, $1),
+ [],
+ [_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=])
+
+
+## CAVEAT EMPTOR:
+## There is no encapsulation within the following macros, do not change
+## the running order or otherwise move them around unless you know exactly
+## what you are doing...
+AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1)
+AC_LIBTOOL_PROG_COMPILER_PIC($1)
+AC_LIBTOOL_PROG_CC_C_O($1)
+AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
+AC_LIBTOOL_PROG_LD_SHLIBS($1)
+AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
+AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
+AC_LIBTOOL_SYS_LIB_STRIP
+AC_LIBTOOL_DLOPEN_SELF($1)
+
+# Report which librarie types wil actually be built
+AC_MSG_CHECKING([if libtool supports shared libraries])
+AC_MSG_RESULT([$can_build_shared])
+
+AC_MSG_CHECKING([whether to build shared libraries])
+test "$can_build_shared" = "no" && enable_shared=no
+
+# On AIX, shared libraries and static libraries use the same namespace, and
+# are all built from PIC.
+case "$host_os" in
+aix3*)
+ test "$enable_shared" = yes && enable_static=no
+ if test -n "$RANLIB"; then
+ archive_cmds="$archive_cmds~\$RANLIB \$lib"
+ postinstall_cmds='$RANLIB $lib'
+ fi
+ ;;
+
+aix4*)
+ if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+ test "$enable_shared" = yes && enable_static=no
+ fi
+ ;;
+ darwin* | rhapsody*)
+ if test "$GCC" = yes; then
+ _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+ case "$host_os" in
+ rhapsody* | darwin1.[[012]])
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)='-Wl,-undefined -Wl,suppress'
+ ;;
+ *) # Darwin 1.3 on
+ if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)='-Wl,-flat_namespace -Wl,-undefined -Wl,suppress'
+ else
+ case ${MACOSX_DEPLOYMENT_TARGET} in
+ 10.[012])
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)='-Wl,-flat_namespace -Wl,-undefined -Wl,suppress'
+ ;;
+ 10.*)
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)='-Wl,-undefined -Wl,dynamic_lookup'
+ ;;
+ esac
+ fi
+ ;;
+ esac
+ output_verbose_link_cmd='echo'
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib $allow_undefined_flag -o $lib $compiler_flags $libobjs $deplibs -install_name $rpath/$soname $verstring'
+ _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $compiler_flags $libobjs $deplibs'
+ # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $compiler_flags $libobjs $deplibs -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $compiler_flags $libobjs $deplibs~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ _LT_AC_TAGVAR(hardcode_direct, $1)=no
+ _LT_AC_TAGVAR(hardcode_automatic, $1)=yes
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+ _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-all_load $convenience'
+ _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+ else
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+esac
+AC_MSG_RESULT([$enable_shared])
+
+AC_MSG_CHECKING([whether to build static libraries])
+# Make sure either enable_shared or enable_static is yes.
+test "$enable_shared" = yes || enable_static=yes
+AC_MSG_RESULT([$enable_static])
+
+AC_LIBTOOL_CONFIG($1)
+
+AC_LANG_POP
+CC="$lt_save_CC"
+])# AC_LIBTOOL_LANG_C_CONFIG
+
+
+# AC_LIBTOOL_LANG_CXX_CONFIG
+# --------------------------
+# Ensure that the configuration vars for the C compiler are
+# suitably defined. Those variables are subsequently used by
+# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
+AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG], [_LT_AC_LANG_CXX_CONFIG(CXX)])
+AC_DEFUN([_LT_AC_LANG_CXX_CONFIG],
+[AC_LANG_PUSH(C++)
+AC_REQUIRE([AC_PROG_CXX])
+AC_REQUIRE([AC_PROG_CXXCPP])
+
+_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+_LT_AC_TAGVAR(allow_undefined_flag, $1)=
+_LT_AC_TAGVAR(always_export_symbols, $1)=no
+_LT_AC_TAGVAR(archive_expsym_cmds, $1)=
+_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
+_LT_AC_TAGVAR(hardcode_direct, $1)=no
+_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
+_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
+_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
+_LT_AC_TAGVAR(hardcode_minus_L, $1)=no
+_LT_AC_TAGVAR(hardcode_automatic, $1)=no
+_LT_AC_TAGVAR(module_cmds, $1)=
+_LT_AC_TAGVAR(module_expsym_cmds, $1)=
+_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown
+_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_AC_TAGVAR(no_undefined_flag, $1)=
+_LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
+_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+
+# Dependencies to place before and after the object being linked:
+_LT_AC_TAGVAR(predep_objects, $1)=
+_LT_AC_TAGVAR(postdep_objects, $1)=
+_LT_AC_TAGVAR(predeps, $1)=
+_LT_AC_TAGVAR(postdeps, $1)=
+_LT_AC_TAGVAR(compiler_lib_search_path, $1)=
+
+# Source file extension for C++ test sources.
+ac_ext=cc
+
+# Object file extension for compiled C++ test sources.
+objext=o
+_LT_AC_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="int some_variable = 0;\n"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='int main(int, char *[]) { return(0); }\n'
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_AC_SYS_COMPILER
+
+# Allow CC to be a program name with arguments.
+lt_save_CC=$CC
+lt_save_LD=$LD
+lt_save_GCC=$GCC
+GCC=$GXX
+lt_save_with_gnu_ld=$with_gnu_ld
+lt_save_path_LD=$lt_cv_path_LD
+if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
+ lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
+else
+ unset lt_cv_prog_gnu_ld
+fi
+if test -n "${lt_cv_path_LDCXX+set}"; then
+ lt_cv_path_LD=$lt_cv_path_LDCXX
+else
+ unset lt_cv_path_LD
+fi
+test -z "${LDCXX+set}" || LD=$LDCXX
+CC=${CXX-"c++"}
+compiler=$CC
+_LT_AC_TAGVAR(compiler, $1)=$CC
+cc_basename=`$echo X"$compiler" | $Xsed -e 's%^.*/%%'`
+
+# We don't want -fno-exception wen compiling C++ code, so set the
+# no_builtin_flag separately
+if test "$GXX" = yes; then
+ _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
+else
+ _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
+fi
+
+if test "$GXX" = yes; then
+ # Set up default GNU C++ configuration
+
+ AC_PROG_LD
+
+ # Check if GNU C++ uses GNU ld as the underlying linker, since the
+ # archiving commands below assume that GNU ld is being used.
+ if test "$with_gnu_ld" = yes; then
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${wl}-soname $wl$soname -o $lib'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
+ _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+
+ # If archive_cmds runs LD, not CC, wlarc should be empty
+ # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
+ # investigate it a little bit more. (MM)
+ wlarc='${wl}'
+
+ # ancient GNU ld didn't support --whole-archive et. al.
+ if eval "`$CC -print-prog-name=ld` --help 2>&1" | \
+ grep 'no-whole-archive' > /dev/null; then
+ _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ else
+ _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
+ fi
+ else
+ with_gnu_ld=no
+ wlarc=
+
+ # A generic and very simple default shared library creation
+ # command for GNU C++ for the case where it uses the native
+ # linker, instead of GNU ld. If possible, this setting should
+ # overridden to take advantage of the native linker features on
+ # the platform it is being used on.
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects -o $lib'
+ fi
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
+
+else
+ GXX=no
+ with_gnu_ld=no
+ wlarc=
+fi
+
+# PORTME: fill in a description of your system's C++ link characteristics
+AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
+_LT_AC_TAGVAR(ld_shlibs, $1)=yes
+case $host_os in
+ aix3*)
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ aix4* | aix5*)
+ if test "$host_cpu" = ia64; then
+ # On IA64, the linker does run time linking by default, so we don't
+ # have to do anything special.
+ aix_use_runtimelinking=no
+ exp_sym_flag='-Bexport'
+ no_entry_flag=""
+ else
+ # KDE requires run time linking. Make it the default.
+ aix_use_runtimelinking=yes
+ exp_sym_flag='-bexport'
+ no_entry_flag='-bnoentry'
+ fi
+
+ # When large executables or shared objects are built, AIX ld can
+ # have problems creating the table of contents. If linking a library
+ # or program results in "error TOC overflow" add -mminimal-toc to
+ # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
+ # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+ _LT_AC_TAGVAR(archive_cmds, $1)=''
+ _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
+ _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+
+ if test "$GXX" = yes; then
+ case $host_os in aix4.[012]|aix4.[012].*)
+ # We only want to do this on AIX 4.2 and lower, the check
+ # below for broken collect2 doesn't work under 4.3+
+ collect2name=`${CC} -print-prog-name=collect2`
+ if test -f "$collect2name" && \
+ strings "$collect2name" | grep resolve_lib_name >/dev/null
+ then
+ # We have reworked collect2
+ _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+ else
+ # We have old collect2
+ _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
+ # It fails to find uninstalled libraries when the uninstalled
+ # path is not listed in the libpath. Setting hardcode_minus_L
+ # to unsupported forces relinking
+ _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
+ fi
+ esac
+ shared_flag='-shared'
+ else
+ # not using gcc
+ if test "$host_cpu" = ia64; then
+ # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+ # chokes on -Wl,-G. The following line is correct:
+ shared_flag='-G'
+ else
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag='-qmkshrobj ${wl}-G'
+ else
+ shared_flag='-qmkshrobj'
+ fi
+ fi
+ fi
+
+ # Let the compiler handle the export list.
+ _LT_AC_TAGVAR(always_export_symbols, $1)=no
+ if test "$aix_use_runtimelinking" = yes; then
+ # Warning - without using the other runtime loading flags (-brtl),
+ # -berok will link without error, but may produce a broken library.
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok'
+ # Determine the default libpath from the value encoded in an empty executable.
+ _LT_AC_SYS_LIBPATH_AIX
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+
+ _LT_AC_TAGVAR(archive_cmds, $1)="\$CC"' -o $output_objdir/$soname $compiler_flags $libobjs $deplibs `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '" $shared_flag"
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $compiler_flags $libobjs $deplibs `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+ else
+ if test "$host_cpu" = ia64; then
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $compiler_flags $libobjs $deplibs ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols"
+ else
+ # Determine the default libpath from the value encoded in an empty executable.
+ _LT_AC_SYS_LIBPATH_AIX
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+ # Warning - without using the other run time loading flags,
+ # -berok will link without error, but may produce a broken library.
+ _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
+ # -bexpall does not export symbols beginning with underscore (_)
+ _LT_AC_TAGVAR(always_export_symbols, $1)=yes
+ # Exported symbols can be pulled into shared objects from archives
+ _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=' '
+ _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
+ # This is similar to how AIX traditionally builds it's shared libraries.
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $compiler_flags $libobjs $deplibs ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+ fi
+ fi
+ ;;
+ chorus*)
+ case $cc_basename in
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+ ;;
+
+ cygwin* | mingw* | pw32*)
+ # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
+ # as there is no search path for DLLs.
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)=no
+ _LT_AC_TAGVAR(always_export_symbols, $1)=no
+ _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+
+ if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib'
+ # If the export-symbols file already is a .def file (1st line
+ # is EXPORTS), use it as is; otherwise, prepend...
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+ cp $export_symbols $output_objdir/$soname.def;
+ else
+ echo EXPORTS > $output_objdir/$soname.def;
+ cat $export_symbols >> $output_objdir/$soname.def;
+ fi~
+ $CC -shared -nostdlib $output_objdir/$soname.def $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib'
+ else
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ darwin* | rhapsody*)
+ if test "$GXX" = yes; then
+ _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+ case "$host_os" in
+ rhapsody* | darwin1.[[012]])
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)='-Wl,-undefined -Wl,suppress'
+ ;;
+ *) # Darwin 1.3 on
+ if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)='-Wl,-flat_namespace -Wl,-undefined -Wl,suppress'
+ else
+ case ${MACOSX_DEPLOYMENT_TARGET} in
+ 10.[012])
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)='-Wl,-flat_namespace -Wl,-undefined -Wl,suppress'
+ ;;
+ 10.*)
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)='-Wl,-undefined -Wl,dynamic_lookup'
+ ;;
+ esac
+ fi
+ ;;
+ esac
+ lt_int_apple_cc_single_mod=no
+ output_verbose_link_cmd='echo'
+ if $CC -dumpspecs 2>&1 | grep 'single_module' >/dev/null ; then
+ lt_int_apple_cc_single_mod=yes
+ fi
+ if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $compiler_flags $libobjs $deplibs -install_name $rpath/$soname $verstring'
+ else
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $compiler_flags $deplibs -install_name $rpath/$soname $verstring'
+ fi
+ _LT_AC_TAGVAR(module_cmds, $1)='$CC ${wl}-bind_at_load $allow_undefined_flag -o $lib -bundle $compiler_flags $libobjs $deplibs'
+
+ # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
+ if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $compiler_flags $libobjs $deplibs -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ else
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $compiler_flags $deplibs -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ fi
+ _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $compiler_flags $libobjs $deplibs~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ _LT_AC_TAGVAR(hardcode_direct, $1)=no
+ _LT_AC_TAGVAR(hardcode_automatic, $1)=yes
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+ _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-all_load $convenience'
+ _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+ else
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ dgux*)
+ case $cc_basename in
+ ec++)
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ ghcx)
+ # Green Hills C++ Compiler
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+ ;;
+ freebsd[12]*)
+ # C++ shared libraries reported to be fairly broken before switch to ELF
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ freebsd-elf*)
+ _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+ ;;
+ freebsd* | kfreebsd*-gnu)
+ # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
+ # conventions
+ _LT_AC_TAGVAR(ld_shlibs, $1)=yes
+ ;;
+ gnu*)
+ ;;
+ hpux9*)
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+ _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
+ # but as the default
+ # location of the library.
+
+ case $cc_basename in
+ CC)
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ aCC)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | egrep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+ ;;
+ *)
+ if test "$GXX" = yes; then
+ _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ else
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ esac
+ ;;
+ hpux10*|hpux11*)
+ if test $with_gnu_ld = no; then
+ case "$host_cpu" in
+ hppa*64*)
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+ ;;
+ ia64*)
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ ;;
+ *)
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ ;;
+ esac
+ fi
+ case "$host_cpu" in
+ hppa*64*)
+ _LT_AC_TAGVAR(hardcode_direct, $1)=no
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+ ia64*)
+ _LT_AC_TAGVAR(hardcode_direct, $1)=no
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
+ # but as the default
+ # location of the library.
+ ;;
+ *)
+ _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+ _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
+ # but as the default
+ # location of the library.
+ ;;
+ esac
+
+ case $cc_basename in
+ CC)
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ aCC)
+ case "$host_cpu" in
+ hppa*64*|ia64*)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs'
+ ;;
+ *)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects'
+ ;;
+ esac
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+ ;;
+ *)
+ if test "$GXX" = yes; then
+ if test $with_gnu_ld = no; then
+ case "$host_cpu" in
+ ia64*|hppa*64*)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs'
+ ;;
+ *)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects'
+ ;;
+ esac
+ fi
+ else
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ esac
+ ;;
+ irix5* | irix6*)
+ case $cc_basename in
+ CC)
+ # SGI C++
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib'
+
+ # Archives containing C++ object files must be created using
+ # "CC -ar", where "CC" is the IRIX C++ compiler. This is
+ # necessary to make sure instantiated templates are included
+ # in the archive.
+ _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
+ ;;
+ *)
+ if test "$GXX" = yes; then
+ if test "$with_gnu_ld" = no; then
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib'
+ else
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib'
+ fi
+ fi
+ _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+ ;;
+ esac
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+ ;;
+ linux*)
+ case $cc_basename in
+ KCC)
+ # Kuck and Associates, Inc. (KAI) C++ Compiler
+
+ # KCC will only create a shared library if the output file
+ # ends with ".so" (or ".sl" for HP-UX), so rename the library
+ # to its proper name (with version) after linking.
+ _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects --soname $soname -o \$templib; mv \$templib $lib'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath,$libdir'
+ _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+
+ # Archives containing C++ object files must be created using
+ # "CC -Bstatic", where "CC" is the KAI C++ compiler.
+ _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
+ ;;
+ icpc)
+ # Intel C++
+ with_gnu_ld=yes
+ _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${wl}-soname $wl$soname -o $lib'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+ _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+ ;;
+ cxx)
+ # Compaq C++
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${wl}-soname $wl$soname -o $lib'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
+
+ runpath_var=LD_RUN_PATH
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+ ;;
+ esac
+ ;;
+ lynxos*)
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ m88k*)
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ mvs*)
+ case $cc_basename in
+ cxx)
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+ ;;
+ netbsd*)
+ if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
+ wlarc=
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ fi
+ # Workaround some broken pre-1.5 toolchains
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
+ ;;
+ osf3*)
+ case $cc_basename in
+ KCC)
+ # Kuck and Associates, Inc. (KAI) C++ Compiler
+
+ # KCC will only create a shared library if the output file
+ # ends with ".so" (or ".sl" for HP-UX), so rename the library
+ # to its proper name (with version) after linking.
+ _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects --soname $soname -o \$templib; mv \$templib $lib'
+
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ # Archives containing C++ object files must be created using
+ # "CC -Bstatic", where "CC" is the KAI C++ compiler.
+ _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
+
+ ;;
+ RCC)
+ # Rational C++ 2.4.1
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ cxx)
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${objdir}/so_locations -o $lib'
+
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+ ;;
+ *)
+ if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib'
+
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
+
+ else
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ esac
+ ;;
+ osf4* | osf5*)
+ case $cc_basename in
+ KCC)
+ # Kuck and Associates, Inc. (KAI) C++ Compiler
+
+ # KCC will only create a shared library if the output file
+ # ends with ".so" (or ".sl" for HP-UX), so rename the library
+ # to its proper name (with version) after linking.
+ _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects --soname $soname -o \$templib; mv \$templib $lib'
+
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ # Archives containing C++ object files must be created using
+ # the KAI C++ compiler.
+ _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs'
+ ;;
+ RCC)
+ # Rational C++ 2.4.1
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ cxx)
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
+ echo "-hidden">> $lib.exp~
+ $CC -shared$allow_undefined_flag $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry $objdir/so_locations -o $lib~
+ $rm $lib.exp'
+
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+ ;;
+ *)
+ if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib'
+
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
+
+ else
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ esac
+ ;;
+ psos*)
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ sco*)
+ _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+ case $cc_basename in
+ CC)
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+ ;;
+ sunos4*)
+ case $cc_basename in
+ CC)
+ # Sun C++ 4.x
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ lcc)
+ # Lucid
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+ ;;
+ solaris*)
+ case $cc_basename in
+ CC)
+ # Sun C++ 4.2, 5.x and Centerline C++
+ _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs'
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -nolib -h$soname -o $lib $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+ $CC -G${allow_undefined_flag} -nolib ${wl}-M ${wl}$lib.exp -h$soname -o $lib $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects~$rm $lib.exp'
+
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ case $host_os in
+ solaris2.[0-5] | solaris2.[0-5].*) ;;
+ *)
+ # The C++ compiler is used as linker so we must use $wl
+ # flag to pass the commands to the underlying system
+ # linker.
+ # Supported since Solaris 2.6 (maybe 2.5.1?)
+ _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+ ;;
+ esac
+ _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep "\-[[LR]]"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+
+ # Archives containing C++ object files must be created using
+ # "CC -xar", where "CC" is the Sun C++ compiler. This is
+ # necessary to make sure instantiated templates are included
+ # in the archive.
+ _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
+ ;;
+ gcx)
+ # Green Hills C++ Compiler
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${wl}-h $wl$soname -o $lib'
+
+ # The C++ compiler must be used to create the archive.
+ _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
+ ;;
+ *)
+ # GNU C++ compiler with Solaris linker
+ if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+ _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
+ if $CC --version | grep -v '^2\.7' > /dev/null; then
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${wl}-h $wl$soname -o $lib'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+ $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects~$rm $lib.exp'
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\""
+ else
+ # g++ 2.7 appears to require `-G' NOT `-shared' on this
+ # platform.
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects ${wl}-h $wl$soname -o $lib'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+ $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $compiler_flags $predep_objects $libobjs $deplibs $postdep_objects~$rm $lib.exp'
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\""
+ fi
+
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
+ fi
+ ;;
+ esac
+ ;;
+ sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[[78]]* | unixware7*)
+ _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+ ;;
+ tandem*)
+ case $cc_basename in
+ NCC)
+ # NonStop-UX NCC 3.20
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+ ;;
+ vxworks*)
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+esac
+AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)])
+test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
+
+_LT_AC_TAGVAR(GCC, $1)="$GXX"
+_LT_AC_TAGVAR(LD, $1)="$LD"
+
+## CAVEAT EMPTOR:
+## There is no encapsulation within the following macros, do not change
+## the running order or otherwise move them around unless you know exactly
+## what you are doing...
+AC_LIBTOOL_POSTDEP_PREDEP($1)
+AC_LIBTOOL_PROG_COMPILER_PIC($1)
+AC_LIBTOOL_PROG_CC_C_O($1)
+AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
+AC_LIBTOOL_PROG_LD_SHLIBS($1)
+AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
+AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
+AC_LIBTOOL_SYS_LIB_STRIP
+AC_LIBTOOL_DLOPEN_SELF($1)
+
+AC_LIBTOOL_CONFIG($1)
+
+AC_LANG_POP
+CC=$lt_save_CC
+LDCXX=$LD
+LD=$lt_save_LD
+GCC=$lt_save_GCC
+with_gnu_ldcxx=$with_gnu_ld
+with_gnu_ld=$lt_save_with_gnu_ld
+lt_cv_path_LDCXX=$lt_cv_path_LD
+lt_cv_path_LD=$lt_save_path_LD
+lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
+lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
+])# AC_LIBTOOL_LANG_CXX_CONFIG
+
+# AC_LIBTOOL_POSTDEP_PREDEP([TAGNAME])
+# ------------------------
+# Figure out "hidden" library dependencies from verbose
+# compiler output when linking a shared library.
+# Parse the compiler output and extract the necessary
+# objects, libraries and library flags.
+AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP],[
+dnl we can't use the lt_simple_compile_test_code here,
+dnl because it contains code intended for an executable,
+dnl not a library. It's possible we should let each
+dnl tag define a new lt_????_link_test_code variable,
+dnl but it's only used here...
+ifelse([$1],[],[cat > conftest.$ac_ext <<EOF
+int a;
+void foo (void) { a = 0; }
+EOF
+],[$1],[CXX],[cat > conftest.$ac_ext <<EOF
+class Foo
+{
+public:
+ Foo (void) { a = 0; }
+private:
+ int a;
+};
+EOF
+],[$1],[F77],[cat > conftest.$ac_ext <<EOF
+ subroutine foo
+ implicit none
+ integer*4 a
+ a=0
+ return
+ end
+EOF
+],[$1],[GCJ],[cat > conftest.$ac_ext <<EOF
+public class foo {
+ private int a;
+ public void bar (void) {
+ a = 0;
+ }
+};
+EOF
+])
+dnl Parse the compiler output and extract the necessary
+dnl objects, libraries and library flags.
+if AC_TRY_EVAL(ac_compile); then
+ # Parse the compiler output and extract the necessary
+ # objects, libraries and library flags.
+
+ # Sentinel used to keep track of whether or not we are before
+ # the conftest object file.
+ pre_test_object_deps_done=no
+
+ # The `*' in the case matches for architectures that use `case' in
+ # $output_verbose_cmd can trigger glob expansion during the loop
+ # eval without this substitution.
+ output_verbose_link_cmd="`$echo \"X$output_verbose_link_cmd\" | $Xsed -e \"$no_glob_subst\"`"
+
+ for p in `eval $output_verbose_link_cmd`; do
+ case $p in
+
+ -L* | -R* | -l*)
+ # Some compilers place space between "-{L,R}" and the path.
+ # Remove the space.
+ if test $p = "-L" \
+ || test $p = "-R"; then
+ prev=$p
+ continue
+ else
+ prev=
+ fi
+
+ if test "$pre_test_object_deps_done" = no; then
+ case $p in
+ -L* | -R*)
+ # Internal compiler library paths should come after those
+ # provided the user. The postdeps already come after the
+ # user supplied libs so there is no need to process them.
+ if test -z "$_LT_AC_TAGVAR(compiler_lib_search_path, $1)"; then
+ _LT_AC_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}"
+ else
+ _LT_AC_TAGVAR(compiler_lib_search_path, $1)="${_LT_AC_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}"
+ fi
+ ;;
+ # The "-l" case would never come before the object being
+ # linked, so don't bother handling this case.
+ esac
+ else
+ if test -z "$_LT_AC_TAGVAR(postdeps, $1)"; then
+ _LT_AC_TAGVAR(postdeps, $1)="${prev}${p}"
+ else
+ _LT_AC_TAGVAR(postdeps, $1)="${_LT_AC_TAGVAR(postdeps, $1)} ${prev}${p}"
+ fi
+ fi
+ ;;
+
+ *.$objext|*.$libext)
+ # This assumes that the test object file only shows up
+ # once in the compiler output.
+ if test "$p" = "conftest.$objext"; then
+ pre_test_object_deps_done=yes
+ continue
+ fi
+
+ if test "$pre_test_object_deps_done" = no; then
+ if test -z "$_LT_AC_TAGVAR(predep_objects, $1)"; then
+ _LT_AC_TAGVAR(predep_objects, $1)="$p"
+ else
+ _LT_AC_TAGVAR(predep_objects, $1)="$_LT_AC_TAGVAR(predep_objects, $1) $p"
+ fi
+ else
+ if test -z "$_LT_AC_TAGVAR(postdep_objects, $1)"; then
+ _LT_AC_TAGVAR(postdep_objects, $1)="$p"
+ else
+ _LT_AC_TAGVAR(postdep_objects, $1)="$_LT_AC_TAGVAR(postdep_objects, $1) $p"
+ fi
+ fi
+ ;;
+
+ *) ;; # Ignore the rest.
+
+ esac
+ done
+
+ # Clean up.
+ rm -f a.out a.exe
+else
+ echo "libtool.m4: error: problem compiling $1 test program"
+fi
+
+$rm -f confest.$objext
+
+case " $_LT_AC_TAGVAR(postdeps, $1) " in
+*" -lc "*) _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no ;;
+esac
+])# AC_LIBTOOL_POSTDEP_PREDEP
+
+# AC_LIBTOOL_LANG_F77_CONFIG
+# ------------------------
+# Ensure that the configuration vars for the C compiler are
+# suitably defined. Those variables are subsequently used by
+# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
+AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG], [_LT_AC_LANG_F77_CONFIG(F77)])
+AC_DEFUN([_LT_AC_LANG_F77_CONFIG],
+[AC_REQUIRE([AC_PROG_F77])
+AC_LANG_PUSH(Fortran 77)
+
+_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+_LT_AC_TAGVAR(allow_undefined_flag, $1)=
+_LT_AC_TAGVAR(always_export_symbols, $1)=no
+_LT_AC_TAGVAR(archive_expsym_cmds, $1)=
+_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
+_LT_AC_TAGVAR(hardcode_direct, $1)=no
+_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
+_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
+_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
+_LT_AC_TAGVAR(hardcode_minus_L, $1)=no
+_LT_AC_TAGVAR(hardcode_automatic, $1)=no
+_LT_AC_TAGVAR(module_cmds, $1)=
+_LT_AC_TAGVAR(module_expsym_cmds, $1)=
+_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown
+_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_AC_TAGVAR(no_undefined_flag, $1)=
+_LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
+_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+
+# Source file extension for f77 test sources.
+ac_ext=f
+
+# Object file extension for compiled f77 test sources.
+objext=o
+_LT_AC_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code=" subroutine t\n return\n end\n"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code=" program t\n end\n"
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_AC_SYS_COMPILER
+
+# Allow CC to be a program name with arguments.
+lt_save_CC="$CC"
+CC=${F77-"f77"}
+compiler=$CC
+_LT_AC_TAGVAR(compiler, $1)=$CC
+cc_basename=`$echo X"$compiler" | $Xsed -e 's%^.*/%%'`
+
+AC_MSG_CHECKING([if libtool supports shared libraries])
+AC_MSG_RESULT([$can_build_shared])
+
+AC_MSG_CHECKING([whether to build shared libraries])
+test "$can_build_shared" = "no" && enable_shared=no
+
+# On AIX, shared libraries and static libraries use the same namespace, and
+# are all built from PIC.
+case "$host_os" in
+aix3*)
+ test "$enable_shared" = yes && enable_static=no
+ if test -n "$RANLIB"; then
+ archive_cmds="$archive_cmds~\$RANLIB \$lib"
+ postinstall_cmds='$RANLIB $lib'
+ fi
+ ;;
+aix4*)
+ test "$enable_shared" = yes && enable_static=no
+ ;;
+esac
+AC_MSG_RESULT([$enable_shared])
+
+AC_MSG_CHECKING([whether to build static libraries])
+# Make sure either enable_shared or enable_static is yes.
+test "$enable_shared" = yes || enable_static=yes
+AC_MSG_RESULT([$enable_static])
+
+test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
+
+_LT_AC_TAGVAR(GCC, $1)="$G77"
+_LT_AC_TAGVAR(LD, $1)="$LD"
+
+AC_LIBTOOL_PROG_COMPILER_PIC($1)
+AC_LIBTOOL_PROG_CC_C_O($1)
+AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
+AC_LIBTOOL_PROG_LD_SHLIBS($1)
+AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
+AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
+AC_LIBTOOL_SYS_LIB_STRIP
+
+
+AC_LIBTOOL_CONFIG($1)
+
+AC_LANG_POP
+CC="$lt_save_CC"
+])# AC_LIBTOOL_LANG_F77_CONFIG
+
+
+# AC_LIBTOOL_LANG_GCJ_CONFIG
+# --------------------------
+# Ensure that the configuration vars for the C compiler are
+# suitably defined. Those variables are subsequently used by
+# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
+AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG], [_LT_AC_LANG_GCJ_CONFIG(GCJ)])
+AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG],
+[AC_LANG_SAVE
+
+# Source file extension for Java test sources.
+ac_ext=java
+
+# Object file extension for compiled Java test sources.
+objext=o
+_LT_AC_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="class foo {}\n"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='public class conftest { public static void main(String[] argv) {}; }\n'
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_AC_SYS_COMPILER
+
+# Allow CC to be a program name with arguments.
+lt_save_CC="$CC"
+CC=${GCJ-"gcj"}
+compiler=$CC
+_LT_AC_TAGVAR(compiler, $1)=$CC
+
+# GCJ did not exist at the time GCC didn't implicitly link libc in.
+_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+
+## CAVEAT EMPTOR:
+## There is no encapsulation within the following macros, do not change
+## the running order or otherwise move them around unless you know exactly
+## what you are doing...
+AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1)
+AC_LIBTOOL_PROG_COMPILER_PIC($1)
+AC_LIBTOOL_PROG_CC_C_O($1)
+AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
+AC_LIBTOOL_PROG_LD_SHLIBS($1)
+AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
+AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
+AC_LIBTOOL_SYS_LIB_STRIP
+AC_LIBTOOL_DLOPEN_SELF($1)
+
+AC_LIBTOOL_CONFIG($1)
+
+AC_LANG_RESTORE
+CC="$lt_save_CC"
+])# AC_LIBTOOL_LANG_GCJ_CONFIG
+
+
+# AC_LIBTOOL_LANG_RC_CONFIG
+# --------------------------
+# Ensure that the configuration vars for the Windows resource compiler are
+# suitably defined. Those variables are subsequently used by
+# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
+AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG], [_LT_AC_LANG_RC_CONFIG(RC)])
+AC_DEFUN([_LT_AC_LANG_RC_CONFIG],
+[AC_LANG_SAVE
+
+# Source file extension for RC test sources.
+ac_ext=rc
+
+# Object file extension for compiled RC test sources.
+objext=o
+_LT_AC_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }\n'
+
+# Code to be used in simple link tests
+lt_simple_link_test_code="$lt_simple_compile_test_code"
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_AC_SYS_COMPILER
+
+# Allow CC to be a program name with arguments.
+lt_save_CC="$CC"
+CC=${RC-"windres"}
+compiler=$CC
+_LT_AC_TAGVAR(compiler, $1)=$CC
+_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
+
+AC_LIBTOOL_CONFIG($1)
+
+AC_LANG_RESTORE
+CC="$lt_save_CC"
+])# AC_LIBTOOL_LANG_RC_CONFIG
+
+
+# AC_LIBTOOL_CONFIG([TAGNAME])
+# ----------------------------
+# If TAGNAME is not passed, then create an initial libtool script
+# with a default configuration from the untagged config vars. Otherwise
+# add code to config.status for appending the configuration named by
+# TAGNAME from the matching tagged config vars.
+AC_DEFUN([AC_LIBTOOL_CONFIG],
+[# The else clause should only fire when bootstrapping the
+# libtool distribution, otherwise you forgot to ship ltmain.sh
+# with your package, and you will get complaints that there are
+# no rules to generate ltmain.sh.
+if test -f "$ltmain"; then
+ # See if we are running on zsh, and set the options which allow our commands through
+ # without removal of \ escapes.
+ if test -n "${ZSH_VERSION+set}" ; then
+ setopt NO_GLOB_SUBST
+ fi
+ # Now quote all the things that may contain metacharacters while being
+ # careful not to overquote the AC_SUBSTed values. We take copies of the
+ # variables and quote the copies for generation of the libtool script.
+ for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC NM SED SHELL \
+ libname_spec library_names_spec soname_spec extract_expsyms_cmds \
+ old_striplib striplib file_magic_cmd finish_cmds finish_eval \
+ deplibs_check_method reload_flag reload_cmds need_locks \
+ lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
+ lt_cv_sys_global_symbol_to_c_name_address \
+ sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
+ old_postinstall_cmds old_postuninstall_cmds \
+ _LT_AC_TAGVAR(compiler, $1) \
+ _LT_AC_TAGVAR(CC, $1) \
+ _LT_AC_TAGVAR(LD, $1) \
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1) \
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1) \
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1) \
+ _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) \
+ _LT_AC_TAGVAR(export_dynamic_flag_spec, $1) \
+ _LT_AC_TAGVAR(thread_safe_flag_spec, $1) \
+ _LT_AC_TAGVAR(whole_archive_flag_spec, $1) \
+ _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1) \
+ _LT_AC_TAGVAR(old_archive_cmds, $1) \
+ _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) \
+ _LT_AC_TAGVAR(predep_objects, $1) \
+ _LT_AC_TAGVAR(postdep_objects, $1) \
+ _LT_AC_TAGVAR(predeps, $1) \
+ _LT_AC_TAGVAR(postdeps, $1) \
+ _LT_AC_TAGVAR(compiler_lib_search_path, $1) \
+ _LT_AC_TAGVAR(archive_cmds, $1) \
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1) \
+ _LT_AC_TAGVAR(postinstall_cmds, $1) \
+ _LT_AC_TAGVAR(postuninstall_cmds, $1) \
+ _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) \
+ _LT_AC_TAGVAR(allow_undefined_flag, $1) \
+ _LT_AC_TAGVAR(no_undefined_flag, $1) \
+ _LT_AC_TAGVAR(export_symbols_cmds, $1) \
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) \
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1) \
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1) \
+ _LT_AC_TAGVAR(hardcode_automatic, $1) \
+ _LT_AC_TAGVAR(module_cmds, $1) \
+ _LT_AC_TAGVAR(module_expsym_cmds, $1) \
+ _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) \
+ _LT_AC_TAGVAR(exclude_expsyms, $1) \
+ _LT_AC_TAGVAR(include_expsyms, $1); do
+
+ case $var in
+ _LT_AC_TAGVAR(old_archive_cmds, $1) | \
+ _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) | \
+ _LT_AC_TAGVAR(archive_cmds, $1) | \
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1) | \
+ _LT_AC_TAGVAR(module_cmds, $1) | \
+ _LT_AC_TAGVAR(module_expsym_cmds, $1) | \
+ _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) | \
+ _LT_AC_TAGVAR(export_symbols_cmds, $1) | \
+ extract_expsyms_cmds | reload_cmds | finish_cmds | \
+ postinstall_cmds | postuninstall_cmds | \
+ old_postinstall_cmds | old_postuninstall_cmds | \
+ sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
+ # Double-quote double-evaled strings.
+ eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
+ ;;
+ *)
+ eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
+ ;;
+ esac
+ done
+
+ case $lt_echo in
+ *'\[$]0 --fallback-echo"')
+ lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\[$]0 --fallback-echo"[$]/[$]0 --fallback-echo"/'`
+ ;;
+ esac
+
+ifelse([$1], [],
+ [cfgfile="${ofile}T"
+ trap "$rm \"$cfgfile\"; exit 1" 1 2 15
+ $rm -f "$cfgfile"
+ AC_MSG_NOTICE([creating $ofile])],
+ [cfgfile="$ofile"])
+
+ cat <<__EOF__ >> "$cfgfile"
+ifelse([$1], [],
+[#! $SHELL
+
+# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
+# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)
+# NOTE: Changes made to this file will be lost: look at ltmain.sh.
+#
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001
+# Free Software Foundation, Inc.
+#
+# This file is part of GNU Libtool:
+# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
+#
+# 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.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# A sed program that does not truncate output.
+SED=$lt_SED
+
+# Sed that helps us avoid accidentally triggering echo(1) options like -n.
+Xsed="$SED -e s/^X//"
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+if test "X\${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi
+
+# The names of the tagged configurations supported by this script.
+available_tags=
+
+# ### BEGIN LIBTOOL CONFIG],
+[# ### BEGIN LIBTOOL TAG CONFIG: $tagname])
+
+# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+
+# Shell to use when invoking shell scripts.
+SHELL=$lt_SHELL
+
+# Whether or not to build shared libraries.
+build_libtool_libs=$enable_shared
+
+# Whether or not to build static libraries.
+build_old_libs=$enable_static
+
+# Whether or not to add -lc for building shared libraries.
+build_libtool_need_lc=$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)
+
+# Whether or not to disallow shared libs when runtime libs are static
+allow_libtool_libs_with_static_runtimes=$_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)
+
+# Whether or not to optimize for fast installation.
+fast_install=$enable_fast_install
+
+# The host system.
+host_alias=$host_alias
+host=$host
+
+# An echo program that does not interpret backslashes.
+echo=$lt_echo
+
+# The archiver.
+AR=$lt_AR
+AR_FLAGS=$lt_AR_FLAGS
+
+# A C compiler.
+LTCC=$lt_LTCC
+
+# A language-specific compiler.
+CC=$lt_[]_LT_AC_TAGVAR(compiler, $1)
+
+# Is the compiler the GNU C compiler?
+with_gcc=$_LT_AC_TAGVAR(GCC, $1)
+
+# An ERE matcher.
+EGREP=$lt_EGREP
+
+# The linker used to build libraries.
+LD=$lt_[]_LT_AC_TAGVAR(LD, $1)
+
+# Whether we need hard or soft links.
+LN_S=$lt_LN_S
+
+# A BSD-compatible nm program.
+NM=$lt_NM
+
+# A symbol stripping program
+STRIP=$STRIP
+
+# Used to examine libraries when file_magic_cmd begins "file"
+MAGIC_CMD=$MAGIC_CMD
+
+# Used on cygwin: DLL creation program.
+DLLTOOL="$DLLTOOL"
+
+# Used on cygwin: object dumper.
+OBJDUMP="$OBJDUMP"
+
+# Used on cygwin: assembler.
+AS="$AS"
+
+# The name of the directory that contains temporary libtool files.
+objdir=$objdir
+
+# How to create reloadable object files.
+reload_flag=$lt_reload_flag
+reload_cmds=$lt_reload_cmds
+
+# How to pass a linker flag through the compiler.
+wl=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)
+
+# Object file suffix (normally "o").
+objext="$ac_objext"
+
+# Old archive suffix (normally "a").
+libext="$libext"
+
+# Shared library suffix (normally ".so").
+shrext='$shrext'
+
+# Executable file suffix (normally "").
+exeext="$exeext"
+
+# Additional compiler flags for building library objects.
+pic_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)
+pic_mode=$pic_mode
+
+# What is the maximum length of a command?
+max_cmd_len=$lt_cv_sys_max_cmd_len
+
+# Does compiler simultaneously support -c and -o options?
+compiler_c_o=$lt_[]_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)
+
+# Must we lock files when doing compilation ?
+need_locks=$lt_need_locks
+
+# Do we need the lib prefix for modules?
+need_lib_prefix=$need_lib_prefix
+
+# Do we need a version for libraries?
+need_version=$need_version
+
+# Whether dlopen is supported.
+dlopen_support=$enable_dlopen
+
+# Whether dlopen of programs is supported.
+dlopen_self=$enable_dlopen_self
+
+# Whether dlopen of statically linked programs is supported.
+dlopen_self_static=$enable_dlopen_self_static
+
+# Compiler flag to prevent dynamic linking.
+link_static_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_static, $1)
+
+# Compiler flag to turn off builtin functions.
+no_builtin_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)
+
+# Compiler flag to allow reflexive dlopens.
+export_dynamic_flag_spec=$lt_[]_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)
+
+# Compiler flag to generate shared objects directly from archives.
+whole_archive_flag_spec=$lt_[]_LT_AC_TAGVAR(whole_archive_flag_spec, $1)
+
+# Compiler flag to generate thread-safe objects.
+thread_safe_flag_spec=$lt_[]_LT_AC_TAGVAR(thread_safe_flag_spec, $1)
+
+# Library versioning type.
+version_type=$version_type
+
+# Format of library name prefix.
+libname_spec=$lt_libname_spec
+
+# List of archive names. First name is the real one, the rest are links.
+# The last name is the one that the linker finds with -lNAME.
+library_names_spec=$lt_library_names_spec
+
+# The coded name of the library, if different from the real name.
+soname_spec=$lt_soname_spec
+
+# Commands used to build and install an old-style archive.
+RANLIB=$lt_RANLIB
+old_archive_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_cmds, $1)
+old_postinstall_cmds=$lt_old_postinstall_cmds
+old_postuninstall_cmds=$lt_old_postuninstall_cmds
+
+# Create an old-style archive from a shared archive.
+old_archive_from_new_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_new_cmds, $1)
+
+# Create a temporary old-style archive to link instead of a shared archive.
+old_archive_from_expsyms_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)
+
+# Commands used to build and install a shared archive.
+archive_cmds=$lt_[]_LT_AC_TAGVAR(archive_cmds, $1)
+archive_expsym_cmds=$lt_[]_LT_AC_TAGVAR(archive_expsym_cmds, $1)
+postinstall_cmds=$lt_postinstall_cmds
+postuninstall_cmds=$lt_postuninstall_cmds
+
+# Commands used to build a loadable module (assumed same as above if empty)
+module_cmds=$lt_[]_LT_AC_TAGVAR(module_cmds, $1)
+module_expsym_cmds=$lt_[]_LT_AC_TAGVAR(module_expsym_cmds, $1)
+
+# Commands to strip libraries.
+old_striplib=$lt_old_striplib
+striplib=$lt_striplib
+
+# Dependencies to place before the objects being linked to create a
+# shared library.
+predep_objects=$lt_[]_LT_AC_TAGVAR(predep_objects, $1)
+
+# Dependencies to place after the objects being linked to create a
+# shared library.
+postdep_objects=$lt_[]_LT_AC_TAGVAR(postdep_objects, $1)
+
+# Dependencies to place before the objects being linked to create a
+# shared library.
+predeps=$lt_[]_LT_AC_TAGVAR(predeps, $1)
+
+# Dependencies to place after the objects being linked to create a
+# shared library.
+postdeps=$lt_[]_LT_AC_TAGVAR(postdeps, $1)
+
+# The library search path used internally by the compiler when linking
+# a shared library.
+compiler_lib_search_path=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_path, $1)
+
+# Method to check whether dependent libraries are shared objects.
+deplibs_check_method=$lt_deplibs_check_method
+
+# Command to use when deplibs_check_method == file_magic.
+file_magic_cmd=$lt_file_magic_cmd
+
+# Flag that allows shared libraries with undefined symbols to be built.
+allow_undefined_flag=$lt_[]_LT_AC_TAGVAR(allow_undefined_flag, $1)
+
+# Flag that forces no undefined symbols.
+no_undefined_flag=$lt_[]_LT_AC_TAGVAR(no_undefined_flag, $1)
+
+# Commands used to finish a libtool library installation in a directory.
+finish_cmds=$lt_finish_cmds
+
+# Same as above, but a single script fragment to be evaled but not shown.
+finish_eval=$lt_finish_eval
+
+# Take the output of nm and produce a listing of raw symbols and C names.
+global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
+
+# Transform the output of nm in a proper C declaration
+global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
+
+# Transform the output of nm in a C name address pair
+global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
+
+# This is the shared library runtime path variable.
+runpath_var=$runpath_var
+
+# This is the shared library path variable.
+shlibpath_var=$shlibpath_var
+
+# Is shlibpath searched before the hard-coded library search path?
+shlibpath_overrides_runpath=$shlibpath_overrides_runpath
+
+# How to hardcode a shared library path into an executable.
+hardcode_action=$_LT_AC_TAGVAR(hardcode_action, $1)
+
+# Whether we should hardcode library paths into libraries.
+hardcode_into_libs=$hardcode_into_libs
+
+# Flag to hardcode \$libdir into a binary during linking.
+# This must work even if \$libdir does not exist.
+hardcode_libdir_flag_spec=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)
+
+# If ld is used when linking, flag to hardcode \$libdir into
+# a binary during linking. This must work even if \$libdir does
+# not exist.
+hardcode_libdir_flag_spec_ld=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)
+
+# Whether we need a single -rpath flag with a separated argument.
+hardcode_libdir_separator=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_separator, $1)
+
+# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
+# resulting binary.
+hardcode_direct=$_LT_AC_TAGVAR(hardcode_direct, $1)
+
+# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
+# resulting binary.
+hardcode_minus_L=$_LT_AC_TAGVAR(hardcode_minus_L, $1)
+
+# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
+# the resulting binary.
+hardcode_shlibpath_var=$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)
+
+# Set to yes if building a shared library automatically hardcodes DIR into the library
+# and all subsequent libraries and executables linked against it.
+hardcode_automatic=$_LT_AC_TAGVAR(hardcode_automatic, $1)
+
+# Variables whose values should be saved in libtool wrapper scripts and
+# restored at relink time.
+variables_saved_for_relink="$variables_saved_for_relink"
+
+# Whether libtool must link a program against all its dependency libraries.
+link_all_deplibs=$_LT_AC_TAGVAR(link_all_deplibs, $1)
+
+# Compile-time system search path for libraries
+sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
+
+# Run-time system search path for libraries
+sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
+
+# Fix the shell variable \$srcfile for the compiler.
+fix_srcfile_path="$_LT_AC_TAGVAR(fix_srcfile_path, $1)"
+
+# Set to yes if exported symbols are required.
+always_export_symbols=$_LT_AC_TAGVAR(always_export_symbols, $1)
+
+# The commands to list exported symbols.
+export_symbols_cmds=$lt_[]_LT_AC_TAGVAR(export_symbols_cmds, $1)
+
+# The commands to extract the exported symbol list from a shared archive.
+extract_expsyms_cmds=$lt_extract_expsyms_cmds
+
+# Symbols that should not be listed in the preloaded symbols.
+exclude_expsyms=$lt_[]_LT_AC_TAGVAR(exclude_expsyms, $1)
+
+# Symbols that must always be exported.
+include_expsyms=$lt_[]_LT_AC_TAGVAR(include_expsyms, $1)
+
+ifelse([$1],[],
+[# ### END LIBTOOL CONFIG],
+[# ### END LIBTOOL TAG CONFIG: $tagname])
+
+__EOF__
+
+ifelse([$1],[], [
+ case $host_os in
+ aix3*)
+ cat <<\EOF >> "$cfgfile"
+
+# AIX sometimes has problems with the GCC collect2 program. For some
+# reason, if we set the COLLECT_NAMES environment variable, the problems
+# vanish in a puff of smoke.
+if test "X${COLLECT_NAMES+set}" != Xset; then
+ COLLECT_NAMES=
+ export COLLECT_NAMES
+fi
+EOF
+ ;;
+ esac
+
+ # We use sed instead of cat because bash on DJGPP gets confused if
+ # if finds mixed CR/LF and LF-only lines. Since sed operates in
+ # text mode, it properly converts lines to CR/LF. This bash problem
+ # is reportedly fixed, but why not run on old versions too?
+ sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1)
+
+ mv -f "$cfgfile" "$ofile" || \
+ (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
+ chmod +x "$ofile"
+])
+else
+ # If there is no Makefile yet, we rely on a make rule to execute
+ # `config.status --recheck' to rerun these tests and create the
+ # libtool script then.
+ test -f Makefile && make "$ltmain"
+fi
+])# AC_LIBTOOL_CONFIG
+
+
+# AC_LIBTOOL_PROG_COMPILER_NO_RTTI([TAGNAME])
+# -------------------------------------------
+AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI],
+[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
+
+_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
+
+if test "$GCC" = yes; then
+ _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
+
+ AC_LIBTOOL_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
+ lt_cv_prog_compiler_rtti_exceptions,
+ [-fno-rtti -fno-exceptions], [],
+ [_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
+fi
+])# AC_LIBTOOL_PROG_COMPILER_NO_RTTI
+
+
+# AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
+# ---------------------------------
+AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE],
+[AC_REQUIRE([AC_CANONICAL_HOST])
+AC_REQUIRE([AC_PROG_NM])
+AC_REQUIRE([AC_OBJEXT])
+# Check for command to grab the raw symbol name followed by C symbol from nm.
+AC_MSG_CHECKING([command to parse $NM output from $compiler object])
+AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
+[
+# These are sane defaults that work on at least a few old systems.
+# [They come from Ultrix. What could be older than Ultrix?!! ;)]
+
+# Character class describing NM global symbol codes.
+symcode='[[BCDEGRST]]'
+
+# Regexp to match symbols that can be accessed directly from C.
+sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
+
+# Transform the above into a raw symbol and a C symbol.
+symxfrm='\1 \2\3 \3'
+
+# Transform an extracted symbol line into a proper C declaration
+lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'"
+
+# Transform an extracted symbol line into symbol name and symbol address
+lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'"
+
+# Define system-specific variables.
+case $host_os in
+aix*)
+ symcode='[[BCDT]]'
+ ;;
+cygwin* | mingw* | pw32*)
+ symcode='[[ABCDGISTW]]'
+ ;;
+hpux*) # Its linker distinguishes data from code symbols
+ if test "$host_cpu" = ia64; then
+ symcode='[[ABCDEGRST]]'
+ fi
+ lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
+ lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'"
+ ;;
+irix* | nonstopux*)
+ symcode='[[BCDEGRST]]'
+ ;;
+osf*)
+ symcode='[[BCDEGQRST]]'
+ ;;
+solaris* | sysv5*)
+ symcode='[[BDT]]'
+ ;;
+sysv4)
+ symcode='[[DFNSTU]]'
+ ;;
+esac
+
+# Handle CRLF in mingw tool chain
+opt_cr=
+case $build_os in
+mingw*)
+ opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp
+ ;;
+esac
+
+# If we're using GNU nm, then use its standard symbol codes.
+case `$NM -V 2>&1` in
+*GNU* | *'with BFD'*)
+ symcode='[[ABCDGISTW]]' ;;
+esac
+
+# Try without a prefix undercore, then with it.
+for ac_symprfx in "" "_"; do
+
+ # Write the raw and C identifiers.
+ lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*\($ac_symprfx\)$sympat$opt_cr$/$symxfrm/p'"
+
+ # Check to see that the pipe works correctly.
+ pipe_works=no
+
+ rm -f conftest*
+ cat > conftest.$ac_ext <<EOF
+#ifdef __cplusplus
+extern "C" {
+#endif
+char nm_test_var;
+void nm_test_func(){}
+#ifdef __cplusplus
+}
+#endif
+int main(){nm_test_var='a';nm_test_func();return(0);}
+EOF
+
+ if AC_TRY_EVAL(ac_compile); then
+ # Now try to grab the symbols.
+ nlist=conftest.nm
+ if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then
+ # Try sorting and uniquifying the output.
+ if sort "$nlist" | uniq > "$nlist"T; then
+ mv -f "$nlist"T "$nlist"
+ else
+ rm -f "$nlist"T
+ fi
+
+ # Make sure that we snagged all the symbols we need.
+ if grep ' nm_test_var$' "$nlist" >/dev/null; then
+ if grep ' nm_test_func$' "$nlist" >/dev/null; then
+ cat <<EOF > conftest.$ac_ext
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+EOF
+ # Now generate the symbol file.
+ eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext'
+
+ cat <<EOF >> conftest.$ac_ext
+#if defined (__STDC__) && __STDC__
+# define lt_ptr_t void *
+#else
+# define lt_ptr_t char *
+# define const
+#endif
+
+/* The mapping between symbol names and symbols. */
+const struct {
+ const char *name;
+ lt_ptr_t address;
+}
+lt_preloaded_symbols[[]] =
+{
+EOF
+ $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext
+ cat <<\EOF >> conftest.$ac_ext
+ {0, (lt_ptr_t) 0}
+};
+
+#ifdef __cplusplus
+}
+#endif
+EOF
+ # Now try linking the two files.
+ mv conftest.$ac_objext conftstm.$ac_objext
+ lt_save_LIBS="$LIBS"
+ lt_save_CFLAGS="$CFLAGS"
+ LIBS="conftstm.$ac_objext"
+ CFLAGS="$CFLAGS$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
+ if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then
+ pipe_works=yes
+ fi
+ LIBS="$lt_save_LIBS"
+ CFLAGS="$lt_save_CFLAGS"
+ else
+ echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
+ fi
+ else
+ echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
+ fi
+ else
+ echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
+ fi
+ else
+ echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
+ cat conftest.$ac_ext >&5
+ fi
+ rm -f conftest* conftst*
+
+ # Do not use the global_symbol_pipe unless it works.
+ if test "$pipe_works" = yes; then
+ break
+ else
+ lt_cv_sys_global_symbol_pipe=
+ fi
+done
+])
+if test -z "$lt_cv_sys_global_symbol_pipe"; then
+ lt_cv_sys_global_symbol_to_cdecl=
+fi
+if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
+ AC_MSG_RESULT(failed)
+else
+ AC_MSG_RESULT(ok)
+fi
+]) # AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
+
+
+# AC_LIBTOOL_PROG_COMPILER_PIC([TAGNAME])
+# ---------------------------------------
+AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC],
+[_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)=
+_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
+_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=
+
+AC_MSG_CHECKING([for $compiler option to produce PIC])
+ ifelse([$1],[CXX],[
+ # C++ specific cases for pic, static, wl, etc.
+ if test "$GXX" = yes; then
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
+
+ case $host_os in
+ aix*)
+ # All AIX code is PIC.
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ fi
+ ;;
+ amigaos*)
+ # FIXME: we need at least 68020 code to build shared libraries, but
+ # adding the `-m68020' flag to GCC prevents building anything better,
+ # like `-m68040'.
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
+ ;;
+ beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+ # PIC is the default for these OSes.
+ ;;
+ mingw* | os2* | pw32*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'
+ ;;
+ darwin* | rhapsody*)
+ # PIC is the default on this platform
+ # Common symbols not allowed in MH_DYLIB files
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
+ ;;
+ *djgpp*)
+ # DJGPP does not support shared libraries at all
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
+ ;;
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
+ fi
+ ;;
+ hpux*)
+ # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+ # not for PA HP-UX.
+ case "$host_cpu" in
+ hppa*64*|ia64*)
+ ;;
+ *)
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ esac
+ ;;
+ *)
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ esac
+ else
+ case $host_os in
+ aix4* | aix5*)
+ # All AIX code is PIC.
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ else
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
+ fi
+ ;;
+ chorus*)
+ case $cc_basename in
+ cxch68)
+ # Green Hills C++ Compiler
+ # _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
+ ;;
+ esac
+ ;;
+ dgux*)
+ case $cc_basename in
+ ec++)
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ ;;
+ ghcx)
+ # Green Hills C++ Compiler
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ freebsd* | kfreebsd*-gnu)
+ # FreeBSD uses GNU C++
+ ;;
+ hpux9* | hpux10* | hpux11*)
+ case $cc_basename in
+ CC)
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="${ac_cv_prog_cc_wl}-a ${ac_cv_prog_cc_wl}archive"
+ if test "$host_cpu" != ia64; then
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+ fi
+ ;;
+ aCC)
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="${ac_cv_prog_cc_wl}-a ${ac_cv_prog_cc_wl}archive"
+ case "$host_cpu" in
+ hppa*64*|ia64*)
+ # +Z the default
+ ;;
+ *)
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+ ;;
+ esac
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ irix5* | irix6* | nonstopux*)
+ case $cc_basename in
+ CC)
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ # CC pic flag -KPIC is the default.
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ linux*)
+ case $cc_basename in
+ KCC)
+ # KAI C++ Compiler
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ icpc)
+ # Intel C++
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
+ ;;
+ cxx)
+ # Compaq C++
+ # Make sure the PIC flag is empty. It appears that all Alpha
+ # Linux and Compaq Tru64 Unix objects are PIC.
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ lynxos*)
+ ;;
+ m88k*)
+ ;;
+ mvs*)
+ case $cc_basename in
+ cxx)
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ netbsd*)
+ ;;
+ osf3* | osf4* | osf5*)
+ case $cc_basename in
+ KCC)
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
+ ;;
+ RCC)
+ # Rational C++ 2.4.1
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+ ;;
+ cxx)
+ # Digital/Compaq C++
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ # Make sure the PIC flag is empty. It appears that all Alpha
+ # Linux and Compaq Tru64 Unix objects are PIC.
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ psos*)
+ ;;
+ sco*)
+ case $cc_basename in
+ CC)
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ solaris*)
+ case $cc_basename in
+ CC)
+ # Sun C++ 4.2, 5.x and Centerline C++
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+ ;;
+ gcx)
+ # Green Hills C++ Compiler
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ sunos4*)
+ case $cc_basename in
+ CC)
+ # Sun C++ 4.x
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+ lcc)
+ # Lucid
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ tandem*)
+ case $cc_basename in
+ NCC)
+ # NonStop-UX NCC 3.20
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ unixware*)
+ ;;
+ vxworks*)
+ ;;
+ *)
+ _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+ ;;
+ esac
+ fi
+],
+[
+ if test "$GCC" = yes; then
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
+
+ case $host_os in
+ aix*)
+ # All AIX code is PIC.
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ fi
+ ;;
+
+ amigaos*)
+ # FIXME: we need at least 68020 code to build shared libraries, but
+ # adding the `-m68020' flag to GCC prevents building anything better,
+ # like `-m68040'.
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
+ ;;
+
+ beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+ # PIC is the default for these OSes.
+ ;;
+
+ mingw* | pw32* | os2*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'
+ ;;
+
+ darwin* | rhapsody*)
+ # PIC is the default on this platform
+ # Common symbols not allowed in MH_DYLIB files
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
+ ;;
+
+ msdosdjgpp*)
+ # Just because we use GCC doesn't mean we suddenly get shared libraries
+ # on systems that don't support them.
+ _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+ enable_shared=no
+ ;;
+
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
+ fi
+ ;;
+
+ hpux*)
+ # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+ # not for PA HP-UX.
+ case "$host_cpu" in
+ hppa*64*|ia64*)
+ # +Z the default
+ ;;
+ *)
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ esac
+ ;;
+
+ *)
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ esac
+ else
+ # PORTME Check for flag to pass linker flags through the system compiler.
+ case $host_os in
+ aix*)
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ else
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
+ fi
+ ;;
+
+ mingw* | pw32* | os2*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'
+ ;;
+
+ hpux9* | hpux10* | hpux11*)
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+ # not for PA HP-UX.
+ case "$host_cpu" in
+ hppa*64*|ia64*)
+ # +Z the default
+ ;;
+ *)
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+ ;;
+ esac
+ # Is there a better lt_prog_compiler_static that works with the bundled CC?
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
+ ;;
+
+ irix5* | irix6* | nonstopux*)
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ # PIC (with -KPIC) is the default.
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+
+ newsos6)
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+
+ linux*)
+ case $CC in
+ icc* | ecc*)
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
+ ;;
+ ccc*)
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ # All Alpha code is PIC.
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+ esac
+ ;;
+
+ osf3* | osf4* | osf5*)
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ # All OSF/1 code is PIC.
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+
+ sco3.2v5*)
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kpic'
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-dn'
+ ;;
+
+ solaris*)
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+
+ sunos4*)
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+
+ sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+
+ sysv4*MP*)
+ if test -d /usr/nec ;then
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ fi
+ ;;
+
+ uts4*)
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+
+ *)
+ _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+ ;;
+ esac
+ fi
+])
+AC_MSG_RESULT([$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)])
+
+#
+# Check to make sure the PIC flag actually works.
+#
+if test -n "$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)"; then
+ AC_LIBTOOL_COMPILER_OPTION([if $compiler PIC flag $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) works],
+ _LT_AC_TAGVAR(lt_prog_compiler_pic_works, $1),
+ [$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])], [],
+ [case $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) in
+ "" | " "*) ;;
+ *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)" ;;
+ esac],
+ [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
+ _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
+fi
+case "$host_os" in
+ # For platforms which do not support PIC, -DPIC is meaningless:
+ *djgpp*)
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
+ ;;
+ *)
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])"
+ ;;
+esac
+])
+
+
+# AC_LIBTOOL_PROG_LD_SHLIBS([TAGNAME])
+# ------------------------------------
+# See if the linker supports building shared libraries.
+AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS],
+[AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
+ifelse([$1],[CXX],[
+ _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+ case $host_os in
+ aix4* | aix5*)
+ # If we're using GNU nm, then we don't want the "-C" option.
+ # -C means demangle to AIX nm, but means don't demangle with GNU nm
+ if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
+ _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
+ else
+ _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
+ fi
+ ;;
+ pw32*)
+ _LT_AC_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
+ ;;
+ cygwin* | mingw*)
+ _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGS]] /s/.* \([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols'
+ ;;
+ *)
+ _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+ ;;
+ esac
+],[
+ runpath_var=
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)=
+ _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+ _LT_AC_TAGVAR(archive_cmds, $1)=
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)=
+ _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)=
+ _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)=
+ _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
+ _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
+ _LT_AC_TAGVAR(thread_safe_flag_spec, $1)=
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
+ _LT_AC_TAGVAR(hardcode_direct, $1)=no
+ _LT_AC_TAGVAR(hardcode_minus_L, $1)=no
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+ _LT_AC_TAGVAR(link_all_deplibs, $1)=unknown
+ _LT_AC_TAGVAR(hardcode_automatic, $1)=no
+ _LT_AC_TAGVAR(module_cmds, $1)=
+ _LT_AC_TAGVAR(module_expsym_cmds, $1)=
+ _LT_AC_TAGVAR(always_export_symbols, $1)=no
+ _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+ # include_expsyms should be a list of space-separated symbols to be *always*
+ # included in the symbol list
+ _LT_AC_TAGVAR(include_expsyms, $1)=
+ # exclude_expsyms can be an extended regexp of symbols to exclude
+ # it will be wrapped by ` (' and `)$', so one must not match beginning or
+ # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
+ # as well as any symbol that contains `d'.
+ _LT_AC_TAGVAR(exclude_expsyms, $1)="_GLOBAL_OFFSET_TABLE_"
+ # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
+ # platforms (ab)use it in PIC code, but their linkers get confused if
+ # the symbol is explicitly referenced. Since portable code cannot
+ # rely on this symbol name, it's probably fine to never include it in
+ # preloaded symbol tables.
+ extract_expsyms_cmds=
+
+ case $host_os in
+ cygwin* | mingw* | pw32*)
+ # FIXME: the MSVC++ port hasn't been tested in a loooong time
+ # When not using gcc, we currently assume that we are using
+ # Microsoft Visual C++.
+ if test "$GCC" != yes; then
+ with_gnu_ld=no
+ fi
+ ;;
+ openbsd*)
+ with_gnu_ld=no
+ ;;
+ esac
+
+ _LT_AC_TAGVAR(ld_shlibs, $1)=yes
+ if test "$with_gnu_ld" = yes; then
+ # If archive_cmds runs LD, not CC, wlarc should be empty
+ wlarc='${wl}'
+
+ # See if GNU ld supports shared libraries.
+ case $host_os in
+ aix3* | aix4* | aix5*)
+ # On AIX/PPC, the GNU linker is very broken
+ if test "$host_cpu" != ia64; then
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ cat <<EOF 1>&2
+
+*** Warning: the GNU linker, at least up to release 2.9.1, is reported
+*** to be unable to reliably create shared libraries on AIX.
+*** Therefore, libtool is disabling shared libraries support. If you
+*** really care for shared libraries, you may want to modify your PATH
+*** so that a non-GNU linker is found, and then restart.
+
+EOF
+ fi
+ ;;
+
+ amigaos*)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+
+ # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports
+ # that the semantics of dynamic libraries on AmigaOS, at least up
+ # to version 4, is to share data among multiple programs linked
+ # with the same dynamic library. Since this doesn't match the
+ # behavior of shared libraries on other platforms, we can't use
+ # them.
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+
+ beos*)
+ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
+ # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
+ # support --undefined. This deserves some investigation. FIXME
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $compiler_flags $libobjs $deplibs ${wl}-soname $wl$soname -o $lib'
+ else
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ cygwin* | mingw* | pw32*)
+ # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
+ # as there is no search path for DLLs.
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)=no
+ _LT_AC_TAGVAR(always_export_symbols, $1)=no
+ _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+ _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGS]] /s/.* \([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols'
+
+ if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $compiler_flags $libobjs $deplibs -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib'
+ # If the export-symbols file already is a .def file (1st line
+ # is EXPORTS), use it as is; otherwise, prepend...
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+ cp $export_symbols $output_objdir/$soname.def;
+ else
+ echo EXPORTS > $output_objdir/$soname.def;
+ cat $export_symbols >> $output_objdir/$soname.def;
+ fi~
+ $CC -shared $output_objdir/$soname.def $compiler_flags $libobjs $deplibs -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib'
+ else
+ ld_shlibs=no
+ fi
+ ;;
+
+ netbsd*)
+ if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
+ wlarc=
+ else
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $compiler_flags $libobjs $deplibs ${wl}-soname $wl$soname -o $lib'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $compiler_flags $libobjs $deplibs ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ fi
+ ;;
+
+ solaris* | sysv5*)
+ if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ cat <<EOF 1>&2
+
+*** Warning: The releases 2.8.* of the GNU linker cannot reliably
+*** create shared libraries on Solaris systems. Therefore, libtool
+*** is disabling shared libraries support. We urge you to upgrade GNU
+*** binutils to release 2.9.1 or newer. Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+EOF
+ elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $compiler_flags $libobjs $deplibs ${wl}-soname $wl$soname -o $lib'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $compiler_flags $libobjs $deplibs ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ sunos4*)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ wlarc=
+ _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ *)
+ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $compiler_flags $libobjs $deplibs ${wl}-soname $wl$soname -o $lib'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $compiler_flags $libobjs $deplibs ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ esac
+
+ if test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = yes; then
+ runpath_var=LD_RUN_PATH
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
+ _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+ # ancient GNU ld didn't support --whole-archive et. al.
+ if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then
+ _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ else
+ _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
+ fi
+ fi
+ else
+ # PORTME fill in a description of your system's linker (not GNU ld)
+ case $host_os in
+ aix3*)
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
+ _LT_AC_TAGVAR(always_export_symbols, $1)=yes
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
+ # Note: this linker hardcodes the directories in LIBPATH if there
+ # are no directories specified by -L.
+ _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+ if test "$GCC" = yes && test -z "$link_static_flag"; then
+ # Neither direct hardcoding nor static linking is supported with a
+ # broken collect2.
+ _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
+ fi
+ ;;
+
+ aix4* | aix5*)
+ if test "$host_cpu" = ia64; then
+ # On IA64, the linker does run time linking by default, so we don't
+ # have to do anything special.
+ aix_use_runtimelinking=no
+ exp_sym_flag='-Bexport'
+ no_entry_flag=""
+ else
+ # If we're using GNU nm, then we don't want the "-C" option.
+ # -C means demangle to AIX nm, but means don't demangle with GNU nm
+ if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
+ _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
+ else
+ _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
+ fi
+
+ # KDE requires run time linking. Make it the default.
+ aix_use_runtimelinking=yes
+ exp_sym_flag='-bexport'
+ no_entry_flag='-bnoentry'
+ fi
+
+ # When large executables or shared objects are built, AIX ld can
+ # have problems creating the table of contents. If linking a library
+ # or program results in "error TOC overflow" add -mminimal-toc to
+ # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
+ # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+ _LT_AC_TAGVAR(archive_cmds, $1)=''
+ _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
+ _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+
+ if test "$GCC" = yes; then
+ case $host_os in aix4.[012]|aix4.[012].*)
+ # We only want to do this on AIX 4.2 and lower, the check
+ # below for broken collect2 doesn't work under 4.3+
+ collect2name=`${CC} -print-prog-name=collect2`
+ if test -f "$collect2name" && \
+ strings "$collect2name" | grep resolve_lib_name >/dev/null
+ then
+ # We have reworked collect2
+ _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+ else
+ # We have old collect2
+ _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
+ # It fails to find uninstalled libraries when the uninstalled
+ # path is not listed in the libpath. Setting hardcode_minus_L
+ # to unsupported forces relinking
+ _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
+ fi
+ esac
+ shared_flag='-shared'
+ else
+ # not using gcc
+ if test "$host_cpu" = ia64; then
+ # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+ # chokes on -Wl,-G. The following line is correct:
+ shared_flag='-G'
+ else
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag='-qmkshrobj ${wl}-G'
+ else
+ shared_flag='-qmkshrobj'
+ fi
+ fi
+ fi
+
+ # Let the compiler handle the export list.
+ _LT_AC_TAGVAR(always_export_symbols, $1)=no
+ if test "$aix_use_runtimelinking" = yes; then
+ # Warning - without using the other runtime loading flags (-brtl),
+ # -berok will link without error, but may produce a broken library.
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok'
+ # Determine the default libpath from the value encoded in an empty executable.
+ _LT_AC_SYS_LIBPATH_AIX
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+ _LT_AC_TAGVAR(archive_cmds, $1)="\$CC"' -o $output_objdir/$soname $compiler_flags $libobjs $deplibs `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '" $shared_flag"
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $compiler_flags $libobjs $deplibs `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+ else
+ if test "$host_cpu" = ia64; then
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $compiler_flags $libobjs $deplibs ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols"
+ else
+ # Determine the default libpath from the value encoded in an empty executable.
+ _LT_AC_SYS_LIBPATH_AIX
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+ # Warning - without using the other run time loading flags,
+ # -berok will link without error, but may produce a broken library.
+ _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
+ # -bexpall does not export symbols beginning with underscore (_)
+ _LT_AC_TAGVAR(always_export_symbols, $1)=yes
+ # Exported symbols can be pulled into shared objects from archives
+ _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=' '
+ _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
+ # This is similar to how AIX traditionally builds it's shared libraries.
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $compiler_flags $libobjs $deplibs ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+ fi
+ fi
+ ;;
+
+ amigaos*)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+ # see comment about different semantics on the GNU ld section
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+
+ bsdi4*)
+ _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
+ ;;
+
+ cygwin* | mingw* | pw32*)
+ # When not using gcc, we currently assume that we are using
+ # Microsoft Visual C++.
+ # hardcode_libdir_flag_spec is actually meaningless, as there is
+ # no search path for DLLs.
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)=no
+ # Tell ltmain to make .lib files, not .a files.
+ libext=lib
+ # Tell ltmain to make .dll files, not .so files.
+ shrext=".dll"
+ # FIXME: Setting linknames here is a bad hack.
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -o $lib $compiler_flags $libobjs `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames='
+ # The linker will automatically build a .lib file if we build a DLL.
+ _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='true'
+ # FIXME: Should let the user specify the lib program.
+ _LT_AC_TAGVAR(old_archive_cmds, $1)='lib /OUT:$oldlib$oldobjs$old_deplibs'
+ fix_srcfile_path='`cygpath -w "$srcfile"`'
+ _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+ ;;
+
+ darwin* | rhapsody*)
+ if test "$GXX" = yes ; then
+ _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+ case "$host_os" in
+ rhapsody* | darwin1.[[012]])
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)='-Wl,-undefined -Wl,suppress'
+ ;;
+ *) # Darwin 1.3 on
+ if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)='-Wl,-flat_namespace -Wl,-undefined -Wl,suppress'
+ else
+ case ${MACOSX_DEPLOYMENT_TARGET} in
+ 10.[012])
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)='-Wl,-flat_namespace -Wl,-undefined -Wl,suppress'
+ ;;
+ 10.*)
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)='-Wl,-undefined -Wl,dynamic_lookup'
+ ;;
+ esac
+ fi
+ ;;
+ esac
+ lt_int_apple_cc_single_mod=no
+ output_verbose_link_cmd='echo'
+ if $CC -dumpspecs 2>&1 | grep 'single_module' >/dev/null ; then
+ lt_int_apple_cc_single_mod=yes
+ fi
+ if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $compiler_flags $libobjs $deplibs -install_name $rpath/$soname $verstring'
+ else
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $compiler_flags $deplibs -install_name $rpath/$soname $verstring'
+ fi
+ _LT_AC_TAGVAR(module_cmds, $1)='$CC ${wl}-bind_at_load $allow_undefined_flag -o $lib -bundle $compiler_flags $libobjs $deplibs'
+ # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
+ if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $compiler_flags $libobjs $deplibs -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ else
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $compiler_flags $deplibs -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ fi
+ _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $compiler_flags $libobjs $deplibs~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ _LT_AC_TAGVAR(hardcode_direct, $1)=no
+ _LT_AC_TAGVAR(hardcode_automatic, $1)=yes
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+ _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-all_load $convenience'
+ _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+ else
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ dgux*)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ freebsd1*)
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+
+ # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
+ # support. Future versions do this automatically, but an explicit c++rt0.o
+ # does not break anything, and helps significantly (at the cost of a little
+ # extra space).
+ freebsd2.2*)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ # Unfortunately, older versions of FreeBSD 2 do not have this feature.
+ freebsd2*)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+ _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
+ freebsd* | kfreebsd*-gnu)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $compiler_flags $libobjs $deplibs'
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ hpux9*)
+ if test "$GCC" = yes; then
+ _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $compiler_flags $libobjs $deplibs~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ else
+ _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ fi
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ ;;
+
+ hpux10* | hpux11*)
+ if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+ case "$host_cpu" in
+ hppa*64*|ia64*)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $compiler_flags $libobjs $deplibs'
+ ;;
+ *)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $compiler_flags $libobjs $deplibs'
+ ;;
+ esac
+ else
+ case "$host_cpu" in
+ hppa*64*|ia64*)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $libobjs $deplibs $linker_flags'
+ ;;
+ *)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+ ;;
+ esac
+ fi
+ if test "$with_gnu_ld" = no; then
+ case "$host_cpu" in
+ hppa*64*)
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_AC_TAGVAR(hardcode_direct, $1)=no
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+ ia64*)
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_AC_TAGVAR(hardcode_direct, $1)=no
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+ ;;
+ *)
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+ _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+ ;;
+ esac
+ fi
+ ;;
+
+ irix5* | irix6* | nonstopux*)
+ if test "$GCC" = yes; then
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $compiler_flags $libobjs $deplibs ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ else
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir'
+ fi
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+ ;;
+
+ netbsd*)
+ if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
+ else
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
+ fi
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ newsos6)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ openbsd*)
+ _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $compiler_flags $libobjs $deplibs'
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ else
+ case $host_os in
+ openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ ;;
+ *)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $compiler_flags $libobjs $deplibs'
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ ;;
+ esac
+ fi
+ ;;
+
+ os2*)
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
+ _LT_AC_TAGVAR(archive_cmds, $1)='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $compiler_flags $libobjs $deplibs$output_objdir/$libname.def'
+ _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
+ ;;
+
+ osf3*)
+ if test "$GCC" = yes; then
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $compiler_flags $libobjs $deplibs ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ else
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+ fi
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+ ;;
+
+ osf4* | osf5*) # as osf3* with the addition of -msym flag
+ if test "$GCC" = yes; then
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $compiler_flags $libobjs $deplibs ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ else
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~
+ $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib~$rm $lib.exp'
+
+ # Both c and cxx compiler support -rpath directly
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+ fi
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+ ;;
+
+ sco3.2v5*)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
+ runpath_var=LD_RUN_PATH
+ hardcode_runpath_var=yes
+ ;;
+
+ solaris*)
+ _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text'
+ if test "$GCC" = yes; then
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $compiler_flags $libobjs $deplibs'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+ $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $compiler_flags $libobjs $deplibs~$rm $lib.exp'
+ else
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
+ fi
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ case $host_os in
+ solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
+ *) # Supported since Solaris 2.6 (maybe 2.5.1?)
+ _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' ;;
+ esac
+ _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+ ;;
+
+ sunos4*)
+ if test "x$host_vendor" = xsequent; then
+ # Use $CC to link under sequent, because it throws in some extra .o
+ # files that make .init and .fini sections work.
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $compiler_flags $libobjs $deplibs'
+ else
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
+ fi
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+ _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ sysv4)
+ case $host_vendor in
+ sni)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_AC_TAGVAR(hardcode_direct, $1)=yes # is this really true???
+ ;;
+ siemens)
+ ## LD is ld it makes a PLAMLIB
+ ## CC just makes a GrossModule.
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
+ _LT_AC_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
+ _LT_AC_TAGVAR(hardcode_direct, $1)=no
+ ;;
+ motorola)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_AC_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
+ ;;
+ esac
+ runpath_var='LD_RUN_PATH'
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ sysv4.3*)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
+ ;;
+
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ runpath_var=LD_RUN_PATH
+ hardcode_runpath_var=yes
+ _LT_AC_TAGVAR(ld_shlibs, $1)=yes
+ fi
+ ;;
+
+ sysv4.2uw2*)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
+ _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+ _LT_AC_TAGVAR(hardcode_minus_L, $1)=no
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ hardcode_runpath_var=yes
+ runpath_var=LD_RUN_PATH
+ ;;
+
+ sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[[78]]* | unixware7*)
+ _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z ${wl}text'
+ if test "$GCC" = yes; then
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $compiler_flags $libobjs $deplibs'
+ else
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h ${wl}$soname -o $lib $compiler_flags $libobjs $deplibs'
+ fi
+ runpath_var='LD_RUN_PATH'
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ sysv5*)
+ _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text'
+ # $CC -shared without GNU ld will not create a library from C++
+ # object files and a static libstdc++, better avoid it by now
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ runpath_var='LD_RUN_PATH'
+ ;;
+
+ uts4*)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ *)
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+ fi
+])
+AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)])
+test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
+
+variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+if test "$GCC" = yes; then
+ variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+fi
+
+#
+# Do we need to explicitly link libc?
+#
+case "x$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)" in
+x|xyes)
+ # Assume -lc should be added
+ _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
+
+ if test "$enable_shared" = yes && test "$GCC" = yes; then
+ case $_LT_AC_TAGVAR(archive_cmds, $1) in
+ *'~'*)
+ # FIXME: we may have to deal with multi-command sequences.
+ ;;
+ '$CC '*)
+ # Test whether the compiler implicitly links with -lc since on some
+ # systems, -lgcc has to come before -lc. If gcc already passes -lc
+ # to ld, don't add -lc before -lgcc.
+ AC_MSG_CHECKING([whether -lc should be explicitly linked in])
+ $rm conftest*
+ printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+ if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
+ soname=conftest
+ lib=conftest
+ libobjs=conftest.$ac_objext
+ deplibs=
+ wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)
+ compiler_flags=-v
+ linker_flags=-v
+ verstring=
+ output_objdir=.
+ libname=conftest
+ lt_save_allow_undefined_flag=$_LT_AC_TAGVAR(allow_undefined_flag, $1)
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)=
+ if AC_TRY_EVAL(_LT_AC_TAGVAR(archive_cmds, $1) 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1)
+ then
+ _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+ else
+ _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
+ fi
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
+ else
+ cat conftest.err 1>&5
+ fi
+ $rm conftest*
+ AC_MSG_RESULT([$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)])
+ ;;
+ esac
+ fi
+ ;;
+esac
+])# AC_LIBTOOL_PROG_LD_SHLIBS
+
+
+# _LT_AC_FILE_LTDLL_C
+# -------------------
+# Be careful that the start marker always follows a newline.
+AC_DEFUN([_LT_AC_FILE_LTDLL_C], [
+# /* ltdll.c starts here */
+# #define WIN32_LEAN_AND_MEAN
+# #include <windows.h>
+# #undef WIN32_LEAN_AND_MEAN
+# #include <stdio.h>
+#
+# #ifndef __CYGWIN__
+# # ifdef __CYGWIN32__
+# # define __CYGWIN__ __CYGWIN32__
+# # endif
+# #endif
+#
+# #ifdef __cplusplus
+# extern "C" {
+# #endif
+# BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved);
+# #ifdef __cplusplus
+# }
+# #endif
+#
+# #ifdef __CYGWIN__
+# #include <cygwin/cygwin_dll.h>
+# DECLARE_CYGWIN_DLL( DllMain );
+# #endif
+# HINSTANCE __hDllInstance_base;
+#
+# BOOL APIENTRY
+# DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved)
+# {
+# __hDllInstance_base = hInst;
+# return TRUE;
+# }
+# /* ltdll.c ends here */
+])# _LT_AC_FILE_LTDLL_C
+
+
+# _LT_AC_TAGVAR(VARNAME, [TAGNAME])
+# ---------------------------------
+AC_DEFUN([_LT_AC_TAGVAR], [ifelse([$2], [], [$1], [$1_$2])])
+
+
+# old names
+AC_DEFUN([AM_PROG_LIBTOOL], [AC_PROG_LIBTOOL])
+AC_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
+AC_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
+AC_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
+AC_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
+AC_DEFUN([AM_PROG_LD], [AC_PROG_LD])
+AC_DEFUN([AM_PROG_NM], [AC_PROG_NM])
+
+# This is just to silence aclocal about the macro not being used
+ifelse([AC_DISABLE_FAST_INSTALL])
+
+AC_DEFUN([LT_AC_PROG_GCJ],
+[AC_CHECK_TOOL(GCJ, gcj, no)
+ test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2"
+ AC_SUBST(GCJFLAGS)
+])
+
+AC_DEFUN([LT_AC_PROG_RC],
+[AC_CHECK_TOOL(RC, windres, no)
+])
+
+############################################################
+# NOTE: This macro has been submitted for inclusion into #
+# GNU Autoconf as AC_PROG_SED. When it is available in #
+# a released version of Autoconf we should remove this #
+# macro and use it instead. #
+############################################################
+# LT_AC_PROG_SED
+# --------------
+# Check for a fully-functional sed program, that truncates
+# as few characters as possible. Prefer GNU sed if found.
+AC_DEFUN([LT_AC_PROG_SED],
+[AC_MSG_CHECKING([for a sed that does not truncate output])
+AC_CACHE_VAL(lt_cv_path_SED,
+[# Loop through the user's path and test for sed and gsed.
+# Then use that list of sed's as ones to test for truncation.
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for lt_ac_prog in sed gsed; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
+ lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
+ fi
+ done
+ done
+done
+lt_ac_max=0
+lt_ac_count=0
+# Add /usr/xpg4/bin/sed as it is typically found on Solaris
+# along with /bin/sed that truncates output.
+for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
+ test ! -f $lt_ac_sed && break
+ cat /dev/null > conftest.in
+ lt_ac_count=0
+ echo $ECHO_N "0123456789$ECHO_C" >conftest.in
+ # Check for GNU sed and select it if it is found.
+ if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
+ lt_cv_path_SED=$lt_ac_sed
+ break
+ fi
+ while true; do
+ cat conftest.in conftest.in >conftest.tmp
+ mv conftest.tmp conftest.in
+ cp conftest.in conftest.nl
+ echo >>conftest.nl
+ $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
+ cmp -s conftest.out conftest.nl || break
+ # 10000 chars as input seems more than enough
+ test $lt_ac_count -gt 10 && break
+ lt_ac_count=`expr $lt_ac_count + 1`
+ if test $lt_ac_count -gt $lt_ac_max; then
+ lt_ac_max=$lt_ac_count
+ lt_cv_path_SED=$lt_ac_sed
+ fi
+ done
+done
+])
+SED=$lt_cv_path_SED
+AC_MSG_RESULT([$SED])
+])
+
+dnl PKG_CHECK_MODULES(GSTUFF, gtk+-2.0 >= 1.3 glib = 1.3.4, action-if, action-not)
+dnl defines GSTUFF_LIBS, GSTUFF_CFLAGS, see pkg-config man page
+dnl also defines GSTUFF_PKG_ERRORS on error
+AC_DEFUN([PKG_CHECK_MODULES], [
+ succeeded=no
+
+ if test -z "$PKG_CONFIG"; then
+ AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
+ fi
+
+ if test "$PKG_CONFIG" = "no" ; then
+ echo "*** The pkg-config script could not be found. Make sure it is"
+ echo "*** in your path, or set the PKG_CONFIG environment variable"
+ echo "*** to the full path to pkg-config."
+ echo "*** Or see http://www.freedesktop.org/software/pkgconfig to get pkg-config."
+ else
+ PKG_CONFIG_MIN_VERSION=0.9.0
+ if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then
+ AC_MSG_CHECKING(for $2)
+
+ if $PKG_CONFIG --exists "$2" ; then
+ AC_MSG_RESULT(yes)
+ succeeded=yes
+
+ AC_MSG_CHECKING($1_CFLAGS)
+ $1_CFLAGS=`$PKG_CONFIG --cflags "$2"`
+ AC_MSG_RESULT($$1_CFLAGS)
+
+ AC_MSG_CHECKING($1_LIBS)
+ $1_LIBS=`$PKG_CONFIG --libs "$2"`
+ AC_MSG_RESULT($$1_LIBS)
+ else
+ $1_CFLAGS=""
+ $1_LIBS=""
+ ## If we have a custom action on failure, don't print errors, but
+ ## do set a variable so people can do so.
+ $1_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"`
+ ifelse([$4], ,echo $$1_PKG_ERRORS,)
+ fi
+
+ AC_SUBST($1_CFLAGS)
+ AC_SUBST($1_LIBS)
+ else
+ echo "*** Your version of pkg-config is too old. You need version $PKG_CONFIG_MIN_VERSION or newer."
+ echo "*** See http://www.freedesktop.org/software/pkgconfig"
+ fi
+ fi
+
+ if test $succeeded = yes; then
+ ifelse([$3], , :, [$3])
+ else
+ ifelse([$4], , AC_MSG_ERROR([Library requirements ($2) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them.]), [$4])
+ fi
+])
+
+
diff --git a/aclocal.m4 b/aclocal.m4
new file mode 100644
index 0000000..dd92cb3
--- /dev/null
+++ b/aclocal.m4
@@ -0,0 +1,863 @@
+# generated automatically by aclocal 1.9.6 -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+# 2005 Free Software Foundation, Inc.
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+# Copyright (C) 2002, 2003, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_AUTOMAKE_VERSION(VERSION)
+# ----------------------------
+# Automake X.Y traces this macro to ensure aclocal.m4 has been
+# generated from the m4 files accompanying Automake X.Y.
+AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version="1.9"])
+
+# AM_SET_CURRENT_AUTOMAKE_VERSION
+# -------------------------------
+# Call AM_AUTOMAKE_VERSION so it can be traced.
+# This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
+AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
+ [AM_AUTOMAKE_VERSION([1.9.6])])
+
+# AM_AUX_DIR_EXPAND -*- Autoconf -*-
+
+# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
+# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to
+# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
+#
+# Of course, Automake must honor this variable whenever it calls a
+# tool from the auxiliary directory. The problem is that $srcdir (and
+# therefore $ac_aux_dir as well) can be either absolute or relative,
+# depending on how configure is run. This is pretty annoying, since
+# it makes $ac_aux_dir quite unusable in subdirectories: in the top
+# source directory, any form will work fine, but in subdirectories a
+# relative path needs to be adjusted first.
+#
+# $ac_aux_dir/missing
+# fails when called from a subdirectory if $ac_aux_dir is relative
+# $top_srcdir/$ac_aux_dir/missing
+# fails if $ac_aux_dir is absolute,
+# fails when called from a subdirectory in a VPATH build with
+# a relative $ac_aux_dir
+#
+# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
+# are both prefixed by $srcdir. In an in-source build this is usually
+# harmless because $srcdir is `.', but things will broke when you
+# start a VPATH build or use an absolute $srcdir.
+#
+# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
+# iff we strip the leading $srcdir from $ac_aux_dir. That would be:
+# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
+# and then we would define $MISSING as
+# MISSING="\${SHELL} $am_aux_dir/missing"
+# This will work as long as MISSING is not called from configure, because
+# unfortunately $(top_srcdir) has no meaning in configure.
+# However there are other variables, like CC, which are often used in
+# configure, and could therefore not use this "fixed" $ac_aux_dir.
+#
+# Another solution, used here, is to always expand $ac_aux_dir to an
+# absolute PATH. The drawback is that using absolute paths prevent a
+# configured tree to be moved without reconfiguration.
+
+AC_DEFUN([AM_AUX_DIR_EXPAND],
+[dnl Rely on autoconf to set up CDPATH properly.
+AC_PREREQ([2.50])dnl
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
+])
+
+# AM_CONDITIONAL -*- Autoconf -*-
+
+# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 7
+
+# AM_CONDITIONAL(NAME, SHELL-CONDITION)
+# -------------------------------------
+# Define a conditional.
+AC_DEFUN([AM_CONDITIONAL],
+[AC_PREREQ(2.52)dnl
+ ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
+ [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+AC_SUBST([$1_TRUE])
+AC_SUBST([$1_FALSE])
+if $2; then
+ $1_TRUE=
+ $1_FALSE='#'
+else
+ $1_TRUE='#'
+ $1_FALSE=
+fi
+AC_CONFIG_COMMANDS_PRE(
+[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
+ AC_MSG_ERROR([[conditional "$1" was never defined.
+Usually this means the macro was only invoked conditionally.]])
+fi])])
+
+
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 8
+
+# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
+# written in clear, in which case automake, when reading aclocal.m4,
+# will think it sees a *use*, and therefore will trigger all it's
+# C support machinery. Also note that it means that autoscan, seeing
+# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
+
+
+# _AM_DEPENDENCIES(NAME)
+# ----------------------
+# See how the compiler implements dependency checking.
+# NAME is "CC", "CXX", "GCJ", or "OBJC".
+# We try a few techniques and use that to set a single cache variable.
+#
+# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
+# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
+# dependency, and given that the user is not expected to run this macro,
+# just rely on AC_PROG_CC.
+AC_DEFUN([_AM_DEPENDENCIES],
+[AC_REQUIRE([AM_SET_DEPDIR])dnl
+AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
+AC_REQUIRE([AM_MAKE_INCLUDE])dnl
+AC_REQUIRE([AM_DEP_TRACK])dnl
+
+ifelse([$1], CC, [depcc="$CC" am_compiler_list=],
+ [$1], CXX, [depcc="$CXX" am_compiler_list=],
+ [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
+ [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'],
+ [depcc="$$1" am_compiler_list=])
+
+AC_CACHE_CHECK([dependency style of $depcc],
+ [am_cv_$1_dependencies_compiler_type],
+[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+ # We make a subdir and do the tests there. Otherwise we can end up
+ # making bogus files that we don't know about and never remove. For
+ # instance it was reported that on HP-UX the gcc test will end up
+ # making a dummy file named `D' -- because `-MD' means `put the output
+ # in D'.
+ mkdir conftest.dir
+ # Copy depcomp to subdir because otherwise we won't find it if we're
+ # using a relative directory.
+ cp "$am_depcomp" conftest.dir
+ cd conftest.dir
+ # We will build objects and dependencies in a subdirectory because
+ # it helps to detect inapplicable dependency modes. For instance
+ # both Tru64's cc and ICC support -MD to output dependencies as a
+ # side effect of compilation, but ICC will put the dependencies in
+ # the current directory while Tru64 will put them in the object
+ # directory.
+ mkdir sub
+
+ am_cv_$1_dependencies_compiler_type=none
+ if test "$am_compiler_list" = ""; then
+ am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
+ fi
+ for depmode in $am_compiler_list; do
+ # Setup a source with many dependencies, because some compilers
+ # like to wrap large dependency lists on column 80 (with \), and
+ # we should not choose a depcomp mode which is confused by this.
+ #
+ # We need to recreate these files for each test, as the compiler may
+ # overwrite some of them when testing with obscure command lines.
+ # This happens at least with the AIX C compiler.
+ : > sub/conftest.c
+ for i in 1 2 3 4 5 6; do
+ echo '#include "conftst'$i'.h"' >> sub/conftest.c
+ # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+ # Solaris 8's {/usr,}/bin/sh.
+ touch sub/conftst$i.h
+ done
+ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+ case $depmode in
+ nosideeffect)
+ # after this tag, mechanisms are not by side-effect, so they'll
+ # only be used when explicitly requested
+ if test "x$enable_dependency_tracking" = xyes; then
+ continue
+ else
+ break
+ fi
+ ;;
+ none) break ;;
+ esac
+ # We check with `-c' and `-o' for the sake of the "dashmstdout"
+ # mode. It turns out that the SunPro C++ compiler does not properly
+ # handle `-M -o', and we need to detect this.
+ if depmode=$depmode \
+ source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
+ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
+ >/dev/null 2>conftest.err &&
+ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
+ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+ # icc doesn't choke on unknown options, it will just issue warnings
+ # or remarks (even with -Werror). So we grep stderr for any message
+ # that says an option was ignored or not supported.
+ # When given -MP, icc 7.0 and 7.1 complain thusly:
+ # icc: Command line warning: ignoring option '-M'; no argument required
+ # The diagnosis changed in icc 8.0:
+ # icc: Command line remark: option '-MP' not supported
+ if (grep 'ignoring option' conftest.err ||
+ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+ am_cv_$1_dependencies_compiler_type=$depmode
+ break
+ fi
+ fi
+ done
+
+ cd ..
+ rm -rf conftest.dir
+else
+ am_cv_$1_dependencies_compiler_type=none
+fi
+])
+AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
+AM_CONDITIONAL([am__fastdep$1], [
+ test "x$enable_dependency_tracking" != xno \
+ && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
+])
+
+
+# AM_SET_DEPDIR
+# -------------
+# Choose a directory name for dependency files.
+# This macro is AC_REQUIREd in _AM_DEPENDENCIES
+AC_DEFUN([AM_SET_DEPDIR],
+[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
+])
+
+
+# AM_DEP_TRACK
+# ------------
+AC_DEFUN([AM_DEP_TRACK],
+[AC_ARG_ENABLE(dependency-tracking,
+[ --disable-dependency-tracking speeds up one-time build
+ --enable-dependency-tracking do not reject slow dependency extractors])
+if test "x$enable_dependency_tracking" != xno; then
+ am_depcomp="$ac_aux_dir/depcomp"
+ AMDEPBACKSLASH='\'
+fi
+AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
+AC_SUBST([AMDEPBACKSLASH])
+])
+
+# Generate code to set up dependency tracking. -*- Autoconf -*-
+
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+#serial 3
+
+# _AM_OUTPUT_DEPENDENCY_COMMANDS
+# ------------------------------
+AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
+[for mf in $CONFIG_FILES; do
+ # Strip MF so we end up with the name of the file.
+ mf=`echo "$mf" | sed -e 's/:.*$//'`
+ # Check whether this is an Automake generated Makefile or not.
+ # We used to match only the files named `Makefile.in', but
+ # some people rename them; so instead we look at the file content.
+ # Grep'ing the first line is not enough: some people post-process
+ # each Makefile.in and add a new line on top of each file to say so.
+ # So let's grep whole file.
+ if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then
+ dirpart=`AS_DIRNAME("$mf")`
+ else
+ continue
+ fi
+ # Extract the definition of DEPDIR, am__include, and am__quote
+ # from the Makefile without running `make'.
+ DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+ test -z "$DEPDIR" && continue
+ am__include=`sed -n 's/^am__include = //p' < "$mf"`
+ test -z "am__include" && continue
+ am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+ # When using ansi2knr, U may be empty or an underscore; expand it
+ U=`sed -n 's/^U = //p' < "$mf"`
+ # Find all dependency output files, they are included files with
+ # $(DEPDIR) in their names. We invoke sed twice because it is the
+ # simplest approach to changing $(DEPDIR) to its actual value in the
+ # expansion.
+ for file in `sed -n "
+ s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+ # Make sure the directory exists.
+ test -f "$dirpart/$file" && continue
+ fdir=`AS_DIRNAME(["$file"])`
+ AS_MKDIR_P([$dirpart/$fdir])
+ # echo "creating $dirpart/$file"
+ echo '# dummy' > "$dirpart/$file"
+ done
+done
+])# _AM_OUTPUT_DEPENDENCY_COMMANDS
+
+
+# AM_OUTPUT_DEPENDENCY_COMMANDS
+# -----------------------------
+# This macro should only be invoked once -- use via AC_REQUIRE.
+#
+# This code is only required when automatic dependency tracking
+# is enabled. FIXME. This creates each `.P' file that we will
+# need in order to bootstrap the dependency handling code.
+AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
+[AC_CONFIG_COMMANDS([depfiles],
+ [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
+ [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
+])
+
+# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 8
+
+# AM_CONFIG_HEADER is obsolete. It has been replaced by AC_CONFIG_HEADERS.
+AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)])
+
+# Do all the work for Automake. -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 12
+
+# This macro actually does too much. Some checks are only needed if
+# your package does certain things. But this isn't really a big deal.
+
+# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
+# AM_INIT_AUTOMAKE([OPTIONS])
+# -----------------------------------------------
+# The call with PACKAGE and VERSION arguments is the old style
+# call (pre autoconf-2.50), which is being phased out. PACKAGE
+# and VERSION should now be passed to AC_INIT and removed from
+# the call to AM_INIT_AUTOMAKE.
+# We support both call styles for the transition. After
+# the next Automake release, Autoconf can make the AC_INIT
+# arguments mandatory, and then we can depend on a new Autoconf
+# release and drop the old call support.
+AC_DEFUN([AM_INIT_AUTOMAKE],
+[AC_PREREQ([2.58])dnl
+dnl Autoconf wants to disallow AM_ names. We explicitly allow
+dnl the ones we care about.
+m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
+AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
+AC_REQUIRE([AC_PROG_INSTALL])dnl
+# test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" &&
+ test -f $srcdir/config.status; then
+ AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+fi
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+ if (cygpath --version) >/dev/null 2>/dev/null; then
+ CYGPATH_W='cygpath -w'
+ else
+ CYGPATH_W=echo
+ fi
+fi
+AC_SUBST([CYGPATH_W])
+
+# Define the identity of the package.
+dnl Distinguish between old-style and new-style calls.
+m4_ifval([$2],
+[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
+ AC_SUBST([PACKAGE], [$1])dnl
+ AC_SUBST([VERSION], [$2])],
+[_AM_SET_OPTIONS([$1])dnl
+ AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
+ AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
+
+_AM_IF_OPTION([no-define],,
+[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+ AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
+
+# Some tools Automake needs.
+AC_REQUIRE([AM_SANITY_CHECK])dnl
+AC_REQUIRE([AC_ARG_PROGRAM])dnl
+AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
+AM_MISSING_PROG(AUTOCONF, autoconf)
+AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
+AM_MISSING_PROG(AUTOHEADER, autoheader)
+AM_MISSING_PROG(MAKEINFO, makeinfo)
+AM_PROG_INSTALL_SH
+AM_PROG_INSTALL_STRIP
+AC_REQUIRE([AM_PROG_MKDIR_P])dnl
+# We need awk for the "check" target. The system "awk" is bad on
+# some platforms.
+AC_REQUIRE([AC_PROG_AWK])dnl
+AC_REQUIRE([AC_PROG_MAKE_SET])dnl
+AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
+ [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
+ [_AM_PROG_TAR([v7])])])
+_AM_IF_OPTION([no-dependencies],,
+[AC_PROVIDE_IFELSE([AC_PROG_CC],
+ [_AM_DEPENDENCIES(CC)],
+ [define([AC_PROG_CC],
+ defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_CXX],
+ [_AM_DEPENDENCIES(CXX)],
+ [define([AC_PROG_CXX],
+ defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
+])
+])
+
+
+# When config.status generates a header, we must update the stamp-h file.
+# This file resides in the same directory as the config header
+# that is generated. The stamp files are numbered to have different names.
+
+# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
+# loop where config.status creates the headers, so we can generate
+# our stamp files there.
+AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
+[# Compute $1's index in $config_headers.
+_am_stamp_count=1
+for _am_header in $config_headers :; do
+ case $_am_header in
+ $1 | $1:* )
+ break ;;
+ * )
+ _am_stamp_count=`expr $_am_stamp_count + 1` ;;
+ esac
+done
+echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count])
+
+# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_INSTALL_SH
+# ------------------
+# Define $install_sh.
+AC_DEFUN([AM_PROG_INSTALL_SH],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+install_sh=${install_sh-"$am_aux_dir/install-sh"}
+AC_SUBST(install_sh)])
+
+# Copyright (C) 2003, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 2
+
+# Check whether the underlying file-system supports filenames
+# with a leading dot. For instance MS-DOS doesn't.
+AC_DEFUN([AM_SET_LEADING_DOT],
+[rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+ am__leading_dot=.
+else
+ am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+AC_SUBST([am__leading_dot])])
+
+# Check to see how 'make' treats includes. -*- Autoconf -*-
+
+# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 3
+
+# AM_MAKE_INCLUDE()
+# -----------------
+# Check to see how make treats includes.
+AC_DEFUN([AM_MAKE_INCLUDE],
+[am_make=${MAKE-make}
+cat > confinc << 'END'
+am__doit:
+ @echo done
+.PHONY: am__doit
+END
+# If we don't find an include directive, just comment out the code.
+AC_MSG_CHECKING([for style of include used by $am_make])
+am__include="#"
+am__quote=
+_am_result=none
+# First try GNU make style include.
+echo "include confinc" > confmf
+# We grep out `Entering directory' and `Leaving directory'
+# messages which can occur if `w' ends up in MAKEFLAGS.
+# In particular we don't look at `^make:' because GNU make might
+# be invoked under some other name (usually "gmake"), in which
+# case it prints its new name instead of `make'.
+if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then
+ am__include=include
+ am__quote=
+ _am_result=GNU
+fi
+# Now try BSD make style include.
+if test "$am__include" = "#"; then
+ echo '.include "confinc"' > confmf
+ if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
+ am__include=.include
+ am__quote="\""
+ _am_result=BSD
+ fi
+fi
+AC_SUBST([am__include])
+AC_SUBST([am__quote])
+AC_MSG_RESULT([$_am_result])
+rm -f confinc confmf
+])
+
+# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
+
+# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 4
+
+# AM_MISSING_PROG(NAME, PROGRAM)
+# ------------------------------
+AC_DEFUN([AM_MISSING_PROG],
+[AC_REQUIRE([AM_MISSING_HAS_RUN])
+$1=${$1-"${am_missing_run}$2"}
+AC_SUBST($1)])
+
+
+# AM_MISSING_HAS_RUN
+# ------------------
+# Define MISSING if not defined so far and test if it supports --run.
+# If it does, set am_missing_run to use it, otherwise, to nothing.
+AC_DEFUN([AM_MISSING_HAS_RUN],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
+# Use eval to expand $SHELL
+if eval "$MISSING --run true"; then
+ am_missing_run="$MISSING --run "
+else
+ am_missing_run=
+ AC_MSG_WARN([`missing' script is too old or missing])
+fi
+])
+
+# Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_MKDIR_P
+# ---------------
+# Check whether `mkdir -p' is supported, fallback to mkinstalldirs otherwise.
+#
+# Automake 1.8 used `mkdir -m 0755 -p --' to ensure that directories
+# created by `make install' are always world readable, even if the
+# installer happens to have an overly restrictive umask (e.g. 077).
+# This was a mistake. There are at least two reasons why we must not
+# use `-m 0755':
+# - it causes special bits like SGID to be ignored,
+# - it may be too restrictive (some setups expect 775 directories).
+#
+# Do not use -m 0755 and let people choose whatever they expect by
+# setting umask.
+#
+# We cannot accept any implementation of `mkdir' that recognizes `-p'.
+# Some implementations (such as Solaris 8's) are not thread-safe: if a
+# parallel make tries to run `mkdir -p a/b' and `mkdir -p a/c'
+# concurrently, both version can detect that a/ is missing, but only
+# one can create it and the other will error out. Consequently we
+# restrict ourselves to GNU make (using the --version option ensures
+# this.)
+AC_DEFUN([AM_PROG_MKDIR_P],
+[if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
+ # We used to keeping the `.' as first argument, in order to
+ # allow $(mkdir_p) to be used without argument. As in
+ # $(mkdir_p) $(somedir)
+ # where $(somedir) is conditionally defined. However this is wrong
+ # for two reasons:
+ # 1. if the package is installed by a user who cannot write `.'
+ # make install will fail,
+ # 2. the above comment should most certainly read
+ # $(mkdir_p) $(DESTDIR)$(somedir)
+ # so it does not work when $(somedir) is undefined and
+ # $(DESTDIR) is not.
+ # To support the latter case, we have to write
+ # test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir),
+ # so the `.' trick is pointless.
+ mkdir_p='mkdir -p --'
+else
+ # On NextStep and OpenStep, the `mkdir' command does not
+ # recognize any option. It will interpret all options as
+ # directories to create, and then abort because `.' already
+ # exists.
+ for d in ./-p ./--version;
+ do
+ test -d $d && rmdir $d
+ done
+ # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists.
+ if test -f "$ac_aux_dir/mkinstalldirs"; then
+ mkdir_p='$(mkinstalldirs)'
+ else
+ mkdir_p='$(install_sh) -d'
+ fi
+fi
+AC_SUBST([mkdir_p])])
+
+# Helper functions for option handling. -*- Autoconf -*-
+
+# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 3
+
+# _AM_MANGLE_OPTION(NAME)
+# -----------------------
+AC_DEFUN([_AM_MANGLE_OPTION],
+[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
+
+# _AM_SET_OPTION(NAME)
+# ------------------------------
+# Set option NAME. Presently that only means defining a flag for this option.
+AC_DEFUN([_AM_SET_OPTION],
+[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
+
+# _AM_SET_OPTIONS(OPTIONS)
+# ----------------------------------
+# OPTIONS is a space-separated list of Automake options.
+AC_DEFUN([_AM_SET_OPTIONS],
+[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
+
+# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
+# -------------------------------------------
+# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
+AC_DEFUN([_AM_IF_OPTION],
+[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
+
+# Check to make sure that the build environment is sane. -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 4
+
+# AM_SANITY_CHECK
+# ---------------
+AC_DEFUN([AM_SANITY_CHECK],
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftest.file
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
+ if test "$[*]" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftest.file`
+ fi
+ rm -f conftest.file
+ if test "$[*]" != "X $srcdir/configure conftest.file" \
+ && test "$[*]" != "X conftest.file $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
+alias in your environment])
+ fi
+
+ test "$[2]" = conftest.file
+ )
+then
+ # Ok.
+ :
+else
+ AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+AC_MSG_RESULT(yes)])
+
+# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_INSTALL_STRIP
+# ---------------------
+# One issue with vendor `install' (even GNU) is that you can't
+# specify the program used to strip binaries. This is especially
+# annoying in cross-compiling environments, where the build's strip
+# is unlikely to handle the host's binaries.
+# Fortunately install-sh will honor a STRIPPROG variable, so we
+# always use install-sh in `make install-strip', and initialize
+# STRIPPROG with the value of the STRIP variable (set by the user).
+AC_DEFUN([AM_PROG_INSTALL_STRIP],
+[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
+# Installed binaries are usually stripped using `strip' when the user
+# run `make install-strip'. However `strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the `STRIP' environment variable to overrule this program.
+dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
+if test "$cross_compiling" != no; then
+ AC_CHECK_TOOL([STRIP], [strip], :)
+fi
+INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
+AC_SUBST([INSTALL_STRIP_PROGRAM])])
+
+# Check how to create a tarball. -*- Autoconf -*-
+
+# Copyright (C) 2004, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 2
+
+# _AM_PROG_TAR(FORMAT)
+# --------------------
+# Check how to create a tarball in format FORMAT.
+# FORMAT should be one of `v7', `ustar', or `pax'.
+#
+# Substitute a variable $(am__tar) that is a command
+# writing to stdout a FORMAT-tarball containing the directory
+# $tardir.
+# tardir=directory && $(am__tar) > result.tar
+#
+# Substitute a variable $(am__untar) that extract such
+# a tarball read from stdin.
+# $(am__untar) < result.tar
+AC_DEFUN([_AM_PROG_TAR],
+[# Always define AMTAR for backward compatibility.
+AM_MISSING_PROG([AMTAR], [tar])
+m4_if([$1], [v7],
+ [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
+ [m4_case([$1], [ustar],, [pax],,
+ [m4_fatal([Unknown tar format])])
+AC_MSG_CHECKING([how to create a $1 tar archive])
+# Loop over all known methods to create a tar archive until one works.
+_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
+_am_tools=${am_cv_prog_tar_$1-$_am_tools}
+# Do not fold the above two line into one, because Tru64 sh and
+# Solaris sh will not grok spaces in the rhs of `-'.
+for _am_tool in $_am_tools
+do
+ case $_am_tool in
+ gnutar)
+ for _am_tar in tar gnutar gtar;
+ do
+ AM_RUN_LOG([$_am_tar --version]) && break
+ done
+ am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
+ am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
+ am__untar="$_am_tar -xf -"
+ ;;
+ plaintar)
+ # Must skip GNU tar: if it does not support --format= it doesn't create
+ # ustar tarball either.
+ (tar --version) >/dev/null 2>&1 && continue
+ am__tar='tar chf - "$$tardir"'
+ am__tar_='tar chf - "$tardir"'
+ am__untar='tar xf -'
+ ;;
+ pax)
+ am__tar='pax -L -x $1 -w "$$tardir"'
+ am__tar_='pax -L -x $1 -w "$tardir"'
+ am__untar='pax -r'
+ ;;
+ cpio)
+ am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
+ am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
+ am__untar='cpio -i -H $1 -d'
+ ;;
+ none)
+ am__tar=false
+ am__tar_=false
+ am__untar=false
+ ;;
+ esac
+
+ # If the value was cached, stop now. We just wanted to have am__tar
+ # and am__untar set.
+ test -n "${am_cv_prog_tar_$1}" && break
+
+ # tar/untar a dummy directory, and stop if the command works
+ rm -rf conftest.dir
+ mkdir conftest.dir
+ echo GrepMe > conftest.dir/file
+ AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
+ rm -rf conftest.dir
+ if test -s conftest.tar; then
+ AM_RUN_LOG([$am__untar <conftest.tar])
+ grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
+ fi
+done
+rm -rf conftest.dir
+
+AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
+AC_MSG_RESULT([$am_cv_prog_tar_$1])])
+AC_SUBST([am__tar])
+AC_SUBST([am__untar])
+]) # _AM_PROG_TAR
+
+m4_include([acinclude.m4])
diff --git a/config.h.in b/config.h.in
new file mode 100644
index 0000000..224dacd
--- /dev/null
+++ b/config.h.in
@@ -0,0 +1,240 @@
+/* config.h.in. Generated from configure.in by autoheader. */
+
+/* Define to 1 if you have the <Carbon/Carbon.h> header file. */
+#undef HAVE_CARBON_CARBON_H
+
+/* Define if you have the CoreAudio API */
+#undef HAVE_COREAUDIO
+
+/* Define to 1 if you have the <crt_externs.h> header file. */
+#undef HAVE_CRT_EXTERNS_H
+
+/* Defines if your system has the crypt function */
+#undef HAVE_CRYPT
+
+/* Define to 1 if you have the <dlfcn.h> header file. */
+#undef HAVE_DLFCN_H
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#undef HAVE_INTTYPES_H
+
+/* Define if you have libjpeg */
+#undef HAVE_LIBJPEG
+
+/* Define if you have libpng */
+#undef HAVE_LIBPNG
+
+/* Define if you have a working libpthread (will enable threaded code) */
+#undef HAVE_LIBPTHREAD
+
+/* Define if you have libz */
+#undef HAVE_LIBZ
+
+/* Define to 1 if you have the <memory.h> header file. */
+#undef HAVE_MEMORY_H
+
+/* Define if your system needs _NSGetEnviron to set up the environment */
+#undef HAVE_NSGETENVIRON
+
+/* Define if you have res_init */
+#undef HAVE_RES_INIT
+
+/* Define if you have the res_init prototype */
+#undef HAVE_RES_INIT_PROTO
+
+/* Define if you have a STL implementation by SGI */
+#undef HAVE_SGI_STL
+
+/* Define to 1 if you have the `snprintf' function. */
+#undef HAVE_SNPRINTF
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#undef HAVE_STDINT_H
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#undef HAVE_STDLIB_H
+
+/* Define to 1 if you have the <strings.h> header file. */
+#undef HAVE_STRINGS_H
+
+/* Define to 1 if you have the <string.h> header file. */
+#undef HAVE_STRING_H
+
+/* Define if you have strlcat */
+#undef HAVE_STRLCAT
+
+/* Define if you have the strlcat prototype */
+#undef HAVE_STRLCAT_PROTO
+
+/* Define if you have strlcpy */
+#undef HAVE_STRLCPY
+
+/* Define if you have the strlcpy prototype */
+#undef HAVE_STRLCPY_PROTO
+
+/* Define to 1 if you have the <sys/bitypes.h> header file. */
+#undef HAVE_SYS_BITYPES_H
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#undef HAVE_SYS_STAT_H
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#undef HAVE_SYS_TYPES_H
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#undef HAVE_UNISTD_H
+
+/* Define to 1 if you have the `vsnprintf' function. */
+#undef HAVE_VSNPRINTF
+
+/* Suffix for lib directories */
+#undef KDELIBSUFF
+
+/* Name of package */
+#undef PACKAGE
+
+/* Define to the address where bug reports for this package should be sent. */
+#undef PACKAGE_BUGREPORT
+
+/* Define to the full name of this package. */
+#undef PACKAGE_NAME
+
+/* Define to the full name and version of this package. */
+#undef PACKAGE_STRING
+
+/* Define to the one symbol short name of this package. */
+#undef PACKAGE_TARNAME
+
+/* Define to the version of this package. */
+#undef PACKAGE_VERSION
+
+/* The size of `char *', as computed by sizeof. */
+#undef SIZEOF_CHAR_P
+
+/* The size of `int', as computed by sizeof. */
+#undef SIZEOF_INT
+
+/* The size of `long', as computed by sizeof. */
+#undef SIZEOF_LONG
+
+/* The size of `short', as computed by sizeof. */
+#undef SIZEOF_SHORT
+
+/* The size of `size_t', as computed by sizeof. */
+#undef SIZEOF_SIZE_T
+
+/* The size of `unsigned long', as computed by sizeof. */
+#undef SIZEOF_UNSIGNED_LONG
+
+/* Define to 1 if you have the ANSI C header files. */
+#undef STDC_HEADERS
+
+/* If we use arts volume */
+#undef USE_ARTS
+
+/* Version number of package */
+#undef VERSION
+
+/* Defined if compiling without arts */
+#undef WITHOUT_ARTS
+
+/*
+ * jpeg.h needs HAVE_BOOLEAN, when the system uses boolean in system
+ * headers and I'm too lazy to write a configure test as long as only
+ * unixware is related
+ */
+#ifdef _UNIXWARE
+#define HAVE_BOOLEAN
+#endif
+
+
+
+/*
+ * AIX defines FD_SET in terms of bzero, but fails to include <strings.h>
+ * that defines bzero.
+ */
+
+#if defined(_AIX)
+#include <strings.h>
+#endif
+
+
+
+#if defined(HAVE_NSGETENVIRON) && defined(HAVE_CRT_EXTERNS_H)
+# include <sys/time.h>
+# include <crt_externs.h>
+# define environ (*_NSGetEnviron())
+#endif
+
+
+
+#if !defined(HAVE_RES_INIT_PROTO)
+#ifdef __cplusplus
+extern "C" {
+#endif
+int res_init(void);
+#ifdef __cplusplus
+}
+#endif
+#endif
+
+
+
+#if !defined(HAVE_STRLCAT_PROTO)
+#ifdef __cplusplus
+extern "C" {
+#endif
+unsigned long strlcat(char*, const char*, unsigned long);
+#ifdef __cplusplus
+}
+#endif
+#endif
+
+
+
+#if !defined(HAVE_STRLCPY_PROTO)
+#ifdef __cplusplus
+extern "C" {
+#endif
+unsigned long strlcpy(char*, const char*, unsigned long);
+#ifdef __cplusplus
+}
+#endif
+#endif
+
+
+
+/*
+ * On HP-UX, the declaration of vsnprintf() is needed every time !
+ */
+
+#if !defined(HAVE_VSNPRINTF) || defined(hpux)
+#if __STDC__
+#include <stdarg.h>
+#include <stdlib.h>
+#else
+#include <varargs.h>
+#endif
+#ifdef __cplusplus
+extern "C"
+#endif
+int vsnprintf(char *str, size_t n, char const *fmt, va_list ap);
+#ifdef __cplusplus
+extern "C"
+#endif
+int snprintf(char *str, size_t n, char const *fmt, ...);
+#endif
+
+
+
+#if defined(__SVR4) && !defined(__svr4__)
+#define __svr4__ 1
+#endif
+
+
+/* type to use in place of socklen_t if not defined */
+#undef kde_socklen_t
+
+/* type to use in place of socklen_t if not defined (deprecated, use
+ kde_socklen_t) */
+#undef ksize_t
diff --git a/configure.files b/configure.files
new file mode 100644
index 0000000..030bce8
--- /dev/null
+++ b/configure.files
@@ -0,0 +1,2 @@
+./admin/configure.in.min
+configure.in.in
diff --git a/configure.in b/configure.in
new file mode 100644
index 0000000..c62d72b
--- /dev/null
+++ b/configure.in
@@ -0,0 +1,173 @@
+dnl =======================================================
+dnl FILE: ./admin/configure.in.min
+dnl =======================================================
+
+dnl This file is part of the KDE libraries/packages
+dnl Copyright (C) 2001 Stephan Kulow (coolo@kde.org)
+
+dnl This file is free software; you can redistribute it and/or
+dnl modify it under the terms of the GNU Library General Public
+dnl License as published by the Free Software Foundation; either
+dnl version 2 of the License, or (at your option) any later version.
+
+dnl This library is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
+dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+dnl Library General Public License for more details.
+
+dnl You should have received a copy of the GNU Library General Public License
+dnl along with this library; see the file COPYING.LIB. If not, write to
+dnl the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+dnl Boston, MA 02110-1301, USA.
+
+# Original Author was Kalle@kde.org
+# I lifted it in some mater. (Stephan Kulow)
+# I used much code from Janos Farkas
+
+dnl Process this file with autoconf to produce a configure script.
+
+AC_INIT(acinclude.m4) dnl a source file from your sub dir
+
+dnl This is so we can use kde-common
+AC_CONFIG_AUX_DIR(admin)
+
+dnl This ksh/zsh feature conflicts with `cd blah ; pwd`
+unset CDPATH
+
+dnl Checking host/target/build systems, for make, install etc.
+AC_CANONICAL_SYSTEM
+dnl Perform program name transformation
+AC_ARG_PROGRAM
+
+dnl Automake doc recommends to do this only here. (Janos)
+AM_INIT_AUTOMAKE(filelight-1.0, "3.5.4") dnl searches for some needed programs
+
+KDE_SET_PREFIX
+
+dnl generate the config header
+AM_CONFIG_HEADER(config.h) dnl at the distribution this done
+
+dnl Checks for programs.
+AC_CHECK_COMPILERS
+AC_ENABLE_SHARED(yes)
+AC_ENABLE_STATIC(no)
+KDE_PROG_LIBTOOL
+
+dnl for NLS support. Call them in this order!
+dnl WITH_NLS is for the po files
+AM_KDE_WITH_NLS
+
+KDE_USE_QT(3.2)
+AC_PATH_KDE
+dnl =======================================================
+dnl FILE: configure.in.in
+dnl =======================================================
+
+#MIN_CONFIG(3.2)
+CXXFLAGS="$CXXFLAGS $KDE_DEFAULT_CXXFLAGS"
+
+if test "$build_arts" = "yes"; then
+ AC_DEFINE(USE_ARTS, 1, [If we use arts volume])
+ LIB_ARTS="-lartskde"
+ AC_SUBST(LIB_ARTS)
+fi
+
+KDE_INIT_DOXYGEN([The API Reference], [Version $VERSION])
+
+KDE_CREATE_SUBDIRSLIST
+AC_CONFIG_FILES([ Makefile ])
+AC_CONFIG_FILES([ doc/Makefile ])
+AC_CONFIG_FILES([ doc/da/Makefile ])
+AC_CONFIG_FILES([ doc/es/Makefile ])
+AC_CONFIG_FILES([ doc/et/Makefile ])
+AC_CONFIG_FILES([ doc/filelight/Makefile ])
+AC_CONFIG_FILES([ doc/it/Makefile ])
+AC_CONFIG_FILES([ doc/pt/Makefile ])
+AC_CONFIG_FILES([ doc/ru/Makefile ])
+AC_CONFIG_FILES([ doc/sv/Makefile ])
+AC_CONFIG_FILES([ misc/Makefile ])
+AC_CONFIG_FILES([ po/Makefile ])
+AC_CONFIG_FILES([ po/az/Makefile ])
+AC_CONFIG_FILES([ po/bg/Makefile ])
+AC_CONFIG_FILES([ po/br/Makefile ])
+AC_CONFIG_FILES([ po/ca/Makefile ])
+AC_CONFIG_FILES([ po/cs/Makefile ])
+AC_CONFIG_FILES([ po/cy/Makefile ])
+AC_CONFIG_FILES([ po/da/Makefile ])
+AC_CONFIG_FILES([ po/de/Makefile ])
+AC_CONFIG_FILES([ po/el/Makefile ])
+AC_CONFIG_FILES([ po/en_GB/Makefile ])
+AC_CONFIG_FILES([ po/es/Makefile ])
+AC_CONFIG_FILES([ po/et/Makefile ])
+AC_CONFIG_FILES([ po/fr/Makefile ])
+AC_CONFIG_FILES([ po/ga/Makefile ])
+AC_CONFIG_FILES([ po/gl/Makefile ])
+AC_CONFIG_FILES([ po/is/Makefile ])
+AC_CONFIG_FILES([ po/it/Makefile ])
+AC_CONFIG_FILES([ po/ja/Makefile ])
+AC_CONFIG_FILES([ po/ka/Makefile ])
+AC_CONFIG_FILES([ po/lt/Makefile ])
+AC_CONFIG_FILES([ po/nb/Makefile ])
+AC_CONFIG_FILES([ po/nl/Makefile ])
+AC_CONFIG_FILES([ po/pl/Makefile ])
+AC_CONFIG_FILES([ po/pt/Makefile ])
+AC_CONFIG_FILES([ po/pt_BR/Makefile ])
+AC_CONFIG_FILES([ po/ro/Makefile ])
+AC_CONFIG_FILES([ po/ru/Makefile ])
+AC_CONFIG_FILES([ po/rw/Makefile ])
+AC_CONFIG_FILES([ po/sr/Makefile ])
+AC_CONFIG_FILES([ po/sr@Latn/Makefile ])
+AC_CONFIG_FILES([ po/sv/Makefile ])
+AC_CONFIG_FILES([ po/ta/Makefile ])
+AC_CONFIG_FILES([ po/tr/Makefile ])
+AC_CONFIG_FILES([ po/uk/Makefile ])
+AC_CONFIG_FILES([ src/Makefile ])
+AC_CONFIG_FILES([ src/app/Makefile ])
+AC_CONFIG_FILES([ src/part/Makefile ])
+AC_CONFIG_FILES([ src/part/radialMap/Makefile ])
+AC_OUTPUT
+# Check if KDE_SET_PREFIX was called, and --prefix was passed to configure
+if test -n "$kde_libs_prefix" -a -n "$given_prefix"; then
+ # And if so, warn when they don't match
+ if test "$kde_libs_prefix" != "$given_prefix"; then
+ # And if kde doesn't know about the prefix yet
+ echo ":"`kde-config --path exe`":" | grep ":$given_prefix/bin/:" 2>&1 >/dev/null
+ if test $? -ne 0; then
+ echo ""
+ echo "Warning: you chose to install this package in $given_prefix,"
+ echo "but KDE was found in $kde_libs_prefix."
+ echo "For this to work, you will need to tell KDE about the new prefix, by ensuring"
+ echo "that KDEDIRS contains it, e.g. export KDEDIRS=$given_prefix:$kde_libs_prefix"
+ echo "Then restart KDE."
+ echo ""
+ fi
+ fi
+fi
+
+if test x$GXX = "xyes" -a x$kde_have_gcc_visibility = "xyes" -a x$kde_cv_val_qt_gcc_visibility_patched = "xno"; then
+ echo ""
+ echo "Your GCC supports symbol visibility, but the patch for Qt supporting visibility"
+ echo "was not included. Therefore, GCC symbol visibility support remains disabled."
+ echo ""
+ echo "For better performance, consider including the Qt visibility supporting patch"
+ echo "located at:"
+ echo ""
+ echo "http://bugs.kde.org/show_bug.cgi?id=109386"
+ echo ""
+ echo "and recompile all of Qt and KDE. Note, this is entirely optional and"
+ echo "everything will continue to work just fine without it."
+ echo ""
+fi
+
+if test "$all_tests" = "bad"; then
+ if test ! "$cache_file" = "/dev/null"; then
+ echo ""
+ echo "Please remove the file $cache_file after changing your setup"
+ echo "so that configure will find the changes next time."
+ echo ""
+ fi
+else
+ echo ""
+ echo "Good - your configure finished. Start make now"
+ echo ""
+fi
diff --git a/configure.in.in b/configure.in.in
new file mode 100644
index 0000000..a47e6de
--- /dev/null
+++ b/configure.in.in
@@ -0,0 +1,11 @@
+#MIN_CONFIG(3.2)
+CXXFLAGS="$CXXFLAGS $KDE_DEFAULT_CXXFLAGS"
+
+if test "$build_arts" = "yes"; then
+ AC_DEFINE(USE_ARTS, 1, [If we use arts volume])
+ LIB_ARTS="-lartskde"
+ AC_SUBST(LIB_ARTS)
+fi
+
+KDE_INIT_DOXYGEN([The API Reference], [Version $VERSION])
+
diff --git a/doc/Makefile.am b/doc/Makefile.am
new file mode 100644
index 0000000..54cb7de
--- /dev/null
+++ b/doc/Makefile.am
@@ -0,0 +1 @@
+SUBDIRS = $(AUTODIRS)
diff --git a/doc/da/Makefile.am b/doc/da/Makefile.am
new file mode 100644
index 0000000..63f44e7
--- /dev/null
+++ b/doc/da/Makefile.am
@@ -0,0 +1,2 @@
+KDE_LANG = da
+KDE_DOCS = filelight
diff --git a/doc/da/index.docbook b/doc/da/index.docbook
new file mode 100644
index 0000000..6d2ff1e
--- /dev/null
+++ b/doc/da/index.docbook
@@ -0,0 +1,981 @@
+<?xml version="1.0" ?>
+<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.1.2-Based Variant V1.0//EN" "dtd/kdex.dtd" [
+ <!ENTITY kappname "&filelight;">
+ <!ENTITY filelight "<application
+>Filelight</application
+>">
+
+ <!ENTITY % addindex "IGNORE">
+ <!ENTITY % Danish "INCLUDE"
+><!-- change language only here -->
+]>
+
+<!-- Do not define any other entities; instead, use the entities
+ from kde-genent.entities and $LANG/user.entities. -->
+<!-- kdoctemplate v0.8 October 1 1999
+ Minor update to "Credits and Licenses" section on August 24, 2000
+ Removed "Revision history" section on 22 January 2001 -->
+
+<!--
+This template was designed by: David Rugge davidrugge@mindspring.com
+with lots of help from: Eric Bischoff ebisch@cybercable.tm.fr
+and Frederik Fouvry fouvry@sfs.nphil.uni-tuebingen.de
+of the KDE DocBook team.
+
+You may freely use this template for writing any sort of KDE documentation.
+If you have any changes or improvements, please let us know.
+
+In the future, we may want to change from SGML-based DocBook to XML-based
+DocBook. To make this change easier, please be careful :
+- in XML, the case of the <tags
+> and attributes is relevant ;
+- also, quote all attributes.
+
+Please don't forget to remove all these comments in your final documentation,
+thanks ;-).
+-->
+
+<!-- ................................................................ -->
+
+<!-- The language must NOT be changed here. -->
+
+<book lang="&language;">
+
+<!-- This header contains all of the meta-information for the document such
+as Authors, publish date, the abstract, and Keywords -->
+
+<bookinfo>
+<title
+>&filelight;-håndbogen</title>
+
+<authorgroup>
+<author
+><firstname
+>Max</firstname
+> <surname
+>Howell</surname
+> <affiliation
+> <address
+><email
+>max.howell@methylblue.com</email
+></address>
+</affiliation>
+</author>
+</authorgroup>
+
+&erik.kjaer.pedersen.role;
+
+<copyright>
+<year
+>2003</year>
+<holder
+>Max Howell</holder>
+</copyright>
+<!-- Translators: put here the copyright notice of the translation -->
+<!-- Put here the FDL notice. Read the explanation in fdl-notice.docbook
+ and in the FDL itself on how to use it. -->
+<legalnotice
+>&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
+(V.MM.LL), it could be used by automation scripts.
+Do NOT change these in the translation. -->
+
+<date
+>03/11/2003</date>
+<releaseinfo
+>2</releaseinfo>
+
+<!-- Abstract about this handbook -->
+
+<abstract>
+<para
+>&filelight; viser rekursiv information om diskforbrug, i en stor en grafisk version af kommandolinjeværktøjet du. </para>
+</abstract>
+
+<!-- This is a set of Keywords for indexing by search engines.
+Please at least include KDE, the KDE package it is in, the name
+ of your application, and a few relevant keywords. -->
+
+<keywordset>
+<keyword
+>KDE</keyword>
+<keyword
+>Filelight</keyword>
+<keyword
+>du</keyword>
+<keyword
+>diskforbrug</keyword>
+<keyword
+>statistik</keyword>
+</keywordset>
+
+</bookinfo>
+
+<!-- The contents of the documentation begin here. Label
+each chapter so with the id attribute. This is necessary for two reasons: it
+allows you to easily reference the chapter from other chapters of your
+document, and if there is no ID, the name of the generated HTML files will vary
+from time to time making it hard to manage for maintainers and for the CVS
+system. Any chapter labelled (OPTIONAL) may be left out at the author's
+discretion. Other chapters should not be left out in order to maintain a
+consistent documentation style across all KDE apps. -->
+
+<chapter id="introduction">
+<title
+>Indledning</title>
+
+<screenshot>
+<screeninfo
+>Skærmaftryk af Filelight</screeninfo>
+<mediaobject>
+<imageobject
+><imagedata fileref="main.png" format="PNG"/></imageobject>
+<textobject
+><phrase
+>Skærmaftryk</phrase
+></textobject>
+</mediaobject>
+</screenshot>
+
+
+<para
+>&filelight; lader dig hurtigt forstå nøjagtigt hvordan din diskplads bruges ved at repræsentere filsystemet grafisk som et sæt koncentriske cirkelsegmenter. Du kan bruge det til at lokalisere samlinger af diskbrug og håndtere disse områder med Konqueror. </para>
+
+</chapter>
+
+
+<chapter id="configuring">
+<title
+>Indstil &filelight;</title>
+
+<para
+>&filelight;s opsætningsdialog har to faneblade til at indstille &filelight;s tilvalg. De to fanebladene er <guimenuitem
+>Skanning</guimenuitem
+> og <guimenuitem
+>Udseende</guimenuitem
+>. Nedenfor findes en beskrivelse af indstillingsfanebladene. &filelight;s indstillingsdialog findes ved at klikke på <menuchoice
+><guimenu
+>Opsætning</guimenu
+> <guimenuitem
+>Indstil Filelight</guimenuitem
+></menuchoice
+>.</para>
+
+<sect1 id="scanning">
+<title
+>Skanner</title>
+
+<screenshot>
+<screeninfo
+>Skærmaftryk af skanning</screeninfo>
+<mediaobject>
+<imageobject
+><imagedata fileref="config_scan.png" format="PNG"/></imageobject>
+<textobject
+><phrase
+>Skærmaftryk</phrase
+></textobject>
+</mediaobject>
+</screenshot>
+
+<para
+>Skanningsfanebladet lader dig indstille hvordan &filelight; gennemsøger mapper. <guimenuitem
+>Skan ikke følgende mapper</guimenuitem
+> bruges for til at udelukke visse mapper fra skanningen. Dette er meget nyttigt for at springe over mapper som du måske ikke har rettigheder til at læse, eller mapper som er en del af et virtuelt filsystem, såsom /proc. Klik på knappen <guibutton
+>Tilføj...</guibutton
+> for at tilføje en mappe til listen. Det viser en dialog hvor du kan vælge mappen du vil have i en trævisning. For at fjerne en mappe, markeres den du vil fjerne blot, og der klikkes på knappen <guibutton
+>Fjern</guibutton
+>.</para>
+
+<!--<madpenguin8
+>I'll add a description here about what the "Scan across fs boundries" option when the option works ;-)-->
+</sect1>
+
+<sect1 id="appearance">
+<title
+>Udseende</title>
+
+<screenshot>
+<screeninfo
+>Skærmaftryk af Udseende</screeninfo>
+<mediaobject>
+<imageobject
+><imagedata fileref="config_appear.png" format="PNG"/></imageobject>
+<textobject
+><phrase
+>Skærmaftryk</phrase
+></textobject>
+</mediaobject>
+</screenshot>
+
+<para
+>Fanebladet <guimenuitem
+>Udseende</guimenuitem
+> lader dig indstille hvordan &filelight; ser ud.</para>
+
+<para
+>Afsnittet <guimenuitem
+>Farvesammensætning</guimenuitem
+> bruges til at vælge en farvesammensætning for &filelight;. Farvesammensætningerne er Regnbue, KDE's farver og Høj kontrast. Der er også en skyder, <guimenuitem
+>Kontrast</guimenuitem
+>, til at justere segmenternes kontrast, så de er lettere at se.</para>
+
+<para
+>Afkrydsningsfeltet <guimenuitem
+>Brug antialias</guimenuitem
+> bruges for at aktivere brug af antialias i &filelight;s visning. At markere dette gør at segmenterne får et meget renere udseende.</para>
+
+<para
+>Afkrydsningsfeltet <guimenuitem
+>Variér tegnstørrelse for navne</guimenuitem
+> er nyttigt når du har filer eller mapper med lange navne. Dette mindsker skrifttypens størrelse for at lade den passe bedre ind i visningen. Når dette er aktiveret, bliver spinfeltet <guimenuitem
+>Minimal tegnstørrelse:</guimenuitem
+> tilgængelig for at vælge den mindste tegnstørrelse der skal skaleres til</para>
+
+<para
+>Tilvalget <guimenuitem
+>Vis små filer</guimenuitem
+> er normalt deaktiveret eftersom små filer sædvanligvis gør &filelight;s visning rodet. Aktivér dette hvis du ønsker at små filer skal indgå i &filelight;s visning.</para>
+
+</sect1>
+</chapter>
+
+<!-- REMOVE ME ************************************ -->
+<chapter id="using">
+<title
+>Brug &filelight;</title>
+
+<sect1 id="starting">
+<title
+>Start &filelight;</title>
+<para
+>&filelight; kan startes fra K-menuen eller fra kommandolinjen.</para>
+
+<sect2 id="starting-from-the-menu">
+<title
+>Fra K-menuen</title>
+
+<para
+>Åbn &kde;'s programmenu ved at klikke på ikonen med <guiicon
+>stort K</guiicon
+> i panelet. Det viser <guimenu
+>programmenuen</guimenu
+>. Flyt markøren til menupunktet <guimenu
+>Tilbehør</guimenu
+> i menuen. Vælg <guimenuitem
+>&filelight;</guimenuitem
+>. </para>
+
+</sect2>
+
+
+<sect2 id="starting-from-the-command-line">
+<title
+>Fra kommandolinjen</title>
+
+<para
+>Du kan starte &filelight; ved at indtaste dets navn på kommandolinjen. Hvis du angiver et mappenavn, som i eksemplet oven, gennemsøges denne mappe. </para>
+
+<informalexample>
+<screen
+><prompt
+>%</prompt
+><userinput
+><command
+>filelight</command
+> <option
+><replaceable
+>/home</replaceable
+></option
+></userinput
+>
+</screen>
+</informalexample>
+
+</sect2>
+</sect1>
+
+<sect1 id="scanning-directories">
+<title
+>Skan mapper</title>
+<para
+>At gennemsøge en mappe viser dens indhold som en filafbildning. Brug menuen Skan for at gennemsøge en mappe, eller skriv en URL direkte i stedlinjen. </para>
+
+<!--<sect2 id="scan-home"
+><para
+>1</para
+></sect2>
+<sect2 id="scan-root"
+><para
+>1</para
+></sect2>
+<sect2 id="scan-directory"
+><para
+>1</para
+></sect2>
+<sect2 id="scan-recent"
+><para
+>1</para
+></sect2
+>-->
+
+</sect1>
+
+<sect1 id="exploring-filemaps">
+<title
+>Udforskning af filafbildninger</title>
+<para
+>Så snart en søgning er færdig vises en filafbildning som svarer til mapperne som du gennemsøgte. Filafbildningen er en serie cirkelsegmenter som ekspanderes fra centrum. Stærkt farvede segmenter er mapper, mens grå segment er filer. Segmenter har en størrelse som er proportionel med deres filstørrelse. Segmenter kan være hierarkiske, altså er for eksempel /home/mxcl et niveau udad og indenfor grænserne for segmentet som repræsenterer /home. Segmenter har navne, og at holde musen stille over et segment giver mere information om segmentet og underliggende segmenter. </para>
+
+<screenshot>
+<screeninfo
+>Skærmaftryk af filafbildning</screeninfo>
+<mediaobject>
+<imageobject
+><imagedata fileref="filemap.png" format="PNG"/></imageobject>
+<textobject
+><phrase
+>Skærmaftryk</phrase
+></textobject>
+</mediaobject>
+</screenshot>
+
+<para
+>Du kan åbne mapper med Konqueror eller Konsole i segmentets sammenhængsafhængige menu. At klikke med den midterste knappen åbner filer ifølge Mime-type, så billeder åbnes med Kuickshow. Du kan højreklikke i den centrale cirkel for at vise en sammenhængsafhængig menu for mappen som bliver gennemsøgt. At venstreklikke på segmenter gencentrerer billederne i dette segment. </para>
+
+<para
+>Hvis du vil forbedre dokumentationen, modtager jeg gerne rettelser. Tak. </para>
+
+<!--<sect2 id="scan-home"
+><para
+>1</para
+></sect2>
+<sect2 id="scan-root"
+><para
+>1</para
+></sect2>
+<sect2 id="scan-directory"
+><para
+>1</para
+></sect2>
+<sect2 id="scan-recent"
+><para
+>1</para
+></sect2
+>-->
+
+</sect1>
+
+</chapter>
+
+
+
+
+
+<!--<para>
+<screenshot>
+<screeninfo
+>Here's a screenshot of &filelight;</screeninfo>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="screenshot.png" format="PNG"/>
+ </imageobject>
+ <imageobject>
+ <imagedata fileref="screenshot.eps" format="EPS"/>
+ </imageobject>
+ <textobject>
+ <phrase
+>Screenshot</phrase>
+ </textobject>
+ </mediaobject>
+</screenshot>
+</para
+>-->
+
+
+
+<chapter id="commands">
+<title
+>Menu og kommandoreference</title>
+
+<sect1 id="scan_menu">
+<title
+>Menuen Skan</title>
+<variablelist>
+<varlistentry>
+<term
+><menuchoice
+><shortcut
+> <keycombo
+><keycap
+>Ctrl</keycap
+><keycap
+>O</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Skan</guimenu
+> <guimenuitem
+>Skan mappe...</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Tilbyder en dialog for mappevalg så du kan vælge en mappe at gennemsøge.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><shortcut
+> <keycombo
+><keycap
+>Ctrl</keycap
+><keycap
+>Home</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Skan</guimenu
+> <guimenuitem
+>Skan hjemmemappe</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Starter en skanning i brugerens hjemmemappe.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><guimenu
+>Skan</guimenu
+> <guimenuitem
+>Skan rodmappe</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Starter en søgning i rodmappen.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><guimenu
+>Skan</guimenu
+> <guimenuitem
+>Nylige skanninger</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Sørger for en liste med de senest skannede mapper, hvilket tillader hurtig adgang til disse mapper.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><shortcut
+> <keycap
+>F5</keycap
+> </shortcut
+> <guimenu
+>Skan</guimenu
+> <guimenuitem
+>Skan igen</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Starter en ny gennemsøgning af nuværende arbejdsmappe. Dette er nyttigt når ændringer er sket i filsystemet.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><shortcut
+> <keycap
+>Esc</keycap
+> </shortcut
+> <guimenu
+>Skan</guimenu
+> <guimenuitem
+>Stop</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Stopper nuværende søgning.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><shortcut
+> <keycombo
+><keycap
+>Ctrl</keycap
+><keycap
+>Q</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Skan</guimenu
+> <guimenuitem
+>Afslut</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Afslutter &filelight;</action
+></para
+></listitem>
+</varlistentry>
+
+</variablelist>
+</sect1>
+
+<sect1 id="go_menu">
+<title
+>Kør-menuen</title>
+<variablelist>
+
+<varlistentry>
+<term
+><menuchoice
+><shortcut
+> <keycombo
+><keycap
+>Alt</keycap
+><keycap
+>Op</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Kør</guimenu
+> <guimenuitem
+>Op</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Går et skridt opad i filsystemet.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><shortcut
+> <keycombo
+><keycap
+>Alt</keycap
+><keycap
+>Venstre</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Kør</guimenu
+> <guimenuitem
+>Tilbage</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Går et skridt tilbage når du bladrer i filsystemet.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><shortcut
+> <keycombo
+><keycap
+>Alt</keycap
+><keycap
+>Højre</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Gå</guimenu
+> <guimenuitem
+>Fremad</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Går et skridt fremad når du bladrer i filsystemet.</action
+></para
+></listitem>
+</varlistentry>
+
+</variablelist>
+</sect1>
+
+<sect1 id="settings_menu">
+<title
+>Opsætningsmenuen</title>
+<variablelist>
+
+
+<varlistentry>
+<term
+><menuchoice
+><guimenu
+>Opsætning</guimenu
+> <guisubmenu
+>Værktøjslinjer</guisubmenu
+> <guimenuitem
+>Vis hovedværktøjslinje</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Aktiverer eller deaktiverer programmets hovedværktøjslinje.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><guimenu
+>Opsætning</guimenu
+> <guisubmenu
+>Værktøjslinjer</guisubmenu
+> <guimenuitem
+>Vis stedværktøjslinje</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Aktiverer eller deaktiverer stedværktøjslinjen.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><guimenu
+>Opsætning</guimenu
+> <guimenuitem
+>Indstil genveje...</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Lader dig indstille &filelight;s genveje.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><guimenu
+>Opsætning</guimenu
+> <guimenuitem
+>Indstil værktøjslinjer...</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Lader dig indstille &filelight;s værktøjslinjestilvalg.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><guimenu
+>Opsætning</guimenu
+> <guimenuitem
+>Indstil Filelight...</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Starter &filelight;s indstillingsdialog.</action
+></para
+></listitem>
+</varlistentry>
+
+</variablelist>
+</sect1>
+
+<sect1 id="help_menu">
+<title
+>Hjælpemenuen</title>
+<variablelist>
+
+<varlistentry>
+<term
+><menuchoice
+><guimenu
+>Hjælp</guimenu
+> <guimenuitem
+>Filelight-håndbogen</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Åbner dette hjælpedokument.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><shortcut
+> <keycombo
+><keycap
+>Skift</keycap
+><keycap
+>F1</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Hjælp</guimenu
+> <guimenuitem
+>Hvad er dette?</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Aktiverer musemarkøren "Hvad er dette?" som lader dig klikke på et objekt for at få et "Hvad er dette?" værktøjsvink.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><guimenu
+>Hjælp</guimenu
+> <guimenuitem
+>Rapportér fejl...</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Start dialogvinduet med fejlrapporteringsværktøjet.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><guimenu
+>Hjælp</guimenu
+> <guimenuitem
+>Om Filelight</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Starter dialogvinduet Om &filelight;.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><guimenu
+>Hjælp</guimenu
+> <guimenuitem
+>Om KDE</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Starter dialogvinduet Om &kde;.</action
+></para
+></listitem>
+</varlistentry>
+
+</variablelist>
+</sect1>
+
+
+</chapter>
+
+<!--
+<chapter id="faq">
+<title
+>Questions and Answers</title>
+
+(OPTIONAL but recommended) This chapter should include all of the silly
+(and not-so-silly) newbie questions that fill up your mailbox. This chapter
+should be reserved for BRIEF questions and answers! If one question uses more
+than a page or so then it should probably be part of the
+"Using this Application" chapter instead. You should use links to
+cross-reference questions to the parts of your documentation that answer them.
+This is also a great place to provide pointers to other FAQ's if your users
+must do some complicated configuration on other programs in order for your
+application work.
+
+&reporting.bugs;
+&updating.documentation;
+
+<qandaset id="faqlist">
+<qandaentry>
+<question>
+<para
+>My Mouse doesn't work. How do I quit &filelight;?</para>
+</question>
+<answer>
+<para
+>You silly goose! Check out the <link linkend="commands"
+>Commands
+Section</link
+> for the answer.</para>
+</answer>
+</qandaentry>
+<qandaentry>
+<question>
+<para
+>Why can't I twiddle my documents?</para>
+</question>
+<answer>
+<para
+>You can only twiddle your documents if you have the foobar.lib
+installed.</para>
+</answer>
+</qandaentry>
+</qandaset>
+</chapter>
+-->
+
+
+
+<chapter id="credits">
+
+<!-- Include credits for the programmers, documentation writers, and
+contributors here. The license for your software should then be included below
+the credits with a reference to the appropriate license file included in the KDE
+distribution. -->
+
+<title
+>Medvirkende og licens</title>
+
+<sect1 id="kapp">
+<title
+>&filelight;</title>
+<para
+>Program ophavsret 2003 Max B. Howell <email
+>max.howell@methylblue.com</email
+></para>
+&underGPL; </sect1>
+<sect1 id="Documentation">
+
+<title
+>Dokumentation</title>
+
+<para
+>Dokumentation ophavsret 2003 Max B. Howell <email
+>max.howell@methylblue.com</email
+> </para>
+&underFDL; </sect1>
+
+</chapter>
+
+<appendix id="installation">
+<title
+>Installation</title>
+
+<sect1 id="getting-filelight">
+<title
+>Hvordan får man fat i &filelight;</title>
+
+<para
+>:&filelight; er endnu ikke en del af KDE-projektet. Det findes på: <ulink url="http://www.methylblue.com/filelight/"
+>http://www.methylblue.com/filelight/</ulink
+>. </para>
+</sect1>
+
+<sect1 id="compilation">
+<title
+>Kompilering og installation</title>
+
+<para
+>For at kompilere og installere &filelight; på dit system, skrives følgende i basismappen for &filelight;s distribution: <screen width="40"
+><prompt
+>%</prompt
+> <userinput
+>./configure --prefix=`kde-config --prefix`</userinput>
+<prompt
+>%</prompt
+> <userinput
+>make</userinput>
+<prompt
+>%</prompt
+> <userinput
+>make install</userinput
+>
+</screen>
+</para>
+
+<para
+>Eftersom &filelight; bruger autoconf og automake, burde du ikke have nogen problemer med at kompilere den. Skulle du støde på problemer, så rapportér dem gerne til filelight@methylblue.com eller til &filelight;s forum.</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:
+-->
diff --git a/doc/es/Makefile.am b/doc/es/Makefile.am
new file mode 100644
index 0000000..da3a4a7
--- /dev/null
+++ b/doc/es/Makefile.am
@@ -0,0 +1,2 @@
+KDE_LANG = es
+KDE_DOCS = filelight
diff --git a/doc/es/config_appear.png b/doc/es/config_appear.png
new file mode 100644
index 0000000..f682388
--- /dev/null
+++ b/doc/es/config_appear.png
Binary files differ
diff --git a/doc/es/config_scan.png b/doc/es/config_scan.png
new file mode 100644
index 0000000..366976f
--- /dev/null
+++ b/doc/es/config_scan.png
Binary files differ
diff --git a/doc/es/filemap.png b/doc/es/filemap.png
new file mode 100644
index 0000000..b9b8059
--- /dev/null
+++ b/doc/es/filemap.png
Binary files differ
diff --git a/doc/es/index.docbook b/doc/es/index.docbook
new file mode 100644
index 0000000..8f58537
--- /dev/null
+++ b/doc/es/index.docbook
@@ -0,0 +1,995 @@
+<?xml version="1.0" ?>
+<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.1.2-Based Variant V1.0//EN" "dtd/kdex.dtd" [
+ <!ENTITY kappname "&filelight;">
+ <!ENTITY filelight "<application
+>Filelight</application
+>">
+
+ <!ENTITY % addindex "IGNORE">
+ <!ENTITY % Spanish "INCLUDE"
+><!-- change language only here -->
+]>
+
+<!-- Do not define any other entities; instead, use the entities
+ from kde-genent.entities and $LANG/user.entities. -->
+<!-- kdoctemplate v0.8 October 1 1999
+ Minor update to "Credits and Licenses" section on August 24, 2000
+ Removed "Revision history" section on 22 January 2001 -->
+
+<!--
+This template was designed by: David Rugge davidrugge@mindspring.com
+with lots of help from: Eric Bischoff ebisch@cybercable.tm.fr
+and Frederik Fouvry fouvry@sfs.nphil.uni-tuebingen.de
+of the KDE DocBook team.
+
+You may freely use this template for writing any sort of KDE documentation.
+If you have any changes or improvements, please let us know.
+
+In the future, we may want to change from SGML-based DocBook to XML-based
+DocBook. To make this change easier, please be careful :
+- in XML, the case of the <tags
+> and attributes is relevant ;
+- also, quote all attributes.
+
+Please don't forget to remove all these comments in your final documentation,
+thanks ;-).
+-->
+
+<!-- ................................................................ -->
+
+<!-- The language must NOT be changed here. -->
+
+<book lang="&language;">
+
+<!-- This header contains all of the meta-information for the document such
+as Authors, publish date, the abstract, and Keywords -->
+
+<bookinfo>
+<title
+>El manual de &filelight;</title>
+
+<authorgroup>
+<author
+><firstname
+>Max</firstname
+> <surname
+>Howell</surname
+> <affiliation
+> <address
+><email
+>max.howell@methylblue.com</email
+></address>
+</affiliation>
+</author>
+</authorgroup>
+
+<othercredit role="translator"
+> <firstname
+>Santiago</firstname
+> <surname
+>Fernández Sancho</surname
+> <affiliation
+><address
+><email
+>santi@est.unileon.es</email
+></address
+></affiliation
+> <contrib
+>Traductor</contrib
+> </othercredit
+>
+
+<copyright>
+<year
+>2003</year>
+<holder
+>Max Howell</holder>
+</copyright>
+<!-- Translators: put here the copyright notice of the translation -->
+<!-- Put here the FDL notice. Read the explanation in fdl-notice.docbook
+ and in the FDL itself on how to use it. -->
+<legalnotice
+>&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
+(V.MM.LL), it could be used by automation scripts.
+Do NOT change these in the translation. -->
+
+<date
+>03/11/2003</date>
+<releaseinfo
+>2</releaseinfo>
+
+<!-- Abstract about this handbook -->
+
+<abstract>
+<para
+>&filelight; muestra información sobre la utilización del disco de forma recursiva, como una versión gráfica de la orden de línea de órdenes, du. </para>
+</abstract>
+
+<!-- This is a set of Keywords for indexing by search engines.
+Please at least include KDE, the KDE package it is in, the name
+ of your application, and a few relevant keywords. -->
+
+<keywordset>
+<keyword
+>KDE</keyword>
+<keyword
+>Filelight</keyword>
+<keyword
+>du</keyword>
+<keyword
+>uso del disco</keyword>
+<keyword
+>estadísticas</keyword>
+</keywordset>
+
+</bookinfo>
+
+<!-- The contents of the documentation begin here. Label
+each chapter so with the id attribute. This is necessary for two reasons: it
+allows you to easily reference the chapter from other chapters of your
+document, and if there is no ID, the name of the generated HTML files will vary
+from time to time making it hard to manage for maintainers and for the CVS
+system. Any chapter labelled (OPTIONAL) may be left out at the author's
+discretion. Other chapters should not be left out in order to maintain a
+consistent documentation style across all KDE apps. -->
+
+<chapter id="introduction">
+<title
+>Introducción</title>
+
+<screenshot>
+<screeninfo
+>Captura de pantalla de Filelight</screeninfo>
+<mediaobject>
+<imageobject
+><imagedata fileref="main.png" format="PNG"/></imageobject>
+<textobject
+><phrase
+>Captura de pantalla</phrase
+></textobject>
+</mediaobject>
+</screenshot>
+
+
+<para
+>&filelight; le permite entender rápidamente en qué se está utilizando su espacio de disco a través de una representación gráfica del sistema de archivos como un conjunto de anillos concéntricos segmentados. Puede utilizarla para localizar puntos conflictivos en el uso del disco y manipular estas áreas utilizando konqueror. </para>
+
+</chapter>
+
+
+<chapter id="configuring">
+<title
+>Configurar &filelight;</title>
+
+<para
+>El diálogo de preferencias de &filelight; tiene dos pestañas para configurar las opciones de &filelight;. Las dos pestañas son <guimenuitem
+>Explorar</guimenuitem
+> y <guimenuitem
+>Apariencia</guimenuitem
+>. A continuación se muestra una descripción de la pestaña de preferencias. El diálogo de preferencias de &filelight; puede encontrarse pulsando <menuchoice
+><guimenu
+>Preferencias</guimenu
+><guimenuitem
+>Configurar Filelight</guimenuitem
+></menuchoice
+>.</para>
+
+<sect1 id="scanning">
+<title
+>Exploración</title>
+
+<screenshot>
+<screeninfo
+>Captura de la pantalla de exploración</screeninfo>
+<mediaobject>
+<imageobject
+><imagedata fileref="config_scan.png" format="PNG"/></imageobject>
+<textobject
+><phrase
+>Captura de pantalla</phrase
+></textobject>
+</mediaobject>
+</screenshot>
+
+<para
+>La pestaña exploración le permite configurar cómo &filelight; esplora los directorios. <guimenuitem
+>No explorar estos directorios</guimenuitem
+> se utiliza para excluir determinados directorios de la exploración. Esta opción es muy práctica para saltar directorios para los que no se tiene permisos de lectura, o directorios que forman parte del sistema de archivo virtual, como /proc. Para añadir un directorio a la lista, pulse el botón <guibutton
+>Añadir...</guibutton
+>, que iniciará el diálogo en el que podrá seleccionar el directorio de su elección desde la vista de árbol. Para eliminar un directorio selecciónelo y pulse el botón <guibutton
+>Eliminar</guibutton
+>.</para>
+
+<!--<madpenguin8
+>I'll add a description here about what the "Scan across fs boundries" option when the option works ;-)-->
+</sect1>
+
+<sect1 id="appearance">
+<title
+>Apariencia</title>
+
+<screenshot>
+<screeninfo
+>Captura de pantalla de la apariencia</screeninfo>
+<mediaobject>
+<imageobject
+><imagedata fileref="config_appear.png" format="PNG"/></imageobject>
+<textobject
+><phrase
+>Captura de pantalla</phrase
+></textobject>
+</mediaobject>
+</screenshot>
+
+<para
+>La pestaña <guimenuitem
+>Apariencia</guimenuitem
+> le permite configurar el aspecto de &filelight;.</para>
+
+<para
+>La sección <guimenuitem
+>Esquema</guimenuitem
+> se utiliza para seleccionar un esquema de color para &filelight;. Los esquemas de color son arco iris, colores de KDE y alto contraste. También podemos encontrar el deslizador <guimenuitem
+>Contraste</guimenuitem
+> para ajustar el contraste de los segmentos del anillo para una visualización sencilla.</para>
+
+<para
+>La casilla <guimenuitem
+>Utilizar suavizado</guimenuitem
+> se utiliza para activar el uso del suavizado en la vista de &filelight;. Si está seleccionada, esta opción hace que los segmentos de los anillos tengan un aspecto mucho más limpio.</para>
+
+<para
+>La casilla <guimenuitem
+>Variar los tamaños de los tipos de letra de las etiquetas</guimenuitem
+> es práctica cuando tiene archivos o directorios con nombres largos para ajustarlos mejor en la vista. Cuando esta opción está marcada, se activará la edición del <guimenuitem
+>Tamaño mínimo del tipo de letra</guimenuitem
+> para seleccionar el tipo de letra más pequeña a la que realizar el escalado.</para>
+
+<para
+>La opción <guimenuitem
+>Mostrar los archivos pequeños</guimenuitem
+> está desactivada de forma predeterminada para evitar que la vista de &filelight; esté desordenada. Active esta opción si desea incluír sus archivos pequeños en la vista de &filelight;.</para>
+
+</sect1>
+</chapter>
+
+<!-- REMOVE ME ************************************ -->
+<chapter id="using">
+<title
+>Utilización de &filelight;</title>
+
+<sect1 id="starting">
+<title
+>Inicio de &filelight;</title>
+<para
+>&filelight; puede iniciarse desde el menú K, o desde la línea de órdenes.</para>
+
+<sect2 id="starting-from-the-menu">
+<title
+>Desde el menú K</title>
+
+<para
+>Abre el menú de programas de &kde; pulsando en el icono con la <guiicon
+>gran K</guiicon
+> en su panel. Aparecerá el <guimenu
+>menú de programas</guimenu
+>. Muévase hasta el elemento de menú <guimenu
+>Utilidades</guimenu
+>. Seleccione <guimenuitem
+>&filelight;</guimenuitem
+>. </para>
+
+</sect2>
+
+
+<sect2 id="starting-from-the-command-line">
+<title
+>Desde la línea de órdenes</title>
+
+<para
+>Puede iniciar &filelight; tecleando su nombre en la línea de órdenes. Si le da un nombre de directorio, como en el ejemplo siguiente, explorará este directorio. </para>
+
+<informalexample>
+<screen
+><prompt
+>%</prompt
+><userinput
+><command
+>filelight</command
+> <option
+><replaceable
+>/home</replaceable
+></option
+></userinput
+>
+</screen>
+</informalexample>
+
+</sect2>
+</sect1>
+
+<sect1 id="scanning-directories">
+<title
+>Exploración de directorios</title>
+<para
+>Explorar un directorio muestra su contenido como un mapa de archivos. Para explorar un directorio, utilice el menú explorar, o teclee una url en la barra de dirección. </para>
+
+<!--<sect2 id="scan-home"
+><para
+>1</para
+></sect2>
+<sect2 id="scan-root"
+><para
+>1</para
+></sect2>
+<sect2 id="scan-directory"
+><para
+>1</para
+></sect2>
+<sect2 id="scan-recent"
+><para
+>1</para
+></sect2
+>-->
+
+</sect1>
+
+<sect1 id="exploring-filemaps">
+<title
+>Exploración del mapa de archivos</title>
+<para
+>Una vez que la exploración se haya completado aparecerá un mapa de archivos que representa el directorio explorado. El mapa de archivos está formado por una serie de anillos segmentados que se expanden desde el centro. Los segmentos con colores brillantes son directorio, los grises son archivos. Los segmentos se dimensionan con un tamaño proporcional al tamaño de los archivos. Los segmentos se anidarán, así por ejemplo, /home/mxcl será un nivel externo vinculado al segmento que representa a home. Los segmentos se etiquetan y al mantener el ratón sobre los segmentos aparecerán más detalles de este segmento y de sus segmentos hijo. </para>
+
+<screenshot>
+<screeninfo
+>Captura de pantalla del mapa de archivos</screeninfo>
+<mediaobject>
+<imageobject
+><imagedata fileref="filemap.png" format="PNG"/></imageobject>
+<textobject
+><phrase
+>Captura de pantalla</phrase
+></textobject>
+</mediaobject>
+</screenshot>
+
+<para
+>Puede abrir un directorio con Konqueror o Konsole utilizando el menú contextual para este segmento. Pulsar el botón central abrirá el archivo de acuerdo con su tipo mime, así, las imágenes se abrirán con Kuickshow. Puede pulsar el botón derecho en el círculo central para obtener un menú contextual para el directorio explorado. Pulsar el botón izquierdo en el segmento, volverá a centrar el mapa en este segmento. </para>
+
+<para
+>Si desea, mejorar la documentación, estaré encantado de aceptar parches :) gracias. </para>
+
+<!--<sect2 id="scan-home"
+><para
+>1</para
+></sect2>
+<sect2 id="scan-root"
+><para
+>1</para
+></sect2>
+<sect2 id="scan-directory"
+><para
+>1</para
+></sect2>
+<sect2 id="scan-recent"
+><para
+>1</para
+></sect2
+>-->
+
+</sect1>
+
+</chapter>
+
+
+
+
+
+<!--<para>
+<screenshot>
+<screeninfo
+>Here's a screenshot of &filelight;</screeninfo>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="screenshot.png" format="PNG"/>
+ </imageobject>
+ <imageobject>
+ <imagedata fileref="screenshot.eps" format="EPS"/>
+ </imageobject>
+ <textobject>
+ <phrase
+>Screenshot</phrase>
+ </textobject>
+ </mediaobject>
+</screenshot>
+</para
+>-->
+
+
+
+<chapter id="commands">
+<title
+>Menú y referencia de órdenes</title>
+
+<sect1 id="scan_menu">
+<title
+>El menú Explorar</title>
+<variablelist>
+<varlistentry>
+<term
+><menuchoice
+><shortcut
+> <keycombo
+><keycap
+>Ctrl</keycap
+><keycap
+>o</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Explorar</guimenu
+> <guimenuitem
+>Explorar directorio..</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Ofrece un diálogo de selección de directorio de forma que pueda seleccionar el directorio a explorar.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><shortcut
+> <keycombo
+><keycap
+>Ctrl</keycap
+><keycap
+>Inicio</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Explorar</guimenu
+> <guimenuitem
+>Explorar el directorio personal</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Inicia la exploración del directorio personal del usuario.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><guimenu
+>Explorar</guimenu
+> <guimenuitem
+>Explorar el directorio raíz</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Inicia la exploración del directorio raíz.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><guimenu
+>Explorar</guimenu
+> <guimenuitem
+>Exploraciones recientes</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Proporciona una lista de los directorios recientemente explorados permitiendo un acceso rápido a estos directorios.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><shortcut
+> <keycap
+>F5</keycap
+> </shortcut
+> <guimenu
+>Exploración</guimenu
+> <guimenuitem
+>Re-explorar</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Inicia una nueva exploración del directorio de trabajo actual, lo que es práctico cuando se hacen cambios en el sistema de archivos.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><shortcut
+> <keycap
+>Esc</keycap
+> </shortcut
+> <guimenu
+>Explorar</guimenu
+> <guimenuitem
+>Detener</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Detiene la exploración actual.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><shortcut
+> <keycombo
+><keycap
+>Ctrl</keycap
+><keycap
+>q</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Explorar</guimenu
+> <guimenuitem
+>Salir</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Sale de &filelight;.</action
+></para
+></listitem>
+</varlistentry>
+
+</variablelist>
+</sect1>
+
+<sect1 id="go_menu">
+<title
+>El menú Ir</title>
+<variablelist>
+
+<varlistentry>
+<term
+><menuchoice
+><shortcut
+> <keycombo
+><keycap
+>Alt</keycap
+><keycap
+>Arriba</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Ir</guimenu
+> <guimenuitem
+>Arriba</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Se mueve hacia arriba en el sistema de archivos.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><shortcut
+> <keycombo
+><keycap
+>Alt</keycap
+><keycap
+>Izquierda</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Ir</guimenu
+> <guimenuitem
+>Atrás</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Se desplaza un paso hacia atrás en la navegación de su sistema de archivos.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><shortcut
+> <keycombo
+><keycap
+>Alt</keycap
+><keycap
+>Derecha</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Ir</guimenu
+> <guimenuitem
+>Adelante</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Se desplaza un paso hacia delante en la navegación de su sistema de archivos.</action
+></para
+></listitem>
+</varlistentry>
+
+</variablelist>
+</sect1>
+
+<sect1 id="settings_menu">
+<title
+>El menú Preferencias</title>
+<variablelist>
+
+
+<varlistentry>
+<term
+><menuchoice
+><guimenu
+>Preferencias</guimenu
+> <guisubmenu
+>Barra de herramientas</guisubmenu
+> <guimenuitem
+>Barra de herramientas principal</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Activa o desactiva la barra de herramientas principal de la aplicación.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><guimenu
+>Preferencias</guimenu
+> <guisubmenu
+>Barra de herramientas</guisubmenu
+> <guimenuitem
+>Barra de dirección</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Activa o desactiva la barra de herramientas de dirección.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><guimenu
+>Preferencias</guimenu
+> <guimenuitem
+>Configurar accesos rápidos...</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Le permite configurar los accesos rápidos de &filelight;.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><guimenu
+>Preferencias</guimenu
+> <guimenuitem
+>Configurar barra de herramientas...</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Le permite configurar las opciones de la barra de herramientas de &filelight;.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><guimenu
+>Preferencias</guimenu
+> <guimenuitem
+>Configurar Filelight...</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Inicia el diálogo configurar de &filelight;.</action
+></para
+></listitem>
+</varlistentry>
+
+</variablelist>
+</sect1>
+
+<sect1 id="help_menu">
+<title
+>El menú ayuda</title>
+<variablelist>
+
+<varlistentry>
+<term
+><menuchoice
+><guimenu
+>Ayuda</guimenu
+> <guimenuitem
+>Manual de Filelight</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Abre este documento de ayuda.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><shortcut
+> <keycombo
+><keycap
+>Mayúsculas</keycap
+><keycap
+>F1</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Ayuda</guimenu
+> <guimenuitem
+>¿Qué es esto?</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Activa el cursor del ratón «¿Qué es esto?» para permitirle pulsar sobre un objeto para obtener la información «¿Qué es esto?».</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><guimenu
+>Ayuda</guimenu
+> <guimenuitem
+>Informar de fallo...</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Inicia la herramienta de informe de fallos de la ventana del diálogo.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><guimenu
+>Ayuda</guimenu
+> <guimenuitem
+>Acerca de Filelight</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Inicia la ventana del diálogo Acerca de &filelight;.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><guimenu
+>Ayuda</guimenu
+> <guimenuitem
+>Acerca de KDE</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Inicia la ventana de diálogo Acerca de &kde;.</action
+></para
+></listitem>
+</varlistentry>
+
+</variablelist>
+</sect1>
+
+
+</chapter>
+
+<!--
+<chapter id="faq">
+<title
+>Questions and Answers</title>
+
+(OPTIONAL but recommended) This chapter should include all of the silly
+(and not-so-silly) newbie questions that fill up your mailbox. This chapter
+should be reserved for BRIEF questions and answers! If one question uses more
+than a page or so then it should probably be part of the
+"Using this Application" chapter instead. You should use links to
+cross-reference questions to the parts of your documentation that answer them.
+This is also a great place to provide pointers to other FAQ's if your users
+must do some complicated configuration on other programs in order for your
+application work.
+
+&reporting.bugs;
+&updating.documentation;
+
+<qandaset id="faqlist">
+<qandaentry>
+<question>
+<para
+>My Mouse doesn't work. How do I quit &filelight;?</para>
+</question>
+<answer>
+<para
+>You silly goose! Check out the <link linkend="commands"
+>Commands
+Section</link
+> for the answer.</para>
+</answer>
+</qandaentry>
+<qandaentry>
+<question>
+<para
+>Why can't I twiddle my documents?</para>
+</question>
+<answer>
+<para
+>You can only twiddle your documents if you have the foobar.lib
+installed.</para>
+</answer>
+</qandaentry>
+</qandaset>
+</chapter>
+-->
+
+
+
+<chapter id="credits">
+
+<!-- Include credits for the programmers, documentation writers, and
+contributors here. The license for your software should then be included below
+the credits with a reference to the appropriate license file included in the KDE
+distribution. -->
+
+<title
+>Créditos y licencia</title>
+
+<sect1 id="kapp">
+<title
+>&filelight;</title>
+<para
+>Derechos de autor del programa. 2003. Max B. Howell <email
+>max.howell@methylblue.com</email
+>.</para>
+&underGPL; </sect1>
+<sect1 id="Documentation">
+
+<title
+>Documentación</title>
+
+<para
+>Derechos de autor de la documentación. 2003. Max B. Howell <email
+>max.howell@methylblue.com</email
+>. </para>
+&underFDL; </sect1>
+
+</chapter>
+
+<appendix id="installation">
+<title
+>Instalación</title>
+
+<sect1 id="getting-filelight">
+<title
+>Cómo obtener &filelight;</title>
+
+<para
+>&filelight; no forma todavía parte del proyecto KDE, se puede encontrar en: <ulink url="http://www.methylblue.com/filelight/"
+>http://www.methylblue.com/filelight/</ulink
+>. </para>
+</sect1>
+
+<sect1 id="compilation">
+<title
+>Compilación e instalación</title>
+
+<para
+>Para compilar e instalar &filelight; en su sistema, teclee lo siguiente en el directorio base de la distribución de &filelight;: <screen width="40"
+><prompt
+>%</prompt
+> <userinput
+>./configure --prefix=`kde-config --prefix`</userinput>
+<prompt
+>%</prompt
+> <userinput
+>make</userinput>
+<prompt
+>%</prompt
+> <userinput
+>make install</userinput
+>
+</screen>
+</para>
+
+<para
+>Como &filelight; utiliza autoconf y automake no debería tener problemas para compilarlo. Si tiene problemas de ejecución informe de ello a filelight@methylblue.com o a los de &filelight;.</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:
+-->
diff --git a/doc/es/main.png b/doc/es/main.png
new file mode 100644
index 0000000..ea60bb6
--- /dev/null
+++ b/doc/es/main.png
Binary files differ
diff --git a/doc/et/Makefile.am b/doc/et/Makefile.am
new file mode 100644
index 0000000..c8ffd54
--- /dev/null
+++ b/doc/et/Makefile.am
@@ -0,0 +1,2 @@
+KDE_LANG = et
+KDE_DOCS = filelight
diff --git a/doc/et/index.docbook b/doc/et/index.docbook
new file mode 100644
index 0000000..4bde834
--- /dev/null
+++ b/doc/et/index.docbook
@@ -0,0 +1,995 @@
+<?xml version="1.0" ?>
+<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.1.2-Based Variant V1.0//EN" "dtd/kdex.dtd" [
+ <!ENTITY kappname "&filelight;">
+ <!ENTITY filelight "<application
+>Filelight</application
+>">
+
+ <!ENTITY % addindex "IGNORE">
+ <!ENTITY % Estonian "INCLUDE"
+><!-- change language only here -->
+]>
+
+<!-- Do not define any other entities; instead, use the entities
+ from kde-genent.entities and $LANG/user.entities. -->
+<!-- kdoctemplate v0.8 October 1 1999
+ Minor update to "Credits and Licenses" section on August 24, 2000
+ Removed "Revision history" section on 22 January 2001 -->
+
+<!--
+This template was designed by: David Rugge davidrugge@mindspring.com
+with lots of help from: Eric Bischoff ebisch@cybercable.tm.fr
+and Frederik Fouvry fouvry@sfs.nphil.uni-tuebingen.de
+of the KDE DocBook team.
+
+You may freely use this template for writing any sort of KDE documentation.
+If you have any changes or improvements, please let us know.
+
+In the future, we may want to change from SGML-based DocBook to XML-based
+DocBook. To make this change easier, please be careful :
+- in XML, the case of the <tags
+> and attributes is relevant ;
+- also, quote all attributes.
+
+Please don't forget to remove all these comments in your final documentation,
+thanks ;-).
+-->
+
+<!-- ................................................................ -->
+
+<!-- The language must NOT be changed here. -->
+
+<book lang="&language;">
+
+<!-- This header contains all of the meta-information for the document such
+as Authors, publish date, the abstract, and Keywords -->
+
+<bookinfo>
+<title
+>&filelight;i käsiraamat</title>
+
+<authorgroup>
+<author
+><firstname
+>Max</firstname
+> <surname
+>Howell</surname
+> <affiliation
+> <address
+><email
+>max.howell@methylblue.com</email
+></address>
+</affiliation>
+</author>
+</authorgroup>
+
+<othercredit role="translator"
+><firstname
+>Marek</firstname
+><surname
+>Laane</surname
+><affiliation
+><address
+><email
+>bald@starman.ee</email
+></address
+></affiliation
+><contrib
+>Tõlge eesti keelde</contrib
+></othercredit
+>
+
+<copyright>
+<year
+>2003</year>
+<holder
+>Max Howell</holder>
+</copyright>
+<!-- Translators: put here the copyright notice of the translation -->
+<!-- Put here the FDL notice. Read the explanation in fdl-notice.docbook
+ and in the FDL itself on how to use it. -->
+<legalnotice
+>&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
+(V.MM.LL), it could be used by automation scripts.
+Do NOT change these in the translation. -->
+
+<date
+>03/11/2003</date>
+<releaseinfo
+>2</releaseinfo>
+
+<!-- Abstract about this handbook -->
+
+<abstract>
+<para
+>&filelight; näitab rekursiivselt kettakasutuse infot, olles sisuliselt käsureatööriista du graafiline versioon. </para>
+</abstract>
+
+<!-- This is a set of Keywords for indexing by search engines.
+Please at least include KDE, the KDE package it is in, the name
+ of your application, and a few relevant keywords. -->
+
+<keywordset>
+<keyword
+>KDE</keyword>
+<keyword
+>Filelight</keyword>
+<keyword
+>du</keyword>
+<keyword
+>kettakasutus</keyword>
+<keyword
+>statistika</keyword>
+</keywordset>
+
+</bookinfo>
+
+<!-- The contents of the documentation begin here. Label
+each chapter so with the id attribute. This is necessary for two reasons: it
+allows you to easily reference the chapter from other chapters of your
+document, and if there is no ID, the name of the generated HTML files will vary
+from time to time making it hard to manage for maintainers and for the CVS
+system. Any chapter labelled (OPTIONAL) may be left out at the author's
+discretion. Other chapters should not be left out in order to maintain a
+consistent documentation style across all KDE apps. -->
+
+<chapter id="introduction">
+<title
+>Sissejuhatus</title>
+
+<screenshot>
+<screeninfo
+>Filelighti pilt</screeninfo>
+<mediaobject>
+<imageobject
+><imagedata fileref="main.png" format="PNG"/></imageobject>
+<textobject
+><phrase
+>Pilt</phrase
+></textobject>
+</mediaobject>
+</screenshot>
+
+
+<para
+>&filelight;i abil saab hõlpsasti ülevaate oma kettaruumi jagunemisest. Rakendus näitab failisüsteemi graafiliselt kontsentriliste lõigustatud ringidena. Nii saad kergesti tuvastada suurimad ketast kasutavad failid või kataloogid ja seejärel soovi korral nendega midagi Konqueroris ette võtta. </para>
+
+</chapter>
+
+
+<chapter id="configuring">
+<title
+>&filelight;i seadistamine</title>
+
+<para
+>&filelight;i seadistustedialoogis on &filelight;i seadistamiseks kaks kaarti: <guimenuitem
+>Skaneerimine</guimenuitem
+> ja <guimenuitem
+>Välimus</guimenuitem
+>. Alljärgnevalt kirjeldame mõlemat kaarti. &filelight;i seadistustedialoogi saab avada menüükäsuga <menuchoice
+><guimenu
+>Seadistused</guimenu
+><guimenuitem
+>Filelighti seadistamine</guimenuitem
+></menuchoice
+>.</para>
+
+<sect1 id="scanning">
+<title
+>Skaneerimine</title>
+
+<screenshot>
+<screeninfo
+>Skaneerimise pilt</screeninfo>
+<mediaobject>
+<imageobject
+><imagedata fileref="config_scan.png" format="PNG"/></imageobject>
+<textobject
+><phrase
+>Pilt</phrase
+></textobject>
+</mediaobject>
+</screenshot>
+
+<para
+>Skaneerimiskaardil saab määrata, kuidas &filelight; katalooge skaneerib. Kastis <guimenuitem
+>Ei skaneerita katalooge</guimenuitem
+> saab valida kataloogid, mis jäetakse skaneerimisel arvestamata. See on üsna kasulik kataloogide korral, milles sul puudub lugemisõigus, või kataloogide puhul, mis kuuluvad virtuaalsesse failisüsteemi (näiteks /proc). Kataloogi lisamiseks nimekirja klõpsa nupule <guibutton
+>Lisa...</guibutton
+> See avab dialoogi, kus saad kataloogipuust valida vajaliku kataloogi. Kataloogi eemaldamiseks vali see nimekirjast ja klõpsa nupule <guibutton
+>Eemalda</guibutton
+>.</para>
+
+<!--<madpenguin8
+>I'll add a description here about what the "Scan across fs boundries" option when the option works ;-)-->
+</sect1>
+
+<sect1 id="appearance">
+<title
+>Välimus</title>
+
+<screenshot>
+<screeninfo
+>Välimuse pilt</screeninfo>
+<mediaobject>
+<imageobject
+><imagedata fileref="config_appear.png" format="PNG"/></imageobject>
+<textobject
+><phrase
+>Pilt</phrase
+></textobject>
+</mediaobject>
+</screenshot>
+
+<para
+>Kaardil <guimenuitem
+>Välimus</guimenuitem
+> saab kohandada &filelight;i väljanägemist.</para>
+
+<para
+>Sektsioonis <guimenuitem
+>Skeem</guimenuitem
+> saab valida &filelight;i värviskeemi. Valikuteks on vikerkaar, KDE värvid ja kõrge kontrast. Liuguriga <guimenuitem
+>Kontrast</guimenuitem
+> saab muuta lõikude kontrasti, et need paremini näha oleks.</para>
+
+<para
+>Märkekastiga <guimenuitem
+>Antialiase kasutamine</guimenuitem
+> saab lubada või keelata antialiase kasutamise &filelight;i aknas. Märkimise korral on lõigud üldiselt märksa selgemini näha.</para>
+
+<para
+>Kasti <guimenuitem
+>Muutuvad pealdisefondi suurused</guimenuitem
+> märkimisest on kasu eriti siis, kui sul pikkade nimetustega faile või katalooge. Selle märkimisel muudetakse fondi suurust, et sellised nimetused paremini ära mahuksid. Sisselülitamisel saab kasutada ka kerimiskasti <guimenuitem
+>Minimaalne fondisuurus</guimenuitem
+>, mis võimaldab valida väikseima kasutatava fondisuuruse.</para>
+
+<para
+><guimenuitem
+>Väikeste failide näitamine</guimenuitem
+> on vaikimisi keelatud, sest need kipuvad enamasti &filelight;i vaate liiga kirjuks muutma. Kui aga soovid, et &filelight; näitaks ka väikseid faile, lülita see sisse.</para>
+
+</sect1>
+</chapter>
+
+<!-- REMOVE ME ************************************ -->
+<chapter id="using">
+<title
+>&filelight;i kasutamine</title>
+
+<sect1 id="starting">
+<title
+>&filelight;i käivitamine</title>
+<para
+>&filelight;i võib käivitada K-menüüst või käsurealt.</para>
+
+<sect2 id="starting-from-the-menu">
+<title
+>K-menüüst</title>
+
+<para
+>Ava &kde; programmide menüü klõpsuga paneeli paiknevale <guiicon
+>suure K</guiicon
+> ikoonile. See avab <guimenu
+>programmide menüü</guimenu
+>. Vii hiir kirje <guimenu
+>Utiliidid</guimenu
+> peale ja vali avanevast alammenüüst <guimenuitem
+>&filelight;</guimenuitem
+>. </para>
+
+</sect2>
+
+
+<sect2 id="starting-from-the-command-line">
+<title
+>Käsurealt</title>
+
+<para
+>&filelight;i saab käivitada lihtsalt selle nime käsureal andes. Kui lisada ka kataloogi nimi, nagu alltoodud näites, hakkab rakendus kohe skaneerima määratud kataloogi. </para>
+
+<informalexample>
+<screen
+><prompt
+>%</prompt
+><userinput
+><command
+>filelight</command
+> <option
+><replaceable
+>/home</replaceable
+></option
+></userinput
+>
+</screen>
+</informalexample>
+
+</sect2>
+</sect1>
+
+<sect1 id="scanning-directories">
+<title
+>Kataloogide skaneerimine</title>
+<para
+>Kataloogi skaneerimisel näidatakse selle sisu failikaardina. Kataloogi skaneerimiseks kasuta menüüd Skaneerimine või kirjuta vajalik URL otse asukohareale. </para>
+
+<!--<sect2 id="scan-home"
+><para
+>1</para
+></sect2>
+<sect2 id="scan-root"
+><para
+>1</para
+></sect2>
+<sect2 id="scan-directory"
+><para
+>1</para
+></sect2>
+<sect2 id="scan-recent"
+><para
+>1</para
+></sect2
+>-->
+
+</sect1>
+
+<sect1 id="exploring-filemaps">
+<title
+>Failikaardi uurimine</title>
+<para
+>Kui skaneerimine on lõppenud, näidatakse skaneeritud kataloogi failikaardina. See kujutab endast mitut kontsentrilist lõikudeks jagatud ringi. Värvilised lõigud on kataloogid, hallid lõigud failid. Lõikude suurus vastab failide suurusele. Lõigud võivad olla pesastatud, see tähendab, et näiteks /home/marek on üks tase väljapool lõiku /home, kuid selle raames. Lõikudele on lisatud nimi ning hiire viimisel lõigu kohale näed antud lõigu ja selle alamlõikude üksikasju. </para>
+
+<screenshot>
+<screeninfo
+>Failikaardi pilt</screeninfo>
+<mediaobject>
+<imageobject
+><imagedata fileref="filemap.png" format="PNG"/></imageobject>
+<textobject
+><phrase
+>Pilt</phrase
+></textobject>
+</mediaobject>
+</screenshot>
+
+<para
+>Lõigu kontekstimenüüd kasutades võid avada kataloogid Konqueroris või Konsoolis. Klõps hiire keskmise nupuga avab elemendi vastavalt selle MIME tüübile, nii avatakse näiteks pildid rakenduses Kuickshow. Keskel paiknevale ringile hiire parema nupuga klõpsates avaneb skaneeritud kataloogi kontekstimenüü. Lõigule hiire vasaku nupuga klõpsates luuakse uus failikaart, mille keskmes seisab klõpsatud lõik. </para>
+
+<para
+>Kui soovid käsiraamatut paremaks muuta, ootan rõõmuga sinu ettepanekuid ja parandusi. Tänan sind juba ette. </para>
+
+<!--<sect2 id="scan-home"
+><para
+>1</para
+></sect2>
+<sect2 id="scan-root"
+><para
+>1</para
+></sect2>
+<sect2 id="scan-directory"
+><para
+>1</para
+></sect2>
+<sect2 id="scan-recent"
+><para
+>1</para
+></sect2
+>-->
+
+</sect1>
+
+</chapter>
+
+
+
+
+
+<!--<para>
+<screenshot>
+<screeninfo
+>Here's a screenshot of &filelight;</screeninfo>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="screenshot.png" format="PNG"/>
+ </imageobject>
+ <imageobject>
+ <imagedata fileref="screenshot.eps" format="EPS"/>
+ </imageobject>
+ <textobject>
+ <phrase
+>Screenshot</phrase>
+ </textobject>
+ </mediaobject>
+</screenshot>
+</para
+>-->
+
+
+
+<chapter id="commands">
+<title
+>Menüükäskude seletus</title>
+
+<sect1 id="scan_menu">
+<title
+>Menüü Skaneerimine</title>
+<variablelist>
+<varlistentry>
+<term
+><menuchoice
+><shortcut
+> <keycombo
+><keycap
+>Ctrl</keycap
+><keycap
+>o</keycap
+></keycombo
+> </shortcut
+><guimenu
+>Skaneerimine</guimenu
+> <guimenuitem
+>Skaneeri kataloogi...</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Avab kataloogi valimise dialoogi, kus saab valida skaneeritava kataloogi.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><shortcut
+> <keycombo
+><keycap
+>Ctrl</keycap
+><keycap
+>Home</keycap
+></keycombo
+> </shortcut
+><guimenu
+>Skaneerimine</guimenu
+> <guimenuitem
+>Skaneeri kodukataloogi</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Käivitab kasutaja kodukataloogi skaneerimise.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><guimenu
+>Skaneerimine</guimenu
+> <guimenuitem
+>Skaneeri juurkataloogi</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Käivitab juurkataloogi skaneerimise.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><guimenu
+>Skaneerimine</guimenu
+> <guimenuitem
+>Hiljutised skaneeringud</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Näitab hiljuti skaneeritud kataloogide nimekirja, mis võimaldab kiiresti neid vaadata.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><shortcut
+> <keycap
+>F5</keycap
+> </shortcut
+> <guimenu
+>Skaneerimine</guimenu
+> <guimenuitem
+>Skaneeri uuesti</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Käivitab skaneeritud kataloogi uue skaneerimise, mis on kasulik juhul, kui vahepeal on failisüsteemis midagi muudetud.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><shortcut
+> <keycap
+>Esc</keycap
+> </shortcut
+> <guimenu
+>Skaneerimine</guimenu
+> <guimenuitem
+>Peata</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Peatab käimasoleva skaneerimise.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><shortcut
+> <keycombo
+><keycap
+>Ctrl</keycap
+><keycap
+>q</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Skaneerimine</guimenu
+> <guimenuitem
+>Välju</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Lõpetab &filelight;i töö.</action
+></para
+></listitem>
+</varlistentry>
+
+</variablelist>
+</sect1>
+
+<sect1 id="go_menu">
+<title
+>Menüü Liikumine</title>
+<variablelist>
+
+<varlistentry>
+<term
+><menuchoice
+><shortcut
+> <keycombo
+><keycap
+>Alt</keycap
+><keycap
+>Nool üles</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Liikumine</guimenu
+> <guimenuitem
+>Üles</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Liigub failisüsteemis ühe taseme võrra ülespoole.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><shortcut
+> <keycombo
+><keycap
+>Alt</keycap
+><keycap
+>Nool vasakule</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Liikumine</guimenu
+> <guimenuitem
+>Tagasi</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Liigub failisüsteemi sirvimise ajaloos ühe sammu tagasi.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><shortcut
+> <keycombo
+><keycap
+>Alt</keycap
+><keycap
+>Nool paremale</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Liikumine</guimenu
+> <guimenuitem
+>Edasi</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Liigub failisüsteemi sirvimise ajaloos ühe sammu edasi.</action
+></para
+></listitem>
+</varlistentry>
+
+</variablelist>
+</sect1>
+
+<sect1 id="settings_menu">
+<title
+>Menüü Seadistused</title>
+<variablelist>
+
+
+<varlistentry>
+<term
+><menuchoice
+><guimenu
+>Seadistused</guimenu
+> <guisubmenu
+>Tööriistaribad</guisubmenu
+> <guimenuitem
+>Peatööriistariba näitamine</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Lülitab peamise tööriistariba näitamise sisse või välja.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><guimenu
+>Seadistused</guimenu
+> <guisubmenu
+>Tööriistaribad</guisubmenu
+> <guimenuitem
+>Asukohariba näitamine</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Lülitab asukohariba näitamise sisse või välja.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><guimenu
+>Seadistused</guimenu
+> <guimenuitem
+>Kiirklahvide seadistamine...</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Võimaldab seadistada &filelight;i kiirklahve.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><guimenu
+>Seadistused</guimenu
+> <guimenuitem
+>Tööriistaribade seadistamine...</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Võimaldab seadistada &filelight;i tööriistaribasid.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><guimenu
+>Seadistused</guimenu
+> <guimenuitem
+>Filelighti seadistamine...</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Avab &filelight;i seadistustedialoogi.</action
+></para
+></listitem>
+</varlistentry>
+
+</variablelist>
+</sect1>
+
+<sect1 id="help_menu">
+<title
+>Menüü Abi</title>
+<variablelist>
+
+<varlistentry>
+<term
+><menuchoice
+><guimenu
+>Abi</guimenu
+> <guimenuitem
+>Filelighti käsiraamat</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Avab käesoleva käsiraamatu.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><shortcut
+> <keycombo
+><keycap
+>Shift</keycap
+><keycap
+>F1</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Abi</guimenu
+> <guimenuitem
+>Mis see on?</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Aktiveerib "Mis see on?" hiirekursori, millega mõnele elemendile klõpsates saab näha "Mis see on?" abiteksti.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><guimenu
+>Abi</guimenu
+> <guimenuitem
+>Saada vearaport...</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Avab vearaportide dialoogi.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><guimenu
+>Abi</guimenu
+> <guimenuitem
+>Filelighti info</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Avab &filelight;i infodialoogi.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><guimenu
+>Abi</guimenu
+> <guimenuitem
+>KDE info</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Avab &kde; infodialoogi.</action
+></para
+></listitem>
+</varlistentry>
+
+</variablelist>
+</sect1>
+
+
+</chapter>
+
+<!--
+<chapter id="faq">
+<title
+>Questions and Answers</title>
+
+(OPTIONAL but recommended) This chapter should include all of the silly
+(and not-so-silly) newbie questions that fill up your mailbox. This chapter
+should be reserved for BRIEF questions and answers! If one question uses more
+than a page or so then it should probably be part of the
+"Using this Application" chapter instead. You should use links to
+cross-reference questions to the parts of your documentation that answer them.
+This is also a great place to provide pointers to other FAQ's if your users
+must do some complicated configuration on other programs in order for your
+application work.
+
+&reporting.bugs;
+&updating.documentation;
+
+<qandaset id="faqlist">
+<qandaentry>
+<question>
+<para
+>My Mouse doesn't work. How do I quit &filelight;?</para>
+</question>
+<answer>
+<para
+>You silly goose! Check out the <link linkend="commands"
+>Commands
+Section</link
+> for the answer.</para>
+</answer>
+</qandaentry>
+<qandaentry>
+<question>
+<para
+>Why can't I twiddle my documents?</para>
+</question>
+<answer>
+<para
+>You can only twiddle your documents if you have the foobar.lib
+installed.</para>
+</answer>
+</qandaentry>
+</qandaset>
+</chapter>
+-->
+
+
+
+<chapter id="credits">
+
+<!-- Include credits for the programmers, documentation writers, and
+contributors here. The license for your software should then be included below
+the credits with a reference to the appropriate license file included in the KDE
+distribution. -->
+
+<title
+>Autorid ja litsents</title>
+
+<sect1 id="kapp">
+<title
+>&filelight;</title>
+<para
+>Rakenduse autoriõigus 2003: Max B. Howell <email
+>max.howell@methylblue.com</email
+></para>
+&underGPL; </sect1>
+<sect1 id="Documentation">
+
+<title
+>Dokumentatsioon</title>
+
+<para
+>Dokumentatsiooni autoriõigus 2003: Max B. Howell <email
+>max.howell@methylblue.com</email
+> </para>
+&underFDL; </sect1>
+
+</chapter>
+
+<appendix id="installation">
+<title
+>Paigaldamine</title>
+
+<sect1 id="getting-filelight">
+<title
+>&filelight;i hankimine</title>
+
+<para
+>&filelight; ei kuulu veel KDE projekti, selle leiab aadressilt <ulink url="http://www.methylblue.com/filelight/"
+>http://www.methylblue.com/filelight/</ulink
+>. </para>
+</sect1>
+
+<sect1 id="compilation">
+<title
+>Kompileerimine ja paigaldamine</title>
+
+<para
+>&filelight;i kompileerimiseks ja paigaldamiseks anna &filelight;i baaskataloogis järgmised käsud: <screen width="40"
+><prompt
+>%</prompt
+> <userinput
+>./configure --prefix=`kde-config --prefix`</userinput>
+<prompt
+>%</prompt
+> <userinput
+>make</userinput>
+<prompt
+>%</prompt
+> <userinput
+>make install</userinput
+>
+</screen>
+</para>
+
+<para
+>Et &filelight; kasutab autoconf'i ja automake'i, ei tohiks kompileerimisel probleeme esineda. Kui neid siiski tekib, anna neist teada aadressil filelight@methylblue.com või &filelight;i foorumil.</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:
+-->
diff --git a/doc/filelight/Makefile.am b/doc/filelight/Makefile.am
new file mode 100644
index 0000000..e97402c
--- /dev/null
+++ b/doc/filelight/Makefile.am
@@ -0,0 +1,2 @@
+KDE_DOCS = AUTO
+KDE_LANG = en
diff --git a/doc/filelight/config_appear.png b/doc/filelight/config_appear.png
new file mode 100644
index 0000000..419c70d
--- /dev/null
+++ b/doc/filelight/config_appear.png
Binary files differ
diff --git a/doc/filelight/config_scan.png b/doc/filelight/config_scan.png
new file mode 100644
index 0000000..d5097ec
--- /dev/null
+++ b/doc/filelight/config_scan.png
Binary files differ
diff --git a/doc/filelight/filemap.png b/doc/filelight/filemap.png
new file mode 100644
index 0000000..3e0aa5c
--- /dev/null
+++ b/doc/filelight/filemap.png
Binary files differ
diff --git a/doc/filelight/index.docbook b/doc/filelight/index.docbook
new file mode 100644
index 0000000..917a2da
--- /dev/null
+++ b/doc/filelight/index.docbook
@@ -0,0 +1,613 @@
+<?xml version="1.0" ?>
+<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.1.2-Based Variant V1.0//EN" "dtd/kdex.dtd" [
+ <!ENTITY kappname "&filelight;">
+ <!ENTITY filelight "<application>Filelight</application>">
+
+ <!ENTITY % addindex "IGNORE">
+ <!ENTITY % English "INCLUDE"><!-- change language only here -->
+]>
+
+<!-- Do not define any other entities; instead, use the entities
+ from kde-genent.entities and $LANG/user.entities. -->
+<!-- kdoctemplate v0.8 October 1 1999
+ Minor update to "Credits and Licenses" section on August 24, 2000
+ Removed "Revision history" section on 22 January 2001 -->
+
+<!--
+This template was designed by: David Rugge davidrugge@mindspring.com
+with lots of help from: Eric Bischoff ebisch@cybercable.tm.fr
+and Frederik Fouvry fouvry@sfs.nphil.uni-tuebingen.de
+of the KDE DocBook team.
+
+You may freely use this template for writing any sort of KDE documentation.
+If you have any changes or improvements, please let us know.
+
+In the future, we may want to change from SGML-based DocBook to XML-based
+DocBook. To make this change easier, please be careful :
+- in XML, the case of the <tags> and attributes is relevant ;
+- also, quote all attributes.
+
+Please don't forget to remove all these comments in your final documentation,
+thanks ;-).
+-->
+
+<!-- ................................................................ -->
+
+<!-- The language must NOT be changed here. -->
+
+<book lang="&language;">
+
+<!-- This header contains all of the meta-information for the document such
+as Authors, publish date, the abstract, and Keywords -->
+
+<bookinfo>
+<title>The &filelight; Handbook</title>
+
+<authorgroup>
+<author>
+<firstname>Max</firstname>
+<surname>Howell</surname>
+<affiliation>
+<address><email>max.howell@methylblue.com</email></address>
+</affiliation>
+</author>
+</authorgroup>
+
+<!-- TRANS:ROLES_OF_TRANSLATORS -->
+
+<copyright>
+<year>2003</year>
+<holder>Max Howell</holder>
+</copyright>
+<!-- Translators: put here the copyright notice of the translation -->
+<!-- Put here the FDL notice. Read the explanation in fdl-notice.docbook
+ and in the FDL itself on how to use it. -->
+<legalnotice>&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
+(V.MM.LL), it could be used by automation scripts.
+Do NOT change these in the translation. -->
+
+<date>03/11/2003</date>
+<releaseinfo>2</releaseinfo>
+
+<!-- Abstract about this handbook -->
+
+<abstract>
+<para>
+&filelight; displays disk usage information recursively, effectively a graphical version of the command line tool, du.
+</para>
+</abstract>
+
+<!-- This is a set of Keywords for indexing by search engines.
+Please at least include KDE, the KDE package it is in, the name
+ of your application, and a few relevant keywords. -->
+
+<keywordset>
+<keyword>KDE</keyword>
+<keyword>Filelight</keyword>
+<keyword>du</keyword>
+<keyword>disk usage</keyword>
+<keyword>statistics</keyword>
+</keywordset>
+
+</bookinfo>
+
+<!-- The contents of the documentation begin here. Label
+each chapter so with the id attribute. This is necessary for two reasons: it
+allows you to easily reference the chapter from other chapters of your
+document, and if there is no ID, the name of the generated HTML files will vary
+from time to time making it hard to manage for maintainers and for the CVS
+system. Any chapter labelled (OPTIONAL) may be left out at the author's
+discretion. Other chapters should not be left out in order to maintain a
+consistent documentation style across all KDE apps. -->
+
+<chapter id="introduction">
+<title>Introduction</title>
+
+<screenshot>
+<screeninfo>Filelight Screenshot</screeninfo>
+<mediaobject>
+<imageobject><imagedata fileref="main.png" format="PNG"/></imageobject>
+<textobject><phrase>Screenshot</phrase></textobject>
+</mediaobject>
+</screenshot>
+
+
+<para>
+&filelight; allows you to quickly understand exactly where your diskspace is being used by graphically representing your filesystem as a set of concentric segmented-rings. You can use it to locate hotspots of disk usage and then manipulate those areas using Konqueror.
+</para>
+
+</chapter>
+
+
+<chapter id="configuring">
+<title>Configuring &filelight;</title>
+
+<para>The &filelight; settings dialog has two tabs for configuring the &filelight; options. The two tabs are <guimenuitem>Scanning</guimenuitem> and <guimenuitem>Appearance</guimenuitem>. Below is a description of the settings tabs. The &filelight; settings dialog can be found by clicking <menuchoice><guimenu>Settings</guimenu><guimenuitem>Configure Filelight</guimenuitem></menuchoice>.</para>
+
+<sect1 id="scanning">
+<title>Scanning</title>
+
+<screenshot>
+<screeninfo>Scanning Screenshot</screeninfo>
+<mediaobject>
+<imageobject><imagedata fileref="config_scan.png" format="PNG"/></imageobject>
+<textobject><phrase>Screenshot</phrase></textobject>
+</mediaobject>
+</screenshot>
+
+<para>The scanning tab allows you to configure how &filelight; scans directories. The <guimenuitem> Don't scan these directories:</guimenuitem> is used to excluded certain directories from your scan. This option is very useful for skipping directories that you may not have permissions to read, or directories that are part of a virtual filesystem, such as /proc. To add a directory to the list, click the <guibutton>Add...</guibutton> button, this will start a dialog where you can choose the directory of your choice from a tree view. To remove a directory simply select the directory of your choice and click the <guibutton>Remove</guibutton> button.</para>
+
+<!--<madpenguin8>I'll add a description here about what the "Scan across fs boundries" option when the option works ;-)-->
+</sect1>
+
+<sect1 id="appearance">
+<title>Appearance</title>
+
+<screenshot>
+<screeninfo>Appearance Screenshot</screeninfo>
+<mediaobject>
+<imageobject><imagedata fileref="config_appear.png" format="PNG"/></imageobject>
+<textobject><phrase>Screenshot</phrase></textobject>
+</mediaobject>
+</screenshot>
+
+<para>The <guimenuitem>Appearance</guimenuitem> tab allows you to configure the way &filelight; looks.</para>
+
+<para>The <guimenuitem>Scheme</guimenuitem> section is used to choose a color scheme for &filelight;. The color schemes are Rainbow, KDE Colours, and High Contrast. There is also a <guimenuitem>Contrast:</guimenuitem> slider to adjust the contrast of the ring segments for easier viewing.</para>
+
+<para>The <guimenuitem>Use anti-aliasing</guimenuitem> checkbox is used to enable the use of anti-aliasing in the &filelight; view. Selected, this option makes the ring segments have a much cleaner look.</para>
+
+<para>The <guimenuitem>Vary label font sizes</guimenuitem> check box is useful when you have files or directories with long names. This option will change the size of the font to allow it to fit in the view better. When this option is enabled a <guimenuitem>Minimum font size:</guimenuitem> spinbox becomes available for choosing the smallest size font to scale to.</para>
+
+<para>The <guimenuitem>Show small files</guimenuitem> option is disabled by default as small files tend to clutter the &filelight; view. Enable this option if you would like to have your small files included in the &filelight; view.</para>
+
+</sect1>
+</chapter>
+
+<!-- REMOVE ME ************************************ -->
+<chapter id="using">
+<title>Using &filelight;</title>
+
+<sect1 id="starting">
+<title>Starting &filelight;</title>
+<para>&filelight; can be started from the K-Menu, or from the command-line</para>
+
+<sect2 id="starting-from-the-menu">
+<title>From the K-Menu</title>
+
+<para>
+Open the &kde; program menu by clicking on the
+<guiicon>big K</guiicon> icon on your
+panel. This will raise the <guimenu>program menu</guimenu>. Move your
+cursor up the menu to the <guimenu>Utilities</guimenu> menu item. Choose
+<guimenuitem>&filelight;</guimenuitem>.
+</para>
+
+</sect2>
+
+
+<sect2 id="starting-from-the-command-line">
+<title>From the Command Line</title>
+
+<para>
+You can start &filelight; by typing its name on the command line.
+If you give it a directory name, as in the example below, it will scan that directory.
+</para>
+
+<informalexample>
+<screen>
+<prompt>%</prompt><userinput><command>filelight</command> <option><replaceable>/home</replaceable></option></userinput>
+</screen>
+</informalexample>
+
+</sect2>
+</sect1>
+
+<sect1 id="scanning-directories">
+<title>Scanning Directories</title>
+<para>
+Scanning a directory shows it's contents as a filemap. To scan a directory, use the scan menu, or type a url straight into the location bar.
+</para>
+
+<!--<sect2 id="scan-home"><para>1</para></sect2>
+<sect2 id="scan-root"><para>1</para></sect2>
+<sect2 id="scan-directory"><para>1</para></sect2>
+<sect2 id="scan-recent"><para>1</para></sect2>-->
+
+</sect1>
+
+<sect1 id="exploring-filemaps">
+<title>Exploring Filemaps</title>
+<para>
+Once a scan has completed you will be presented with a filemap that represents the directory you scanned. The filemap is a series of segmented-rings that expand from the center. Brightly coloured segments are directories, grey segments are files. Segments are sized in proportion to their filesize. Segments can be nested, so for example, /home/mxcl will be one level outwards and within the bounds of the segment representing /home. Segments are labeled and hovering the mouse over segments will give you more details of that segment and its child segments.
+</para>
+
+<screenshot>
+<screeninfo>Filemap Screenshot</screeninfo>
+<mediaobject>
+<imageobject><imagedata fileref="filemap.png" format="PNG"/></imageobject>
+<textobject><phrase>Screenshot</phrase></textobject>
+</mediaobject>
+</screenshot>
+
+<para>
+You can open directories with Konqueror or Konsole using the context menu for that segment. Middle clicks open files by mimetype, so images with Kuickshow. You can right click the central circle to get a context menu for the scanned directory. Left clicking segments will re-center the map on that segment.
+</para>
+
+<para>
+If you want to improve the documentation, I'll happily accept patches :) Thanks.
+</para>
+
+<!--<sect2 id="scan-home"><para>1</para></sect2>
+<sect2 id="scan-root"><para>1</para></sect2>
+<sect2 id="scan-directory"><para>1</para></sect2>
+<sect2 id="scan-recent"><para>1</para></sect2>-->
+
+</sect1>
+
+</chapter>
+
+
+
+
+
+<!--<para>
+<screenshot>
+<screeninfo>Here's a screenshot of &filelight;</screeninfo>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="screenshot.png" format="PNG"/>
+ </imageobject>
+ <imageobject>
+ <imagedata fileref="screenshot.eps" format="EPS"/>
+ </imageobject>
+ <textobject>
+ <phrase>Screenshot</phrase>
+ </textobject>
+ </mediaobject>
+</screenshot>
+</para>-->
+
+
+
+<chapter id="commands">
+<title>Menu and Command Reference</title>
+
+<sect1 id="scan_menu">
+<title>The Scan Menu</title>
+<variablelist>
+<varlistentry>
+<term><menuchoice>
+<shortcut>
+<keycombo><keycap>Ctrl</keycap><keycap>o</keycap></keycombo>
+</shortcut>
+<guimenu>Scan</guimenu>
+<guimenuitem>Scan Directory..</guimenuitem>
+</menuchoice></term>
+<listitem><para><action>Offers a directory selection dialog so you can choose a directory to scan.</action></para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><menuchoice>
+<shortcut>
+<keycombo><keycap>Ctrl</keycap><keycap>Home</keycap></keycombo>
+</shortcut>
+<guimenu>Scan</guimenu>
+<guimenuitem>Scan Home Directory</guimenuitem>
+</menuchoice></term>
+<listitem><para><action>Starts a scan of the user's home directory.</action></para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><menuchoice>
+<guimenu>Scan</guimenu>
+<guimenuitem>Scan Root Directory</guimenuitem>
+</menuchoice></term>
+<listitem><para><action>Starts a scan of the root directory.</action></para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><menuchoice>
+<guimenu>Scan</guimenu>
+<guimenuitem>Recent Scans</guimenuitem>
+</menuchoice></term>
+<listitem><para><action>Provides a list of your most recent scanned directories allowing quick access to these directories.</action></para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><menuchoice>
+<shortcut>
+<keycap>F5</keycap>
+</shortcut>
+<guimenu>Scan</guimenu>
+<guimenuitem>Rescan</guimenuitem>
+</menuchoice></term>
+<listitem><para><action>Starts a new scan of the current working directory, this is useful when changes have been made to the filesystem.</action></para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><menuchoice>
+<shortcut>
+<keycap>Esc</keycap>
+</shortcut>
+<guimenu>Scan</guimenu>
+<guimenuitem>Stop</guimenuitem>
+</menuchoice></term>
+<listitem><para><action>Stops the current scan.</action></para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><menuchoice>
+<shortcut>
+<keycombo><keycap>Ctrl</keycap><keycap>q</keycap></keycombo>
+</shortcut>
+<guimenu>Scan</guimenu>
+<guimenuitem>Quit</guimenuitem>
+</menuchoice></term>
+<listitem><para><action>Quits &filelight;.</action></para></listitem>
+</varlistentry>
+
+</variablelist>
+</sect1>
+
+<sect1 id="go_menu">
+<title>The Go Menu</title>
+<variablelist>
+
+<varlistentry>
+<term><menuchoice>
+<shortcut>
+<keycombo><keycap>Alt</keycap><keycap>Up</keycap></keycombo>
+</shortcut>
+<guimenu>Go</guimenu>
+<guimenuitem>Up</guimenuitem>
+</menuchoice></term>
+<listitem><para><action>Moves you up once in the filesystem.</action></para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><menuchoice>
+<shortcut>
+<keycombo><keycap>Alt</keycap><keycap>Left</keycap></keycombo>
+</shortcut>
+<guimenu>Go</guimenu>
+<guimenuitem>Back</guimenuitem>
+</menuchoice></term>
+<listitem><para><action>Moves you one step back in your browsing of the filesystem.</action></para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><menuchoice>
+<shortcut>
+<keycombo><keycap>Alt</keycap><keycap>Right</keycap></keycombo>
+</shortcut>
+<guimenu>Go</guimenu>
+<guimenuitem>Forward</guimenuitem>
+</menuchoice></term>
+<listitem><para><action>Moves you one step forward in your browsing of the filesystem.</action></para></listitem>
+</varlistentry>
+
+</variablelist>
+</sect1>
+
+<sect1 id="settings_menu">
+<title>The Settings Menu</title>
+<variablelist>
+
+
+<varlistentry>
+<term><menuchoice>
+<guimenu>Settings</guimenu>
+<guisubmenu>Toolbars</guisubmenu>
+<guimenuitem>Show Main Toolbar</guimenuitem>
+</menuchoice></term>
+<listitem><para><action>Enables or disable the main application toolbar.</action></para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><menuchoice>
+<guimenu>Settings</guimenu>
+<guisubmenu>Toolbars</guisubmenu>
+<guimenuitem>Show Location Toolbar</guimenuitem>
+</menuchoice></term>
+<listitem><para><action>Enables or disable the location toolbar.</action></para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><menuchoice>
+<guimenu>Settings</guimenu>
+<guimenuitem>Configure Shortcuts...</guimenuitem>
+</menuchoice></term>
+<listitem><para><action>Allows you to configure the &filelight; shortcuts.</action></para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><menuchoice>
+<guimenu>Settings</guimenu>
+<guimenuitem>Configure Toolbars...</guimenuitem>
+</menuchoice></term>
+<listitem><para><action>Allows you to configure the &filelight; toolbar options.</action></para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><menuchoice>
+<guimenu>Settings</guimenu>
+<guimenuitem>Configure Filelight...</guimenuitem>
+</menuchoice></term>
+<listitem><para><action>Starts the Configure &filelight; dialog.</action></para></listitem>
+</varlistentry>
+
+</variablelist>
+</sect1>
+
+<sect1 id="help_menu">
+<title>The Help Menu</title>
+<variablelist>
+
+<varlistentry>
+<term><menuchoice>
+<guimenu>Help</guimenu>
+<guimenuitem>Filelight Handbook</guimenuitem>
+</menuchoice></term>
+<listitem><para><action>Opens this help document.</action></para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><menuchoice>
+<shortcut>
+<keycombo><keycap>Shift</keycap><keycap>F1</keycap></keycombo>
+</shortcut>
+<guimenu>Help</guimenu>
+<guimenuitem>What's This?</guimenuitem>
+</menuchoice></term>
+<listitem><para><action>Activates the "What's This?" mouse cursor allowing you to click an object to get a "What's this?" tooltip.</action></para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><menuchoice>
+<guimenu>Help</guimenu>
+<guimenuitem>Report Bug...</guimenuitem>
+</menuchoice></term>
+<listitem><para><action>Starts the bug report tool dialog window.</action></para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><menuchoice>
+<guimenu>Help</guimenu>
+<guimenuitem>About Filelight</guimenuitem>
+</menuchoice></term>
+<listitem><para><action>Starts the About &filelight; dialog window.</action></para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><menuchoice>
+<guimenu>Help</guimenu>
+<guimenuitem>About KDE</guimenuitem>
+</menuchoice></term>
+<listitem><para><action>Starts the About &kde; dialog window.</action></para></listitem>
+</varlistentry>
+
+</variablelist>
+</sect1>
+
+
+</chapter>
+
+<!--
+<chapter id="faq">
+<title>Questions and Answers</title>
+
+(OPTIONAL but recommended) This chapter should include all of the silly
+(and not-so-silly) newbie questions that fill up your mailbox. This chapter
+should be reserved for BRIEF questions and answers! If one question uses more
+than a page or so then it should probably be part of the
+"Using this Application" chapter instead. You should use links to
+cross-reference questions to the parts of your documentation that answer them.
+This is also a great place to provide pointers to other FAQ's if your users
+must do some complicated configuration on other programs in order for your
+application work.
+
+&reporting.bugs;
+&updating.documentation;
+
+<qandaset id="faqlist">
+<qandaentry>
+<question>
+<para>My Mouse doesn't work. How do I quit &filelight;?</para>
+</question>
+<answer>
+<para>You silly goose! Check out the <link linkend="commands">Commands
+Section</link> for the answer.</para>
+</answer>
+</qandaentry>
+<qandaentry>
+<question>
+<para>Why can't I twiddle my documents?</para>
+</question>
+<answer>
+<para>You can only twiddle your documents if you have the foobar.lib
+installed.</para>
+</answer>
+</qandaentry>
+</qandaset>
+</chapter>
+-->
+
+
+
+<chapter id="credits">
+
+<!-- Include credits for the programmers, documentation writers, and
+contributors here. The license for your software should then be included below
+the credits with a reference to the appropriate license file included in the KDE
+distribution. -->
+
+<title>Credits and License</title>
+
+<sect1 id="kapp">
+<title>&filelight;</title>
+<para>Program copyright 2003 Max B. Howell <email>max.howell@methylblue.com</email></para>
+
+&underGPL;
+
+</sect1>
+<sect1 id="Documentation">
+
+<title>Documentation</title>
+
+<para>
+Documentation copyright 2003 Max B. Howell <email>max.howell@methylblue.com</email>
+</para>
+
+&underFDL;
+
+</sect1>
+
+</chapter>
+
+<appendix id="installation">
+<title>Installation</title>
+
+<sect1 id="getting-filelight">
+<title>How to obtain &filelight;</title>
+
+<para>
+&filelight; is not yet part of the KDE project, it can be found at:
+<ulink url="http://www.methylblue.com/filelight/">http://www.methylblue.com/filelight/</ulink>.
+</para>
+</sect1>
+
+<sect1 id="compilation">
+<title>Compilation and Installation</title>
+
+<para>
+In order to compile and install &filelight; on your system, type the following in the base directory of the &filelight; distribution:
+<screen width="40">
+<prompt>%</prompt> <userinput>./configure --prefix=`kde-config --prefix`</userinput>
+<prompt>%</prompt> <userinput>make</userinput>
+<prompt>%</prompt> <userinput>make install</userinput>
+</screen>
+</para>
+
+<para>Since &filelight; uses autoconf and automake you should have not trouble compiling it. Should you run into problems please report them to filelight@methylblue.com or the &filelight; Forums.</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:
+-->
diff --git a/doc/filelight/main.png b/doc/filelight/main.png
new file mode 100644
index 0000000..2dff9fa
--- /dev/null
+++ b/doc/filelight/main.png
Binary files differ
diff --git a/doc/it/Makefile.am b/doc/it/Makefile.am
new file mode 100644
index 0000000..cb1f57c
--- /dev/null
+++ b/doc/it/Makefile.am
@@ -0,0 +1,2 @@
+KDE_LANG = it
+KDE_DOCS = filelight
diff --git a/doc/it/config_appear.png b/doc/it/config_appear.png
new file mode 100644
index 0000000..c4202fd
--- /dev/null
+++ b/doc/it/config_appear.png
Binary files differ
diff --git a/doc/it/config_scan.png b/doc/it/config_scan.png
new file mode 100644
index 0000000..319f478
--- /dev/null
+++ b/doc/it/config_scan.png
Binary files differ
diff --git a/doc/it/index.docbook b/doc/it/index.docbook
new file mode 100644
index 0000000..274a742
--- /dev/null
+++ b/doc/it/index.docbook
@@ -0,0 +1,995 @@
+<?xml version="1.0" ?>
+<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.1.2-Based Variant V1.0//EN" "dtd/kdex.dtd" [
+ <!ENTITY kappname "&filelight;">
+ <!ENTITY filelight "<application
+>Filelight</application
+>">
+
+ <!ENTITY % addindex "IGNORE">
+ <!ENTITY % Italian "INCLUDE"
+><!-- change language only here -->
+]>
+
+<!-- Do not define any other entities; instead, use the entities
+ from kde-genent.entities and $LANG/user.entities. -->
+<!-- kdoctemplate v0.8 October 1 1999
+ Minor update to "Credits and Licenses" section on August 24, 2000
+ Removed "Revision history" section on 22 January 2001 -->
+
+<!--
+This template was designed by: David Rugge davidrugge@mindspring.com
+with lots of help from: Eric Bischoff ebisch@cybercable.tm.fr
+and Frederik Fouvry fouvry@sfs.nphil.uni-tuebingen.de
+of the KDE DocBook team.
+
+You may freely use this template for writing any sort of KDE documentation.
+If you have any changes or improvements, please let us know.
+
+In the future, we may want to change from SGML-based DocBook to XML-based
+DocBook. To make this change easier, please be careful :
+- in XML, the case of the <tags
+> and attributes is relevant ;
+- also, quote all attributes.
+
+Please don't forget to remove all these comments in your final documentation,
+thanks ;-).
+-->
+
+<!-- ................................................................ -->
+
+<!-- The language must NOT be changed here. -->
+
+<book lang="&language;">
+
+<!-- This header contains all of the meta-information for the document such
+as Authors, publish date, the abstract, and Keywords -->
+
+<bookinfo>
+<title
+>Manuale di &filelight;</title>
+
+<authorgroup>
+<author
+><firstname
+>Max</firstname
+> <surname
+>Howell</surname
+> <affiliation
+> <address
+><email
+>max.howell@methylblue.com</email
+></address>
+</affiliation>
+</author>
+</authorgroup>
+
+<othercredit role="translator"
+><firstname
+>Federico</firstname
+><surname
+>Zenith</surname
+><affiliation
+><address
+><email
+>zenith@chemeng.ntnu.no</email
+></address
+></affiliation
+><contrib
+>Traduzione della documentazione</contrib
+></othercredit
+>
+
+<copyright>
+<year
+>2003</year>
+<holder
+>Max Howell</holder>
+</copyright>
+<!-- Translators: put here the copyright notice of the translation -->
+<!-- Put here the FDL notice. Read the explanation in fdl-notice.docbook
+ and in the FDL itself on how to use it. -->
+<legalnotice
+>&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
+(V.MM.LL), it could be used by automation scripts.
+Do NOT change these in the translation. -->
+
+<date
+>03/11/2003</date>
+<releaseinfo
+>2</releaseinfo>
+
+<!-- Abstract about this handbook -->
+
+<abstract>
+<para
+>&filelight; visualizza le informazioni sull'uso del disco ricorsivamente, è di fatto una versione grafica dello strumendo da riga di comando, du. </para>
+</abstract>
+
+<!-- This is a set of Keywords for indexing by search engines.
+Please at least include KDE, the KDE package it is in, the name
+ of your application, and a few relevant keywords. -->
+
+<keywordset>
+<keyword
+>KDE</keyword>
+<keyword
+>Filelight</keyword>
+<keyword
+>du</keyword>
+<keyword
+>uso del disco</keyword>
+<keyword
+>statistica</keyword>
+</keywordset>
+
+</bookinfo>
+
+<!-- The contents of the documentation begin here. Label
+each chapter so with the id attribute. This is necessary for two reasons: it
+allows you to easily reference the chapter from other chapters of your
+document, and if there is no ID, the name of the generated HTML files will vary
+from time to time making it hard to manage for maintainers and for the CVS
+system. Any chapter labelled (OPTIONAL) may be left out at the author's
+discretion. Other chapters should not be left out in order to maintain a
+consistent documentation style across all KDE apps. -->
+
+<chapter id="introduction">
+<title
+>Introduzione</title>
+
+<screenshot>
+<screeninfo
+>Schermata di Filelight</screeninfo>
+<mediaobject>
+<imageobject
+><imagedata fileref="main.png" format="PNG"/></imageobject>
+<textobject
+><phrase
+>Schermata</phrase
+></textobject>
+</mediaobject>
+</screenshot>
+
+
+<para
+>&filelight; ti permette di capire al volo esattamente dove viene usato il tuo spazio su disco rappresentando graficamente il tuo file system come un insieme di anelli segmentati concentrici. Puoi usarlo per localizzare punti di alto uso del disco e manipolare quelle aree usando Konqueror. </para>
+
+</chapter>
+
+
+<chapter id="configuring">
+<title
+>Configurare &filelight;</title>
+
+<para
+>La finestra delle impostazioni di &filelight; ha due schede per configurare le opzioni di &filelight;. Le due schede sono <guimenuitem
+>Scansione</guimenuitem
+> e <guimenuitem
+>Aspetto</guimenuitem
+>. Sotto c'è una descrizione delle schede delle impostazioni. La finestra delle impostazioni di &filelight; si trova facendo clic su <menuchoice
+><guimenu
+>Impostazioni</guimenu
+> <guimenuitem
+>Configura Filelight</guimenuitem
+></menuchoice
+>.</para>
+
+<sect1 id="scanning">
+<title
+>Scansione</title>
+
+<screenshot>
+<screeninfo
+>Schermata di Scansione</screeninfo>
+<mediaobject>
+<imageobject
+><imagedata fileref="config_scan.png" format="PNG"/></imageobject>
+<textobject
+><phrase
+>Schermata</phrase
+></textobject>
+</mediaobject>
+</screenshot>
+
+<para
+>La scheda Scansione ti permette di configurare come &filelight; scansiona le cartelle. La casella <guimenuitem
+>Non scansionare queste cartelle:</guimenuitem
+> si usa per escludere certe cartelle dalla scansione. Questa opzione è molto utile per saltare le cartelle su cui tu potresti non avere il permesso di leggere, o cartelle che fanno parte di file system virtuali, come /proc. Per aggiungere una cartella all'elenco, fai clic sul pulsante <guibutton
+>Aggiungi...</guibutton
+>; ciò avvierà una finestra dove puoi scegliere la cartella da una vista ad albero. Per rimuovere una cartella, selezionala e fai clic sul pulsante <guibutton
+>Rimuovi</guibutton
+>.</para>
+
+<!--<madpenguin8
+>I'll add a description here about what the "Scan across fs boundries" option when the option works ;-)-->
+</sect1>
+
+<sect1 id="appearance">
+<title
+>Aspetto</title>
+
+<screenshot>
+<screeninfo
+>Schermata di Aspetto</screeninfo>
+<mediaobject>
+<imageobject
+><imagedata fileref="config_appear.png" format="PNG"/></imageobject>
+<textobject
+><phrase
+>Schermata</phrase
+></textobject>
+</mediaobject>
+</screenshot>
+
+<para
+>La scheda <guimenuitem
+>Aspetto</guimenuitem
+> di permette di configurare l'aspetto di &filelight;.</para>
+
+<para
+>La sezione <guimenuitem
+>Schema</guimenuitem
+> è usata per scegliere uno schema di colori per &filelight;. Gli schemi di colori sono Arcobaleno, Colori di KDE e Alto contrasto. C'è anche un cursore del <guimenuitem
+>Contrasto</guimenuitem
+> per regolare il contrasto dei segmenti degli anelli per una visualizzazione più facile.</para>
+
+<para
+>La casella <guimenuitem
+>Usa l'antialiasing</guimenuitem
+> si usa per abilitare l'uso dell'antialiasing nella visualizzazione di &filelight;. Selezionata, questa opzione dà ai segmenti degli anelli un aspetto molto più pulito.</para>
+
+<para
+>La casella <guimenuitem
+>Varia le dimensioni dei caratteri delle etichette</guimenuitem
+> è utile quando hai file o cartelle con nomi lunghi. Questa opzione cambierà le dimensioni dei caratteri per fare in modo che stiano meglio nella visualizzazione. Quando questa opzione è abilitata appare una casella numerica, <guimenuitem
+>Dimensione minima dei caratteri</guimenuitem
+>, per scegliere la dimensione più piccola a cui riscalare i caratteri.</para>
+
+<para
+>L'opzione <guimenuitem
+>Mostra i file piccoli</guimenuitem
+> è disattivata come impostazione predefinita perché i file piccoli tendono a intasare la visualizzazione di &filelight;. Abilita questa opzione se vuoi che i file piccoli siano inclusi nella visualizzazione di &filelight;.</para>
+
+</sect1>
+</chapter>
+
+<!-- REMOVE ME ************************************ -->
+<chapter id="using">
+<title
+>Usare &filelight;</title>
+
+<sect1 id="starting">
+<title
+>Avviare &filelight;</title>
+<para
+>&filelight; può essere avviato dal menu K, o dalla riga di comando.</para>
+
+<sect2 id="starting-from-the-menu">
+<title
+>Dal menu K</title>
+
+<para
+>Apri il menu dei programmi di &kde; facendo clic sull'icona con la <guiicon
+>grande K</guiicon
+> sul tuo pannello. Ciò farà apparire il <guimenu
+>menu dei programmi</guimenu
+>. Sposta il cursore su per il menu fino all'elemento <guimenu
+>Accessori</guimenu
+>. Scegli <guimenuitem
+>&filelight;</guimenuitem
+>. </para>
+
+</sect2>
+
+
+<sect2 id="starting-from-the-command-line">
+<title
+>Dalla riga di comando</title>
+
+<para
+>Puoi avviare &filelight; digitandone il nome sulla riga di comando. Se passi il nome di una cartella, come nell'esempio sotto, scansionerà quella cartella. </para>
+
+<informalexample>
+<screen
+><prompt
+>%</prompt
+><userinput
+><command
+>filelight</command
+> <option
+><replaceable
+>/home</replaceable
+></option
+></userinput
+>
+</screen>
+</informalexample>
+
+</sect2>
+</sect1>
+
+<sect1 id="scanning-directories">
+<title
+>Scansionare le cartelle</title>
+<para
+>Scansionare una cartella mostra i suoi contenuti come una mappa di file. Per scansionare una cartella, usa il menu di scansione, o scrivi un URL direttamente nella barra dell'indirizzo. </para>
+
+<!--<sect2 id="scan-home"
+><para
+>1</para
+></sect2>
+<sect2 id="scan-root"
+><para
+>1</para
+></sect2>
+<sect2 id="scan-directory"
+><para
+>1</para
+></sect2>
+<sect2 id="scan-recent"
+><para
+>1</para
+></sect2
+>-->
+
+</sect1>
+
+<sect1 id="exploring-filemaps">
+<title
+>Esplorare le mappe di file</title>
+<para
+>Una volta che la scansione è completata, ti sarà presentata una mappa di file che rappresenta la cartella che hai scansionato. La mappa di file è una serie di anelli segmentati che si espandono dal centro. I segmenti colorati vivacemente sono cartelle, quelli grigi sono file. I segmenti sono dimensionati in proporzione alla dimensione del file. I segmenti possono essere annidati, quindi, per esempio, /home/mxcl sarà un livello al di fuori e all'interno dei limiti che rappresentano /home. I segmenti sono etichettati, e passare il mouse sopra di loro ti darà maggiori dettagli su quel segmento e i suoi segmenti figli. </para>
+
+<screenshot>
+<screeninfo
+>Schermata di una mappa di file</screeninfo>
+<mediaobject>
+<imageobject
+><imagedata fileref="filemap.png" format="PNG"/></imageobject>
+<textobject
+><phrase
+>Schermata</phrase
+></textobject>
+</mediaobject>
+</screenshot>
+
+<para
+>Puoi aprire le cartelle con Konqueror o Konsole usando il menu contestuale per un segmento. I clic centrali aprono i file secondo il loro tipo, per esempio le immagini con Kuickshow. Puoi fare clic destro sul disco centrale per avere un menu contestuale per la cartella scansionata. Fare clic sinistro sui segmenti centrerà la mappa su quel segmento. </para>
+
+<para
+>Se vuoi migliorare la documentazione, accetterò volentieri delle correzioni :) Grazie. </para>
+
+<!--<sect2 id="scan-home"
+><para
+>1</para
+></sect2>
+<sect2 id="scan-root"
+><para
+>1</para
+></sect2>
+<sect2 id="scan-directory"
+><para
+>1</para
+></sect2>
+<sect2 id="scan-recent"
+><para
+>1</para
+></sect2
+>-->
+
+</sect1>
+
+</chapter>
+
+
+
+
+
+<!--<para>
+<screenshot>
+<screeninfo
+>Here's a screenshot of &filelight;</screeninfo>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="screenshot.png" format="PNG"/>
+ </imageobject>
+ <imageobject>
+ <imagedata fileref="screenshot.eps" format="EPS"/>
+ </imageobject>
+ <textobject>
+ <phrase
+>Screenshot</phrase>
+ </textobject>
+ </mediaobject>
+</screenshot>
+</para
+>-->
+
+
+
+<chapter id="commands">
+<title
+>Guida ai menu e ai comandi</title>
+
+<sect1 id="scan_menu">
+<title
+>Il menu Scansiona</title>
+<variablelist>
+<varlistentry>
+<term
+><menuchoice
+><shortcut
+> <keycombo
+><keycap
+>Ctrl</keycap
+><keycap
+>o</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Scansiona</guimenu
+> <guimenuitem
+>Scansiona cartella...</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Offre una finestra di selezione delle cartelle per poter scegliere una cartella da scansionare.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><shortcut
+> <keycombo
+><keycap
+>Ctrl</keycap
+><keycap
+>Home</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Scansiona</guimenu
+> <guimenuitem
+>Scansiona la cartella Home</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Avvia una scansione della cartella Home dell'utente.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><guimenu
+>Scansiona</guimenu
+> <guimenuitem
+>Scansiona la cartella radice</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Avvia una scansione della cartella radice.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><guimenu
+>Scansiona</guimenu
+> <guimenuitem
+>Scansioni recenti</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Fornisce un elenco delle cartelle scansionate più di recente, permettendovi un accesso rapido.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><shortcut
+> <keycap
+>F5</keycap
+> </shortcut
+> <guimenu
+>Scansiona</guimenu
+> <guimenuitem
+>Riscansiona</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Avvia una nuova scansione della cartella di lavoro attuale; è utile quando si sono apportati cambiamenti al file system.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><shortcut
+> <keycap
+>Esc</keycap
+> </shortcut
+> <guimenu
+>Scansiona</guimenu
+> <guimenuitem
+>Interrompi</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Interrompe la scansione attuale.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><shortcut
+> <keycombo
+><keycap
+>Ctrl</keycap
+><keycap
+>q</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Scansiona</guimenu
+> <guimenuitem
+>Esci</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Esce da &filelight;</action
+></para
+></listitem>
+</varlistentry>
+
+</variablelist>
+</sect1>
+
+<sect1 id="go_menu">
+<title
+>Il menu Vai</title>
+<variablelist>
+
+<varlistentry>
+<term
+><menuchoice
+><shortcut
+> <keycombo
+><keycap
+>Alt</keycap
+><keycap
+>Su</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Vai</guimenu
+> <guimenuitem
+>Su</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Ti sposta in alto nel file system.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><shortcut
+> <keycombo
+><keycap
+>Alt</keycap
+><keycap
+>Sinistra</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Vai</guimenu
+> <guimenuitem
+>Indietro</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Ti sposta un passo indietro nella tua navigazione del file system.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><shortcut
+> <keycombo
+><keycap
+>Alt</keycap
+><keycap
+>Destra</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Vai</guimenu
+> <guimenuitem
+>Avanti</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Ti sposta un passo avanti nella tua navigazione del file system.</action
+></para
+></listitem>
+</varlistentry>
+
+</variablelist>
+</sect1>
+
+<sect1 id="settings_menu">
+<title
+>Il menu Impostazioni</title>
+<variablelist>
+
+
+<varlistentry>
+<term
+><menuchoice
+><guimenu
+>Impostazioni</guimenu
+> <guisubmenu
+>Barre degli strumenti</guisubmenu
+> <guimenuitem
+>Barra degli strumenti principale</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Abilita o disabilita la barra degli strumenti principale dell'applicazione.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><guimenu
+>Impostazioni</guimenu
+> <guisubmenu
+>Barre degli strumenti</guisubmenu
+> <guimenuitem
+>Barra di posizione</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Abilita o disabilita la barra di posizione.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><guimenu
+>Impostazioni</guimenu
+> <guimenuitem
+>Configura le scorciatoie...</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Ti permette di configurare le scorciatoie di &filelight;.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><guimenu
+>Impostazioni</guimenu
+> <guimenuitem
+>Configura le barre degli strumenti...</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Ti permette di configurare le opzioni delle barre degli strumenti di &filelight;.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><guimenu
+>Impostazioni</guimenu
+> <guimenuitem
+>Configura Filelight...</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Avvia la finestra di configurazione di &filelight;.</action
+></para
+></listitem>
+</varlistentry>
+
+</variablelist>
+</sect1>
+
+<sect1 id="help_menu">
+<title
+>Il menu Aiuto</title>
+<variablelist>
+
+<varlistentry>
+<term
+><menuchoice
+><guimenu
+>Aiuto</guimenu
+> <guimenuitem
+>Manuale di Filelight</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Apre questo documento.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><shortcut
+> <keycombo
+><keycap
+>Shift</keycap
+><keycap
+>F1</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Aiuto</guimenu
+> <guimenuitem
+>Che cos'è?</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Attiva il cursore del mouse "Che cos'è?" che ti permette di fare clic su un oggetto per avere un suggerimento.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><guimenu
+>Aiuto</guimenu
+> <guimenuitem
+>Segnala un bug...</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Avvia la finestra di segnalazione dei bug.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><guimenu
+>Aiuto</guimenu
+> <guimenuitem
+>Informazioni su Filelight</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Avvia la finestra di informazioni su &filelight;.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><guimenu
+>Aiuto</guimenu
+> <guimenuitem
+>Informazioni su KDE</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Avvia la finestra di informazioni su &kde;.</action
+></para
+></listitem>
+</varlistentry>
+
+</variablelist>
+</sect1>
+
+
+</chapter>
+
+<!--
+<chapter id="faq">
+<title
+>Questions and Answers</title>
+
+(OPTIONAL but recommended) This chapter should include all of the silly
+(and not-so-silly) newbie questions that fill up your mailbox. This chapter
+should be reserved for BRIEF questions and answers! If one question uses more
+than a page or so then it should probably be part of the
+"Using this Application" chapter instead. You should use links to
+cross-reference questions to the parts of your documentation that answer them.
+This is also a great place to provide pointers to other FAQ's if your users
+must do some complicated configuration on other programs in order for your
+application work.
+
+&reporting.bugs;
+&updating.documentation;
+
+<qandaset id="faqlist">
+<qandaentry>
+<question>
+<para
+>My Mouse doesn't work. How do I quit &filelight;?</para>
+</question>
+<answer>
+<para
+>You silly goose! Check out the <link linkend="commands"
+>Commands
+Section</link
+> for the answer.</para>
+</answer>
+</qandaentry>
+<qandaentry>
+<question>
+<para
+>Why can't I twiddle my documents?</para>
+</question>
+<answer>
+<para
+>You can only twiddle your documents if you have the foobar.lib
+installed.</para>
+</answer>
+</qandaentry>
+</qandaset>
+</chapter>
+-->
+
+
+
+<chapter id="credits">
+
+<!-- Include credits for the programmers, documentation writers, and
+contributors here. The license for your software should then be included below
+the credits with a reference to the appropriate license file included in the KDE
+distribution. -->
+
+<title
+>Riconoscimenti e licenza</title>
+
+<sect1 id="kapp">
+<title
+>&filelight;</title>
+<para
+>Copyright del programma 2003 di Max B. Howell <email
+>max.howell@methylblue.com</email
+></para>
+&underGPL; </sect1>
+<sect1 id="Documentation">
+
+<title
+>Documentazione</title>
+
+<para
+>Copyright della documentazione 2003 di Max B. Howell <email
+>max.howell@methylblue.com</email
+> </para>
+&underFDL; </sect1>
+
+</chapter>
+
+<appendix id="installation">
+<title
+>Installazione</title>
+
+<sect1 id="getting-filelight">
+<title
+>Come ottenere &filelight;</title>
+
+<para
+>&filelight; non fa ancora parte del progetto KDE, e può essere trovato a: <ulink url="http://www.methylblue.com/filelight/"
+>http://www.methylblue.com/filelight/</ulink
+>. </para>
+</sect1>
+
+<sect1 id="compilation">
+<title
+>Compilazione e installazione</title>
+
+<para
+>Per compilare e installare &filelight; sul tuo sistema, digita ciò che segue nella cartella di base della distribuzione di &filelight;: <screen width="40"
+><prompt
+>%</prompt
+> <userinput
+>./configure --prefix=`kde-config --prefix`</userinput>
+<prompt
+>%</prompt
+> <userinput
+>make</userinput>
+<prompt
+>%</prompt
+> <userinput
+>make install</userinput
+>
+</screen>
+</para>
+
+<para
+>Siccome &filelight; usa autoconf e automake non dovresti avere problemi a compilarlo. Se incontrassi problemi, per piacere segnalali a filelight@methylblue.com o sui forum di filelight@methylblue.com.</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:
+-->
diff --git a/doc/it/main.png b/doc/it/main.png
new file mode 100644
index 0000000..10e0034
--- /dev/null
+++ b/doc/it/main.png
Binary files differ
diff --git a/doc/pt/Makefile.am b/doc/pt/Makefile.am
new file mode 100644
index 0000000..ca3aa87
--- /dev/null
+++ b/doc/pt/Makefile.am
@@ -0,0 +1,2 @@
+KDE_LANG = pt
+KDE_DOCS = filelight
diff --git a/doc/pt/index.docbook b/doc/pt/index.docbook
new file mode 100644
index 0000000..0230ac0
--- /dev/null
+++ b/doc/pt/index.docbook
@@ -0,0 +1,995 @@
+<?xml version="1.0" ?>
+<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.1.2-Based Variant V1.0//EN" "dtd/kdex.dtd" [
+ <!ENTITY kappname "&filelight;">
+ <!ENTITY filelight "<application
+>Filelight</application
+>">
+
+ <!ENTITY % addindex "IGNORE">
+ <!ENTITY % Portuguese "INCLUDE"
+><!-- change language only here -->
+]>
+
+<!-- Do not define any other entities; instead, use the entities
+ from kde-genent.entities and $LANG/user.entities. -->
+<!-- kdoctemplate v0.8 October 1 1999
+ Minor update to "Credits and Licenses" section on August 24, 2000
+ Removed "Revision history" section on 22 January 2001 -->
+
+<!--
+This template was designed by: David Rugge davidrugge@mindspring.com
+with lots of help from: Eric Bischoff ebisch@cybercable.tm.fr
+and Frederik Fouvry fouvry@sfs.nphil.uni-tuebingen.de
+of the KDE DocBook team.
+
+You may freely use this template for writing any sort of KDE documentation.
+If you have any changes or improvements, please let us know.
+
+In the future, we may want to change from SGML-based DocBook to XML-based
+DocBook. To make this change easier, please be careful :
+- in XML, the case of the <tags
+> and attributes is relevant ;
+- also, quote all attributes.
+
+Please don't forget to remove all these comments in your final documentation,
+thanks ;-).
+-->
+
+<!-- ................................................................ -->
+
+<!-- The language must NOT be changed here. -->
+
+<book lang="&language;">
+
+<!-- This header contains all of the meta-information for the document such
+as Authors, publish date, the abstract, and Keywords -->
+
+<bookinfo>
+<title
+>O Manual do &filelight;</title>
+
+<authorgroup>
+<author
+><firstname
+>Max</firstname
+> <surname
+>Howell</surname
+> <affiliation
+> <address
+><email
+>max.howell@methylblue.com</email
+></address>
+</affiliation>
+</author>
+</authorgroup>
+
+<othercredit role="translator"
+><firstname
+>José</firstname
+><surname
+>Pires</surname
+><affiliation
+><address
+><email
+>jncp@netcabo.pt</email
+></address
+></affiliation
+><contrib
+>Tradução</contrib
+></othercredit
+>
+
+<copyright>
+<year
+>2003</year>
+<holder
+>Max Howell</holder>
+</copyright>
+<!-- Translators: put here the copyright notice of the translation -->
+<!-- Put here the FDL notice. Read the explanation in fdl-notice.docbook
+ and in the FDL itself on how to use it. -->
+<legalnotice
+>&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
+(V.MM.LL), it could be used by automation scripts.
+Do NOT change these in the translation. -->
+
+<date
+>03/11/2003</date>
+<releaseinfo
+>2</releaseinfo>
+
+<!-- Abstract about this handbook -->
+
+<abstract>
+<para
+>O &filelight; mostra a informação da utilização do disco de forma recursiva, sendo de facto uma versão gráfica da ferramenta da linha de comandos que é o 'du'. </para>
+</abstract>
+
+<!-- This is a set of Keywords for indexing by search engines.
+Please at least include KDE, the KDE package it is in, the name
+ of your application, and a few relevant keywords. -->
+
+<keywordset>
+<keyword
+>KDE</keyword>
+<keyword
+>Filelight</keyword>
+<keyword
+>du</keyword>
+<keyword
+>utilização de disco</keyword>
+<keyword
+>estatísticas</keyword>
+</keywordset>
+
+</bookinfo>
+
+<!-- The contents of the documentation begin here. Label
+each chapter so with the id attribute. This is necessary for two reasons: it
+allows you to easily reference the chapter from other chapters of your
+document, and if there is no ID, the name of the generated HTML files will vary
+from time to time making it hard to manage for maintainers and for the CVS
+system. Any chapter labelled (OPTIONAL) may be left out at the author's
+discretion. Other chapters should not be left out in order to maintain a
+consistent documentation style across all KDE apps. -->
+
+<chapter id="introduction">
+<title
+>Introdução</title>
+
+<screenshot>
+<screeninfo
+>Imagem do Filelight</screeninfo>
+<mediaobject>
+<imageobject
+><imagedata fileref="main.png" format="PNG"/></imageobject>
+<textobject
+><phrase
+>Imagem</phrase
+></textobject>
+</mediaobject>
+</screenshot>
+
+
+<para
+>O &filelight; permite-lhe compreender exacta e rapidamente onde é que o seu espaço em disco está a ser usado, representando graficamente o seu sistema de ficheiros como um conjunto de anéis concêntricos segmentados. Pode usá-lo para localizar os pontos críticos de espaço em disco e manipular essas áreas com o Konqueror. </para>
+
+</chapter>
+
+
+<chapter id="configuring">
+<title
+>Configurar o &filelight;</title>
+
+<para
+>A janela de configuração do &filelight; tem duas páginas para configurar as opções do &filelight;. As duas páginas são a <guimenuitem
+>Procurar</guimenuitem
+> e a <guimenuitem
+>Aparência</guimenuitem
+>. Por baixo, está uma descrição das páginas de configuração. Esta janela pode ser acedida se carregar em <menuchoice
+><guimenu
+>Configuração</guimenu
+><guimenuitem
+>Configurar o Filelight</guimenuitem
+></menuchoice
+>.</para>
+
+<sect1 id="scanning">
+<title
+>Procurar</title>
+
+<screenshot>
+<screeninfo
+>Imagem da Procura</screeninfo>
+<mediaobject>
+<imageobject
+><imagedata fileref="config_scan.png" format="PNG"/></imageobject>
+<textobject
+><phrase
+>Imagem</phrase
+></textobject>
+</mediaobject>
+</screenshot>
+
+<para
+>A página de procura permite-lhe configurar a forma como o &filelight; analisa as pastas. O item <guimenuitem
+> Não analisar estas directorias:</guimenuitem
+> é usado para excluir certas pastas da sua pesquisa. Esta opção é muito útil para ignorar as pastas nas quais você possa não ter permissões de leitura ou pastas que façam parte de um sistema de ficheiros virtual, como o '/proc'. Para adicionar uma pasta à lista, carregue no botão <guibutton
+>Adicionar...</guibutton
+>, o que irá iniciar uma janela onde poderá escolher uma pasta à sua escolha na árvore que aparece. Para remover uma pasta, basta seleccionar a pasta que deseja e carregar no botão <guibutton
+>Remover</guibutton
+>.</para>
+
+<!--<madpenguin8
+>I'll add a description here about what the "Scan across fs boundries" option when the option works ;-)-->
+</sect1>
+
+<sect1 id="appearance">
+<title
+>Aparência</title>
+
+<screenshot>
+<screeninfo
+>Imagem da Aparência</screeninfo>
+<mediaobject>
+<imageobject
+><imagedata fileref="config_appear.png" format="PNG"/></imageobject>
+<textobject
+><phrase
+>Imagem</phrase
+></textobject>
+</mediaobject>
+</screenshot>
+
+<para
+>A página de <guimenuitem
+>Aparência</guimenuitem
+> permite-lhe configurar a forma como aparece o &filelight;.</para>
+
+<para
+>A secção do <guimenuitem
+>Esquema</guimenuitem
+> é usada para escolher um esquema de cores para o &filelight;. Os esquemas de cores são o Arco-Íris, as Cores do KDE, e o Alto Contraste. Existe também uma barra de <guimenuitem
+>Contraste:</guimenuitem
+> para ajustar o contraste dos segmentos dos anéis e facilitar a visualização.</para>
+
+<para
+>A opção <guimenuitem
+>Usar o 'anti-aliasing'</guimenuitem
+> é usada para activar a utilização do 'anti-aliasing' (suavização) na janela do &filelight;. Se for seleccionada, esta opção faz com que os segmentos dos anéis tenham um aspecto mais limpo.</para>
+
+<para
+>A opção <guimenuitem
+>Variar os tamanhos de letra das legendas</guimenuitem
+> é útil quando você tiver ficheiros ou pastas com nomes compridos. Esta opção irá alterar o tamanho da letra, de modo a permitir que esta caiba melhor na janela. Quando esta opção estiver activa, ficará disponível uma opção <guimenuitem
+>Tamanho mínimo da letra:</guimenuitem
+> para escolher o tamanho de letra mais pequeno a ajustar.</para>
+
+<para
+>A opção <guimenuitem
+>Mostrar os ficheiros pequenos</guimenuitem
+> está desactivada por omissão, dado que os ficheiros pequenos tendem a sobrecarregar a janela do &filelight;. Active esta opção se quiser ter também incluídos os seus ficheiros pequenos na janela do &filelight;.</para>
+
+</sect1>
+</chapter>
+
+<!-- REMOVE ME ************************************ -->
+<chapter id="using">
+<title
+>Utilizar o &filelight;</title>
+
+<sect1 id="starting">
+<title
+>Iniciar o &filelight;</title>
+<para
+>O &filelight; pode ser iniciado a partir do Menu K ou a partir da linha de comandos</para>
+
+<sect2 id="starting-from-the-menu">
+<title
+>Do Menu K</title>
+
+<para
+>Abra o menu de programas do &kde;, carregando no ícone com o <guiicon
+>K grande</guiicon
+> do seu painel. Este irá mostrar o <guimenu
+>menu de programas</guimenu
+>. Suba o seu cursor neste menu para o item <guimenu
+>Utilitários</guimenu
+>. Escolha o <guimenuitem
+>&filelight;</guimenuitem
+>. </para>
+
+</sect2>
+
+
+<sect2 id="starting-from-the-command-line">
+<title
+>A Partir da Linha de Comandos</title>
+
+<para
+>Poderá também iniciar o &filelight;, escrevendo o seu nome na linha de comandos. Se lhe atribuir um nome de uma pasta, como no exemplo abaixo, ele irá percorrer essa pasta. </para>
+
+<informalexample>
+<screen
+><prompt
+>%</prompt
+><userinput
+><command
+>filelight</command
+> <option
+><replaceable
+>/home</replaceable
+></option
+></userinput
+>
+</screen>
+</informalexample>
+
+</sect2>
+</sect1>
+
+<sect1 id="scanning-directories">
+<title
+>Procurar em Directorias</title>
+<para
+>Se procurar numa directoria ou pasta, irá mostrar o seu conteúdo como um mapa de ficheiros. Para pesquisar uma pasta, use o menu de procura ou indique um URL directamente na barra de localização. </para>
+
+<!--<sect2 id="scan-home"
+><para
+>1</para
+></sect2>
+<sect2 id="scan-root"
+><para
+>1</para
+></sect2>
+<sect2 id="scan-directory"
+><para
+>1</para
+></sect2>
+<sect2 id="scan-recent"
+><para
+>1</para
+></sect2
+>-->
+
+</sect1>
+
+<sect1 id="exploring-filemaps">
+<title
+>Explorar Mapas de Ficheiros</title>
+<para
+>Logo que tenha terminado uma análise, ser-lhe-á apresentado um mapa de ficheiros que representa a pasta ou directoria analisada. O mapa é uma série de anéis segmentados que se expandem a partir do centro. Os segmentos mais claros são directorias, enquanto os segmentos a cinzento são ficheiros. Os segmentos são dimensionados de acordo com o tamanho dos ficheiros. Estes segmentos poderão estar encadeados como, por exemplo, o '/home/mxcl' que estará um nível para fora e dentro dos limites do segmento que representa a '/home'. Os segmentos estão legendados e, se passar o rato por cima dos segmentos, irá obter mais detalhes sobre esse segmento e sobre os seus filhos. </para>
+
+<screenshot>
+<screeninfo
+>Imagem do Mapa de Ficheiros</screeninfo>
+<mediaobject>
+<imageobject
+><imagedata fileref="filemap.png" format="PNG"/></imageobject>
+<textobject
+><phrase
+>Imagem</phrase
+></textobject>
+</mediaobject>
+</screenshot>
+
+<para
+>Você poderá abrir as pastas com o Konqueror ou o Konsole com o menu de contexto para esse segmento. O botão do meio do rato abre os ficheiros de acordo com o seu tipo MIME, como as imagens com o Kuickshow. Você poderá carregar com o botão direito no círculo central para obter um menu de contexto para a pasta pesquisada. Se carregar com o botão esquerdo nos segmentos irá centrar o mapa nesse segmento. </para>
+
+<para
+>Se quiser melhorar a documentação, aceitam-se de bom grado alterações :) Obrigado. </para>
+
+<!--<sect2 id="scan-home"
+><para
+>1</para
+></sect2>
+<sect2 id="scan-root"
+><para
+>1</para
+></sect2>
+<sect2 id="scan-directory"
+><para
+>1</para
+></sect2>
+<sect2 id="scan-recent"
+><para
+>1</para
+></sect2
+>-->
+
+</sect1>
+
+</chapter>
+
+
+
+
+
+<!--<para>
+<screenshot>
+<screeninfo
+>Here's a screenshot of &filelight;</screeninfo>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="screenshot.png" format="PNG"/>
+ </imageobject>
+ <imageobject>
+ <imagedata fileref="screenshot.eps" format="EPS"/>
+ </imageobject>
+ <textobject>
+ <phrase
+>Screenshot</phrase>
+ </textobject>
+ </mediaobject>
+</screenshot>
+</para
+>-->
+
+
+
+<chapter id="commands">
+<title
+>Referência do Menu e dos Comandos</title>
+
+<sect1 id="scan_menu">
+<title
+>O Menu Procurar</title>
+<variablelist>
+<varlistentry>
+<term
+><menuchoice
+><shortcut
+> <keycombo
+><keycap
+>Ctrl</keycap
+><keycap
+>o</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Procurar</guimenu
+> <guimenuitem
+>Analisar a Directoria..</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Mostra uma janela de selecção de pastas, para que possa escolher a pasta a analisar.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><shortcut
+> <keycombo
+><keycap
+>Ctrl</keycap
+><keycap
+>Home</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Procurar</guimenu
+> <guimenuitem
+>Analisar a Directoria Pessoal</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Inicia uma pesquisa na pasta pessoal do utilizador.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><guimenu
+>Procurar</guimenu
+> <guimenuitem
+>Analisar a Directoria de Raiz</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Inicia uma pesquisa na pasta de topo (ou directoria de raiz).</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><guimenu
+>Procurar</guimenu
+> <guimenuitem
+>Análises Recentes</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Oferece uma lista com as pastas analisadas mais recentemente, permitindo um acesso rápido a essas pastas.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><shortcut
+> <keycap
+>F5</keycap
+> </shortcut
+> <guimenu
+>Procurar</guimenu
+> <guimenuitem
+>Pesquisar de Novo</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Inicia uma nova análise sobre a pasta de trabalho actual, o que poderá ser útil se tiverem sido feitas algumas alterações ao sistema de ficheiros.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><shortcut
+> <keycap
+>Esc</keycap
+> </shortcut
+> <guimenu
+>Procurar</guimenu
+> <guimenuitem
+>Parar</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Interrompe a análise actual.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><shortcut
+> <keycombo
+><keycap
+>Ctrl</keycap
+><keycap
+>q</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Procurar</guimenu
+> <guimenuitem
+>Sair</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Sai do &filelight;.</action
+></para
+></listitem>
+</varlistentry>
+
+</variablelist>
+</sect1>
+
+<sect1 id="go_menu">
+<title
+>O Menu Ir</title>
+<variablelist>
+
+<varlistentry>
+<term
+><menuchoice
+><shortcut
+> <keycombo
+><keycap
+>Alt</keycap
+><keycap
+>Cima</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Ir</guimenu
+> <guimenuitem
+>Subir</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Fá-lo subir um nível no sistema de ficheiros.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><shortcut
+> <keycombo
+><keycap
+>Alt</keycap
+><keycap
+>Esquerda</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Ir</guimenu
+> <guimenuitem
+>Recuar</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Fá-lo andar um passo para trás no seu histórico de navegação no sistema de ficheiros.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><shortcut
+> <keycombo
+><keycap
+>Alt</keycap
+><keycap
+>Direita</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Ir</guimenu
+> <guimenuitem
+>Avançar</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Fá-lo andar um passo para a frente no seu histórico de navegação no sistema de ficheiros.</action
+></para
+></listitem>
+</varlistentry>
+
+</variablelist>
+</sect1>
+
+<sect1 id="settings_menu">
+<title
+>O Menu Configuração</title>
+<variablelist>
+
+
+<varlistentry>
+<term
+><menuchoice
+><guimenu
+>Configuração</guimenu
+> <guisubmenu
+>Barras de Ferramentas</guisubmenu
+> <guimenuitem
+>Mostrar a Barra Principal</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Activa ou desactiva a barra de ferramentas principal da aplicação.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><guimenu
+>Configuração</guimenu
+> <guisubmenu
+>Barras de Ferramentas</guisubmenu
+> <guimenuitem
+>Mostrar a Barra de Localização</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Activa ou desactiva a barra de ferramentas da localização.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><guimenu
+>Configuração</guimenu
+> <guimenuitem
+>Configurar os Atalhos...</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Permite-lhe configurar os atalhos de teclado do &filelight;.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><guimenu
+>Configuração</guimenu
+> <guimenuitem
+>Configurar as Barras de Ferramentas...</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Permite-lhe configurar as opções da barra de ferramentas do &filelight;.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><guimenu
+>Configuração</guimenu
+> <guimenuitem
+>Configurar o Filelight...</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Inicia a janela de configuração do &filelight;.</action
+></para
+></listitem>
+</varlistentry>
+
+</variablelist>
+</sect1>
+
+<sect1 id="help_menu">
+<title
+>O Menu Ajuda</title>
+<variablelist>
+
+<varlistentry>
+<term
+><menuchoice
+><guimenu
+>Ajuda</guimenu
+> <guimenuitem
+>Manual do Filelight</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Abre este documento de ajuda.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><shortcut
+> <keycombo
+><keycap
+>Shift</keycap
+><keycap
+>F1</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Ajuda</guimenu
+> <guimenuitem
+>O Que É Isto?</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Activa o cursor do rato "O Que É Isto?", que lhe permite carregar num objecto para obter uma dica "O Que É Isto?".</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><guimenu
+>Ajuda</guimenu
+> <guimenuitem
+>Comunicar um Erro...</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Inicia a janela de relatórios de erros.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><guimenu
+>Ajuda</guimenu
+> <guimenuitem
+>Acerca do Filelight</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Inicia a janela de informações Acerca do &filelight;.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><guimenu
+>Ajuda</guimenu
+> <guimenuitem
+>Acerca do KDE</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Inicia a janela de informações Acerca do &kde;.</action
+></para
+></listitem>
+</varlistentry>
+
+</variablelist>
+</sect1>
+
+
+</chapter>
+
+<!--
+<chapter id="faq">
+<title
+>Questions and Answers</title>
+
+(OPTIONAL but recommended) This chapter should include all of the silly
+(and not-so-silly) newbie questions that fill up your mailbox. This chapter
+should be reserved for BRIEF questions and answers! If one question uses more
+than a page or so then it should probably be part of the
+"Using this Application" chapter instead. You should use links to
+cross-reference questions to the parts of your documentation that answer them.
+This is also a great place to provide pointers to other FAQ's if your users
+must do some complicated configuration on other programs in order for your
+application work.
+
+&reporting.bugs;
+&updating.documentation;
+
+<qandaset id="faqlist">
+<qandaentry>
+<question>
+<para
+>My Mouse doesn't work. How do I quit &filelight;?</para>
+</question>
+<answer>
+<para
+>You silly goose! Check out the <link linkend="commands"
+>Commands
+Section</link
+> for the answer.</para>
+</answer>
+</qandaentry>
+<qandaentry>
+<question>
+<para
+>Why can't I twiddle my documents?</para>
+</question>
+<answer>
+<para
+>You can only twiddle your documents if you have the foobar.lib
+installed.</para>
+</answer>
+</qandaentry>
+</qandaset>
+</chapter>
+-->
+
+
+
+<chapter id="credits">
+
+<!-- Include credits for the programmers, documentation writers, and
+contributors here. The license for your software should then be included below
+the credits with a reference to the appropriate license file included in the KDE
+distribution. -->
+
+<title
+>Créditos e Licença</title>
+
+<sect1 id="kapp">
+<title
+>&filelight;</title>
+<para
+>Programa copyright 2003 Max B. Howell <email
+>max.howell@methylblue.com</email
+></para>
+&underGPL; </sect1>
+<sect1 id="Documentation">
+
+<title
+>Documentação</title>
+
+<para
+>Documentação copyright 2003 Max B. Howell <email
+>max.howell@methylblue.com</email
+> </para>
+&underFDL; </sect1>
+
+</chapter>
+
+<appendix id="installation">
+<title
+>Instalação</title>
+
+<sect1 id="getting-filelight">
+<title
+>Como obter o &filelight;</title>
+
+<para
+>O &filelight; ainda não faz parte do projecto do KDE, mas poderá ser encontrada em: <ulink url="http://www.methylblue.com/filelight/"
+>http://www.methylblue.com/filelight/</ulink
+>. </para>
+</sect1>
+
+<sect1 id="compilation">
+<title
+>Compilação e Instalação</title>
+
+<para
+>Para poder compilar e instalar o &filelight; no seu sistema, escreva o seguinte na pasta de base da distribuição do &filelight;: <screen width="40"
+><prompt
+>%</prompt
+> <userinput
+>./configure --prefix=`kde-config --prefix`</userinput>
+<prompt
+>%</prompt
+> <userinput
+>make</userinput>
+<prompt
+>%</prompt
+> <userinput
+>make install</userinput
+>
+</screen>
+</para>
+
+<para
+>Dado que o &filelight; usa o 'autoconf' e o 'automake', você não deverá ter problemas a compilá-lo. Se porventura os tiver, por favor comunique-os em filelight@methylblue.com ou nos Fóruns do &filelight;.</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:
+-->
diff --git a/doc/ru/Makefile.am b/doc/ru/Makefile.am
new file mode 100644
index 0000000..91982dc
--- /dev/null
+++ b/doc/ru/Makefile.am
@@ -0,0 +1,2 @@
+KDE_LANG = ru
+KDE_DOCS = filelight
diff --git a/doc/ru/index.docbook b/doc/ru/index.docbook
new file mode 100644
index 0000000..9e90a7a
--- /dev/null
+++ b/doc/ru/index.docbook
@@ -0,0 +1,993 @@
+<?xml version="1.0" ?>
+<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.1.2-Based Variant V1.0//EN" "dtd/kdex.dtd" [
+ <!ENTITY kappname "&filelight;">
+ <!ENTITY filelight "<application
+>Filelight</application
+>">
+
+ <!ENTITY % addindex "IGNORE">
+ <!ENTITY % Russian "INCLUDE"
+><!-- change language only here -->
+]>
+
+<!-- Do not define any other entities; instead, use the entities
+ from kde-genent.entities and $LANG/user.entities. -->
+<!-- kdoctemplate v0.8 October 1 1999
+ Minor update to "Credits and Licenses" section on August 24, 2000
+ Removed "Revision history" section on 22 January 2001 -->
+
+<!--
+This template was designed by: David Rugge davidrugge@mindspring.com
+with lots of help from: Eric Bischoff ebisch@cybercable.tm.fr
+and Frederik Fouvry fouvry@sfs.nphil.uni-tuebingen.de
+of the KDE DocBook team.
+
+You may freely use this template for writing any sort of KDE documentation.
+If you have any changes or improvements, please let us know.
+
+In the future, we may want to change from SGML-based DocBook to XML-based
+DocBook. To make this change easier, please be careful :
+- in XML, the case of the <tags
+> and attributes is relevant ;
+- also, quote all attributes.
+
+Please don't forget to remove all these comments in your final documentation,
+thanks ;-).
+-->
+
+<!-- ................................................................ -->
+
+<!-- The language must NOT be changed here. -->
+
+<book lang="&language;">
+
+<!-- This header contains all of the meta-information for the document such
+as Authors, publish date, the abstract, and Keywords -->
+
+<bookinfo>
+<title
+>Руководство по &filelight;</title>
+
+<authorgroup>
+<author
+><firstname
+>Max</firstname
+> <surname
+>Howell</surname
+> <affiliation
+> <address
+><email
+>max.howell@methylblue.com</email
+></address>
+</affiliation>
+</author>
+</authorgroup>
+
+<othercredit role="translator"
+><firstname
+>Владимир</firstname
+><surname
+>Давыдов</surname
+><affiliation
+><address
+><email
+>trotski@inbox.ru</email
+></address
+></affiliation
+><contrib
+>Перевод на русский</contrib
+></othercredit
+>
+
+<copyright>
+<year
+>2003</year>
+<holder
+>Max Howell</holder>
+</copyright>
+<!-- Translators: put here the copyright notice of the translation -->
+<!-- Put here the FDL notice. Read the explanation in fdl-notice.docbook
+ and in the FDL itself on how to use it. -->
+<legalnotice
+>&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
+(V.MM.LL), it could be used by automation scripts.
+Do NOT change these in the translation. -->
+
+<date
+>03/11/2003</date>
+<releaseinfo
+>2</releaseinfo>
+
+<!-- Abstract about this handbook -->
+
+<abstract>
+<para
+>&filelight; рекурсивно отображает информацию об использовании диска, и является графической альтернативой команде du. </para>
+</abstract>
+
+<!-- This is a set of Keywords for indexing by search engines.
+Please at least include KDE, the KDE package it is in, the name
+ of your application, and a few relevant keywords. -->
+
+<keywordset>
+<keyword
+>KDE</keyword>
+<keyword
+>Filelight</keyword>
+<keyword
+>du</keyword>
+<keyword
+>использование диска</keyword>
+<keyword
+>статистика</keyword>
+</keywordset>
+
+</bookinfo>
+
+<!-- The contents of the documentation begin here. Label
+each chapter so with the id attribute. This is necessary for two reasons: it
+allows you to easily reference the chapter from other chapters of your
+document, and if there is no ID, the name of the generated HTML files will vary
+from time to time making it hard to manage for maintainers and for the CVS
+system. Any chapter labelled (OPTIONAL) may be left out at the author's
+discretion. Other chapters should not be left out in order to maintain a
+consistent documentation style across all KDE apps. -->
+
+<chapter id="introduction">
+<title
+>Введение</title>
+
+<screenshot>
+<screeninfo
+>Снимок экрана</screeninfo>
+<mediaobject>
+<imageobject
+><imagedata fileref="main.png" format="PNG"/></imageobject>
+<textobject
+><phrase
+>Снимок экрана</phrase
+></textobject>
+</mediaobject>
+</screenshot>
+
+
+<para
+>&filelight; позволяет вам легко и наглядно посмотреть использование вашего дискового пространства, представляя файловую систему в виде круговых колец. Вы можете использовать это для нахождения "узких мест" в использовании диска и затем манипулировать ими используя Konqueror. </para>
+
+</chapter>
+
+
+<chapter id="configuring">
+<title
+>Настройки &filelight;</title>
+
+<para
+>Окно настроек &filelight; имеет две вкладки - <guimenuitem
+>Сканирование</guimenuitem
+> и <guimenuitem
+>Внешний вид</guimenuitem
+>. Ниже вы найдёте описание каждой из вкладок. Само окно может быть вызвано из меню <menuchoice
+><guimenu
+>Настройка</guimenu
+><guimenuitem
+>Настроить Filelight</guimenuitem
+></menuchoice
+>.</para>
+
+<sect1 id="scanning">
+<title
+>Сканирование</title>
+
+<screenshot>
+<screeninfo
+>Сканирование. Снимок экрана</screeninfo>
+<mediaobject>
+<imageobject
+><imagedata fileref="config_scan.png" format="PNG"/></imageobject>
+<textobject
+><phrase
+>Снимок экрана</phrase
+></textobject>
+</mediaobject>
+</screenshot>
+
+<para
+>На вкладке сканирования вы можете настроить то, как &filelight; будет сканировать папки. Опция <guimenuitem
+>Пропустить следующие каталоги:</guimenuitem
+> позволяет исключить определённые папки из сканирования; это очень полезно, например, для пропуска папок, на чтение которых у вас нет прав, или папок - частей виртуальной файловой системы (таких как /proc).Для добавления папки в список, нажмите кнопку <guibutton
+>Добавить...</guibutton
+> - будет запущен диалог, в котором вы сможете выбрать нужную папку из дерева. Для удаления папки просто, выделите её и нажмите кнопку <guibutton
+>Удалить</guibutton
+></para>
+
+<!--<madpenguin8
+>I'll add a description here about what the "Scan across fs boundries" option when the option works ;-)-->
+</sect1>
+
+<sect1 id="appearance">
+<title
+>Внешний вид</title>
+
+<screenshot>
+<screeninfo
+>Внешний вид. Снимок экрана.</screeninfo>
+<mediaobject>
+<imageobject
+><imagedata fileref="config_appear.png" format="PNG"/></imageobject>
+<textobject
+><phrase
+>Снимок экрана</phrase
+></textobject>
+</mediaobject>
+</screenshot>
+
+<para
+>Вкладка <guimenuitem
+>Внешний вид</guimenuitem
+> позволяет вам настраивать то, как &filelight; выглядит.</para>
+
+<para
+>Группа <guimenuitem
+>Схема</guimenuitem
+> используется для выбора цветовой схемы &filelight;. Доступны цветовые схемы Rainbow, цвета KDE, и высоко-контрастный. Также имеется ползунок <guimenuitem
+>Контраст:</guimenuitem
+> для регулировки контраста секторов для удобства просмотра.</para>
+
+<para
+>Флажок <guimenuitem
+>Сглаживание</guimenuitem
+> используется для включения сглаживания (anti-aliasing) при работе &filelight;. Если он отмечен, то сектора прорисовываются более отчётливо.</para>
+
+<para
+>Флажок <guimenuitem
+>Изменить размеры шрифтов для меток</guimenuitem
+> полезен при наличии файлов или папок с длинными именами. С данной опцией размер шрифта будет меняться для лучшего отображения. Если этот флажок отмечен становится доступен ползунок <guimenuitem
+>Мин. размер шрифта</guimenuitem
+> для выбора наименьшего размера шрифта при масштабировании.</para>
+
+<para
+>Опция <guimenuitem
+>Отображать маленькие файлы</guimenuitem
+> по умолчанию выключена, так как маленькие файлы вносят некоторый хаос в диаграмме.Включите эту опцию, если вы хотите включить маленькие файлы при просмотре.</para>
+
+</sect1>
+</chapter>
+
+<!-- REMOVE ME ************************************ -->
+<chapter id="using">
+<title
+>Использование &filelight;</title>
+
+<sect1 id="starting">
+<title
+>Запуск &filelight;</title>
+<para
+>&filelight; может быть запущен из главного меню или из командной строки</para>
+
+<sect2 id="starting-from-the-menu">
+<title
+>Запуск из K-меню</title>
+
+<para
+>Откройте меню программ &kde; щёлкнув на значке <guiicon
+>K</guiicon
+> на панели. В открывшемся меню выберите подменю <guimenu
+>Служебные</guimenu
+>, затем выберите <guimenuitem
+>&filelight;</guimenuitem
+>. </para>
+
+</sect2>
+
+
+<sect2 id="starting-from-the-command-line">
+<title
+>Запуск из командной строки</title>
+
+<para
+>Вы можете запустить программу &filelight; введя её название в командной строке. Если вы передадите название папки в качестве параметра, как это показано в примере, то будет произведено сканирование этой папки. </para>
+
+<informalexample>
+<screen
+><prompt
+>%</prompt
+><userinput
+><command
+>filelight</command
+> <option
+><replaceable
+>/home</replaceable
+></option
+></userinput
+>
+</screen>
+</informalexample>
+
+</sect2>
+</sect1>
+
+<sect1 id="scanning-directories">
+<title
+>Сканирование папок.</title>
+<para
+>Сканирование папки показывает её содержимое как файловую карту. Для запуска, используйте меню сканирования или введите url прямо в панели расположения. </para>
+
+<!--<sect2 id="scan-home"
+><para
+>1</para
+></sect2>
+<sect2 id="scan-root"
+><para
+>1</para
+></sect2>
+<sect2 id="scan-directory"
+><para
+>1</para
+></sect2>
+<sect2 id="scan-recent"
+><para
+>1</para
+></sect2
+>-->
+
+</sect1>
+
+<sect1 id="exploring-filemaps">
+<title
+>Просмотр Файловой карты</title>
+<para
+>Сразу после завершения сканирования вам будет представлена файловая карта, представляющая сканируемую папку. Файловая карта - это серия (частей) круговых колец, расходящихся от центра. Кольца, раскрашенные ярко - это папки, а бледно - файлы. Колца имеют размер, пропорциональный размеру файла/папки на диске. Они могут быть вложенными, например, /home/mxcl будет на первом уровне наружу, и входить в рамки представленной папки /home. Каждое кольцо имеет подпись, а при наведении мыши будет показана более подробная информация о нём и о вложенных в него. </para>
+
+<screenshot>
+<screeninfo
+>Файловая карта. Снимок экрана</screeninfo>
+<mediaobject>
+<imageobject
+><imagedata fileref="filemap.png" format="PNG"/></imageobject>
+<textobject
+><phrase
+>Снимок экрана</phrase
+></textobject>
+</mediaobject>
+</screenshot>
+
+<para
+>Вы можете открывать папки с помощью Konqueror или Konsole из контекстного меню кольца. Щелчок средней клавишей мыши открывает файлы по их mime-типу, например, для изображений запускается Kuickshow. Вы можете щёлкнуть парвой клавишей мыши на центральном круге для получения контекстного меню сканированной папки. Левый щелчок на кольце отцентрирует карту по нему. </para>
+
+<para
+>Если вы захотите улучшить документацию, я с превеликим удовольствием приму ваши дополнения. :) Спасибо. </para>
+
+<!--<sect2 id="scan-home"
+><para
+>1</para
+></sect2>
+<sect2 id="scan-root"
+><para
+>1</para
+></sect2>
+<sect2 id="scan-directory"
+><para
+>1</para
+></sect2>
+<sect2 id="scan-recent"
+><para
+>1</para
+></sect2
+>-->
+
+</sect1>
+
+</chapter>
+
+
+
+
+
+<!--<para>
+<screenshot>
+<screeninfo
+>Here's a screenshot of &filelight;</screeninfo>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="screenshot.png" format="PNG"/>
+ </imageobject>
+ <imageobject>
+ <imagedata fileref="screenshot.eps" format="EPS"/>
+ </imageobject>
+ <textobject>
+ <phrase
+>Screenshot</phrase>
+ </textobject>
+ </mediaobject>
+</screenshot>
+</para
+>-->
+
+
+
+<chapter id="commands">
+<title
+>Меню и список команд</title>
+
+<sect1 id="scan_menu">
+<title
+>Меню Сканирование</title>
+<variablelist>
+<varlistentry>
+<term
+><menuchoice
+><shortcut
+> <keycombo
+><keycap
+>Ctrl</keycap
+><keycap
+>o</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Сканирование</guimenu
+> <guimenuitem
+>Сканировать папку..</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Вызывает диалог выбора папки для того, чтобы вы выбрали папку для сканирования.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><shortcut
+> <keycombo
+><keycap
+>Ctrl</keycap
+><keycap
+>Home</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Сканирование</guimenu
+> <guimenuitem
+>Сканировать домашнюю папку</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Запускает сканирование домашней папки пользователя.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><guimenu
+>Сканирование</guimenu
+> <guimenuitem
+>Сканировать корневой каталог</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Запускает сканирование корневой папки.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><guimenu
+>Сканирование</guimenu
+> <guimenuitem
+>Последние сканирования</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Содержит список предыдущих сканированных папок позволяя быстро до них добраться.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><shortcut
+> <keycap
+>F5</keycap
+> </shortcut
+> <guimenu
+>Сканировать</guimenu
+> <guimenuitem
+>Пересканировать</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Запускает новое сканирование для текущей рабочей папки. это бывает полезно при каких-либо сделанных изменениях в файловой системе.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><shortcut
+> <keycap
+>Esc</keycap
+> </shortcut
+> <guimenu
+>Сканировать</guimenu
+> <guimenuitem
+>Стоп</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Останавливает запущенное сканирование.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><shortcut
+> <keycombo
+><keycap
+>Ctrl</keycap
+><keycap
+>q</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Сканировать</guimenu
+> <guimenuitem
+>Выход</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Выход из &filelight;.</action
+></para
+></listitem>
+</varlistentry>
+
+</variablelist>
+</sect1>
+
+<sect1 id="go_menu">
+<title
+>Меню Перейти</title>
+<variablelist>
+
+<varlistentry>
+<term
+><menuchoice
+><shortcut
+> <keycombo
+><keycap
+>Alt</keycap
+><keycap
+>Вверх</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Начать</guimenu
+> <guimenuitem
+>Вверх</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Перемещает вас на один уровень вверх по файловой системе.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><shortcut
+> <keycombo
+><keycap
+>Alt</keycap
+><keycap
+>Влево</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Начать</guimenu
+> <guimenuitem
+>Назад</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Перемещает вас на предыдущий шаг просмотра файловой системы.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><shortcut
+> <keycombo
+><keycap
+>Alt</keycap
+><keycap
+>Вправо</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Начать</guimenu
+> <guimenuitem
+>Вперёд</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Перемещает вас на шаг вперёд по истории просмотра файловой системы.</action
+></para
+></listitem>
+</varlistentry>
+
+</variablelist>
+</sect1>
+
+<sect1 id="settings_menu">
+<title
+>Меню Настройка</title>
+<variablelist>
+
+
+<varlistentry>
+<term
+><menuchoice
+><guimenu
+>Настройка</guimenu
+> <guisubmenu
+>Панели инструментов</guisubmenu
+> <guimenuitem
+>Показать панель инструментов Основная</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Делает доступной/недоступной главную панель инструментов программы.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><guimenu
+>Настройка</guimenu
+> <guisubmenu
+>Панели инструментов</guisubmenu
+> <guimenuitem
+>Показать Панель инструментов Расположение</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Делает доступной/недоступной панель расположения.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><guimenu
+>Настройка</guimenu
+> <guimenuitem
+>Комбинации клавиш...</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Позволяет вам настраивать "горячие" клавиши &filelight;</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><guimenu
+>Настройка</guimenu
+> <guimenuitem
+>Настроить панели инструментов...</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Позволяет вам настраивать параметры панели инструментов &filelight;</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><guimenu
+>Настройка</guimenu
+> <guimenuitem
+>Настроить Filelight...</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Запускает диалог Параметры &filelight;.</action
+></para
+></listitem>
+</varlistentry>
+
+</variablelist>
+</sect1>
+
+<sect1 id="help_menu">
+<title
+>Меню Справка</title>
+<variablelist>
+
+<varlistentry>
+<term
+><menuchoice
+><guimenu
+>Справка</guimenu
+> <guimenuitem
+>Руководство "Filelight"</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Открывает данный документ.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><shortcut
+> <keycombo
+><keycap
+>Shift</keycap
+><keycap
+>F1</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Справка</guimenu
+> <guimenuitem
+>Что это?</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Активирует курсор мыши "Что это?", позволяющий вам щёлкнуть на интересующем вас объекте мышью и получить подсказку по нему.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><guimenu
+>Справка</guimenu
+> <guimenuitem
+>Сообщить об ошибке...</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Запускает диалог инструмента сообщений об ошибках.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><guimenu
+>Справка</guimenu
+> <guimenuitem
+>О программе Filelight</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Запускает диалог "О программе &filelight;".</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><guimenu
+>Справка</guimenu
+> <guimenuitem
+>О KDE</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Запускает диалог "О &kde;".</action
+></para
+></listitem>
+</varlistentry>
+
+</variablelist>
+</sect1>
+
+
+</chapter>
+
+<!--
+<chapter id="faq">
+<title
+>Questions and Answers</title>
+
+(OPTIONAL but recommended) This chapter should include all of the silly
+(and not-so-silly) newbie questions that fill up your mailbox. This chapter
+should be reserved for BRIEF questions and answers! If one question uses more
+than a page or so then it should probably be part of the
+"Using this Application" chapter instead. You should use links to
+cross-reference questions to the parts of your documentation that answer them.
+This is also a great place to provide pointers to other FAQ's if your users
+must do some complicated configuration on other programs in order for your
+application work.
+
+&reporting.bugs;
+&updating.documentation;
+
+<qandaset id="faqlist">
+<qandaentry>
+<question>
+<para
+>My Mouse doesn't work. How do I quit &filelight;?</para>
+</question>
+<answer>
+<para
+>You silly goose! Check out the <link linkend="commands"
+>Commands
+Section</link
+> for the answer.</para>
+</answer>
+</qandaentry>
+<qandaentry>
+<question>
+<para
+>Why can't I twiddle my documents?</para>
+</question>
+<answer>
+<para
+>You can only twiddle your documents if you have the foobar.lib
+installed.</para>
+</answer>
+</qandaentry>
+</qandaset>
+</chapter>
+-->
+
+
+
+<chapter id="credits">
+
+<!-- Include credits for the programmers, documentation writers, and
+contributors here. The license for your software should then be included below
+the credits with a reference to the appropriate license file included in the KDE
+distribution. -->
+
+<title
+>Лицензии и благодарности</title>
+
+<sect1 id="kapp">
+<title
+>&filelight;</title>
+<para
+>Авторские права 2003 Max B. Howell <email
+>max.howell@methylblue.com</email
+></para>
+&underGPL; </sect1>
+<sect1 id="Documentation">
+
+<title
+>Документация</title>
+
+<para
+>&copy; 2003 Max B. Howell <email
+>max.howell@methylblue.com</email
+> </para>
+&underFDL; </sect1>
+
+</chapter>
+
+<appendix id="installation">
+<title
+>Установка</title>
+
+<sect1 id="getting-filelight">
+<title
+>Где взять &filelight;</title>
+
+<para
+>Программа &filelight; пока не является частью KDE, вы можете найти её: на сайте <ulink url="http://www.methylblue.com/filelight/"
+>http://www.methylblue.com/filelight/</ulink
+>. </para>
+</sect1>
+
+<sect1 id="compilation">
+<title
+>Компиляция и установка</title>
+
+<para
+>При необходимости компиляции и установки &filelight; в вашей системе, введите следующее в каталоге с дистрибутивом &filelight;: <screen width="40"
+><prompt
+>%</prompt
+> <userinput
+>./configure --prefix=`kde-config --prefix`</userinput>
+<prompt
+>%</prompt
+> <userinput
+>make</userinput>
+<prompt
+>%</prompt
+> <userinput
+>make install</userinput
+>
+</screen>
+</para>
+
+<para
+>В виду того, что &filelight; использует autoconf и automake у вас не должны возникнуть затруднения при компиляции. Если же всё-таки что-то пойдёт не так, сообщите, пожалуйста, об этом письмом на filelight@methylblue.com или в форуме, посвящённом &filelight;.</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:
+-->
diff --git a/doc/sv/Makefile.am b/doc/sv/Makefile.am
new file mode 100644
index 0000000..dd57bb9
--- /dev/null
+++ b/doc/sv/Makefile.am
@@ -0,0 +1,2 @@
+KDE_LANG = sv
+KDE_DOCS = filelight
diff --git a/doc/sv/config_appear.png b/doc/sv/config_appear.png
new file mode 100644
index 0000000..9f933a0
--- /dev/null
+++ b/doc/sv/config_appear.png
Binary files differ
diff --git a/doc/sv/config_scan.png b/doc/sv/config_scan.png
new file mode 100644
index 0000000..150b5de
--- /dev/null
+++ b/doc/sv/config_scan.png
Binary files differ
diff --git a/doc/sv/index.docbook b/doc/sv/index.docbook
new file mode 100644
index 0000000..8caacc2
--- /dev/null
+++ b/doc/sv/index.docbook
@@ -0,0 +1,995 @@
+<?xml version="1.0" ?>
+<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.1.2-Based Variant V1.0//EN" "dtd/kdex.dtd" [
+ <!ENTITY kappname "&filelight;">
+ <!ENTITY filelight "<application
+>Filelight</application
+>">
+
+ <!ENTITY % addindex "IGNORE">
+ <!ENTITY % Swedish "INCLUDE"
+><!-- change language only here -->
+]>
+
+<!-- Do not define any other entities; instead, use the entities
+ from kde-genent.entities and $LANG/user.entities. -->
+<!-- kdoctemplate v0.8 October 1 1999
+ Minor update to "Credits and Licenses" section on August 24, 2000
+ Removed "Revision history" section on 22 January 2001 -->
+
+<!--
+This template was designed by: David Rugge davidrugge@mindspring.com
+with lots of help from: Eric Bischoff ebisch@cybercable.tm.fr
+and Frederik Fouvry fouvry@sfs.nphil.uni-tuebingen.de
+of the KDE DocBook team.
+
+You may freely use this template for writing any sort of KDE documentation.
+If you have any changes or improvements, please let us know.
+
+In the future, we may want to change from SGML-based DocBook to XML-based
+DocBook. To make this change easier, please be careful :
+- in XML, the case of the <tags
+> and attributes is relevant ;
+- also, quote all attributes.
+
+Please don't forget to remove all these comments in your final documentation,
+thanks ;-).
+-->
+
+<!-- ................................................................ -->
+
+<!-- The language must NOT be changed here. -->
+
+<book lang="&language;">
+
+<!-- This header contains all of the meta-information for the document such
+as Authors, publish date, the abstract, and Keywords -->
+
+<bookinfo>
+<title
+>Handbok &filelight;</title>
+
+<authorgroup>
+<author
+><firstname
+>Max</firstname
+> <surname
+>Howell</surname
+> <affiliation
+> <address
+><email
+>max.howell@methylblue.com</email
+></address>
+</affiliation>
+</author>
+</authorgroup>
+
+<othercredit role="translator"
+><firstname
+>Stefan</firstname
+> <surname
+>Asserhäll</surname
+><affiliation
+><address
+><email
+>stefan.asserhall@comhem.se</email
+></address
+></affiliation
+><contrib
+>Översättare</contrib
+></othercredit
+>
+
+<copyright>
+<year
+>2003</year>
+<holder
+>Max Howell</holder>
+</copyright>
+<!-- Translators: put here the copyright notice of the translation -->
+<!-- Put here the FDL notice. Read the explanation in fdl-notice.docbook
+ and in the FDL itself on how to use it. -->
+<legalnotice
+>&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
+(V.MM.LL), it could be used by automation scripts.
+Do NOT change these in the translation. -->
+
+<date
+>03/11/2003</date>
+<releaseinfo
+>2</releaseinfo>
+
+<!-- Abstract about this handbook -->
+
+<abstract>
+<para
+>&filelight; visar rekursiv information om diskanvändning, i stort en grafisk version av kommandoradsverktyget du. </para>
+</abstract>
+
+<!-- This is a set of Keywords for indexing by search engines.
+Please at least include KDE, the KDE package it is in, the name
+ of your application, and a few relevant keywords. -->
+
+<keywordset>
+<keyword
+>KDE</keyword>
+<keyword
+>Filelight</keyword>
+<keyword
+>du</keyword>
+<keyword
+>diskanvändning</keyword>
+<keyword
+>statistik</keyword>
+</keywordset>
+
+</bookinfo>
+
+<!-- The contents of the documentation begin here. Label
+each chapter so with the id attribute. This is necessary for two reasons: it
+allows you to easily reference the chapter from other chapters of your
+document, and if there is no ID, the name of the generated HTML files will vary
+from time to time making it hard to manage for maintainers and for the CVS
+system. Any chapter labelled (OPTIONAL) may be left out at the author's
+discretion. Other chapters should not be left out in order to maintain a
+consistent documentation style across all KDE apps. -->
+
+<chapter id="introduction">
+<title
+>Inledning</title>
+
+<screenshot>
+<screeninfo
+>Skärmbild av Filelight</screeninfo>
+<mediaobject>
+<imageobject
+><imagedata fileref="main.png" format="PNG"/></imageobject>
+<textobject
+><phrase
+>Skärmbild</phrase
+></textobject>
+</mediaobject>
+</screenshot>
+
+
+<para
+>&filelight; låter dig snabbt förstå exakt var ditt diskutrymme används genom att representera filsystemet grafiskt som en uppsättning koncentriska cirkelsegment. Du kan använda det för att lokalisera ansamlingar av diskanvändning och hantera dessa områden med Konqueror. </para>
+
+</chapter>
+
+
+<chapter id="configuring">
+<title
+>Anpassa &filelight;</title>
+
+<para
+>&filelight;s inställningsdialogruta har två flikar för att ställa in &filelight;s alternativ. De två flikarna är <guimenuitem
+>Avsökning</guimenuitem
+> och <guimenuitem
+>Utseende</guimenuitem
+>. Nedanför finns en beskrivning av inställningsflikarna. &filelight;s inställningsdialogruta hittas genom att klicka på <menuchoice
+><guimenu
+>Inställningar</guimenu
+> <guimenuitem
+>Anpassa Filelight</guimenuitem
+></menuchoice
+>.</para>
+
+<sect1 id="scanning">
+<title
+>Söker</title>
+
+<screenshot>
+<screeninfo
+>Skärmbild av Avsökning</screeninfo>
+<mediaobject>
+<imageobject
+><imagedata fileref="config_scan.png" format="PNG"/></imageobject>
+<textobject
+><phrase
+>Skärmbild</phrase
+></textobject>
+</mediaobject>
+</screenshot>
+
+<para
+>Avsökningsfliken låter dig anpassa hur &filelight; söker igenom kataloger. <guimenuitem
+>Avsök inte följande kataloger</guimenuitem
+> används för att utesluta vissa kataloger från ansökningen. Alternativet är mycket användbart för att hoppa över kataloger som du kanske inte har rättighet att läsa, eller kataloger som är en del av ett virtuellt filsystem, såsom /proc. Klicka på knappen <guibutton
+>Lägg till...</guibutton
+> för att lägga till en katalog i listan. Det visar en dialogruta där du kan välja katalogen du vill ha i en trädvy. För att ta bort en katalog, markera helt enkelt den du vill ta bort och klicka på knappen <guibutton
+>Ta bort</guibutton
+>.</para>
+
+<!--<madpenguin8
+>I'll add a description here about what the "Scan across fs boundries" option when the option works ;-)-->
+</sect1>
+
+<sect1 id="appearance">
+<title
+>Utseende</title>
+
+<screenshot>
+<screeninfo
+>Skärmbild av Utseende</screeninfo>
+<mediaobject>
+<imageobject
+><imagedata fileref="config_appear.png" format="PNG"/></imageobject>
+<textobject
+><phrase
+>Skärmbild</phrase
+></textobject>
+</mediaobject>
+</screenshot>
+
+<para
+>Fliken <guimenuitem
+>Utseende</guimenuitem
+> låter dig anpassa hur &filelight; ser ut.</para>
+
+<para
+>Avdelningen <guimenuitem
+>Schema</guimenuitem
+> används för att välja ett färgschema för &filelight;. Färgscheman är Regnbåge, KDE färger och Hög kontrast. Det finns också ett skjutreglage, <guimenuitem
+>Kontrast</guimenuitem
+>, för att justera segmentens kontrast, så de är lättare att se.</para>
+
+<para
+>Kryssrutan <guimenuitem
+>Använd kantutjämning</guimenuitem
+> används för att aktivera användning av kantutjämning i &filelight;s vy. Att markera alternativet gör att segmenten får ett mycket renare utseende.</para>
+
+<para
+>Kryssrutan <guimenuitem
+>Variera teckenstorlek för namn</guimenuitem
+> är användbar när du har filer eller kataloger med långa namn. Alternativet minskar teckensnittets storlek för att låta det bättre passa in i vyn. När alternativet är aktiverat, blir nummerrutan <guimenuitem
+>Minimal teckenstorlek:</guimenuitem
+> tillgänglig för att välja den minsta teckenstorlek som ska skalas till</para>
+
+<para
+>Alternativet <guimenuitem
+>Visa små filer</guimenuitem
+> är normalt inaktiverat eftersom små filer brukar skräpa ner &filelight;s vy. Aktivera alternativet om du vill att små filer ska ingå i &filelight;s vy.</para>
+
+</sect1>
+</chapter>
+
+<!-- REMOVE ME ************************************ -->
+<chapter id="using">
+<title
+>Använda &filelight;</title>
+
+<sect1 id="starting">
+<title
+>Starta &filelight;</title>
+<para
+>&filelight; kan startas från K-menyn eller från kommandoraden.</para>
+
+<sect2 id="starting-from-the-menu">
+<title
+>Från K-menyn</title>
+
+<para
+>Öppna &kde;:s programmeny genom att klicka på ikonen med <guiicon
+>stort K</guiicon
+> i panelen. Det visar <guimenu
+>programmenyn</guimenu
+>. Flytta markören till menyalternativet <guimenu
+>Tillbehör</guimenu
+> i menyn. Välj <guimenuitem
+>&filelight;</guimenuitem
+>. </para>
+
+</sect2>
+
+
+<sect2 id="starting-from-the-command-line">
+<title
+>Från kommandoraden</title>
+
+<para
+>Du kan starta &filelight; genom att skriva in dess namn på kommandoraden. Om du anger ett katalognamn, som i exemplet ovan, söks den katalogen igenom. </para>
+
+<informalexample>
+<screen
+><prompt
+>%</prompt
+><userinput
+><command
+>filelight</command
+> <option
+><replaceable
+>/home</replaceable
+></option
+></userinput
+>
+</screen>
+</informalexample>
+
+</sect2>
+</sect1>
+
+<sect1 id="scanning-directories">
+<title
+>Avsöka kataloger</title>
+<para
+>Att söka igenom en katalog visar dess innehåll som en filavbildning. Använd menyn Avsök för att söka igenom en katalog, eller skriv in en webbadress direkt i platsraden. </para>
+
+<!--<sect2 id="scan-home"
+><para
+>1</para
+></sect2>
+<sect2 id="scan-root"
+><para
+>1</para
+></sect2>
+<sect2 id="scan-directory"
+><para
+>1</para
+></sect2>
+<sect2 id="scan-recent"
+><para
+>1</para
+></sect2
+>-->
+
+</sect1>
+
+<sect1 id="exploring-filemaps">
+<title
+>Utforska filavbildningar</title>
+<para
+>Så fort en sökning är färdig visas en filavbildning som motsvarar katalogerna som du sökt igenom. Filavbildningen är en serie cirkelsegment som expanderas från centrum. Starkt färgade segment är kataloger, medan går segment är filer. Segment har en storlek som är proportionell mot deras filstorlek. Segment kan vara hierarkiska, alltså är till exempel /home/mxcl en nivå ut och inom gränserna för segmentet som representerar /home. Segment har namn, och att hålla musen stilla över ett segment ger mer information om segmentet och underliggande segment. </para>
+
+<screenshot>
+<screeninfo
+>Skärmbild av filavbildning</screeninfo>
+<mediaobject>
+<imageobject
+><imagedata fileref="filemap.png" format="PNG"/></imageobject>
+<textobject
+><phrase
+>Skärmbild</phrase
+></textobject>
+</mediaobject>
+</screenshot>
+
+<para
+>Du kan öppna kataloger med Konqueror eller Konsole i segmentets sammanhangsberoende meny. Att klicka med mittenknappen öppnar filer enligt Mime-typ, så bilder öppnas med Kuickshow. Du kan högerklicka i den centrala cirkeln för att visa en sammanhangsberoende meny för katalogen som sökts igenom. Att vänsterklicka på segment centrerar om bilden på det segmentet. </para>
+
+<para
+>Om du vill förbättra dokumentationen, tar jag gärna emot fixar. Tack. </para>
+
+<!--<sect2 id="scan-home"
+><para
+>1</para
+></sect2>
+<sect2 id="scan-root"
+><para
+>1</para
+></sect2>
+<sect2 id="scan-directory"
+><para
+>1</para
+></sect2>
+<sect2 id="scan-recent"
+><para
+>1</para
+></sect2
+>-->
+
+</sect1>
+
+</chapter>
+
+
+
+
+
+<!--<para>
+<screenshot>
+<screeninfo
+>Here's a screenshot of &filelight;</screeninfo>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="screenshot.png" format="PNG"/>
+ </imageobject>
+ <imageobject>
+ <imagedata fileref="screenshot.eps" format="EPS"/>
+ </imageobject>
+ <textobject>
+ <phrase
+>Screenshot</phrase>
+ </textobject>
+ </mediaobject>
+</screenshot>
+</para
+>-->
+
+
+
+<chapter id="commands">
+<title
+>Meny och kommandoreferens</title>
+
+<sect1 id="scan_menu">
+<title
+>Menyn Avsök</title>
+<variablelist>
+<varlistentry>
+<term
+><menuchoice
+><shortcut
+> <keycombo
+><keycap
+>Ctrl</keycap
+><keycap
+>O</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Avsök</guimenu
+> <guimenuitem
+>Avsök katalog...</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Erbjuder en dialogruta för katalogval så att du kan välja en katalog att söka igenom.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><shortcut
+> <keycombo
+><keycap
+>Ctrl</keycap
+><keycap
+>Home</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Avsök</guimenu
+> <guimenuitem
+>Avsök hemkatalog</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Startar en sökning i användarens hemkatalog.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><guimenu
+>Avsök</guimenu
+> <guimenuitem
+>Avsök rotkatalog</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Startar en sökning i rotkatalogen.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><guimenu
+>Avsök</guimenu
+> <guimenuitem
+>Senaste avsökningarna</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Tillhandahåller en lista med de senast avsökta katalogerna, vilket tillåter snabb åtkomst till dessa kataloger.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><shortcut
+> <keycap
+>F5</keycap
+> </shortcut
+> <guimenu
+>Avsök</guimenu
+> <guimenuitem
+>Avsök igen</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Startar en ny sökning av aktuell arbetskatalog. Det är användbart när ändringar har gjorts i filsystemet.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><shortcut
+> <keycap
+>Esc</keycap
+> </shortcut
+> <guimenu
+>Avsök</guimenu
+> <guimenuitem
+>Stoppa</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Stoppar nuvarande sökning.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><shortcut
+> <keycombo
+><keycap
+>Ctrl</keycap
+><keycap
+>Q</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Avsök</guimenu
+> <guimenuitem
+>Avsluta</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Avslutar &filelight;</action
+></para
+></listitem>
+</varlistentry>
+
+</variablelist>
+</sect1>
+
+<sect1 id="go_menu">
+<title
+>Menyn Gå</title>
+<variablelist>
+
+<varlistentry>
+<term
+><menuchoice
+><shortcut
+> <keycombo
+><keycap
+>Alt</keycap
+><keycap
+>Upp</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Gå</guimenu
+> <guimenuitem
+>Upp</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Går ett steg uppåt i filsystemet.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><shortcut
+> <keycombo
+><keycap
+>Alt</keycap
+><keycap
+>Vänster</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Go</guimenu
+> <guimenuitem
+>Tillbaka</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Går ett steg bakåt när du bläddrar i filsystemet.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><shortcut
+> <keycombo
+><keycap
+>Alt</keycap
+><keycap
+>Höger</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Gå</guimenu
+> <guimenuitem
+>Framåt</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Går ett steg framåt när du bläddrar i filsystemet.</action
+></para
+></listitem>
+</varlistentry>
+
+</variablelist>
+</sect1>
+
+<sect1 id="settings_menu">
+<title
+>Menyn Inställningar</title>
+<variablelist>
+
+
+<varlistentry>
+<term
+><menuchoice
+><guimenu
+>Inställningar</guimenu
+> <guisubmenu
+>Verktygsrader</guisubmenu
+> <guimenuitem
+>Visa huvudverktygsrad</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Aktiverar eller inaktiverar programmets huvudverktygsrad.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><guimenu
+>Inställningar</guimenu
+> <guisubmenu
+>Verktygsrader</guisubmenu
+> <guimenuitem
+>Visa platsverktygsrad</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Aktiverar eller inaktiverar platsverktygsraden.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><guimenu
+>Inställningar</guimenu
+> <guimenuitem
+>Anpassa genvägar...</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Låter dig anpassa &filelight;s genvägar.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><guimenu
+>Inställningar</guimenu
+> <guimenuitem
+>Anpassa verktygsrader...</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Låter dig anpassa &filelight;s verktygsradsalternativ.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><guimenu
+>Inställningar</guimenu
+> <guimenuitem
+>Anpassa Filelight...</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Startar &filelight;s inställningsdialogruta.</action
+></para
+></listitem>
+</varlistentry>
+
+</variablelist>
+</sect1>
+
+<sect1 id="help_menu">
+<title
+>Menyn Hjälp</title>
+<variablelist>
+
+<varlistentry>
+<term
+><menuchoice
+><guimenu
+>Hjälp</guimenu
+> <guimenuitem
+>Handbok Filelight</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Öppnar det här hjälpdokumentet.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><shortcut
+> <keycombo
+><keycap
+>Skift</keycap
+><keycap
+>F1</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Hjälp</guimenu
+> <guimenuitem
+>Vad är det här?</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Aktiverar muspekaren "Vad är det här?" som låter dig klicka på ett objekt för att få ett "Vad är det här?" verktygstips.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><guimenu
+>Hjälp</guimenu
+> <guimenuitem
+>Rapportera fel...</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Starta dialogfönstret med felrapporteringsverktyget.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><guimenu
+>Hjälp</guimenu
+> <guimenuitem
+>Om Filelight</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Startar dialogfönstret Om &filelight;.</action
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><menuchoice
+><guimenu
+>Hjälp</guimenu
+> <guimenuitem
+>Om KDE</guimenuitem
+> </menuchoice
+></term>
+<listitem
+><para
+><action
+>Startar dialogfönstret Om &kde;.</action
+></para
+></listitem>
+</varlistentry>
+
+</variablelist>
+</sect1>
+
+
+</chapter>
+
+<!--
+<chapter id="faq">
+<title
+>Questions and Answers</title>
+
+(OPTIONAL but recommended) This chapter should include all of the silly
+(and not-so-silly) newbie questions that fill up your mailbox. This chapter
+should be reserved for BRIEF questions and answers! If one question uses more
+than a page or so then it should probably be part of the
+"Using this Application" chapter instead. You should use links to
+cross-reference questions to the parts of your documentation that answer them.
+This is also a great place to provide pointers to other FAQ's if your users
+must do some complicated configuration on other programs in order for your
+application work.
+
+&reporting.bugs;
+&updating.documentation;
+
+<qandaset id="faqlist">
+<qandaentry>
+<question>
+<para
+>My Mouse doesn't work. How do I quit &filelight;?</para>
+</question>
+<answer>
+<para
+>You silly goose! Check out the <link linkend="commands"
+>Commands
+Section</link
+> for the answer.</para>
+</answer>
+</qandaentry>
+<qandaentry>
+<question>
+<para
+>Why can't I twiddle my documents?</para>
+</question>
+<answer>
+<para
+>You can only twiddle your documents if you have the foobar.lib
+installed.</para>
+</answer>
+</qandaentry>
+</qandaset>
+</chapter>
+-->
+
+
+
+<chapter id="credits">
+
+<!-- Include credits for the programmers, documentation writers, and
+contributors here. The license for your software should then be included below
+the credits with a reference to the appropriate license file included in the KDE
+distribution. -->
+
+<title
+>Tack till och licens</title>
+
+<sect1 id="kapp">
+<title
+>&filelight;</title>
+<para
+>Program copyright 2003 Max B. Howell <email
+>max.howell@methylblue.com</email
+></para>
+&underGPL; </sect1>
+<sect1 id="Documentation">
+
+<title
+>Dokumentation</title>
+
+<para
+>Dokumentation copyright 2003 Max B. Howell <email
+>max.howell@methylblue.com</email
+> </para>
+&underFDL; </sect1>
+
+</chapter>
+
+<appendix id="installation">
+<title
+>Installation</title>
+
+<sect1 id="getting-filelight">
+<title
+>Hur man skaffar &filelight;</title>
+
+<para
+>&filelight; är inte ännu en del av KDE-projektet. Det hittas på: <ulink url="http://www.methylblue.com/filelight/"
+>http://www.methylblue.com/filelight/</ulink
+>. </para>
+</sect1>
+
+<sect1 id="compilation">
+<title
+>Kompilering och installation</title>
+
+<para
+>För att kompilera och installera &filelight; på ditt system, skriv in följande i baskatalogen för &filelight;s distribution: <screen width="40"
+><prompt
+>%</prompt
+> <userinput
+>./configure --prefix=`kde-config --prefix`</userinput>
+<prompt
+>%</prompt
+> <userinput
+>make</userinput>
+<prompt
+>%</prompt
+> <userinput
+>make install</userinput
+>
+</screen>
+</para>
+
+<para
+>Eftersom &filelight; använder autoconf och automake, bör du inte ha några problem med att kompilera det. Skulle du stöta på problem, rapportera dem gärna till filelight@methylblue.com eller till &filelight;s forum.</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:
+-->
diff --git a/doc/sv/main.png b/doc/sv/main.png
new file mode 100644
index 0000000..c89ee4d
--- /dev/null
+++ b/doc/sv/main.png
Binary files differ
diff --git a/filelight.lsm b/filelight.lsm
new file mode 100644
index 0000000..fb06287
--- /dev/null
+++ b/filelight.lsm
@@ -0,0 +1,13 @@
+Begin3
+title: Filelight
+Version: 1.0
+Entered-date: 5/9/2003
+Description: Graphical disk usage information
+Keywords: kde disk usage du filesystem diskspace
+author: Max Howell <max.howell@methylblue.com>
+Maintained-by: Max Howell <max.howell@methylblue.com>
+Home-page: http://www.methylblue.com/filelight/
+Platform: unix
+Copying-policy: GPL
+End
+
diff --git a/misc/Makefile.am b/misc/Makefile.am
new file mode 100644
index 0000000..0374f38
--- /dev/null
+++ b/misc/Makefile.am
@@ -0,0 +1,12 @@
+KDE_ICON = AUTO
+
+rcdir = $(kde_datadir)/filelight
+rc_DATA = filelight_partui.rc filelightui.rc
+
+configdir = $(kde_confdir)
+config_DATA = filelightrc
+
+xdg_apps_DATA = filelight.desktop
+
+partdesktopdir = $(kde_servicesdir)
+partdesktop_DATA = filelight_part.desktop
diff --git a/misc/cr32-action-view_filelight.png b/misc/cr32-action-view_filelight.png
new file mode 100644
index 0000000..ec0f822
--- /dev/null
+++ b/misc/cr32-action-view_filelight.png
Binary files differ
diff --git a/misc/filelight.desktop b/misc/filelight.desktop
new file mode 100644
index 0000000..745f30f
--- /dev/null
+++ b/misc/filelight.desktop
@@ -0,0 +1,39 @@
+# KDE Config File
+[Desktop Entry]
+Encoding=UTF-8
+Name=Filelight
+Name[xx]=xxFilelightxx
+GenericName=Disk Usage Statistics
+Type=Application
+Exec=filelight %f
+Icon=filelight.png
+Comment=View disk usage information
+Comment[bg]=Информация за използване на диска
+Comment[cs]=Zobrazení využití disku
+Comment[da]=Vis information om diskforbrug
+Comment[de]=Zeigt Nutzungsinformationen der Festplatte an
+Comment[el]=Προβολή πληροφοριών χρήσης δίσκου
+Comment[es]=Ver información de la utilización del disco
+Comment[et]=Kettakasutuse info vaade
+Comment[fr]=Afficher des informations sur l'utilisation du disque
+Comment[ga]=Amharc ar fhaisnéis maidir le húsáid diosca
+Comment[gl]=Informazón do uso do disco
+Comment[it]=Visualizza informazioni sull'uso dei dischi
+Comment[ja]=ディスクの使用状況を見る
+Comment[ka]=დისკის გამოყენების ინფორმაციის ხილვა
+Comment[nb]=Vis informasjon om diskforbruk
+Comment[nl]=Informatie over schijfgebruik
+Comment[pa]=ਡਿਸਕ ਵਰਤੋਂ ਦੀ ਜਾਣਕਾਰੀ ਵੇਖੋ
+Comment[pt]=Ver informações de utilização do disco
+Comment[pt_BR]=Ver informações de utilização do disco
+Comment[ru]=Нагладное представление файловой системы
+Comment[sr]=Приказује податке о заузетости диска
+Comment[sr@Latn]=Prikazuje podatke o zauzetosti diska
+Comment[sv]=Visa information om diskanvändning
+Comment[tr]=Disk kullanım bilgisini görmek için
+Comment[uk]=Перегляд використання диска
+Comment[xx]=xxView disk usage informationxx
+Comment[zh_CN]=查看磁盘使用信息
+Terminal=false
+MimeType=inode/directory
+Categories=Qt;KDE;Utility;
diff --git a/misc/filelight_part.desktop b/misc/filelight_part.desktop
new file mode 100644
index 0000000..552fa81
--- /dev/null
+++ b/misc/filelight_part.desktop
@@ -0,0 +1,30 @@
+[Desktop Entry]
+Encoding=UTF-8
+Name=RadialMap View
+Name[bg]=Изглед "радиална карта"
+Name[cs]=Pohled s kruhovou mapou
+Name[da]=Radialkort-visning
+Name[de]=Radialansicht
+Name[el]=Προβολή κυκλικού χάρτη
+Name[es]=Vista en mapa radial
+Name[et]=Radiaalse kaardi vaade
+Name[gl]=Vista en Mapa Radial
+Name[it]=Vista a mappa radiale
+Name[ja]=放射状グラフ表示
+Name[ka]=RadialMap ხედი
+Name[nb]=RadialMap-visning
+Name[nl]=Radiale weergave
+Name[pa]=RadialMap ਵੇਖੋ
+Name[pt]=Vista em Mapa Radial
+Name[pt_BR]=Visualização em Mapa Radial
+Name[sr]=Приказ кружне мапе
+Name[sr@Latn]=Prikaz kružne mape
+Name[sv]=Radiell avbildningsvy
+Name[tr]=RadyalHarita Görünümü
+Name[uk]=Перегляд RadialMap
+Name[xx]=xxRadialMap Viewxx
+MimeType=inode/directory
+ServiceTypes=KParts/ReadOnlyPart
+X-KDE-Library=libfilelight
+Type=Service
+Icon=view_filelight
diff --git a/misc/filelight_partui.rc b/misc/filelight_partui.rc
new file mode 100644
index 0000000..28ca733
--- /dev/null
+++ b/misc/filelight_partui.rc
@@ -0,0 +1,40 @@
+<!DOCTYPE kpartgui>
+<kpartgui name="filelight_part" version="2">
+<MenuBar>
+ <Menu name="view">
+ <Action name="view_zoom_in" group="view_merge_group"/>
+ <Action name="view_zoom_out" group="view_merge_group"/>
+ </Menu>
+ <Menu name="settings">
+ <Action name="configure_filelight" group="configure_merge_group"/>
+ </Menu>
+</MenuBar>
+
+<State name="scan_started">
+ <disable>
+ <Action name="view_zoom_in"/>
+ <Action name="view_zoom_out"/>
+ <Action name="configure_filelight"/>
+ </disable>
+</State>
+
+<State name="scan_complete">
+ <enable>
+ <Action name="view_zoom_in"/>
+ <Action name="view_zoom_out"/>
+ <Action name="configure_filelight"/>
+ </enable>
+</State>
+
+<State name="scan_failed">
+ <!-- only for full failure situations -->
+ <enable>
+ <Action name="configure_filelight"/>
+ </enable>
+ <disable>
+ <Action name="view_zoom_in"/>
+ <Action name="view_zoom_out"/>
+ </disable>
+</State>
+
+</kpartgui> \ No newline at end of file
diff --git a/misc/filelightrc b/misc/filelightrc
new file mode 100644
index 0000000..6cea220
--- /dev/null
+++ b/misc/filelightrc
@@ -0,0 +1,6 @@
+[filelight_part]
+skipList=/dev/,/proc/,/sys/,/root/
+
+[window]
+Height=400
+Width=600
diff --git a/misc/filelightui.rc b/misc/filelightui.rc
new file mode 100644
index 0000000..1b0d48a
--- /dev/null
+++ b/misc/filelightui.rc
@@ -0,0 +1,108 @@
+<!DOCTYPE kpartgui>
+<kpartgui name="filelight" version="4">
+<MenuBar>
+ <Menu name="file" noMerge="1"><text>&amp;Scan</text>
+ <Action name="scan_directory"/>
+ <Separator/>
+ <Action name="scan_home"/>
+ <Action name="scan_root"/>
+ <Separator/>
+ <Action name="scan_recent"/>
+ <Separator/>
+ <Action name="scan_rescan"/>
+ <Action name="scan_stop"/>
+ <Merge/>
+ <Separator/>
+ <Action name="file_quit"/>
+ </Menu>
+ <Menu name="view" noMerge="1"><text>&amp;View</text></Menu>
+ <Menu name="go_web" noMerge="1"><text>&amp;Go</text>
+ <Action name="go_up"/>
+ <Separator/>
+ <Action name="go_back"/>
+ <Action name="go_forward"/>
+ </Menu>
+</MenuBar>
+
+<ToolBar name="mainToolBar" noMerge="1"><text>Main Toolbar</text>
+ <Action name="go_back"/>
+ <Action name="go_forward"/>
+ <Action name="go_up"/>
+ <Separator lineSeperator="true"/>
+ <Action name="scan_rescan"/>
+ <Action name="scan_stop"/>
+</ToolBar>
+<ToolBar name="locationToolBar" fullWidth="true" noMerge="1"><text>Location Toolbar</text>
+ <Action name="clear_location"/>
+ <Action name="location_bar"/>
+ <Action name="go"/>
+</ToolBar>
+
+<State name="scan_started">
+ <enable>
+ <Action name="scan_stop"/>
+ </enable>
+ <disable>
+ <Action name="scan_directory"/>
+ <Action name="scan_home"/>
+ <Action name="scan_root"/>
+ <Action name="scan_recent"/>
+ <Action name="scan_rescan"/>
+ <Action name="go_up"/>
+ <Action name="go_back"/>
+ <Action name="go_forward"/>
+ <Action name="clear_location"/>
+ <Action name="location_bar"/>
+ <Action name="go"/>
+ <Action name="view_zoom_in"/>
+ <Action name="view_zoom_out"/>
+ <Action name="configure_filelight"/>
+ </disable>
+</State>
+
+<State name="scan_complete">
+ <enable>
+ <Action name="scan_directory"/>
+ <Action name="scan_home"/>
+ <Action name="scan_root"/>
+ <Action name="scan_recent"/>
+ <Action name="scan_rescan"/>
+ <Action name="go_up"/>
+ <Action name="go_back"/>
+ <Action name="go_forward"/>
+ <Action name="clear_location"/>
+ <Action name="location_bar"/>
+ <Action name="go"/>
+ <Action name="view_zoom_in"/>
+ <Action name="view_zoom_out"/>
+ <Action name="configure_filelight"/>
+ </enable>
+ <disable>
+ <Action name="scan_stop"/>
+ </disable>
+</State>
+
+<State name="scan_failed">
+ <!-- only for full failure situations -->
+ <enable>
+ <Action name="scan_directory"/>
+ <Action name="scan_home"/>
+ <Action name="scan_root"/>
+ <Action name="scan_recent"/>
+ <Action name="go_back"/>
+ <Action name="go_forward"/>
+ <Action name="clear_location"/>
+ <Action name="location_bar"/>
+ <Action name="go"/>
+ <Action name="configure_filelight"/>
+ </enable>
+ <disable>
+ <Action name="scan_stop"/>
+ <Action name="scan_rescan"/>
+ <Action name="go_up"/>
+ <Action name="view_zoom_in"/>
+ <Action name="view_zoom_out"/>
+ </disable>
+</State>
+
+</kpartgui>
diff --git a/misc/hi16-app-filelight.png b/misc/hi16-app-filelight.png
new file mode 100644
index 0000000..c0a5cc4
--- /dev/null
+++ b/misc/hi16-app-filelight.png
Binary files differ
diff --git a/misc/hi22-app-filelight.png b/misc/hi22-app-filelight.png
new file mode 100644
index 0000000..592eee2
--- /dev/null
+++ b/misc/hi22-app-filelight.png
Binary files differ
diff --git a/misc/hi32-app-filelight.png b/misc/hi32-app-filelight.png
new file mode 100644
index 0000000..66d83b2
--- /dev/null
+++ b/misc/hi32-app-filelight.png
Binary files differ
diff --git a/misc/hi48-app-filelight.png b/misc/hi48-app-filelight.png
new file mode 100644
index 0000000..921a85e
--- /dev/null
+++ b/misc/hi48-app-filelight.png
Binary files differ
diff --git a/misc/hi64-app-filelight.png b/misc/hi64-app-filelight.png
new file mode 100644
index 0000000..0707a01
--- /dev/null
+++ b/misc/hi64-app-filelight.png
Binary files differ
diff --git a/po/Makefile.am b/po/Makefile.am
new file mode 100644
index 0000000..54cb7de
--- /dev/null
+++ b/po/Makefile.am
@@ -0,0 +1 @@
+SUBDIRS = $(AUTODIRS)
diff --git a/po/az/Makefile.am b/po/az/Makefile.am
new file mode 100644
index 0000000..e1ba0aa
--- /dev/null
+++ b/po/az/Makefile.am
@@ -0,0 +1,3 @@
+KDE_LANG = az
+SUBDIRS = $(AUTODIRS)
+POFILES = AUTO
diff --git a/po/az/filelight.po b/po/az/filelight.po
new file mode 100644
index 0000000..ce0e444
--- /dev/null
+++ b/po/az/filelight.po
@@ -0,0 +1,447 @@
+# translation of filelight.po to Azerbaijani
+# Copyright (C) 2004 Free Software Foundation, Inc.
+# Mətin Əmirov <metin@karegen.com>, 2004.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: filelight\n"
+"POT-Creation-Date: 2006-08-20 12:01+0200\n"
+"PO-Revision-Date: 2004-03-16 23:41+0200\n"
+"Last-Translator: Mətin Əmirov <metin@karegen.com>\n"
+"Language-Team: Azerbaijani <translation-team-az@lists.sourceforge.net>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.0.2\n"
+
+#. i18n: file ./src/part/dialog.ui line 16
+#: rc.cpp:3
+#, no-c-format
+msgid "Settings - Filelight"
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 34
+#: rc.cpp:6
+#, fuzzy, no-c-format
+msgid "Scannin&g"
+msgstr "&Darama"
+
+#. i18n: file ./src/part/dialog.ui line 53
+#: rc.cpp:9
+#, no-c-format
+msgid "Do &not scan these directories:"
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 70
+#: rc.cpp:13
+#, no-c-format
+msgid ""
+"Filelight will not scan these directories unless you specifically request them."
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 106
+#: rc.cpp:16
+#, no-c-format
+msgid "R&emove"
+msgstr "&Sil"
+
+#. i18n: file ./src/part/dialog.ui line 117
+#: rc.cpp:19
+#, no-c-format
+msgid "&Add..."
+msgstr "Ə&lavə Et..."
+
+#. i18n: file ./src/part/dialog.ui line 202
+#: rc.cpp:22
+#, no-c-format
+msgid "Exclude remote files&ystems"
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 208
+#: rc.cpp:26
+#, no-c-format
+msgid ""
+"Prevents scanning of filesystems that are not on this computer, e.g. NFS or "
+"Samba mounts."
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 216
+#: rc.cpp:29
+#, no-c-format
+msgid "Scan across filesystem &boundaries"
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 219
+#: rc.cpp:32
+#, no-c-format
+msgid ""
+"Allows scans to enter directories that are part of other filesystems. For "
+"example, when unchecked, this will usually prevent the contents of <b>/mnt</b> "
+"from being scanned if you scan <b>/</b>."
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 230
+#: rc.cpp:35
+#, no-c-format
+msgid "E&xclude removable media"
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 236
+#: rc.cpp:39
+#, no-c-format
+msgid "Prevents Filelight from scanning removable media (eg. CD-ROMs)."
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 248
+#: rc.cpp:42
+#, no-c-format
+msgid "&Appearance"
+msgstr "&Görünüş"
+
+#. i18n: file ./src/part/dialog.ui line 259
+#: rc.cpp:45
+#, no-c-format
+msgid "Scheme"
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 291
+#: rc.cpp:48
+#, no-c-format
+msgid "Co&ntrast"
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 314
+#: rc.cpp:51
+#, no-c-format
+msgid "Here you can vary the contrast of the filemap in realtime."
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 326
+#: rc.cpp:54
+#, no-c-format
+msgid "&Use anti-aliasing"
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 329
+#: rc.cpp:57
+#, no-c-format
+msgid ""
+"Anti-aliasing the filemap makes it clearer and prettier, unfortunately it also "
+"makes rendering very slow."
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 351
+#: rc.cpp:60
+#, no-c-format
+msgid "Var&y label font sizes"
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 354
+#: rc.cpp:63
+#, no-c-format
+msgid ""
+"The font size of exploded labels can be varied relative to the depth of the "
+"directories they represent. This helps you spot the important labels more "
+"easily. Set a sensible minimum font size."
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 390
+#: rc.cpp:66
+#, no-c-format
+msgid "Minimum font si&ze:"
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 399
+#: rc.cpp:69
+#, no-c-format
+msgid "The smallest font size Filelight can use to render labels."
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 442
+#: rc.cpp:72
+#, no-c-format
+msgid "Show small files"
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 445
+#: rc.cpp:75
+#, no-c-format
+msgid ""
+"Some files are too small to be rendered on the filemap. Selecting this option "
+"makes these files visible by merging them all into a single \"multi-segment\"."
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 464
+#: rc.cpp:78
+#, no-c-format
+msgid "&Reset"
+msgstr "&Sıfırla"
+
+#. i18n: file ./src/part/dialog.ui line 470
+#: rc.cpp:81
+#, no-c-format
+msgid "Reset any changes you have made since you opened this dialog."
+msgstr ""
+
+#. i18n: file ./misc/filelightui.rc line 4
+#: rc.cpp:87
+#, no-c-format
+msgid "&Scan"
+msgstr "&Dara"
+
+#. i18n: file ./misc/filelightui.rc line 19
+#: rc.cpp:93
+#, no-c-format
+msgid "&Go"
+msgstr "&Get"
+
+#. i18n: file ./misc/filelightui.rc line 35
+#: rc.cpp:99
+#, no-c-format
+msgid "Location Toolbar"
+msgstr "Ünvan Vasitə Çubuğu"
+
+#: src/app/historyAction.cpp:46
+msgid "Forward"
+msgstr "İrəli"
+
+#: src/app/main.cpp:15
+msgid "Scan 'path'"
+msgstr ""
+
+#: src/app/main.cpp:21
+msgid "Graphical disk-usage information"
+msgstr ""
+
+#: src/app/main.cpp:22
+msgid "(C )2006 Max Howell"
+msgstr ""
+
+#: src/app/main.cpp:30
+msgid "Author, maintainer"
+msgstr ""
+
+#: src/app/main.cpp:31
+msgid "Documentation"
+msgstr ""
+
+#: src/app/main.cpp:32
+msgid "Inspiration"
+msgstr ""
+
+#: src/app/main.cpp:33
+msgid "Internationalization"
+msgstr ""
+
+#: src/app/main.cpp:34
+msgid "Testing"
+msgstr ""
+
+#: src/app/main.cpp:35
+msgid "Bravery in the face of unreadable code"
+msgstr ""
+
+#: src/app/mainWindow.cpp:40
+msgid ""
+"KDE could not find the Filelight Part, or the Filelight Part could not be "
+"started. Did you make install?"
+msgstr ""
+
+#: src/app/mainWindow.cpp:57
+msgid ""
+"Filelight is not installed properly, consequently its menus and toolbars will "
+"appear reduced or even empty"
+msgstr ""
+
+#: src/app/mainWindow.cpp:91
+msgid "Scan &Home Directory"
+msgstr ""
+
+#: src/app/mainWindow.cpp:92
+msgid "Scan &Root Directory"
+msgstr ""
+
+#: src/app/mainWindow.cpp:93
+msgid "Rescan"
+msgstr "Yenidən dara"
+
+#: src/app/mainWindow.cpp:95
+msgid "Clear Location Bar"
+msgstr "Ünvan Çubuğunu Təmizlə"
+
+#: src/app/mainWindow.cpp:96
+msgid "Go"
+msgstr "Get"
+
+#: src/app/mainWindow.cpp:98
+msgid "Location Bar"
+msgstr "Ünvan Çubuğu"
+
+#: src/app/mainWindow.cpp:99
+msgid "&Recent Scans"
+msgstr ""
+
+#: src/app/mainWindow.cpp:102
+msgid "&Scan Directory..."
+msgstr ""
+
+#: src/app/mainWindow.cpp:263
+msgid ""
+"_: &Up: /home/mxcl\n"
+"%1: %2"
+msgstr ""
+
+#: src/part/progressBox.cpp:62
+#, c-format
+msgid ""
+"_n: %n File\n"
+"%n Files"
+msgstr ""
+
+#: src/part/radialMap/widgetEvents.cpp:165
+msgid "Open &Konqueror Here"
+msgstr ""
+
+#: src/part/radialMap/widgetEvents.cpp:168
+msgid "Open &Konsole Here"
+msgstr ""
+
+#: src/part/radialMap/widgetEvents.cpp:172
+msgid "&Center Map Here"
+msgstr ""
+
+#: src/part/radialMap/widgetEvents.cpp:176
+msgid "&Open"
+msgstr "&Aç"
+
+#: src/part/radialMap/widgetEvents.cpp:179
+msgid "&Copy to clipboard"
+msgstr ""
+
+#: src/part/radialMap/widgetEvents.cpp:207
+msgid ""
+"<qt>The directory at <i>'%1'</i> will be <b>recursively</b> and <b>"
+"permanently</b> deleted."
+msgstr ""
+
+#: src/part/radialMap/widgetEvents.cpp:208
+msgid "<qt><i>'%1'</i> will be <b>permanently</b> deleted."
+msgstr ""
+
+#: src/part/radialMap/builder.cpp:133
+msgid ""
+"_: There can't ever be only 1 file\n"
+"%1 files, each about %2"
+msgstr ""
+
+#: src/part/radialMap/segmentTip.cpp:126
+#, c-format
+msgid "Files: %1"
+msgstr ""
+
+#: src/part/settingsDialog.cpp:26
+msgid "Rainbow"
+msgstr ""
+
+#: src/part/settingsDialog.cpp:27
+msgid "KDE Colors"
+msgstr ""
+
+#: src/part/settingsDialog.cpp:28
+msgid "High Contrast"
+msgstr ""
+
+#: src/part/settingsDialog.cpp:146
+msgid "That directory is already set to be excluded from scans"
+msgstr ""
+
+#: src/part/part.cpp:62
+msgid "Configure Filelight..."
+msgstr ""
+
+#: src/part/part.cpp:118
+msgid "The entered URL cannot be parsed; it is invalid."
+msgstr ""
+
+#: src/part/part.cpp:122
+#, c-format
+msgid "Filelight only accepts absolute paths, eg. /%1"
+msgstr ""
+
+#: src/part/part.cpp:126
+#, c-format
+msgid "Directory not found: %1"
+msgstr ""
+
+#: src/part/part.cpp:130
+msgid ""
+"Unable to enter: %1\n"
+"You do not have access rights to this location."
+msgstr ""
+
+#: src/part/part.cpp:147
+msgid "Aborting Scan..."
+msgstr ""
+
+#: src/part/part.cpp:195
+#, c-format
+msgid "Scanning: %1"
+msgstr "Daranır: %1"
+
+#: src/part/part.cpp:220
+msgid "Scan completed, generating map..."
+msgstr ""
+
+#: src/part/part.cpp:229
+#, fuzzy, c-format
+msgid "Scan failed: %1"
+msgstr "Daranır: %1"
+
+#: src/part/summaryWidget.cpp:102
+msgid "Free"
+msgstr ""
+
+#: src/part/summaryWidget.cpp:103
+msgid "Used"
+msgstr ""
+
+#: _translatorinfo.cpp:1
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr "Mətin Əmirov"
+
+#: _translatorinfo.cpp:3
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr "metin@karegen.com"
+
+#, fuzzy
+#~ msgid "Alt+Y"
+#~ msgstr "Alt+R"
+
+#~ msgid "Alt+B"
+#~ msgstr "Alt+B"
+
+#, fuzzy
+#~ msgid "Alt+X"
+#~ msgstr "Alt+R"
+
+#~ msgid "Up"
+#~ msgstr "Yuxarı"
+
+#~ msgid "Author"
+#~ msgstr "Müəllif"
+
+#~ msgid "Alt+E"
+#~ msgstr "Alt+E"
+
+#~ msgid "Alt+M"
+#~ msgstr "Alt+M"
+
+#~ msgid "Alt+V"
+#~ msgstr "Alt+V"
+
+#~ msgid "Alt+U"
+#~ msgstr "Alt+U"
diff --git a/po/bg/Makefile.am b/po/bg/Makefile.am
new file mode 100644
index 0000000..e186b0a
--- /dev/null
+++ b/po/bg/Makefile.am
@@ -0,0 +1,3 @@
+KDE_LANG = bg
+SUBDIRS = $(AUTODIRS)
+POFILES = AUTO
diff --git a/po/bg/filelight.po b/po/bg/filelight.po
new file mode 100644
index 0000000..da364b5
--- /dev/null
+++ b/po/bg/filelight.po
@@ -0,0 +1,499 @@
+# translation of filelight.po to Bulgarian
+# translation of filelight.po to
+# root <root@localhost.localdomain>, 2006.
+# Zlatko Popov <zlatkopopov@fsa-bg.org>, 2006.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: filelight\n"
+"POT-Creation-Date: 2006-08-20 12:01+0200\n"
+"PO-Revision-Date: 2006-01-22 23:24+0200\n"
+"Last-Translator: Zlatko Popov <zlatkopopov@fsa-bg.org>\n"
+"Language-Team: Bulgarian <dict@linux.zonebg.com>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.10.2\n"
+
+#. i18n: file ./src/part/dialog.ui line 16
+#: rc.cpp:3
+#, no-c-format
+msgid "Settings - Filelight"
+msgstr "Настройки на Filelight"
+
+#. i18n: file ./src/part/dialog.ui line 34
+#: rc.cpp:6
+#, fuzzy, no-c-format
+msgid "Scannin&g"
+msgstr "&Сканиране"
+
+#. i18n: file ./src/part/dialog.ui line 53
+#: rc.cpp:9
+#, fuzzy, no-c-format
+msgid "Do &not scan these directories:"
+msgstr "&Без сканиране на тези директории:"
+
+#. i18n: file ./src/part/dialog.ui line 70
+#: rc.cpp:13
+#, no-c-format
+msgid ""
+"Filelight will not scan these directories unless you specifically request them."
+msgstr ""
+"Filelight няма да сканира тези директории, освен ако изрично не го пожелаете."
+
+#. i18n: file ./src/part/dialog.ui line 106
+#: rc.cpp:16
+#, no-c-format
+msgid "R&emove"
+msgstr "&Премахване"
+
+#. i18n: file ./src/part/dialog.ui line 117
+#: rc.cpp:19
+#, no-c-format
+msgid "&Add..."
+msgstr "&Добавяне..."
+
+#. i18n: file ./src/part/dialog.ui line 202
+#: rc.cpp:22
+#, fuzzy, no-c-format
+msgid "Exclude remote files&ystems"
+msgstr "Без &отдалечени файлови системи"
+
+#. i18n: file ./src/part/dialog.ui line 208
+#: rc.cpp:26
+#, no-c-format
+msgid ""
+"Prevents scanning of filesystems that are not on this computer, e.g. NFS or "
+"Samba mounts."
+msgstr ""
+"Предотвратява сканиране на файлови системи, който не са на този компютър, "
+"например NFS или Samba."
+
+#. i18n: file ./src/part/dialog.ui line 216
+#: rc.cpp:29
+#, no-c-format
+msgid "Scan across filesystem &boundaries"
+msgstr "Сканиране в &рамките на файловата система"
+
+#. i18n: file ./src/part/dialog.ui line 219
+#: rc.cpp:32
+#, fuzzy, no-c-format
+msgid ""
+"Allows scans to enter directories that are part of other filesystems. For "
+"example, when unchecked, this will usually prevent the contents of <b>/mnt</b> "
+"from being scanned if you scan <b>/</b>."
+msgstr ""
+"Спира сканирането на директории, които са част от други файлови системи. "
+"Например, това обикновено предотвратява съдържанието на <b>/mnt</b> "
+"да бъде сканирано <b>/</b>."
+
+#. i18n: file ./src/part/dialog.ui line 230
+#: rc.cpp:35
+#, fuzzy, no-c-format
+msgid "E&xclude removable media"
+msgstr "Изключване на &преносими носители"
+
+#. i18n: file ./src/part/dialog.ui line 236
+#: rc.cpp:39
+#, no-c-format
+msgid "Prevents Filelight from scanning removable media (eg. CD-ROMs)."
+msgstr ""
+"Предотвратява сканирането от Filelight на преносими носители като CD-ROM."
+
+#. i18n: file ./src/part/dialog.ui line 248
+#: rc.cpp:42
+#, no-c-format
+msgid "&Appearance"
+msgstr "&Изглед"
+
+#. i18n: file ./src/part/dialog.ui line 259
+#: rc.cpp:45
+#, no-c-format
+msgid "Scheme"
+msgstr "Схема"
+
+#. i18n: file ./src/part/dialog.ui line 291
+#: rc.cpp:48
+#, fuzzy, no-c-format
+msgid "Co&ntrast"
+msgstr "&Контраст"
+
+#. i18n: file ./src/part/dialog.ui line 314
+#: rc.cpp:51
+#, no-c-format
+msgid "Here you can vary the contrast of the filemap in realtime."
+msgstr "Тук можете да променяте контраста на файловата карта в реално време."
+
+#. i18n: file ./src/part/dialog.ui line 326
+#: rc.cpp:54
+#, no-c-format
+msgid "&Use anti-aliasing"
+msgstr "&Използване на заглаждане"
+
+#. i18n: file ./src/part/dialog.ui line 329
+#: rc.cpp:57
+#, no-c-format
+msgid ""
+"Anti-aliasing the filemap makes it clearer and prettier, unfortunately it also "
+"makes rendering very slow."
+msgstr ""
+"Заглаждането на файловата карта я прави по-ясна и по-приятна. За съжаление "
+"прави по-бавно рендирането."
+
+#. i18n: file ./src/part/dialog.ui line 351
+#: rc.cpp:60
+#, fuzzy, no-c-format
+msgid "Var&y label font sizes"
+msgstr "&Различна големината на шрифта на етикета"
+
+#. i18n: file ./src/part/dialog.ui line 354
+#: rc.cpp:63
+#, no-c-format
+msgid ""
+"The font size of exploded labels can be varied relative to the depth of the "
+"directories they represent. This helps you spot the important labels more "
+"easily. Set a sensible minimum font size."
+msgstr ""
+"Големината на шрифта на етикетите може да варира в зависимост от обема на "
+"директориите, които представят. Това Ви помага по-лесно да забележите важните "
+"етикети. Задайте разумен минимален размер на шрифта."
+
+#. i18n: file ./src/part/dialog.ui line 390
+#: rc.cpp:66
+#, fuzzy, no-c-format
+msgid "Minimum font si&ze:"
+msgstr "Максимален &размер на шрифта:"
+
+#. i18n: file ./src/part/dialog.ui line 399
+#: rc.cpp:69
+#, no-c-format
+msgid "The smallest font size Filelight can use to render labels."
+msgstr "Filelight може използва най-малкия шрифт за рендиране на надписите."
+
+#. i18n: file ./src/part/dialog.ui line 442
+#: rc.cpp:72
+#, no-c-format
+msgid "Show small files"
+msgstr "Показване на малки файлове"
+
+#. i18n: file ./src/part/dialog.ui line 445
+#: rc.cpp:75
+#, no-c-format
+msgid ""
+"Some files are too small to be rendered on the filemap. Selecting this option "
+"makes these files visible by merging them all into a single \"multi-segment\"."
+msgstr ""
+"Някои файлове са твърде малки, за бъдат рендирани на картата на файловете. "
+"Включвайки тази опция Вие правите тези файлове видими чрез сливането им в един "
+"\"мултисегментен\" файл."
+
+#. i18n: file ./src/part/dialog.ui line 464
+#: rc.cpp:78
+#, no-c-format
+msgid "&Reset"
+msgstr "&Анулиране"
+
+#. i18n: file ./src/part/dialog.ui line 470
+#: rc.cpp:81
+#, no-c-format
+msgid "Reset any changes you have made since you opened this dialog."
+msgstr ""
+"Анулиране на всички промени, които сте направили след отварянето на този "
+"диалогов прозорец."
+
+#. i18n: file ./misc/filelightui.rc line 4
+#: rc.cpp:87
+#, no-c-format
+msgid "&Scan"
+msgstr "&Сканиране"
+
+#. i18n: file ./misc/filelightui.rc line 19
+#: rc.cpp:93
+#, no-c-format
+msgid "&Go"
+msgstr "&Старт"
+
+#. i18n: file ./misc/filelightui.rc line 35
+#: rc.cpp:99
+#, no-c-format
+msgid "Location Toolbar"
+msgstr "Лента за местоположение"
+
+#: src/app/historyAction.cpp:46
+msgid "Forward"
+msgstr "Напред"
+
+#: src/app/main.cpp:15
+msgid "Scan 'path'"
+msgstr "\"Път\" за сканиране"
+
+#: src/app/main.cpp:21
+msgid "Graphical disk-usage information"
+msgstr "Графична информация за използването на диска"
+
+#: src/app/main.cpp:22
+#, fuzzy
+msgid "(C )2006 Max Howell"
+msgstr "(C) 2003 Max Howell"
+
+#: src/app/main.cpp:30
+msgid "Author, maintainer"
+msgstr ""
+
+#: src/app/main.cpp:31
+msgid "Documentation"
+msgstr ""
+
+#: src/app/main.cpp:32
+msgid "Inspiration"
+msgstr "Вдъхновение"
+
+#: src/app/main.cpp:33
+#, fuzzy
+msgid "Internationalization"
+msgstr "Международна поддръжка"
+
+#: src/app/main.cpp:34
+msgid "Testing"
+msgstr ""
+
+#: src/app/main.cpp:35
+#, fuzzy
+msgid "Bravery in the face of unreadable code"
+msgstr "Смелост в сблъсъка с не четимия код (корекции)"
+
+#: src/app/mainWindow.cpp:40
+msgid ""
+"KDE could not find the Filelight Part, or the Filelight Part could not be "
+"started. Did you make install?"
+msgstr ""
+"KDE не може да открие Filelight Part, или тя не може да се стартира. Инсталиран "
+"ли е?"
+
+#: src/app/mainWindow.cpp:57
+msgid ""
+"Filelight is not installed properly, consequently its menus and toolbars will "
+"appear reduced or even empty"
+msgstr ""
+
+#: src/app/mainWindow.cpp:91
+msgid "Scan &Home Directory"
+msgstr "Сканиране на &потребителската директория"
+
+#: src/app/mainWindow.cpp:92
+msgid "Scan &Root Directory"
+msgstr "Сканиране на &главната директория"
+
+#: src/app/mainWindow.cpp:93
+msgid "Rescan"
+msgstr "Повторно сканиране"
+
+#: src/app/mainWindow.cpp:95
+msgid "Clear Location Bar"
+msgstr "Изчистване на лентата за местоположение"
+
+#: src/app/mainWindow.cpp:96
+msgid "Go"
+msgstr "Старт"
+
+#: src/app/mainWindow.cpp:98
+msgid "Location Bar"
+msgstr "Лента за местоположение"
+
+#: src/app/mainWindow.cpp:99
+msgid "&Recent Scans"
+msgstr "&Последни сканирания"
+
+#: src/app/mainWindow.cpp:102
+msgid "&Scan Directory..."
+msgstr "&Сканиране на директория..."
+
+#: src/app/mainWindow.cpp:263
+msgid ""
+"_: &Up: /home/mxcl\n"
+"%1: %2"
+msgstr ""
+
+#: src/part/progressBox.cpp:62
+#, c-format
+msgid ""
+"_n: %n File\n"
+"%n Files"
+msgstr ""
+" %n файл\n"
+"%n файла"
+
+#: src/part/radialMap/widgetEvents.cpp:165
+msgid "Open &Konqueror Here"
+msgstr "Отваряне на &Konqueror"
+
+#: src/part/radialMap/widgetEvents.cpp:168
+msgid "Open &Konsole Here"
+msgstr "Отваряне на &конзола"
+
+#: src/part/radialMap/widgetEvents.cpp:172
+msgid "&Center Map Here"
+msgstr "&Центриране на картата"
+
+#: src/part/radialMap/widgetEvents.cpp:176
+msgid "&Open"
+msgstr "&Отваряне"
+
+#: src/part/radialMap/widgetEvents.cpp:179
+msgid "&Copy to clipboard"
+msgstr ""
+
+#: src/part/radialMap/widgetEvents.cpp:207
+msgid ""
+"<qt>The directory at <i>'%1'</i> will be <b>recursively</b> and <b>"
+"permanently</b> deleted."
+msgstr ""
+"<qt>Директорията в <i>\"%1\"</i> ще бъде <b>рекурсивно</b> и <b>безвъзвратно</b> "
+"изтрита."
+
+#: src/part/radialMap/widgetEvents.cpp:208
+msgid "<qt><i>'%1'</i> will be <b>permanently</b> deleted."
+msgstr "<qt><i>\"%1\"</i> ще бъде <b>безвъзвратно</b> изтрит/а."
+
+#: src/part/radialMap/builder.cpp:133
+msgid ""
+"_: There can't ever be only 1 file\n"
+"%1 files, each about %2"
+msgstr "%1 файла, всеки около %2"
+
+#: src/part/radialMap/segmentTip.cpp:126
+#, c-format
+msgid "Files: %1"
+msgstr "Файлове: %1"
+
+#: src/part/settingsDialog.cpp:26
+msgid "Rainbow"
+msgstr "Дъга"
+
+#: src/part/settingsDialog.cpp:27
+msgid "KDE Colors"
+msgstr "Цветове в KDE"
+
+#: src/part/settingsDialog.cpp:28
+msgid "High Contrast"
+msgstr "Силен контраст"
+
+#: src/part/settingsDialog.cpp:146
+msgid "That directory is already set to be excluded from scans"
+msgstr "Вече е посочено тази директория да бъде изключена от сканиранията"
+
+#: src/part/part.cpp:62
+msgid "Configure Filelight..."
+msgstr "Конфигуриране на Filelight..."
+
+#: src/part/part.cpp:118
+msgid "The entered URL cannot be parsed; it is invalid."
+msgstr "Въведения адрес не може да бъде обработен, тъй като е невалиден."
+
+#: src/part/part.cpp:122
+#, c-format
+msgid "Filelight only accepts absolute paths, eg. /%1"
+msgstr "Filelight приема само абсолютни пътища, например: /%1"
+
+#: src/part/part.cpp:126
+#, c-format
+msgid "Directory not found: %1"
+msgstr "Директория %1 не е намерена"
+
+#: src/part/part.cpp:130
+msgid ""
+"Unable to enter: %1\n"
+"You do not have access rights to this location."
+msgstr ""
+"Невъзможно влизане: %1\n"
+"Нямате права за достъп до това местоположение."
+
+#: src/part/part.cpp:147
+msgid "Aborting Scan..."
+msgstr "Прекратяване на сканирането..."
+
+#: src/part/part.cpp:195
+#, c-format
+msgid "Scanning: %1"
+msgstr "Сканирани: %1"
+
+#: src/part/part.cpp:220
+msgid "Scan completed, generating map..."
+msgstr "Сканирането завърши, генериране на карта..."
+
+#: src/part/part.cpp:229
+#, c-format
+msgid "Scan failed: %1"
+msgstr "Неуспешно сканиране: %1"
+
+#: src/part/summaryWidget.cpp:102
+msgid "Free"
+msgstr "Свободно"
+
+#: src/part/summaryWidget.cpp:103
+msgid "Used"
+msgstr "Използвано"
+
+#: _translatorinfo.cpp:1
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr "Красимира Минчева"
+
+#: _translatorinfo.cpp:3
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr "krasimira_m@yahoo.com"
+
+#~ msgid "Me"
+#~ msgstr "Аз"
+
+#~ msgid "Handbook guru"
+#~ msgstr "Наръчник-гуру"
+
+#~ msgid "\"Girlfriend usability-testing\""
+#~ msgstr "\"Girlfriend usability-testing\""
+
+#~ msgid "Welsh Translation"
+#~ msgstr "Превод на уелски език"
+
+#~ msgid "German Translation, testing, bug reports and suggestions"
+#~ msgstr "Превод на немски език, тестване, уведомяване за грешки и предложения"
+
+#~ msgid "Slovak Translation"
+#~ msgstr "Превод на словашки език"
+
+#~ msgid "Polish Translation"
+#~ msgstr "Превод на полски език"
+
+#~ msgid "Spanish Translation"
+#~ msgstr "Превод на испански език"
+
+#~ msgid "French Translation"
+#~ msgstr "Превод на френски език"
+
+#~ msgid "Russian Translation"
+#~ msgstr "Превод на руски език"
+
+#~ msgid "Dutch Translation"
+#~ msgstr "Превод на холандски език"
+
+#~ msgid ""
+#~ "Called: %1\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Извиквана: %1\n"
+#~ "\n"
+
+#~ msgid "could not execute %1"
+#~ msgstr "не може да се изпълни %1"
+
+#~ msgid "Use the Scan-menu to begin..."
+#~ msgstr "За да започнете използвайте менюто за сканиране..."
+
+#~ msgid "Up"
+#~ msgstr "Нагоре"
+
+#~ msgid "Up: %1"
+#~ msgstr "Нагоре: %1"
diff --git a/po/br/Makefile.am b/po/br/Makefile.am
new file mode 100644
index 0000000..6c0dea8
--- /dev/null
+++ b/po/br/Makefile.am
@@ -0,0 +1,3 @@
+KDE_LANG = br
+SUBDIRS = $(AUTODIRS)
+POFILES = AUTO
diff --git a/po/br/filelight.po b/po/br/filelight.po
new file mode 100644
index 0000000..6e954ef
--- /dev/null
+++ b/po/br/filelight.po
@@ -0,0 +1,465 @@
+# KDE breton translation
+# Thierry Vignaud <tvignaud@mandriva.com>, 2004-2005
+msgid ""
+msgstr ""
+"Project-Id-Version: all2.po\n"
+"POT-Creation-Date: 2006-08-20 12:01+0200\n"
+"PO-Revision-Date: 2004-09-20 15:44+0200\n"
+"Last-Translator: Thierry Vignaud <tvignaud@mandriva.com>\n"
+"Language-Team: br <LL@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. i18n: file ./src/part/dialog.ui line 16
+#: rc.cpp:3
+#, no-c-format
+msgid "Settings - Filelight"
+msgstr "Kefluniadur - Filelight"
+
+#. i18n: file ./src/part/dialog.ui line 34
+#: rc.cpp:6
+#, no-c-format
+msgid "Scannin&g"
+msgstr "E&maon o tielfennañ"
+
+#. i18n: file ./src/part/dialog.ui line 53
+#: rc.cpp:9
+#, no-c-format
+msgid "Do &not scan these directories:"
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 70
+#: rc.cpp:13
+#, no-c-format
+msgid ""
+"Filelight will not scan these directories unless you specifically request them."
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 106
+#: rc.cpp:16
+#, no-c-format
+msgid "R&emove"
+msgstr "L&emel"
+
+#. i18n: file ./src/part/dialog.ui line 117
+#: rc.cpp:19
+#, no-c-format
+msgid "&Add..."
+msgstr "&Ouzhpennañ ..."
+
+#. i18n: file ./src/part/dialog.ui line 202
+#: rc.cpp:22
+#, no-c-format
+msgid "Exclude remote files&ystems"
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 208
+#: rc.cpp:26
+#, no-c-format
+msgid ""
+"Prevents scanning of filesystems that are not on this computer, e.g. NFS or "
+"Samba mounts."
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 216
+#: rc.cpp:29
+#, no-c-format
+msgid "Scan across filesystem &boundaries"
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 219
+#: rc.cpp:32
+#, no-c-format
+msgid ""
+"Allows scans to enter directories that are part of other filesystems. For "
+"example, when unchecked, this will usually prevent the contents of <b>/mnt</b> "
+"from being scanned if you scan <b>/</b>."
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 230
+#: rc.cpp:35
+#, no-c-format
+msgid "E&xclude removable media"
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 236
+#: rc.cpp:39
+#, no-c-format
+msgid "Prevents Filelight from scanning removable media (eg. CD-ROMs)."
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 248
+#: rc.cpp:42
+#, no-c-format
+msgid "&Appearance"
+msgstr "&Neuziadur"
+
+#. i18n: file ./src/part/dialog.ui line 259
+#: rc.cpp:45
+#, no-c-format
+msgid "Scheme"
+msgstr "Steuñv"
+
+#. i18n: file ./src/part/dialog.ui line 291
+#: rc.cpp:48
+#, no-c-format
+msgid "Co&ntrast"
+msgstr "Da&rgemm"
+
+#. i18n: file ./src/part/dialog.ui line 314
+#: rc.cpp:51
+#, no-c-format
+msgid "Here you can vary the contrast of the filemap in realtime."
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 326
+#: rc.cpp:54
+#, no-c-format
+msgid "&Use anti-aliasing"
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 329
+#: rc.cpp:57
+#, no-c-format
+msgid ""
+"Anti-aliasing the filemap makes it clearer and prettier, unfortunately it also "
+"makes rendering very slow."
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 351
+#: rc.cpp:60
+#, no-c-format
+msgid "Var&y label font sizes"
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 354
+#: rc.cpp:63
+#, no-c-format
+msgid ""
+"The font size of exploded labels can be varied relative to the depth of the "
+"directories they represent. This helps you spot the important labels more "
+"easily. Set a sensible minimum font size."
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 390
+#: rc.cpp:66
+#, no-c-format
+msgid "Minimum font si&ze:"
+msgstr "Me&nt izelañ an nodrezh :"
+
+#. i18n: file ./src/part/dialog.ui line 399
+#: rc.cpp:69
+#, no-c-format
+msgid "The smallest font size Filelight can use to render labels."
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 442
+#: rc.cpp:72
+#, no-c-format
+msgid "Show small files"
+msgstr "Diskouez ar restroù bihan"
+
+#. i18n: file ./src/part/dialog.ui line 445
+#: rc.cpp:75
+#, no-c-format
+msgid ""
+"Some files are too small to be rendered on the filemap. Selecting this option "
+"makes these files visible by merging them all into a single \"multi-segment\"."
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 464
+#: rc.cpp:78
+#, no-c-format
+msgid "&Reset"
+msgstr "&Adkorañ"
+
+#. i18n: file ./src/part/dialog.ui line 470
+#: rc.cpp:81
+#, no-c-format
+msgid "Reset any changes you have made since you opened this dialog."
+msgstr ""
+
+#. i18n: file ./misc/filelightui.rc line 4
+#: rc.cpp:87
+#, no-c-format
+msgid "&Scan"
+msgstr "&Dezrannit"
+
+#. i18n: file ./misc/filelightui.rc line 19
+#: rc.cpp:93
+#, no-c-format
+msgid "&Go"
+msgstr "&Mont"
+
+#. i18n: file ./misc/filelightui.rc line 35
+#: rc.cpp:99
+#, no-c-format
+msgid "Location Toolbar"
+msgstr "Barrenn ostilhoù al lec'hiadur"
+
+#: src/app/historyAction.cpp:46
+msgid "Forward"
+msgstr "War-raok"
+
+#: src/app/main.cpp:15
+msgid "Scan 'path'"
+msgstr ""
+
+#: src/app/main.cpp:21
+msgid "Graphical disk-usage information"
+msgstr ""
+
+#: src/app/main.cpp:22
+#, fuzzy
+msgid "(C )2006 Max Howell"
+msgstr "(C) 2003 Max Howell"
+
+#: src/app/main.cpp:30
+msgid "Author, maintainer"
+msgstr "Oberour, ratreer"
+
+#: src/app/main.cpp:31
+msgid "Documentation"
+msgstr "Teuliadur"
+
+#: src/app/main.cpp:32
+msgid "Inspiration"
+msgstr ""
+
+#: src/app/main.cpp:33
+msgid "Internationalization"
+msgstr ""
+
+#: src/app/main.cpp:34
+msgid "Testing"
+msgstr ""
+
+#: src/app/main.cpp:35
+msgid "Bravery in the face of unreadable code"
+msgstr ""
+
+#: src/app/mainWindow.cpp:40
+msgid ""
+"KDE could not find the Filelight Part, or the Filelight Part could not be "
+"started. Did you make install?"
+msgstr ""
+
+#: src/app/mainWindow.cpp:57
+msgid ""
+"Filelight is not installed properly, consequently its menus and toolbars will "
+"appear reduced or even empty"
+msgstr ""
+
+#: src/app/mainWindow.cpp:91
+msgid "Scan &Home Directory"
+msgstr ""
+
+#: src/app/mainWindow.cpp:92
+msgid "Scan &Root Directory"
+msgstr ""
+
+#: src/app/mainWindow.cpp:93
+msgid "Rescan"
+msgstr ""
+
+#: src/app/mainWindow.cpp:95
+msgid "Clear Location Bar"
+msgstr "Goullonderiñ an URL"
+
+#: src/app/mainWindow.cpp:96
+msgid "Go"
+msgstr "Mont"
+
+#: src/app/mainWindow.cpp:98
+msgid "Location Bar"
+msgstr "Barrenn al lec'hiadur"
+
+#: src/app/mainWindow.cpp:99
+msgid "&Recent Scans"
+msgstr ""
+
+#: src/app/mainWindow.cpp:102
+msgid "&Scan Directory..."
+msgstr ""
+
+#: src/app/mainWindow.cpp:263
+msgid ""
+"_: &Up: /home/mxcl\n"
+"%1: %2"
+msgstr "%1 : %2"
+
+#: src/part/progressBox.cpp:62
+#, c-format
+msgid ""
+"_n: %n File\n"
+"%n Files"
+msgstr "%n restr"
+
+#: src/part/radialMap/widgetEvents.cpp:165
+msgid "Open &Konqueror Here"
+msgstr "Digeriñ &Konqueror amañ"
+
+#: src/part/radialMap/widgetEvents.cpp:168
+msgid "Open &Konsole Here"
+msgstr "Digeriñ &Konsole amañ"
+
+#: src/part/radialMap/widgetEvents.cpp:172
+msgid "&Center Map Here"
+msgstr ""
+
+#: src/part/radialMap/widgetEvents.cpp:176
+msgid "&Open"
+msgstr "&Digeriñ"
+
+#: src/part/radialMap/widgetEvents.cpp:179
+msgid "&Copy to clipboard"
+msgstr "&Eilañ d'ar golver"
+
+#: src/part/radialMap/widgetEvents.cpp:207
+msgid ""
+"<qt>The directory at <i>'%1'</i> will be <b>recursively</b> and <b>"
+"permanently</b> deleted."
+msgstr ""
+
+#: src/part/radialMap/widgetEvents.cpp:208
+msgid "<qt><i>'%1'</i> will be <b>permanently</b> deleted."
+msgstr ""
+
+#: src/part/radialMap/builder.cpp:133
+msgid ""
+"_: There can't ever be only 1 file\n"
+"%1 files, each about %2"
+msgstr ""
+
+#: src/part/radialMap/segmentTip.cpp:126
+#, c-format
+msgid "Files: %1"
+msgstr "Restroù : %1"
+
+#: src/part/settingsDialog.cpp:26
+msgid "Rainbow"
+msgstr "Gwareg-ar-glav"
+
+#: src/part/settingsDialog.cpp:27
+msgid "KDE Colors"
+msgstr "Livioù KDE"
+
+#: src/part/settingsDialog.cpp:28
+msgid "High Contrast"
+msgstr "Dargemm huel"
+
+#: src/part/settingsDialog.cpp:146
+msgid "That directory is already set to be excluded from scans"
+msgstr ""
+
+#: src/part/part.cpp:62
+msgid "Configure Filelight..."
+msgstr "&Kefluniañ Filelight ..."
+
+#: src/part/part.cpp:118
+msgid "The entered URL cannot be parsed; it is invalid."
+msgstr ""
+
+#: src/part/part.cpp:122
+#, c-format
+msgid "Filelight only accepts absolute paths, eg. /%1"
+msgstr ""
+
+#: src/part/part.cpp:126
+#, c-format
+msgid "Directory not found: %1"
+msgstr "N'eo ket bet kavet ar renkell : %1"
+
+#: src/part/part.cpp:130
+msgid ""
+"Unable to enter: %1\n"
+"You do not have access rights to this location."
+msgstr ""
+
+#: src/part/part.cpp:147
+msgid "Aborting Scan..."
+msgstr ""
+
+#: src/part/part.cpp:195
+#, c-format
+msgid "Scanning: %1"
+msgstr "Emaon o tielfennañ : %1"
+
+#: src/part/part.cpp:220
+msgid "Scan completed, generating map..."
+msgstr ""
+
+#: src/part/part.cpp:229
+#, c-format
+msgid "Scan failed: %1"
+msgstr ""
+
+#: src/part/summaryWidget.cpp:102
+msgid "Free"
+msgstr "Dieub"
+
+#: src/part/summaryWidget.cpp:103
+msgid "Used"
+msgstr "Implijet"
+
+#: _translatorinfo.cpp:1
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr "Thierry Vignaud, Jañ-Mai Drapier"
+
+#: _translatorinfo.cpp:3
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr "tvignaud@mandriva.com, jdrapier@club-internet.fr"
+
+#~ msgid "Me"
+#~ msgstr "Me"
+
+#~ msgid "Welsh Translation"
+#~ msgstr "Troidigezh e kembraeg"
+
+#~ msgid "Slovak Translation"
+#~ msgstr "Troidigezh e sloveg"
+
+#~ msgid "Polish Translation"
+#~ msgstr "Troidigezh e poloneg"
+
+#~ msgid "Spanish Translation"
+#~ msgstr "Troidigezh e spagnoleg"
+
+#~ msgid "French Translation"
+#~ msgstr "Troidigezh e galleg"
+
+#~ msgid "Russian Translation"
+#~ msgstr "Troidigezh e rusianeg"
+
+#~ msgid "Dutch Translation"
+#~ msgstr "Troidigezh e nederlandeg"
+
+#~ msgid "Alt+Y"
+#~ msgstr "Alt+Y"
+
+#~ msgid "Alt+B"
+#~ msgstr "Alt+B"
+
+#~ msgid "Alt+X"
+#~ msgstr "Alt+X"
+
+#~ msgid ""
+#~ "Called: %1\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Galvet : %1\n"
+#~ "\n"
+
+#~ msgid "could not execute %1"
+#~ msgstr "ne m'eus ket seveniñ %1"
+
+#~ msgid "Up"
+#~ msgstr "Uhel"
+
+#~ msgid "Up: %1"
+#~ msgstr "Uhel : %1"
diff --git a/po/ca/Makefile.am b/po/ca/Makefile.am
new file mode 100644
index 0000000..7ac545c
--- /dev/null
+++ b/po/ca/Makefile.am
@@ -0,0 +1,3 @@
+KDE_LANG = ca
+SUBDIRS = $(AUTODIRS)
+POFILES = AUTO
diff --git a/po/ca/filelight.po b/po/ca/filelight.po
new file mode 100644
index 0000000..df5a0f8
--- /dev/null
+++ b/po/ca/filelight.po
@@ -0,0 +1,417 @@
+# SOME DESCRIPTIVE TITLE.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2006-08-20 12:01+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: ENCODING\n"
+
+#. i18n: file ./src/part/dialog.ui line 16
+#: rc.cpp:3
+#, no-c-format
+msgid "Settings - Filelight"
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 34
+#: rc.cpp:6
+#, no-c-format
+msgid "Scannin&g"
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 53
+#: rc.cpp:9
+#, no-c-format
+msgid "Do &not scan these directories:"
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 70
+#: rc.cpp:13
+#, no-c-format
+msgid ""
+"Filelight will not scan these directories unless you specifically request them."
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 106
+#: rc.cpp:16
+#, no-c-format
+msgid "R&emove"
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 117
+#: rc.cpp:19
+#, no-c-format
+msgid "&Add..."
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 202
+#: rc.cpp:22
+#, no-c-format
+msgid "Exclude remote files&ystems"
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 208
+#: rc.cpp:26
+#, no-c-format
+msgid ""
+"Prevents scanning of filesystems that are not on this computer, e.g. NFS or "
+"Samba mounts."
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 216
+#: rc.cpp:29
+#, no-c-format
+msgid "Scan across filesystem &boundaries"
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 219
+#: rc.cpp:32
+#, no-c-format
+msgid ""
+"Allows scans to enter directories that are part of other filesystems. For "
+"example, when unchecked, this will usually prevent the contents of <b>/mnt</b> "
+"from being scanned if you scan <b>/</b>."
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 230
+#: rc.cpp:35
+#, no-c-format
+msgid "E&xclude removable media"
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 236
+#: rc.cpp:39
+#, no-c-format
+msgid "Prevents Filelight from scanning removable media (eg. CD-ROMs)."
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 248
+#: rc.cpp:42
+#, no-c-format
+msgid "&Appearance"
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 259
+#: rc.cpp:45
+#, no-c-format
+msgid "Scheme"
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 291
+#: rc.cpp:48
+#, no-c-format
+msgid "Co&ntrast"
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 314
+#: rc.cpp:51
+#, no-c-format
+msgid "Here you can vary the contrast of the filemap in realtime."
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 326
+#: rc.cpp:54
+#, no-c-format
+msgid "&Use anti-aliasing"
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 329
+#: rc.cpp:57
+#, no-c-format
+msgid ""
+"Anti-aliasing the filemap makes it clearer and prettier, unfortunately it also "
+"makes rendering very slow."
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 351
+#: rc.cpp:60
+#, no-c-format
+msgid "Var&y label font sizes"
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 354
+#: rc.cpp:63
+#, no-c-format
+msgid ""
+"The font size of exploded labels can be varied relative to the depth of the "
+"directories they represent. This helps you spot the important labels more "
+"easily. Set a sensible minimum font size."
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 390
+#: rc.cpp:66
+#, no-c-format
+msgid "Minimum font si&ze:"
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 399
+#: rc.cpp:69
+#, no-c-format
+msgid "The smallest font size Filelight can use to render labels."
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 442
+#: rc.cpp:72
+#, no-c-format
+msgid "Show small files"
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 445
+#: rc.cpp:75
+#, no-c-format
+msgid ""
+"Some files are too small to be rendered on the filemap. Selecting this option "
+"makes these files visible by merging them all into a single \"multi-segment\"."
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 464
+#: rc.cpp:78
+#, no-c-format
+msgid "&Reset"
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 470
+#: rc.cpp:81
+#, no-c-format
+msgid "Reset any changes you have made since you opened this dialog."
+msgstr ""
+
+#. i18n: file ./misc/filelightui.rc line 4
+#: rc.cpp:87
+#, no-c-format
+msgid "&Scan"
+msgstr ""
+
+#. i18n: file ./misc/filelightui.rc line 19
+#: rc.cpp:93
+#, no-c-format
+msgid "&Go"
+msgstr ""
+
+#. i18n: file ./misc/filelightui.rc line 35
+#: rc.cpp:99
+#, no-c-format
+msgid "Location Toolbar"
+msgstr ""
+
+#: src/app/historyAction.cpp:46
+msgid "Forward"
+msgstr ""
+
+#: src/app/main.cpp:15
+msgid "Scan 'path'"
+msgstr ""
+
+#: src/app/main.cpp:21
+msgid "Graphical disk-usage information"
+msgstr ""
+
+#: src/app/main.cpp:22
+msgid "(C )2006 Max Howell"
+msgstr ""
+
+#: src/app/main.cpp:30
+msgid "Author, maintainer"
+msgstr ""
+
+#: src/app/main.cpp:31
+msgid "Documentation"
+msgstr ""
+
+#: src/app/main.cpp:32
+msgid "Inspiration"
+msgstr ""
+
+#: src/app/main.cpp:33
+msgid "Internationalization"
+msgstr ""
+
+#: src/app/main.cpp:34
+msgid "Testing"
+msgstr ""
+
+#: src/app/main.cpp:35
+msgid "Bravery in the face of unreadable code"
+msgstr ""
+
+#: src/app/mainWindow.cpp:40
+msgid ""
+"KDE could not find the Filelight Part, or the Filelight Part could not be "
+"started. Did you make install?"
+msgstr ""
+
+#: src/app/mainWindow.cpp:57
+msgid ""
+"Filelight is not installed properly, consequently its menus and toolbars will "
+"appear reduced or even empty"
+msgstr ""
+
+#: src/app/mainWindow.cpp:91
+msgid "Scan &Home Directory"
+msgstr ""
+
+#: src/app/mainWindow.cpp:92
+msgid "Scan &Root Directory"
+msgstr ""
+
+#: src/app/mainWindow.cpp:93
+msgid "Rescan"
+msgstr ""
+
+#: src/app/mainWindow.cpp:95
+msgid "Clear Location Bar"
+msgstr ""
+
+#: src/app/mainWindow.cpp:96
+msgid "Go"
+msgstr ""
+
+#: src/app/mainWindow.cpp:98
+msgid "Location Bar"
+msgstr ""
+
+#: src/app/mainWindow.cpp:99
+msgid "&Recent Scans"
+msgstr ""
+
+#: src/app/mainWindow.cpp:102
+msgid "&Scan Directory..."
+msgstr ""
+
+#: src/app/mainWindow.cpp:263
+msgid ""
+"_: &Up: /home/mxcl\n"
+"%1: %2"
+msgstr ""
+
+#: src/part/progressBox.cpp:62
+#, c-format
+msgid ""
+"_n: %n File\n"
+"%n Files"
+msgstr ""
+
+#: src/part/radialMap/widgetEvents.cpp:165
+msgid "Open &Konqueror Here"
+msgstr ""
+
+#: src/part/radialMap/widgetEvents.cpp:168
+msgid "Open &Konsole Here"
+msgstr ""
+
+#: src/part/radialMap/widgetEvents.cpp:172
+msgid "&Center Map Here"
+msgstr ""
+
+#: src/part/radialMap/widgetEvents.cpp:176
+msgid "&Open"
+msgstr ""
+
+#: src/part/radialMap/widgetEvents.cpp:179
+msgid "&Copy to clipboard"
+msgstr ""
+
+#: src/part/radialMap/widgetEvents.cpp:207
+msgid ""
+"<qt>The directory at <i>'%1'</i> will be <b>recursively</b> and <b>"
+"permanently</b> deleted."
+msgstr ""
+
+#: src/part/radialMap/widgetEvents.cpp:208
+msgid "<qt><i>'%1'</i> will be <b>permanently</b> deleted."
+msgstr ""
+
+#: src/part/radialMap/builder.cpp:133
+msgid ""
+"_: There can't ever be only 1 file\n"
+"%1 files, each about %2"
+msgstr ""
+
+#: src/part/radialMap/segmentTip.cpp:126
+#, c-format
+msgid "Files: %1"
+msgstr ""
+
+#: src/part/settingsDialog.cpp:26
+msgid "Rainbow"
+msgstr ""
+
+#: src/part/settingsDialog.cpp:27
+msgid "KDE Colors"
+msgstr ""
+
+#: src/part/settingsDialog.cpp:28
+msgid "High Contrast"
+msgstr ""
+
+#: src/part/settingsDialog.cpp:146
+msgid "That directory is already set to be excluded from scans"
+msgstr ""
+
+#: src/part/part.cpp:62
+msgid "Configure Filelight..."
+msgstr ""
+
+#: src/part/part.cpp:118
+msgid "The entered URL cannot be parsed; it is invalid."
+msgstr ""
+
+#: src/part/part.cpp:122
+#, c-format
+msgid "Filelight only accepts absolute paths, eg. /%1"
+msgstr ""
+
+#: src/part/part.cpp:126
+#, c-format
+msgid "Directory not found: %1"
+msgstr ""
+
+#: src/part/part.cpp:130
+msgid ""
+"Unable to enter: %1\n"
+"You do not have access rights to this location."
+msgstr ""
+
+#: src/part/part.cpp:147
+msgid "Aborting Scan..."
+msgstr ""
+
+#: src/part/part.cpp:195
+#, c-format
+msgid "Scanning: %1"
+msgstr ""
+
+#: src/part/part.cpp:220
+msgid "Scan completed, generating map..."
+msgstr ""
+
+#: src/part/part.cpp:229
+#, c-format
+msgid "Scan failed: %1"
+msgstr ""
+
+#: src/part/summaryWidget.cpp:102
+msgid "Free"
+msgstr ""
+
+#: src/part/summaryWidget.cpp:103
+msgid "Used"
+msgstr ""
+
+#: _translatorinfo.cpp:1
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr ""
+
+#: _translatorinfo.cpp:3
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr ""
diff --git a/po/cs/Makefile.am b/po/cs/Makefile.am
new file mode 100644
index 0000000..b8bbba6
--- /dev/null
+++ b/po/cs/Makefile.am
@@ -0,0 +1,3 @@
+KDE_LANG = cs
+SUBDIRS = $(AUTODIRS)
+POFILES = AUTO
diff --git a/po/cs/filelight.po b/po/cs/filelight.po
new file mode 100644
index 0000000..4e3ad01
--- /dev/null
+++ b/po/cs/filelight.po
@@ -0,0 +1,498 @@
+# translation of filelight.po to
+# translation of filelight.po to Czech
+# translation of filelight.po to cs_CZ
+# Klara Cihlarova <koty@seznam.cz>, 2005.
+# Lukáš Tinkl <lukas@kde.org>, 2005.
+# Jakub Friedl <jfriedl@suse.cz>, 2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: filelight\n"
+"POT-Creation-Date: 2006-08-20 12:01+0200\n"
+"PO-Revision-Date: 2005-11-01 21:05+0100\n"
+"Last-Translator: Jakub Friedl <jfriedl@suse.cz>\n"
+"Language-Team: <cs@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.10\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>"
+"=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+
+#. i18n: file ./src/part/dialog.ui line 16
+#: rc.cpp:3
+#, no-c-format
+msgid "Settings - Filelight"
+msgstr "Nastavení - Filelight"
+
+#. i18n: file ./src/part/dialog.ui line 34
+#: rc.cpp:6
+#, fuzzy, no-c-format
+msgid "Scannin&g"
+msgstr "Pro&hledávání"
+
+#. i18n: file ./src/part/dialog.ui line 53
+#: rc.cpp:9
+#, fuzzy, no-c-format
+msgid "Do &not scan these directories:"
+msgstr "&Neprohledávat tyto adresáře:"
+
+#. i18n: file ./src/part/dialog.ui line 70
+#: rc.cpp:13
+#, no-c-format
+msgid ""
+"Filelight will not scan these directories unless you specifically request them."
+msgstr ""
+"Filelight nebude prohledávat zde uvedené adresáře, pokud si to výslovně "
+"nevyžádáte."
+
+#. i18n: file ./src/part/dialog.ui line 106
+#: rc.cpp:16
+#, no-c-format
+msgid "R&emove"
+msgstr "O&dstranit"
+
+#. i18n: file ./src/part/dialog.ui line 117
+#: rc.cpp:19
+#, no-c-format
+msgid "&Add..."
+msgstr "Přid&at..."
+
+#. i18n: file ./src/part/dialog.ui line 202
+#: rc.cpp:22
+#, fuzzy, no-c-format
+msgid "Exclude remote files&ystems"
+msgstr "Vynechat vzdálené souborové systé&my"
+
+#. i18n: file ./src/part/dialog.ui line 208
+#: rc.cpp:26
+#, no-c-format
+msgid ""
+"Prevents scanning of filesystems that are not on this computer, e.g. NFS or "
+"Samba mounts."
+msgstr ""
+"Zabraňuje prohledávání souborových systémů, které nejsou na tomto počítači "
+"(např. NFS nebo Samba)."
+
+#. i18n: file ./src/part/dialog.ui line 216
+#: rc.cpp:29
+#, no-c-format
+msgid "Scan across filesystem &boundaries"
+msgstr "Prohledávat přes hranice sou&borového systému"
+
+#. i18n: file ./src/part/dialog.ui line 219
+#: rc.cpp:32
+#, fuzzy, no-c-format
+msgid ""
+"Allows scans to enter directories that are part of other filesystems. For "
+"example, when unchecked, this will usually prevent the contents of <b>/mnt</b> "
+"from being scanned if you scan <b>/</b>."
+msgstr ""
+"Zapnutím této volby se aktivuje prohledávání adresářů, které jsou součástí "
+"jiných souborových systémů. Například se tak obvykle umožní prohledávání obsahu "
+"adresáře <b>/mnt</b>, prohledává-li se <b>/</b>."
+
+#. i18n: file ./src/part/dialog.ui line 230
+#: rc.cpp:35
+#, fuzzy, no-c-format
+msgid "E&xclude removable media"
+msgstr "Vynechat &výměnná média"
+
+#. i18n: file ./src/part/dialog.ui line 236
+#: rc.cpp:39
+#, no-c-format
+msgid "Prevents Filelight from scanning removable media (eg. CD-ROMs)."
+msgstr "Zabraňuje prohledávání výměnných médií (např. CD)."
+
+#. i18n: file ./src/part/dialog.ui line 248
+#: rc.cpp:42
+#, no-c-format
+msgid "&Appearance"
+msgstr "&Vzhled"
+
+#. i18n: file ./src/part/dialog.ui line 259
+#: rc.cpp:45
+#, no-c-format
+msgid "Scheme"
+msgstr "Schéma"
+
+#. i18n: file ./src/part/dialog.ui line 291
+#: rc.cpp:48
+#, fuzzy, no-c-format
+msgid "Co&ntrast"
+msgstr "&Kontrast"
+
+#. i18n: file ./src/part/dialog.ui line 314
+#: rc.cpp:51
+#, no-c-format
+msgid "Here you can vary the contrast of the filemap in realtime."
+msgstr "Zde můžete v reálném čase upravit kontrast mapy."
+
+#. i18n: file ./src/part/dialog.ui line 326
+#: rc.cpp:54
+#, no-c-format
+msgid "&Use anti-aliasing"
+msgstr "Po&užívat vyhlazování"
+
+#. i18n: file ./src/part/dialog.ui line 329
+#: rc.cpp:57
+#, no-c-format
+msgid ""
+"Anti-aliasing the filemap makes it clearer and prettier, unfortunately it also "
+"makes rendering very slow."
+msgstr "Vyhlazování činí mapu krásnější, zpomaluje však vykreslování."
+
+#. i18n: file ./src/part/dialog.ui line 351
+#: rc.cpp:60
+#, fuzzy, no-c-format
+msgid "Var&y label font sizes"
+msgstr "Proměnná &velikost písma popisků"
+
+#. i18n: file ./src/part/dialog.ui line 354
+#: rc.cpp:63
+#, no-c-format
+msgid ""
+"The font size of exploded labels can be varied relative to the depth of the "
+"directories they represent. This helps you spot the important labels more "
+"easily. Set a sensible minimum font size."
+msgstr ""
+"Velikost písma popisků se může měnit podle hloubky zanoření adresářů, které "
+"představují. To pomáhá snadněji rozlišit důležité popisky. Nastavte čitelnou "
+"minimální velikost písma."
+
+#. i18n: file ./src/part/dialog.ui line 390
+#: rc.cpp:66
+#, fuzzy, no-c-format
+msgid "Minimum font si&ze:"
+msgstr "&Minimální velikost písma:"
+
+#. i18n: file ./src/part/dialog.ui line 399
+#: rc.cpp:69
+#, no-c-format
+msgid "The smallest font size Filelight can use to render labels."
+msgstr "Nejmenší písmo používané pro Filelightem popisky."
+
+#. i18n: file ./src/part/dialog.ui line 442
+#: rc.cpp:72
+#, no-c-format
+msgid "Show small files"
+msgstr "Zobrazovat malé soubory"
+
+#. i18n: file ./src/part/dialog.ui line 445
+#: rc.cpp:75
+#, no-c-format
+msgid ""
+"Some files are too small to be rendered on the filemap. Selecting this option "
+"makes these files visible by merging them all into a single \"multi-segment\"."
+msgstr ""
+"Některé soubory jsou pro zobrazení na mapě příliš malé. Tato volba je učiní "
+"viditelnými sloučením do jednoho \"mnohosegmentu\"."
+
+#. i18n: file ./src/part/dialog.ui line 464
+#: rc.cpp:78
+#, no-c-format
+msgid "&Reset"
+msgstr "O&bnovit"
+
+#. i18n: file ./src/part/dialog.ui line 470
+#: rc.cpp:81
+#, no-c-format
+msgid "Reset any changes you have made since you opened this dialog."
+msgstr "Obnovuje nastavení, jaké bylo při otevření dialogu."
+
+#. i18n: file ./misc/filelightui.rc line 4
+#: rc.cpp:87
+#, no-c-format
+msgid "&Scan"
+msgstr "Pro&hledat"
+
+#. i18n: file ./misc/filelightui.rc line 19
+#: rc.cpp:93
+#, no-c-format
+msgid "&Go"
+msgstr "Pře&jít"
+
+#. i18n: file ./misc/filelightui.rc line 35
+#: rc.cpp:99
+#, no-c-format
+msgid "Location Toolbar"
+msgstr "Lišta umístění"
+
+#: src/app/historyAction.cpp:46
+msgid "Forward"
+msgstr "Vpřed"
+
+#: src/app/main.cpp:15
+msgid "Scan 'path'"
+msgstr "Prohledat cestu"
+
+#: src/app/main.cpp:21
+msgid "Graphical disk-usage information"
+msgstr "Grafické informace o využití disku"
+
+#: src/app/main.cpp:22
+#, fuzzy
+msgid "(C )2006 Max Howell"
+msgstr "(C) 2003 Max Howell"
+
+#: src/app/main.cpp:30
+msgid "Author, maintainer"
+msgstr ""
+
+#: src/app/main.cpp:31
+msgid "Documentation"
+msgstr ""
+
+#: src/app/main.cpp:32
+msgid "Inspiration"
+msgstr "Inspirace"
+
+#: src/app/main.cpp:33
+#, fuzzy
+msgid "Internationalization"
+msgstr "Podpora internacionalizace"
+
+#: src/app/main.cpp:34
+msgid "Testing"
+msgstr ""
+
+#: src/app/main.cpp:35
+#, fuzzy
+msgid "Bravery in the face of unreadable code"
+msgstr "Statečnost tváří v tvář nečitelnému kódu (záplaty)"
+
+#: src/app/mainWindow.cpp:40
+msgid ""
+"KDE could not find the Filelight Part, or the Filelight Part could not be "
+"started. Did you make install?"
+msgstr ""
+"KDE nenalezlo součást Filelight nebo ji nemohlo spustit. Provedli jste "
+"instalaci?"
+
+#: src/app/mainWindow.cpp:57
+msgid ""
+"Filelight is not installed properly, consequently its menus and toolbars will "
+"appear reduced or even empty"
+msgstr ""
+
+#: src/app/mainWindow.cpp:91
+msgid "Scan &Home Directory"
+msgstr "Pro&hledat domovský adresář"
+
+#: src/app/mainWindow.cpp:92
+msgid "Scan &Root Directory"
+msgstr "P&rohledat kořenový adresář"
+
+#: src/app/mainWindow.cpp:93
+msgid "Rescan"
+msgstr "Znovu prohledat"
+
+#: src/app/mainWindow.cpp:95
+msgid "Clear Location Bar"
+msgstr "Vyprázdnit lištu umístění"
+
+#: src/app/mainWindow.cpp:96
+msgid "Go"
+msgstr "Přejít"
+
+#: src/app/mainWindow.cpp:98
+msgid "Location Bar"
+msgstr "Lišta umístění"
+
+#: src/app/mainWindow.cpp:99
+msgid "&Recent Scans"
+msgstr "N&edávná prohledávání"
+
+#: src/app/mainWindow.cpp:102
+msgid "&Scan Directory..."
+msgstr "Prohledat &adresář..."
+
+#: src/app/mainWindow.cpp:263
+msgid ""
+"_: &Up: /home/mxcl\n"
+"%1: %2"
+msgstr ""
+
+#: src/part/progressBox.cpp:62
+#, c-format
+msgid ""
+"_n: %n File\n"
+"%n Files"
+msgstr ""
+"%n soubor\n"
+"%n soubory\n"
+"%n souborů"
+
+#: src/part/radialMap/widgetEvents.cpp:165
+msgid "Open &Konqueror Here"
+msgstr "Otevřít zde Kon&queror"
+
+#: src/part/radialMap/widgetEvents.cpp:168
+msgid "Open &Konsole Here"
+msgstr "Otevřít zde &Konsoli"
+
+#: src/part/radialMap/widgetEvents.cpp:172
+msgid "&Center Map Here"
+msgstr "&Vystředit zde mapu"
+
+#: src/part/radialMap/widgetEvents.cpp:176
+msgid "&Open"
+msgstr "&Otevřít"
+
+#: src/part/radialMap/widgetEvents.cpp:179
+msgid "&Copy to clipboard"
+msgstr ""
+
+#: src/part/radialMap/widgetEvents.cpp:207
+msgid ""
+"<qt>The directory at <i>'%1'</i> will be <b>recursively</b> and <b>"
+"permanently</b> deleted."
+msgstr ""
+"<qt>Adreasář <i>'%1'</i> bude <b>rekurzivně</b> a <b>trvale</b> smazán."
+
+#: src/part/radialMap/widgetEvents.cpp:208
+msgid "<qt><i>'%1'</i> will be <b>permanently</b> deleted."
+msgstr "<qt><i>'%1'</i> bude <b>trvale</b> smazán."
+
+#: src/part/radialMap/builder.cpp:133
+msgid ""
+"_: There can't ever be only 1 file\n"
+"%1 files, each about %2"
+msgstr "Souborů: %1, každý zhruba %2"
+
+#: src/part/radialMap/segmentTip.cpp:126
+#, c-format
+msgid "Files: %1"
+msgstr "Soubory: %1"
+
+#: src/part/settingsDialog.cpp:26
+msgid "Rainbow"
+msgstr "Duha"
+
+#: src/part/settingsDialog.cpp:27
+msgid "KDE Colors"
+msgstr "KDE barvy"
+
+#: src/part/settingsDialog.cpp:28
+msgid "High Contrast"
+msgstr "Vysoký kontrast"
+
+#: src/part/settingsDialog.cpp:146
+msgid "That directory is already set to be excluded from scans"
+msgstr "Tento adresář je již vyjmut z prohledávání"
+
+#: src/part/part.cpp:62
+msgid "Configure Filelight..."
+msgstr "Nastavit Filelight..."
+
+#: src/part/part.cpp:118
+msgid "The entered URL cannot be parsed; it is invalid."
+msgstr "Zadané URL nelze analyzovat, je neplatné."
+
+#: src/part/part.cpp:122
+#, c-format
+msgid "Filelight only accepts absolute paths, eg. /%1"
+msgstr "Filelight akceptuje pouze absolutní cesty, např. /%1"
+
+#: src/part/part.cpp:126
+#, c-format
+msgid "Directory not found: %1"
+msgstr "Adresář nenalezen: %1"
+
+#: src/part/part.cpp:130
+msgid ""
+"Unable to enter: %1\n"
+"You do not have access rights to this location."
+msgstr ""
+"Nelze vstoupit do: %1\n"
+"Nemáte dostatečná přístupová práva."
+
+#: src/part/part.cpp:147
+msgid "Aborting Scan..."
+msgstr "Prohledávání se přerušuje..."
+
+#: src/part/part.cpp:195
+#, c-format
+msgid "Scanning: %1"
+msgstr "Prohledávání: %1"
+
+#: src/part/part.cpp:220
+msgid "Scan completed, generating map..."
+msgstr "Prohledávání dokončeno, vytváří se mapa..."
+
+#: src/part/part.cpp:229
+#, c-format
+msgid "Scan failed: %1"
+msgstr "Prohledávání selhalo: %1"
+
+#: src/part/summaryWidget.cpp:102
+msgid "Free"
+msgstr "Volné"
+
+#: src/part/summaryWidget.cpp:103
+msgid "Used"
+msgstr "Zaplněno"
+
+#: _translatorinfo.cpp:1
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr "Klára Cihlářová,Lukáš Tinkl,Jakub Friedl"
+
+#: _translatorinfo.cpp:3
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr "koty@seznam.cz,lukas@kde.org,jfriedl@suse.cz"
+
+#~ msgid "Me"
+#~ msgstr "Já :-)"
+
+#~ msgid "Handbook guru"
+#~ msgstr "Guru příručky"
+
+#~ msgid "\"Girlfriend usability-testing\""
+#~ msgstr "\"Testování použitelnosti na přítelkyni\""
+
+#~ msgid "Welsh Translation"
+#~ msgstr "Waleský překlad"
+
+#~ msgid "German Translation, testing, bug reports and suggestions"
+#~ msgstr "Německý překlad, testování, hlášení chyb a připomínky"
+
+#~ msgid "Slovak Translation"
+#~ msgstr "Slovenský překlad"
+
+#~ msgid "Polish Translation"
+#~ msgstr "Polský překlad"
+
+#~ msgid "Spanish Translation"
+#~ msgstr "Španělský překlad"
+
+#~ msgid "French Translation"
+#~ msgstr "Francouzský překlad"
+
+#~ msgid "Russian Translation"
+#~ msgstr "Ruský překlad"
+
+#~ msgid "Dutch Translation"
+#~ msgstr "Nizozemský překlad"
+
+#~ msgid ""
+#~ "Called: %1\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Voláno: %1\n"
+#~ "\n"
+
+#~ msgid "could not execute %1"
+#~ msgstr "nelze spustit %1"
+
+#~ msgid "Use the Scan-menu to begin..."
+#~ msgstr "Použijte nabídku Prohledat k zahájení..."
+
+#~ msgid "Up"
+#~ msgstr "Nahoru"
+
+#~ msgid "Up: %1"
+#~ msgstr "Nahoru: %1"
diff --git a/po/cy/Makefile.am b/po/cy/Makefile.am
new file mode 100644
index 0000000..7cc9652
--- /dev/null
+++ b/po/cy/Makefile.am
@@ -0,0 +1,3 @@
+KDE_LANG = cy
+SUBDIRS = $(AUTODIRS)
+POFILES = AUTO
diff --git a/po/cy/filelight.po b/po/cy/filelight.po
new file mode 100644
index 0000000..5d91dbe
--- /dev/null
+++ b/po/cy/filelight.po
@@ -0,0 +1,424 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: ../cy/messages//kdenonbeta/filelight.po\n"
+"POT-Creation-Date: 2006-08-20 12:01+0200\n"
+"PO-Revision-Date: 2004-09-20 15:44+0200\n"
+"Last-Translator: Thierry Vignaud <tvignaud@mandrakesoft.com>\n"
+"Language-Team: cy <LL@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. i18n: file ./src/part/dialog.ui line 16
+#: rc.cpp:3
+#, no-c-format
+msgid "Settings - Filelight"
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 34
+#: rc.cpp:6
+#, fuzzy, no-c-format
+msgid "Scannin&g"
+msgstr "&Arsylwi"
+
+#. i18n: file ./src/part/dialog.ui line 53
+#: rc.cpp:9
+#, no-c-format
+msgid "Do &not scan these directories:"
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 70
+#: rc.cpp:13
+#, no-c-format
+msgid ""
+"Filelight will not scan these directories unless you specifically request them."
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 106
+#: rc.cpp:16
+#, no-c-format
+msgid "R&emove"
+msgstr "G&waredu"
+
+#. i18n: file ./src/part/dialog.ui line 117
+#: rc.cpp:19
+#, no-c-format
+msgid "&Add..."
+msgstr "Ychw&anegu..."
+
+#. i18n: file ./src/part/dialog.ui line 202
+#: rc.cpp:22
+#, no-c-format
+msgid "Exclude remote files&ystems"
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 208
+#: rc.cpp:26
+#, no-c-format
+msgid ""
+"Prevents scanning of filesystems that are not on this computer, e.g. NFS or "
+"Samba mounts."
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 216
+#: rc.cpp:29
+#, no-c-format
+msgid "Scan across filesystem &boundaries"
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 219
+#: rc.cpp:32
+#, no-c-format
+msgid ""
+"Allows scans to enter directories that are part of other filesystems. For "
+"example, when unchecked, this will usually prevent the contents of <b>/mnt</b> "
+"from being scanned if you scan <b>/</b>."
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 230
+#: rc.cpp:35
+#, no-c-format
+msgid "E&xclude removable media"
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 236
+#: rc.cpp:39
+#, no-c-format
+msgid "Prevents Filelight from scanning removable media (eg. CD-ROMs)."
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 248
+#: rc.cpp:42
+#, no-c-format
+msgid "&Appearance"
+msgstr "&Ymddangosiad"
+
+#. i18n: file ./src/part/dialog.ui line 259
+#: rc.cpp:45
+#, no-c-format
+msgid "Scheme"
+msgstr "Cynllun"
+
+#. i18n: file ./src/part/dialog.ui line 291
+#: rc.cpp:48
+#, fuzzy, no-c-format
+msgid "Co&ntrast"
+msgstr "&Cyferbyniant"
+
+#. i18n: file ./src/part/dialog.ui line 314
+#: rc.cpp:51
+#, no-c-format
+msgid "Here you can vary the contrast of the filemap in realtime."
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 326
+#: rc.cpp:54
+#, no-c-format
+msgid "&Use anti-aliasing"
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 329
+#: rc.cpp:57
+#, no-c-format
+msgid ""
+"Anti-aliasing the filemap makes it clearer and prettier, unfortunately it also "
+"makes rendering very slow."
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 351
+#: rc.cpp:60
+#, no-c-format
+msgid "Var&y label font sizes"
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 354
+#: rc.cpp:63
+#, no-c-format
+msgid ""
+"The font size of exploded labels can be varied relative to the depth of the "
+"directories they represent. This helps you spot the important labels more "
+"easily. Set a sensible minimum font size."
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 390
+#: rc.cpp:66
+#, fuzzy, no-c-format
+msgid "Minimum font si&ze:"
+msgstr "Maint wy&nebfath lleiaf:"
+
+#. i18n: file ./src/part/dialog.ui line 399
+#: rc.cpp:69
+#, no-c-format
+msgid "The smallest font size Filelight can use to render labels."
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 442
+#: rc.cpp:72
+#, no-c-format
+msgid "Show small files"
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 445
+#: rc.cpp:75
+#, no-c-format
+msgid ""
+"Some files are too small to be rendered on the filemap. Selecting this option "
+"makes these files visible by merging them all into a single \"multi-segment\"."
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 464
+#: rc.cpp:78
+#, no-c-format
+msgid "&Reset"
+msgstr "&Ailosod"
+
+#. i18n: file ./src/part/dialog.ui line 470
+#: rc.cpp:81
+#, no-c-format
+msgid "Reset any changes you have made since you opened this dialog."
+msgstr ""
+
+#. i18n: file ./misc/filelightui.rc line 4
+#: rc.cpp:87
+#, no-c-format
+msgid "&Scan"
+msgstr "&Syllu"
+
+#. i18n: file ./misc/filelightui.rc line 19
+#: rc.cpp:93
+#, no-c-format
+msgid "&Go"
+msgstr "&Ewch"
+
+#. i18n: file ./misc/filelightui.rc line 35
+#: rc.cpp:99
+#, no-c-format
+msgid "Location Toolbar"
+msgstr "Bar Lleoliad"
+
+#: src/app/historyAction.cpp:46
+msgid "Forward"
+msgstr "Ymlaen"
+
+#: src/app/main.cpp:15
+msgid "Scan 'path'"
+msgstr ""
+
+#: src/app/main.cpp:21
+msgid "Graphical disk-usage information"
+msgstr ""
+
+#: src/app/main.cpp:22
+msgid "(C )2006 Max Howell"
+msgstr ""
+
+#: src/app/main.cpp:30
+msgid "Author, maintainer"
+msgstr ""
+
+#: src/app/main.cpp:31
+msgid "Documentation"
+msgstr ""
+
+#: src/app/main.cpp:32
+msgid "Inspiration"
+msgstr ""
+
+#: src/app/main.cpp:33
+msgid "Internationalization"
+msgstr ""
+
+#: src/app/main.cpp:34
+msgid "Testing"
+msgstr ""
+
+#: src/app/main.cpp:35
+msgid "Bravery in the face of unreadable code"
+msgstr ""
+
+#: src/app/mainWindow.cpp:40
+msgid ""
+"KDE could not find the Filelight Part, or the Filelight Part could not be "
+"started. Did you make install?"
+msgstr ""
+
+#: src/app/mainWindow.cpp:57
+msgid ""
+"Filelight is not installed properly, consequently its menus and toolbars will "
+"appear reduced or even empty"
+msgstr ""
+
+#: src/app/mainWindow.cpp:91
+msgid "Scan &Home Directory"
+msgstr ""
+
+#: src/app/mainWindow.cpp:92
+msgid "Scan &Root Directory"
+msgstr ""
+
+#: src/app/mainWindow.cpp:93
+msgid "Rescan"
+msgstr "Ailsyllu"
+
+#: src/app/mainWindow.cpp:95
+msgid "Clear Location Bar"
+msgstr "Clirio'r Bar Lleoliad"
+
+#: src/app/mainWindow.cpp:96
+msgid "Go"
+msgstr "Ewch"
+
+#: src/app/mainWindow.cpp:98
+msgid "Location Bar"
+msgstr "Bar Lleoliad"
+
+#: src/app/mainWindow.cpp:99
+msgid "&Recent Scans"
+msgstr ""
+
+#: src/app/mainWindow.cpp:102
+msgid "&Scan Directory..."
+msgstr ""
+
+#: src/app/mainWindow.cpp:263
+msgid ""
+"_: &Up: /home/mxcl\n"
+"%1: %2"
+msgstr ""
+
+#: src/part/progressBox.cpp:62
+#, c-format
+msgid ""
+"_n: %n File\n"
+"%n Files"
+msgstr ""
+"%n ffeil\n"
+"%n o ffeiliau"
+
+#: src/part/radialMap/widgetEvents.cpp:165
+msgid "Open &Konqueror Here"
+msgstr ""
+
+#: src/part/radialMap/widgetEvents.cpp:168
+msgid "Open &Konsole Here"
+msgstr ""
+
+#: src/part/radialMap/widgetEvents.cpp:172
+msgid "&Center Map Here"
+msgstr ""
+
+#: src/part/radialMap/widgetEvents.cpp:176
+msgid "&Open"
+msgstr "A&gor"
+
+#: src/part/radialMap/widgetEvents.cpp:179
+msgid "&Copy to clipboard"
+msgstr ""
+
+#: src/part/radialMap/widgetEvents.cpp:207
+msgid ""
+"<qt>The directory at <i>'%1'</i> will be <b>recursively</b> and <b>"
+"permanently</b> deleted."
+msgstr ""
+
+#: src/part/radialMap/widgetEvents.cpp:208
+msgid "<qt><i>'%1'</i> will be <b>permanently</b> deleted."
+msgstr ""
+
+#: src/part/radialMap/builder.cpp:133
+msgid ""
+"_: There can't ever be only 1 file\n"
+"%1 files, each about %2"
+msgstr ""
+
+#: src/part/radialMap/segmentTip.cpp:126
+#, c-format
+msgid "Files: %1"
+msgstr "Ffeiliau: %1"
+
+#: src/part/settingsDialog.cpp:26
+msgid "Rainbow"
+msgstr ""
+
+#: src/part/settingsDialog.cpp:27
+msgid "KDE Colors"
+msgstr ""
+
+#: src/part/settingsDialog.cpp:28
+msgid "High Contrast"
+msgstr "Cyferbyniad Gref"
+
+#: src/part/settingsDialog.cpp:146
+msgid "That directory is already set to be excluded from scans"
+msgstr ""
+
+#: src/part/part.cpp:62
+msgid "Configure Filelight..."
+msgstr ""
+
+#: src/part/part.cpp:118
+msgid "The entered URL cannot be parsed; it is invalid."
+msgstr ""
+
+#: src/part/part.cpp:122
+#, c-format
+msgid "Filelight only accepts absolute paths, eg. /%1"
+msgstr ""
+
+#: src/part/part.cpp:126
+#, c-format
+msgid "Directory not found: %1"
+msgstr ""
+
+#: src/part/part.cpp:130
+msgid ""
+"Unable to enter: %1\n"
+"You do not have access rights to this location."
+msgstr ""
+
+#: src/part/part.cpp:147
+msgid "Aborting Scan..."
+msgstr ""
+
+#: src/part/part.cpp:195
+#, c-format
+msgid "Scanning: %1"
+msgstr "Arsylwi: %1"
+
+#: src/part/part.cpp:220
+msgid "Scan completed, generating map..."
+msgstr ""
+
+#: src/part/part.cpp:229
+#, fuzzy, c-format
+msgid "Scan failed: %1"
+msgstr "Arsylwi: %1"
+
+#: src/part/summaryWidget.cpp:102
+msgid "Free"
+msgstr "Rhydd"
+
+#: src/part/summaryWidget.cpp:103
+msgid "Used"
+msgstr "Defnyddiwyd"
+
+#: _translatorinfo.cpp:1
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr "KD wrth KGyfieithu"
+
+#: _translatorinfo.cpp:3
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr "kyfieithu@dotmon.com"
+
+#~ msgid "Up"
+#~ msgstr "I fyny"
+
+#~ msgid "Up: %1"
+#~ msgstr "I fyny : %1"
+
+#~ msgid "Author"
+#~ msgstr "Awdur"
diff --git a/po/da/Makefile.am b/po/da/Makefile.am
new file mode 100644
index 0000000..cd02658
--- /dev/null
+++ b/po/da/Makefile.am
@@ -0,0 +1,3 @@
+KDE_LANG = da
+SUBDIRS = $(AUTODIRS)
+POFILES = AUTO
diff --git a/po/da/filelight.po b/po/da/filelight.po
new file mode 100644
index 0000000..711c51d
--- /dev/null
+++ b/po/da/filelight.po
@@ -0,0 +1,495 @@
+# Danish translation of filelight
+# Copyright (C).
+#
+# Erik Kjær Pedersen <erik@binghamton.edu>, 2003, 2004, 2005, 2006.
+# Rune Rønde Laursen <runerl@skjoldhoej.dk>, 2005.
+msgid ""
+msgstr ""
+"Project-Id-Version: filelight\n"
+"POT-Creation-Date: 2006-08-20 12:01+0200\n"
+"PO-Revision-Date: 2006-08-26 13:52-0400\n"
+"Last-Translator: Erik Kjær Pedersen <erik@binghamton.edu>\n"
+"Language-Team: Danish <dansk@klid.dk>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.2\n"
+
+#. i18n: file ./src/part/dialog.ui line 16
+#: rc.cpp:3
+#, no-c-format
+msgid "Settings - Filelight"
+msgstr "Opsætning - Filelight"
+
+#. i18n: file ./src/part/dialog.ui line 34
+#: rc.cpp:6
+#, no-c-format
+msgid "Scannin&g"
+msgstr "S&kanner"
+
+#. i18n: file ./src/part/dialog.ui line 53
+#: rc.cpp:9
+#, no-c-format
+msgid "Do &not scan these directories:"
+msgstr "S&kan ikke disse mapper:"
+
+#. i18n: file ./src/part/dialog.ui line 70
+#: rc.cpp:13
+#, no-c-format
+msgid ""
+"Filelight will not scan these directories unless you specifically request them."
+msgstr ""
+"Filelight vil ikke skanne disse mapper med mindre du direkte beder om det."
+
+#. i18n: file ./src/part/dialog.ui line 106
+#: rc.cpp:16
+#, no-c-format
+msgid "R&emove"
+msgstr "&Fjern"
+
+#. i18n: file ./src/part/dialog.ui line 117
+#: rc.cpp:19
+#, no-c-format
+msgid "&Add..."
+msgstr "&Tilføj..."
+
+#. i18n: file ./src/part/dialog.ui line 202
+#: rc.cpp:22
+#, no-c-format
+msgid "Exclude remote files&ystems"
+msgstr "Ekskludér e&ksterne filsystemer"
+
+#. i18n: file ./src/part/dialog.ui line 208
+#: rc.cpp:26
+#, no-c-format
+msgid ""
+"Prevents scanning of filesystems that are not on this computer, e.g. NFS or "
+"Samba mounts."
+msgstr ""
+"Forhindrer at filsystemer der ikke er på denne computer, f.eks. NFS eller Samba "
+"monteringer, skannes."
+
+#. i18n: file ./src/part/dialog.ui line 216
+#: rc.cpp:29
+#, no-c-format
+msgid "Scan across filesystem &boundaries"
+msgstr "Skan henover filsystem&grænser"
+
+#. i18n: file ./src/part/dialog.ui line 219
+#: rc.cpp:32
+#, no-c-format
+msgid ""
+"Allows scans to enter directories that are part of other filesystems. For "
+"example, when unchecked, this will usually prevent the contents of <b>/mnt</b> "
+"from being scanned if you scan <b>/</b>."
+msgstr ""
+"Tillader skanninger der går ind i mapper der er en del af andre filsystemer. "
+"For eksempel, når dette ikke er markeret, vil dette forhindre at indholdet af "
+"<b>/mnt</b> bliver skannet hvis du skanner<b>/</b>."
+
+#. i18n: file ./src/part/dialog.ui line 230
+#: rc.cpp:35
+#, no-c-format
+msgid "E&xclude removable media"
+msgstr "Ekskludér medier der kan &fjernes"
+
+#. i18n: file ./src/part/dialog.ui line 236
+#: rc.cpp:39
+#, no-c-format
+msgid "Prevents Filelight from scanning removable media (eg. CD-ROMs)."
+msgstr ""
+"Forhindrer Filelight i at skanne medier der kan fjernes (f.eks. CD-ROM'er)."
+
+#. i18n: file ./src/part/dialog.ui line 248
+#: rc.cpp:42
+#, no-c-format
+msgid "&Appearance"
+msgstr "&Udseende"
+
+#. i18n: file ./src/part/dialog.ui line 259
+#: rc.cpp:45
+#, no-c-format
+msgid "Scheme"
+msgstr "System"
+
+#. i18n: file ./src/part/dialog.ui line 291
+#: rc.cpp:48
+#, no-c-format
+msgid "Co&ntrast"
+msgstr "&Kontrast"
+
+#. i18n: file ./src/part/dialog.ui line 314
+#: rc.cpp:51
+#, no-c-format
+msgid "Here you can vary the contrast of the filemap in realtime."
+msgstr "Her kan du variere kontrasten af filkortet i realtid."
+
+#. i18n: file ./src/part/dialog.ui line 326
+#: rc.cpp:54
+#, no-c-format
+msgid "&Use anti-aliasing"
+msgstr "Br&ug anti-aliasering"
+
+#. i18n: file ./src/part/dialog.ui line 329
+#: rc.cpp:57
+#, no-c-format
+msgid ""
+"Anti-aliasing the filemap makes it clearer and prettier, unfortunately it also "
+"makes rendering very slow."
+msgstr ""
+"Anti-aliasering af filkortet gør det klarere og pænere, uheldigvis gør det også "
+"visningen meget langsom."
+
+#. i18n: file ./src/part/dialog.ui line 351
+#: rc.cpp:60
+#, no-c-format
+msgid "Var&y label font sizes"
+msgstr "&Variér skrifttypestørrelser for etiketter"
+
+#. i18n: file ./src/part/dialog.ui line 354
+#: rc.cpp:63
+#, no-c-format
+msgid ""
+"The font size of exploded labels can be varied relative to the depth of the "
+"directories they represent. This helps you spot the important labels more "
+"easily. Set a sensible minimum font size."
+msgstr ""
+"Skrifttypestørrelsen af udfoldede etiketter kan varieres relativt til dybden af "
+"mapperne de repræsenterer. Dette hjælper med at finde de vigtige etiketter "
+"nemmere. Sat en rimelig minimal skrifttypestørrelse."
+
+#. i18n: file ./src/part/dialog.ui line 390
+#: rc.cpp:66
+#, no-c-format
+msgid "Minimum font si&ze:"
+msgstr "Minimum skrift&typestørrelse:"
+
+#. i18n: file ./src/part/dialog.ui line 399
+#: rc.cpp:69
+#, no-c-format
+msgid "The smallest font size Filelight can use to render labels."
+msgstr "Den mindste skrifttype som Filelight bruger til at vise etiketter med."
+
+#. i18n: file ./src/part/dialog.ui line 442
+#: rc.cpp:72
+#, no-c-format
+msgid "Show small files"
+msgstr "Vis små filer"
+
+#. i18n: file ./src/part/dialog.ui line 445
+#: rc.cpp:75
+#, no-c-format
+msgid ""
+"Some files are too small to be rendered on the filemap. Selecting this option "
+"makes these files visible by merging them all into a single \"multi-segment\"."
+msgstr ""
+"Nogle filer er for små til at blive vist på filkortet. Valg af dette gør disse "
+"filer synlige ved at indflette dem som et enkelt \"multi-segment\"."
+
+#. i18n: file ./src/part/dialog.ui line 464
+#: rc.cpp:78
+#, no-c-format
+msgid "&Reset"
+msgstr "&Nulstil"
+
+#. i18n: file ./src/part/dialog.ui line 470
+#: rc.cpp:81
+#, no-c-format
+msgid "Reset any changes you have made since you opened this dialog."
+msgstr "Nulstil alle ændringer du har lavet siden du åbnede denne dialog."
+
+#. i18n: file ./misc/filelightui.rc line 4
+#: rc.cpp:87
+#, no-c-format
+msgid "&Scan"
+msgstr "&Skan"
+
+#. i18n: file ./misc/filelightui.rc line 19
+#: rc.cpp:93
+#, no-c-format
+msgid "&Go"
+msgstr "&Kør"
+
+#. i18n: file ./misc/filelightui.rc line 35
+#: rc.cpp:99
+#, no-c-format
+msgid "Location Toolbar"
+msgstr "Sted-værktøjslinje"
+
+#: src/app/historyAction.cpp:46
+msgid "Forward"
+msgstr "Fremad"
+
+#: src/app/main.cpp:15
+msgid "Scan 'path'"
+msgstr "Skan 'sti'"
+
+#: src/app/main.cpp:21
+msgid "Graphical disk-usage information"
+msgstr "Grafisk disk-udnyttelses-information"
+
+#: src/app/main.cpp:22
+msgid "(C )2006 Max Howell"
+msgstr "(C )2006 Max Howell"
+
+#: src/app/main.cpp:30
+msgid "Author, maintainer"
+msgstr ""
+
+#: src/app/main.cpp:31
+msgid "Documentation"
+msgstr ""
+
+#: src/app/main.cpp:32
+msgid "Inspiration"
+msgstr "Inspiration"
+
+#: src/app/main.cpp:33
+msgid "Internationalization"
+msgstr ""
+
+#: src/app/main.cpp:34
+msgid "Testing"
+msgstr ""
+
+#: src/app/main.cpp:35
+msgid "Bravery in the face of unreadable code"
+msgstr "Tapperhed på trods af ulæselig kode"
+
+#: src/app/mainWindow.cpp:40
+msgid ""
+"KDE could not find the Filelight Part, or the Filelight Part could not be "
+"started. Did you make install?"
+msgstr ""
+"KDE ikke find Filelight-parten eller kunne Filelight-parten ikke startes?Tjek "
+"at du har installeret den."
+
+#: src/app/mainWindow.cpp:57
+msgid ""
+"Filelight is not installed properly, consequently its menus and toolbars will "
+"appear reduced or even empty"
+msgstr ""
+
+#: src/app/mainWindow.cpp:91
+msgid "Scan &Home Directory"
+msgstr "Skan &hjemmemappe"
+
+#: src/app/mainWindow.cpp:92
+msgid "Scan &Root Directory"
+msgstr "Skan &rodmappe"
+
+#: src/app/mainWindow.cpp:93
+msgid "Rescan"
+msgstr "Genskan"
+
+#: src/app/mainWindow.cpp:95
+msgid "Clear Location Bar"
+msgstr "Ryd stedlinje"
+
+#: src/app/mainWindow.cpp:96
+msgid "Go"
+msgstr "Kør"
+
+#: src/app/mainWindow.cpp:98
+msgid "Location Bar"
+msgstr "Stedlinje"
+
+#: src/app/mainWindow.cpp:99
+msgid "&Recent Scans"
+msgstr "&Nylige skanninger"
+
+#: src/app/mainWindow.cpp:102
+msgid "&Scan Directory..."
+msgstr "&Skan mappe..."
+
+#: src/app/mainWindow.cpp:263
+msgid ""
+"_: &Up: /home/mxcl\n"
+"%1: %2"
+msgstr ""
+
+#: src/part/progressBox.cpp:62
+#, c-format
+msgid ""
+"_n: %n File\n"
+"%n Files"
+msgstr ""
+"%n fil\n"
+"%n filer"
+
+#: src/part/radialMap/widgetEvents.cpp:165
+msgid "Open &Konqueror Here"
+msgstr "Åbn &Konqueror her"
+
+#: src/part/radialMap/widgetEvents.cpp:168
+msgid "Open &Konsole Here"
+msgstr "Åbn Konsole &her"
+
+#: src/part/radialMap/widgetEvents.cpp:172
+msgid "&Center Map Here"
+msgstr "&Centrér kort her"
+
+#: src/part/radialMap/widgetEvents.cpp:176
+msgid "&Open"
+msgstr "Å&bn"
+
+#: src/part/radialMap/widgetEvents.cpp:179
+msgid "&Copy to clipboard"
+msgstr ""
+
+#: src/part/radialMap/widgetEvents.cpp:207
+msgid ""
+"<qt>The directory at <i>'%1'</i> will be <b>recursively</b> and <b>"
+"permanently</b> deleted."
+msgstr ""
+"<qt>Mappen i <i>'%1'</i> vil blive slettet <b>rekursivt</b> og <b>permanent</b>"
+"."
+
+#: src/part/radialMap/widgetEvents.cpp:208
+msgid "<qt><i>'%1'</i> will be <b>permanently</b> deleted."
+msgstr "<qt><i>'%1'</i> bliver slettet<b> permanent</b>."
+
+#: src/part/radialMap/builder.cpp:133
+msgid ""
+"_: There can't ever be only 1 file\n"
+"%1 files, each about %2"
+msgstr ""
+"Der kan ikke være kun 1 fil\n"
+"%1 filer, hver ca. %2"
+
+#: src/part/radialMap/segmentTip.cpp:126
+#, c-format
+msgid "Files: %1"
+msgstr "Filer: %1"
+
+#: src/part/settingsDialog.cpp:26
+msgid "Rainbow"
+msgstr "Regnbue"
+
+#: src/part/settingsDialog.cpp:27
+msgid "KDE Colors"
+msgstr "KDE-farver"
+
+#: src/part/settingsDialog.cpp:28
+msgid "High Contrast"
+msgstr "Høj kontrast"
+
+#: src/part/settingsDialog.cpp:146
+msgid "That directory is already set to be excluded from scans"
+msgstr "Den mappe er allerede sat til at blive udelukket fra skan"
+
+#: src/part/part.cpp:62
+msgid "Configure Filelight..."
+msgstr "Indstil Filelight..."
+
+#: src/part/part.cpp:118
+msgid "The entered URL cannot be parsed; it is invalid."
+msgstr "Den indtastede URL kan ikke tolkes. Den er ugyldig."
+
+#: src/part/part.cpp:122
+#, c-format
+msgid "Filelight only accepts absolute paths, eg. /%1"
+msgstr "Filelight accepterer kun absolutte stier, f.eks. /%1"
+
+#: src/part/part.cpp:126
+#, c-format
+msgid "Directory not found: %1"
+msgstr "Mappe ikke fundet: %1"
+
+#: src/part/part.cpp:130
+msgid ""
+"Unable to enter: %1\n"
+"You do not have access rights to this location."
+msgstr ""
+"Kan ikke gå ind i %1\n"
+"Du har ikke adgangstilladelser til dette sted."
+
+#: src/part/part.cpp:147
+msgid "Aborting Scan..."
+msgstr "Afbryder skan..."
+
+#: src/part/part.cpp:195
+#, c-format
+msgid "Scanning: %1"
+msgstr "Skanner: %1"
+
+#: src/part/part.cpp:220
+msgid "Scan completed, generating map..."
+msgstr "Skan afsluttet, opretter kort..."
+
+#: src/part/part.cpp:229
+#, c-format
+msgid "Scan failed: %1"
+msgstr "Skan mislykkedes: %1"
+
+#: src/part/summaryWidget.cpp:102
+msgid "Free"
+msgstr "Ledig"
+
+#: src/part/summaryWidget.cpp:103
+msgid "Used"
+msgstr "Brugt"
+
+#: _translatorinfo.cpp:1
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr "Erik Kjær Pedersen,Rune Rønde Laursen"
+
+#: _translatorinfo.cpp:3
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr "erik@binghamton.edu,runerl@skjoldhoej.dk"
+
+#~ msgid "Me"
+#~ msgstr "Mig"
+
+#~ msgid "Handbook guru"
+#~ msgstr "Håndbogs-guru"
+
+#~ msgid "\"Girlfriend usability-testing\""
+#~ msgstr "\"Brugbarhedstest på kæresten\""
+
+#~ msgid "Welsh Translation"
+#~ msgstr "Walisisk oversættelse"
+
+#~ msgid "German Translation, testing, bug reports and suggestions"
+#~ msgstr "Tysk oversættelse, testning, fejlrapporter og forslag"
+
+#~ msgid "Slovak Translation"
+#~ msgstr "Slovakisk oversættelse"
+
+#~ msgid "Polish Translation"
+#~ msgstr "Polsk oversættelse"
+
+#~ msgid "Spanish Translation"
+#~ msgstr "Spansk oversættelse"
+
+#~ msgid "French Translation"
+#~ msgstr "Fransk oversættelse"
+
+#~ msgid "Russian Translation"
+#~ msgstr "Russisk oversættelse"
+
+#~ msgid "Dutch Translation"
+#~ msgstr "Hollandsk oversættelse"
+
+#~ msgid ""
+#~ "Called: %1\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Kaldte: %1\n"
+#~ "\n"
+
+#~ msgid "could not execute %1"
+#~ msgstr "kunne ikke køre %1"
+
+#~ msgid "Use the Scan-menu to begin..."
+#~ msgstr "Brug skan-menuen for at begynde..."
+
+#~ msgid "Up"
+#~ msgstr "Op"
+
+#~ msgid "Up: %1"
+#~ msgstr "Op: %1"
diff --git a/po/de/Makefile.am b/po/de/Makefile.am
new file mode 100644
index 0000000..9ffcbab
--- /dev/null
+++ b/po/de/Makefile.am
@@ -0,0 +1,3 @@
+KDE_LANG = de
+SUBDIRS = $(AUTODIRS)
+POFILES = AUTO
diff --git a/po/de/filelight.po b/po/de/filelight.po
new file mode 100644
index 0000000..4988860
--- /dev/null
+++ b/po/de/filelight.po
@@ -0,0 +1,499 @@
+# translation of filelight.po to German
+#
+# Christoph Hamann <chhamann@gmx.de>, 2006.
+# Thomas Reitelbach <tr@erdfunkstelle.de>, 2006.
+msgid ""
+msgstr ""
+"Project-Id-Version: filelight\n"
+"POT-Creation-Date: 2006-08-20 12:01+0200\n"
+"PO-Revision-Date: 2006-07-09 10:25+0200\n"
+"Last-Translator: Thomas Reitelbach <tr@erdfunkstelle.de>\n"
+"Language-Team: German <kde-i18n-de@kde.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.2\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. i18n: file ./src/part/dialog.ui line 16
+#: rc.cpp:3
+#, no-c-format
+msgid "Settings - Filelight"
+msgstr "Einstellungen - Filelight"
+
+#. i18n: file ./src/part/dialog.ui line 34
+#: rc.cpp:6
+#, fuzzy, no-c-format
+msgid "Scannin&g"
+msgstr "Ein&lesen"
+
+#. i18n: file ./src/part/dialog.ui line 53
+#: rc.cpp:9
+#, fuzzy, no-c-format
+msgid "Do &not scan these directories:"
+msgstr "Diese Ordner &nicht einlesen:"
+
+#. i18n: file ./src/part/dialog.ui line 70
+#: rc.cpp:13
+#, no-c-format
+msgid ""
+"Filelight will not scan these directories unless you specifically request them."
+msgstr ""
+"Filelight wird diese Ordner nicht einlesen, wenn sie nicht speziell ausgewählt "
+"wurden."
+
+#. i18n: file ./src/part/dialog.ui line 106
+#: rc.cpp:16
+#, no-c-format
+msgid "R&emove"
+msgstr "&Entfernen"
+
+#. i18n: file ./src/part/dialog.ui line 117
+#: rc.cpp:19
+#, no-c-format
+msgid "&Add..."
+msgstr "&Hinzufügen ..."
+
+#. i18n: file ./src/part/dialog.ui line 202
+#: rc.cpp:22
+#, fuzzy, no-c-format
+msgid "Exclude remote files&ystems"
+msgstr "Entfernte Dateisyste&me ausschließen"
+
+#. i18n: file ./src/part/dialog.ui line 208
+#: rc.cpp:26
+#, no-c-format
+msgid ""
+"Prevents scanning of filesystems that are not on this computer, e.g. NFS or "
+"Samba mounts."
+msgstr ""
+"Verhindert das Einlesen von Dateisystemen, die nicht auf diesem Rechner sind, "
+"z. B. NFS oder Samba-Freigaben."
+
+#. i18n: file ./src/part/dialog.ui line 216
+#: rc.cpp:29
+#, no-c-format
+msgid "Scan across filesystem &boundaries"
+msgstr "Über Dateisystemgrenzen hinaus einlesen"
+
+#. i18n: file ./src/part/dialog.ui line 219
+#: rc.cpp:32
+#, fuzzy, no-c-format
+msgid ""
+"Allows scans to enter directories that are part of other filesystems. For "
+"example, when unchecked, this will usually prevent the contents of <b>/mnt</b> "
+"from being scanned if you scan <b>/</b>."
+msgstr ""
+"Verhindert das Einlesen in Ordnern, die Teil von anderen Dateisystemen sind. "
+"Zum Beispiel wird dadurch für gewöhnlich <b>/mnt</b> beim Einlesen von <b>/</b> "
+"ausgeschlossen."
+
+#. i18n: file ./src/part/dialog.ui line 230
+#: rc.cpp:35
+#, fuzzy, no-c-format
+msgid "E&xclude removable media"
+msgstr "Wechselmedien aussch&ließen"
+
+#. i18n: file ./src/part/dialog.ui line 236
+#: rc.cpp:39
+#, no-c-format
+msgid "Prevents Filelight from scanning removable media (eg. CD-ROMs)."
+msgstr "Verhindert das Einlesen von Wechseldatenträgern (z. B. CD-Roms)."
+
+#. i18n: file ./src/part/dialog.ui line 248
+#: rc.cpp:42
+#, no-c-format
+msgid "&Appearance"
+msgstr "E&rscheinungsbild"
+
+#. i18n: file ./src/part/dialog.ui line 259
+#: rc.cpp:45
+#, no-c-format
+msgid "Scheme"
+msgstr "Schema"
+
+#. i18n: file ./src/part/dialog.ui line 291
+#: rc.cpp:48
+#, fuzzy, no-c-format
+msgid "Co&ntrast"
+msgstr "&Kontrast"
+
+#. i18n: file ./src/part/dialog.ui line 314
+#: rc.cpp:51
+#, no-c-format
+msgid "Here you can vary the contrast of the filemap in realtime."
+msgstr "Hier können Sie den Kontrast der Dateiübersicht in Echtzeit ändern."
+
+#. i18n: file ./src/part/dialog.ui line 326
+#: rc.cpp:54
+#, no-c-format
+msgid "&Use anti-aliasing"
+msgstr "&Kantenglättung"
+
+#. i18n: file ./src/part/dialog.ui line 329
+#: rc.cpp:57
+#, no-c-format
+msgid ""
+"Anti-aliasing the filemap makes it clearer and prettier, unfortunately it also "
+"makes rendering very slow."
+msgstr ""
+"Kantenglättung lässt die Dateiübersicht klarer und schöner aussehen, "
+"verlangsamt jedoch die Darstellung."
+
+#. i18n: file ./src/part/dialog.ui line 351
+#: rc.cpp:60
+#, fuzzy, no-c-format
+msgid "Var&y label font sizes"
+msgstr "Variable Schrift&größe für Bezeichnungen"
+
+#. i18n: file ./src/part/dialog.ui line 354
+#: rc.cpp:63
+#, no-c-format
+msgid ""
+"The font size of exploded labels can be varied relative to the depth of the "
+"directories they represent. This helps you spot the important labels more "
+"easily. Set a sensible minimum font size."
+msgstr ""
+"Die Schriftgröße von auseinandergezogenen Beschriftungen kann sich relativ zur "
+"Tiefe ihrer Ordner ändern. Dies hilft Ihnen, die wichtigen Beschriftungen "
+"schneller zu erkennen. Setzen Sie eine sinnvolle minimale Schriftgröße."
+
+#. i18n: file ./src/part/dialog.ui line 390
+#: rc.cpp:66
+#, fuzzy, no-c-format
+msgid "Minimum font si&ze:"
+msgstr "Minimale Schrift&größe:"
+
+#. i18n: file ./src/part/dialog.ui line 399
+#: rc.cpp:69
+#, no-c-format
+msgid "The smallest font size Filelight can use to render labels."
+msgstr ""
+"Die kleinste Schriftgröße, die Filelight zum Darstellen der Beschriftungen "
+"nutzen kann."
+
+#. i18n: file ./src/part/dialog.ui line 442
+#: rc.cpp:72
+#, no-c-format
+msgid "Show small files"
+msgstr "Kleine Dateien zeigen"
+
+#. i18n: file ./src/part/dialog.ui line 445
+#: rc.cpp:75
+#, no-c-format
+msgid ""
+"Some files are too small to be rendered on the filemap. Selecting this option "
+"makes these files visible by merging them all into a single \"multi-segment\"."
+msgstr ""
+"Manche Dateien sind zu klein, um in der Dateiübersicht dargestellt zu werden. "
+"Diese Einstellung macht diese Dateien in einem Mehrfachbereich zusammengefasst "
+"sichtbar."
+
+#. i18n: file ./src/part/dialog.ui line 464
+#: rc.cpp:78
+#, no-c-format
+msgid "&Reset"
+msgstr "Zu&rücksetzen"
+
+#. i18n: file ./src/part/dialog.ui line 470
+#: rc.cpp:81
+#, no-c-format
+msgid "Reset any changes you have made since you opened this dialog."
+msgstr "Setzt alle von Ihnen gemachten Einstellung in diesem Dialog zurück."
+
+#. i18n: file ./misc/filelightui.rc line 4
+#: rc.cpp:87
+#, no-c-format
+msgid "&Scan"
+msgstr "Ein&lesen"
+
+#. i18n: file ./misc/filelightui.rc line 19
+#: rc.cpp:93
+#, no-c-format
+msgid "&Go"
+msgstr "&Gehe zu"
+
+#. i18n: file ./misc/filelightui.rc line 35
+#: rc.cpp:99
+#, no-c-format
+msgid "Location Toolbar"
+msgstr "Adressleiste"
+
+#: src/app/historyAction.cpp:46
+msgid "Forward"
+msgstr "Vorwärts"
+
+#: src/app/main.cpp:15
+msgid "Scan 'path'"
+msgstr "'Pfad' einlesen"
+
+#: src/app/main.cpp:21
+msgid "Graphical disk-usage information"
+msgstr "Grafische Darstellung der Festplattenausnutzung"
+
+#: src/app/main.cpp:22
+#, fuzzy
+msgid "(C )2006 Max Howell"
+msgstr "(C) 2003 Max Howell"
+
+#: src/app/main.cpp:30
+msgid "Author, maintainer"
+msgstr ""
+
+#: src/app/main.cpp:31
+msgid "Documentation"
+msgstr ""
+
+#: src/app/main.cpp:32
+msgid "Inspiration"
+msgstr "Inspiration"
+
+#: src/app/main.cpp:33
+#, fuzzy
+msgid "Internationalization"
+msgstr "Unterstützung für die Internationalisierung"
+
+#: src/app/main.cpp:34
+msgid "Testing"
+msgstr ""
+
+#: src/app/main.cpp:35
+#, fuzzy
+msgid "Bravery in the face of unreadable code"
+msgstr "Tapferkeit im Angesicht unlesbaren Codes (Patches)"
+
+#: src/app/mainWindow.cpp:40
+msgid ""
+"KDE could not find the Filelight Part, or the Filelight Part could not be "
+"started. Did you make install?"
+msgstr ""
+"Die Filelight-Komponente ist nicht auffindbar oder lässt sich nicht starten. "
+"Haben Sie \"make install\" ausgeführt?"
+
+#: src/app/mainWindow.cpp:57
+msgid ""
+"Filelight is not installed properly, consequently its menus and toolbars will "
+"appear reduced or even empty"
+msgstr ""
+
+#: src/app/mainWindow.cpp:91
+msgid "Scan &Home Directory"
+msgstr "&Persönlichen Ordner einlesen"
+
+#: src/app/mainWindow.cpp:92
+msgid "Scan &Root Directory"
+msgstr "&Basisordner einlesen"
+
+#: src/app/mainWindow.cpp:93
+msgid "Rescan"
+msgstr "Erneut einlesen"
+
+#: src/app/mainWindow.cpp:95
+msgid "Clear Location Bar"
+msgstr "Adressleiste leeren"
+
+#: src/app/mainWindow.cpp:96
+msgid "Go"
+msgstr "Gehe zu"
+
+#: src/app/mainWindow.cpp:98
+msgid "Location Bar"
+msgstr "Adressleiste"
+
+#: src/app/mainWindow.cpp:99
+msgid "&Recent Scans"
+msgstr "&Kürzlich eingelesene"
+
+#: src/app/mainWindow.cpp:102
+msgid "&Scan Directory..."
+msgstr "Ordner ein&lesen ..."
+
+#: src/app/mainWindow.cpp:263
+msgid ""
+"_: &Up: /home/mxcl\n"
+"%1: %2"
+msgstr ""
+
+#: src/part/progressBox.cpp:62
+#, c-format
+msgid ""
+"_n: %n File\n"
+"%n Files"
+msgstr ""
+"%n Datei\n"
+"%n Dateien"
+
+#: src/part/radialMap/widgetEvents.cpp:165
+msgid "Open &Konqueror Here"
+msgstr "&Konqueror hier öffnen"
+
+#: src/part/radialMap/widgetEvents.cpp:168
+msgid "Open &Konsole Here"
+msgstr "Konsole &hier öffnen"
+
+#: src/part/radialMap/widgetEvents.cpp:172
+msgid "&Center Map Here"
+msgstr "Ansicht auf diesen Punkt &zentrieren"
+
+#: src/part/radialMap/widgetEvents.cpp:176
+msgid "&Open"
+msgstr "Ö&ffnen"
+
+#: src/part/radialMap/widgetEvents.cpp:179
+msgid "&Copy to clipboard"
+msgstr ""
+
+#: src/part/radialMap/widgetEvents.cpp:207
+msgid ""
+"<qt>The directory at <i>'%1'</i> will be <b>recursively</b> and <b>"
+"permanently</b> deleted."
+msgstr ""
+"<qt>Der Ordner <i>'%1'</i> wird <b>komplett</b> und <b>unwiderruflich</b> "
+"gelöscht."
+
+#: src/part/radialMap/widgetEvents.cpp:208
+msgid "<qt><i>'%1'</i> will be <b>permanently</b> deleted."
+msgstr "<qt><i>'%1'</i> wird <b>unwiderruflich</b> gelöscht."
+
+#: src/part/radialMap/builder.cpp:133
+msgid ""
+"_: There can't ever be only 1 file\n"
+"%1 files, each about %2"
+msgstr "%1 Dateien, jede über %2"
+
+#: src/part/radialMap/segmentTip.cpp:126
+#, c-format
+msgid "Files: %1"
+msgstr "Dateien: %1"
+
+#: src/part/settingsDialog.cpp:26
+msgid "Rainbow"
+msgstr "Regenbogen"
+
+#: src/part/settingsDialog.cpp:27
+msgid "KDE Colors"
+msgstr "KDE-Farben"
+
+#: src/part/settingsDialog.cpp:28
+msgid "High Contrast"
+msgstr "Hoher Kontrast"
+
+#: src/part/settingsDialog.cpp:146
+msgid "That directory is already set to be excluded from scans"
+msgstr "Dieser Ordner ist bereits vom Einlesen ausgeschlossen"
+
+#: src/part/part.cpp:62
+msgid "Configure Filelight..."
+msgstr "Filelight einrichten ..."
+
+#: src/part/part.cpp:118
+msgid "The entered URL cannot be parsed; it is invalid."
+msgstr "Die eingegebene Adresse lässt sich nicht einlesen; sie ist ungültig."
+
+#: src/part/part.cpp:122
+#, c-format
+msgid "Filelight only accepts absolute paths, eg. /%1"
+msgstr "Filelight akzeptiert nur absolute Pfade, z. B. /%1"
+
+#: src/part/part.cpp:126
+#, c-format
+msgid "Directory not found: %1"
+msgstr "Ordner nicht gefunden: %1"
+
+#: src/part/part.cpp:130
+msgid ""
+"Unable to enter: %1\n"
+"You do not have access rights to this location."
+msgstr ""
+"Auf %1 kann nicht zugegriffen werden.\n"
+"Ihre Zugriffsrechte reichen nicht aus."
+
+#: src/part/part.cpp:147
+msgid "Aborting Scan..."
+msgstr "Einlesen abbrechen ..."
+
+#: src/part/part.cpp:195
+#, c-format
+msgid "Scanning: %1"
+msgstr "Einlesevorgang: %1"
+
+#: src/part/part.cpp:220
+msgid "Scan completed, generating map..."
+msgstr "Einlesevorgang beendet, das Bild wird erzeugt ..."
+
+#: src/part/part.cpp:229
+#, c-format
+msgid "Scan failed: %1"
+msgstr "Einlesen fehlgeschlagen: %1"
+
+#: src/part/summaryWidget.cpp:102
+msgid "Free"
+msgstr "Frei"
+
+#: src/part/summaryWidget.cpp:103
+msgid "Used"
+msgstr "Benutzt"
+
+#: _translatorinfo.cpp:1
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr "Christoph Hamann"
+
+#: _translatorinfo.cpp:3
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr "chhamann@gmx.de"
+
+#~ msgid "Me"
+#~ msgstr "Ich"
+
+#~ msgid "Handbook guru"
+#~ msgstr "Handbuch-Guru"
+
+#~ msgid "\"Girlfriend usability-testing\""
+#~ msgstr "Gebrauchstest durch die Freundin"
+
+#~ msgid "Welsh Translation"
+#~ msgstr "Walisische Übersetzung"
+
+#~ msgid "German Translation, testing, bug reports and suggestions"
+#~ msgstr "Deutsche Übersetzung, Tests, Fehlermeldungen und Vorschläge"
+
+#~ msgid "Slovak Translation"
+#~ msgstr "Slowakische Übersetzung"
+
+#~ msgid "Polish Translation"
+#~ msgstr "Polnische Übersetzung"
+
+#~ msgid "Spanish Translation"
+#~ msgstr "Spanische Übersetzung"
+
+#~ msgid "French Translation"
+#~ msgstr "Französische Übersetzung"
+
+#~ msgid "Russian Translation"
+#~ msgstr "Russische Üersetzung"
+
+#~ msgid "Dutch Translation"
+#~ msgstr "Niederländische Übersetzung"
+
+#~ msgid ""
+#~ "Called: %1\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Aufgerufen: %1\n"
+#~ "\n"
+
+#~ msgid "could not execute %1"
+#~ msgstr "%1 ist nicht ausführbar"
+
+#~ msgid "Use the Scan-menu to begin..."
+#~ msgstr "Benutzen Sie das Einlesen-Menü zum Starten ..."
+
+#~ msgid "Up"
+#~ msgstr "Aufwärts"
+
+#~ msgid "Up: %1"
+#~ msgstr "Aufwärts: %1"
diff --git a/po/el/Makefile.am b/po/el/Makefile.am
new file mode 100644
index 0000000..9cc1677
--- /dev/null
+++ b/po/el/Makefile.am
@@ -0,0 +1,3 @@
+KDE_LANG = el
+SUBDIRS = $(AUTODIRS)
+POFILES = AUTO
diff --git a/po/el/filelight.po b/po/el/filelight.po
new file mode 100644
index 0000000..1291861
--- /dev/null
+++ b/po/el/filelight.po
@@ -0,0 +1,448 @@
+# translation of filelight.po to Greek
+#
+# Spiros Georgaras <sngeorgaras@otenet.gr>, 2005, 2006.
+# Toussis Manolis <manolis@koppermind.homelinux.org>, 2005, 2006.
+msgid ""
+msgstr ""
+"Project-Id-Version: filelight\n"
+"POT-Creation-Date: 2006-08-20 12:01+0200\n"
+"PO-Revision-Date: 2006-08-27 16:52+0300\n"
+"Last-Translator: Spiros Georgaras <sngeorgaras@otenet.gr>\n"
+"Language-Team: Greek <i18ngr@lists.hellug.gr>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+
+#. i18n: file ./src/part/dialog.ui line 16
+#: rc.cpp:3
+#, no-c-format
+msgid "Settings - Filelight"
+msgstr "Ρυθμίσεις - Filelight"
+
+#. i18n: file ./src/part/dialog.ui line 34
+#: rc.cpp:6
+#, no-c-format
+msgid "Scannin&g"
+msgstr "&Σάρωση"
+
+#. i18n: file ./src/part/dialog.ui line 53
+#: rc.cpp:9
+#, no-c-format
+msgid "Do &not scan these directories:"
+msgstr "&Να μη γίνει σάρωση αυτών των καταλόγων:"
+
+#. i18n: file ./src/part/dialog.ui line 70
+#: rc.cpp:13
+#, no-c-format
+msgid ""
+"Filelight will not scan these directories unless you specifically request them."
+msgstr ""
+"Το Filelight δε θα σαρώσει αυτούς τους καταλόγους εκτός να το απαιτήσετε "
+"συγκεκριμένα."
+
+#. i18n: file ./src/part/dialog.ui line 106
+#: rc.cpp:16
+#, no-c-format
+msgid "R&emove"
+msgstr "&Αφαίρεση"
+
+#. i18n: file ./src/part/dialog.ui line 117
+#: rc.cpp:19
+#, no-c-format
+msgid "&Add..."
+msgstr "&Προσθήκη..."
+
+#. i18n: file ./src/part/dialog.ui line 202
+#: rc.cpp:22
+#, no-c-format
+msgid "Exclude remote files&ystems"
+msgstr "Εξαίρεση α&πομακρυσμένων συστημάτων αρχείων"
+
+#. i18n: file ./src/part/dialog.ui line 208
+#: rc.cpp:26
+#, no-c-format
+msgid ""
+"Prevents scanning of filesystems that are not on this computer, e.g. NFS or "
+"Samba mounts."
+msgstr ""
+"Αποτρέπει τη σάρωση των συστημάτων αρχείων που δε βρίσκονται σε αυτόν τον "
+"υπολογιστή, π.χ. σε προσαρτήσεις NFS ή Samba."
+
+#. i18n: file ./src/part/dialog.ui line 216
+#: rc.cpp:29
+#, no-c-format
+msgid "Scan across filesystem &boundaries"
+msgstr "Σάρωση μέσα στα ό&ρια συστήματος αρχείων"
+
+#. i18n: file ./src/part/dialog.ui line 219
+#: rc.cpp:32
+#, no-c-format
+msgid ""
+"Allows scans to enter directories that are part of other filesystems. For "
+"example, when unchecked, this will usually prevent the contents of <b>/mnt</b> "
+"from being scanned if you scan <b>/</b>."
+msgstr ""
+"Επιτρέπει τη σάρωση σε καταλόγους που αποτελούν τμήμα άλλου συστήματος αρχείων. "
+"Για παράδειγμα, αν είναι απενεργοποιημένο, αυτό συνήθως αποτρέπει τη σάρωση των "
+"περιεχομένων του <b>/mnt</b> αν σαρώνεται το <b>/</b>."
+
+#. i18n: file ./src/part/dialog.ui line 230
+#: rc.cpp:35
+#, no-c-format
+msgid "E&xclude removable media"
+msgstr "Εξαίρεση α&φαιρούμενων μέσων"
+
+#. i18n: file ./src/part/dialog.ui line 236
+#: rc.cpp:39
+#, no-c-format
+msgid "Prevents Filelight from scanning removable media (eg. CD-ROMs)."
+msgstr "Αποτρέπει το Filelight να σαρώσει αφαιρούμενα μέσα (πχ. CD-ROM)."
+
+#. i18n: file ./src/part/dialog.ui line 248
+#: rc.cpp:42
+#, no-c-format
+msgid "&Appearance"
+msgstr "&Εμφάνιση"
+
+#. i18n: file ./src/part/dialog.ui line 259
+#: rc.cpp:45
+#, no-c-format
+msgid "Scheme"
+msgstr "Σχήμα"
+
+#. i18n: file ./src/part/dialog.ui line 291
+#: rc.cpp:48
+#, no-c-format
+msgid "Co&ntrast"
+msgstr "&Αντίθεση"
+
+#. i18n: file ./src/part/dialog.ui line 314
+#: rc.cpp:51
+#, no-c-format
+msgid "Here you can vary the contrast of the filemap in realtime."
+msgstr ""
+"Εδώ μπορείτε να μεταβάλετε την αντίθεση της αποτύπωσης αρχείων σε πραγματικό "
+"χρόνο."
+
+#. i18n: file ./src/part/dialog.ui line 326
+#: rc.cpp:54
+#, no-c-format
+msgid "&Use anti-aliasing"
+msgstr "&Χρήση εξομάλυνσης"
+
+#. i18n: file ./src/part/dialog.ui line 329
+#: rc.cpp:57
+#, no-c-format
+msgid ""
+"Anti-aliasing the filemap makes it clearer and prettier, unfortunately it also "
+"makes rendering very slow."
+msgstr ""
+"Η εξομάλυνση της αποτύπωσης αρχείων την καθιστά ευκρινέστερη και πιο όμορφη, "
+"δυστυχώς έχει επίπτωση στο χρόνο αποτύπωσης."
+
+#. i18n: file ./src/part/dialog.ui line 351
+#: rc.cpp:60
+#, no-c-format
+msgid "Var&y label font sizes"
+msgstr "&Μεταβολή μεγέθους γραμματοσειράς ετικετών"
+
+#. i18n: file ./src/part/dialog.ui line 354
+#: rc.cpp:63
+#, no-c-format
+msgid ""
+"The font size of exploded labels can be varied relative to the depth of the "
+"directories they represent. This helps you spot the important labels more "
+"easily. Set a sensible minimum font size."
+msgstr ""
+"Το μέγεθος γραμματοσειράς των ετικετών μπορεί να τροποποιηθεί σε σχέση με το "
+"βάθος των καταλόγων που αναπαριστούν. Αυτό βοηθά να εντοπίσετε τις σημαντικές "
+"ετικέτες περισσότερο εύκολα. Ορίστε ένα λογικό ελάχιστο μέγεθος."
+
+#. i18n: file ./src/part/dialog.ui line 390
+#: rc.cpp:66
+#, no-c-format
+msgid "Minimum font si&ze:"
+msgstr "Ελάχιστο &μέγεθος γραμματοσειράς:"
+
+#. i18n: file ./src/part/dialog.ui line 399
+#: rc.cpp:69
+#, no-c-format
+msgid "The smallest font size Filelight can use to render labels."
+msgstr ""
+"Το μικρότερο μέγεθος γραμματοσειράς που θα χρησιμοποιήσει το Filelight για την "
+"αποτύπωση των ετικετών."
+
+#. i18n: file ./src/part/dialog.ui line 442
+#: rc.cpp:72
+#, no-c-format
+msgid "Show small files"
+msgstr "Εμφάνιση μικρών αρχείων"
+
+#. i18n: file ./src/part/dialog.ui line 445
+#: rc.cpp:75
+#, no-c-format
+msgid ""
+"Some files are too small to be rendered on the filemap. Selecting this option "
+"makes these files visible by merging them all into a single \"multi-segment\"."
+msgstr ""
+"Μερικά αρχεία είναι πολύ μικρά για να αποτυπωθούν στο χάρτη αρχείων. "
+"Ενεργοποιώντας αυτήν την επιλογή τα αρχεία αυτά συγχωνεύονται σε ένα μοναδικό "
+"\"πολλαπλό-τμήμα\"."
+
+#. i18n: file ./src/part/dialog.ui line 464
+#: rc.cpp:78
+#, no-c-format
+msgid "&Reset"
+msgstr "&Επαναφορά"
+
+#. i18n: file ./src/part/dialog.ui line 470
+#: rc.cpp:81
+#, no-c-format
+msgid "Reset any changes you have made since you opened this dialog."
+msgstr ""
+"Επαναφορά των αλλαγών που κάνατε από τη στιγμή που ανοίξατε το διάλογο."
+
+#. i18n: file ./misc/filelightui.rc line 4
+#: rc.cpp:87
+#, no-c-format
+msgid "&Scan"
+msgstr "&Σάρωση"
+
+#. i18n: file ./misc/filelightui.rc line 19
+#: rc.cpp:93
+#, no-c-format
+msgid "&Go"
+msgstr "&Μετάβαση"
+
+#. i18n: file ./misc/filelightui.rc line 35
+#: rc.cpp:99
+#, no-c-format
+msgid "Location Toolbar"
+msgstr "Γραμμή εργαλείων τοποθεσίας"
+
+#: src/app/historyAction.cpp:46
+msgid "Forward"
+msgstr "Μπροστά"
+
+#: src/app/main.cpp:15
+msgid "Scan 'path'"
+msgstr "Σάρωση 'διαδρομής'"
+
+#: src/app/main.cpp:21
+msgid "Graphical disk-usage information"
+msgstr "Γραφικές πληροφορίες χρήσης του δίσκου"
+
+#: src/app/main.cpp:22
+msgid "(C )2006 Max Howell"
+msgstr "(C )2006 Max Howell"
+
+#: src/app/main.cpp:30
+msgid "Author, maintainer"
+msgstr "Συγγραφέας, συντηρητής"
+
+#: src/app/main.cpp:31
+msgid "Documentation"
+msgstr "Τεκμηρίωση"
+
+#: src/app/main.cpp:32
+msgid "Inspiration"
+msgstr "Έμπνευση"
+
+#: src/app/main.cpp:33
+msgid "Internationalization"
+msgstr "Υποστήριξη διεθνοποίησης"
+
+#: src/app/main.cpp:34
+msgid "Testing"
+msgstr "Δοκιμή"
+
+#: src/app/main.cpp:35
+msgid "Bravery in the face of unreadable code"
+msgstr "Γενναιότητα μπροστά σε μη αναγνώσιμο κώδικα (διορθώσεις)"
+
+#: src/app/mainWindow.cpp:40
+msgid ""
+"KDE could not find the Filelight Part, or the Filelight Part could not be "
+"started. Did you make install?"
+msgstr ""
+"Το KDE δε μπόρεσε να βρει το τμήμα Filelight, ή υπάρχει αδυναμία εκκίνησης του "
+"τμήματος Filelight. Εκτελέστηκε make install;"
+
+#: src/app/mainWindow.cpp:57
+msgid ""
+"Filelight is not installed properly, consequently its menus and toolbars will "
+"appear reduced or even empty"
+msgstr ""
+"Το Filelight δεν έχει εγκατασταθεί σωστά, οπότε τα μενού του δε θα εμφανίζονται "
+"ολόκληρα ή θα είναι κενά."
+
+#: src/app/mainWindow.cpp:91
+msgid "Scan &Home Directory"
+msgstr "Σάρωση &προσωπικού καταλόγου"
+
+#: src/app/mainWindow.cpp:92
+msgid "Scan &Root Directory"
+msgstr "Σάρωση &ριζικού καταλόγου"
+
+#: src/app/mainWindow.cpp:93
+msgid "Rescan"
+msgstr "Σάρωση ξανά"
+
+#: src/app/mainWindow.cpp:95
+msgid "Clear Location Bar"
+msgstr "Καθαρισμός γραμμής τοποθεσίας"
+
+#: src/app/mainWindow.cpp:96
+msgid "Go"
+msgstr "Μετάβαση"
+
+#: src/app/mainWindow.cpp:98
+msgid "Location Bar"
+msgstr "Γραμμή τοποθεσίας"
+
+#: src/app/mainWindow.cpp:99
+msgid "&Recent Scans"
+msgstr "&Πρόσφατες σαρώσεις"
+
+#: src/app/mainWindow.cpp:102
+msgid "&Scan Directory..."
+msgstr "&Σάρωση καταλόγου..."
+
+#: src/app/mainWindow.cpp:263
+msgid ""
+"_: &Up: /home/mxcl\n"
+"%1: %2"
+msgstr "%1: %2"
+
+#: src/part/progressBox.cpp:62
+#, c-format
+msgid ""
+"_n: %n File\n"
+"%n Files"
+msgstr ""
+"%n αρχείο\n"
+"%n αρχεία"
+
+#: src/part/radialMap/widgetEvents.cpp:165
+msgid "Open &Konqueror Here"
+msgstr "Άνοιγμα εδώ του &Konqueror"
+
+#: src/part/radialMap/widgetEvents.cpp:168
+msgid "Open &Konsole Here"
+msgstr "Άνοιγμα εδώ του &Konsole"
+
+#: src/part/radialMap/widgetEvents.cpp:172
+msgid "&Center Map Here"
+msgstr "&Κεντράρισμα εδώ της αποτύπωσης"
+
+#: src/part/radialMap/widgetEvents.cpp:176
+msgid "&Open"
+msgstr "Ά&νοιγμα"
+
+#: src/part/radialMap/widgetEvents.cpp:179
+msgid "&Copy to clipboard"
+msgstr "&Αντιγραφή στο πρόχειρο"
+
+#: src/part/radialMap/widgetEvents.cpp:207
+msgid ""
+"<qt>The directory at <i>'%1'</i> will be <b>recursively</b> and <b>"
+"permanently</b> deleted."
+msgstr ""
+"<qt>Ο κατάλογος στο <i>'%1'</i> θα διαγραφεί <b>αναδρομικά</b> και <b>μόνιμα</b>"
+"."
+
+#: src/part/radialMap/widgetEvents.cpp:208
+msgid "<qt><i>'%1'</i> will be <b>permanently</b> deleted."
+msgstr "<qt>Το <i>'%1'</i> θα διαγραφεί <b>μόνιμα</b>."
+
+#: src/part/radialMap/builder.cpp:133
+msgid ""
+"_: There can't ever be only 1 file\n"
+"%1 files, each about %2"
+msgstr "%1 αρχεία, και καθένα είναι περίπου %2"
+
+#: src/part/radialMap/segmentTip.cpp:126
+#, c-format
+msgid "Files: %1"
+msgstr "Αρχεία: %1"
+
+#: src/part/settingsDialog.cpp:26
+msgid "Rainbow"
+msgstr "Ουράνιο τόξο"
+
+#: src/part/settingsDialog.cpp:27
+msgid "KDE Colors"
+msgstr "Χρώματα του KDE"
+
+#: src/part/settingsDialog.cpp:28
+msgid "High Contrast"
+msgstr "Υψηλή αντίθεση"
+
+#: src/part/settingsDialog.cpp:146
+msgid "That directory is already set to be excluded from scans"
+msgstr "Αυτός ο κατάλογος έχει ήδη οριστεί να εξαιρείται από τις σαρώσεις"
+
+#: src/part/part.cpp:62
+msgid "Configure Filelight..."
+msgstr "Ρύθμιση του Filelight..."
+
+#: src/part/part.cpp:118
+msgid "The entered URL cannot be parsed; it is invalid."
+msgstr "Το URL που έχει εισαχθεί δε μπορεί να αναλυθεί: είναι μη έγκυρο."
+
+#: src/part/part.cpp:122
+#, c-format
+msgid "Filelight only accepts absolute paths, eg. /%1"
+msgstr "Το Filelight δέχεται μόνο απόλυτες διαδρομές, πχ. /%1"
+
+#: src/part/part.cpp:126
+#, c-format
+msgid "Directory not found: %1"
+msgstr "Ο κατάλογος δε βρέθηκε: %1"
+
+#: src/part/part.cpp:130
+msgid ""
+"Unable to enter: %1\n"
+"You do not have access rights to this location."
+msgstr ""
+"Αδυναμία εισόδου στο: %1\n"
+"Δεν έχετε δικαιώματα πρόσβασης σε αυτήν την τοποθεσία."
+
+#: src/part/part.cpp:147
+msgid "Aborting Scan..."
+msgstr "Εγκατάλειψη σάρωσης..."
+
+#: src/part/part.cpp:195
+#, c-format
+msgid "Scanning: %1"
+msgstr "Σάρωση: %1"
+
+#: src/part/part.cpp:220
+msgid "Scan completed, generating map..."
+msgstr "Η σάρωση ολοκληρώθηκε, δημιουργία αποτύπωσης..."
+
+#: src/part/part.cpp:229
+#, c-format
+msgid "Scan failed: %1"
+msgstr "Η σάρωση απέτυχε: %1"
+
+#: src/part/summaryWidget.cpp:102
+msgid "Free"
+msgstr "Ελεύθερος"
+
+#: src/part/summaryWidget.cpp:103
+msgid "Used"
+msgstr "Χρησιμοποιημένος"
+
+#: _translatorinfo.cpp:1
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr "Σπύρος Γεωργαράς,Τούσης Μανώλης"
+
+#: _translatorinfo.cpp:3
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr "sngeorgaras@otenet.gr,manolis@koppermind.homelinux.org"
diff --git a/po/en_GB/Makefile.am b/po/en_GB/Makefile.am
new file mode 100644
index 0000000..73107f8
--- /dev/null
+++ b/po/en_GB/Makefile.am
@@ -0,0 +1,3 @@
+KDE_LANG = en_GB
+SUBDIRS = $(AUTODIRS)
+POFILES = AUTO
diff --git a/po/en_GB/filelight.po b/po/en_GB/filelight.po
new file mode 100644
index 0000000..1c0a542
--- /dev/null
+++ b/po/en_GB/filelight.po
@@ -0,0 +1,496 @@
+# translation of filelight.po to British English
+# Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.
+# Malcolm Hunter <malcolm.hunter@gmx.co.uk>, 2003.
+# Andrew Coles <andrew_coles@yahoo.co.uk>, 2004, 2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: filelight\n"
+"POT-Creation-Date: 2006-08-20 12:01+0200\n"
+"PO-Revision-Date: 2005-01-31 12:30+0000\n"
+"Last-Translator: Andrew Coles <andrew_coles@yahoo.co.uk>\n"
+"Language-Team: British English <kde-en-gb@kde.me.uk>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.9\n"
+
+#. i18n: file ./src/part/dialog.ui line 16
+#: rc.cpp:3
+#, no-c-format
+msgid "Settings - Filelight"
+msgstr "Settings - Filelight"
+
+#. i18n: file ./src/part/dialog.ui line 34
+#: rc.cpp:6
+#, fuzzy, no-c-format
+msgid "Scannin&g"
+msgstr "&Scanning"
+
+#. i18n: file ./src/part/dialog.ui line 53
+#: rc.cpp:9
+#, fuzzy, no-c-format
+msgid "Do &not scan these directories:"
+msgstr "&Do not scan these directories:"
+
+#. i18n: file ./src/part/dialog.ui line 70
+#: rc.cpp:13
+#, no-c-format
+msgid ""
+"Filelight will not scan these directories unless you specifically request them."
+msgstr ""
+"Filelight will not scan these directories unless you specifically request them."
+
+#. i18n: file ./src/part/dialog.ui line 106
+#: rc.cpp:16
+#, no-c-format
+msgid "R&emove"
+msgstr "R&emove"
+
+#. i18n: file ./src/part/dialog.ui line 117
+#: rc.cpp:19
+#, no-c-format
+msgid "&Add..."
+msgstr "&Add..."
+
+#. i18n: file ./src/part/dialog.ui line 202
+#: rc.cpp:22
+#, fuzzy, no-c-format
+msgid "Exclude remote files&ystems"
+msgstr "Exclude re&mote filesystems"
+
+#. i18n: file ./src/part/dialog.ui line 208
+#: rc.cpp:26
+#, no-c-format
+msgid ""
+"Prevents scanning of filesystems that are not on this computer, e.g. NFS or "
+"Samba mounts."
+msgstr ""
+"Prevents scanning of filesystems that are not on this computer, e.g. NFS or "
+"Samba mounts."
+
+#. i18n: file ./src/part/dialog.ui line 216
+#: rc.cpp:29
+#, no-c-format
+msgid "Scan across filesystem &boundaries"
+msgstr "Scan across filesystem &boundaries"
+
+#. i18n: file ./src/part/dialog.ui line 219
+#: rc.cpp:32
+#, fuzzy, no-c-format
+msgid ""
+"Allows scans to enter directories that are part of other filesystems. For "
+"example, when unchecked, this will usually prevent the contents of <b>/mnt</b> "
+"from being scanned if you scan <b>/</b>."
+msgstr ""
+"Stops scans entering directories that are part of other filesystems. For "
+"example, this will usually prevent the contents of <b>/mnt</b> "
+"from being scanned if you scan <b>/</b>."
+
+#. i18n: file ./src/part/dialog.ui line 230
+#: rc.cpp:35
+#, fuzzy, no-c-format
+msgid "E&xclude removable media"
+msgstr "Exclude remo&vable media"
+
+#. i18n: file ./src/part/dialog.ui line 236
+#: rc.cpp:39
+#, no-c-format
+msgid "Prevents Filelight from scanning removable media (eg. CD-ROMs)."
+msgstr "Prevents Filelight from scanning removable media (eg. CD-ROMs)."
+
+#. i18n: file ./src/part/dialog.ui line 248
+#: rc.cpp:42
+#, no-c-format
+msgid "&Appearance"
+msgstr "&Appearance"
+
+#. i18n: file ./src/part/dialog.ui line 259
+#: rc.cpp:45
+#, no-c-format
+msgid "Scheme"
+msgstr "Scheme"
+
+#. i18n: file ./src/part/dialog.ui line 291
+#: rc.cpp:48
+#, fuzzy, no-c-format
+msgid "Co&ntrast"
+msgstr "&Contrast"
+
+#. i18n: file ./src/part/dialog.ui line 314
+#: rc.cpp:51
+#, no-c-format
+msgid "Here you can vary the contrast of the filemap in realtime."
+msgstr "Here you can vary the contrast of the filemap in realtime."
+
+#. i18n: file ./src/part/dialog.ui line 326
+#: rc.cpp:54
+#, no-c-format
+msgid "&Use anti-aliasing"
+msgstr "&Use anti-aliasing"
+
+#. i18n: file ./src/part/dialog.ui line 329
+#: rc.cpp:57
+#, no-c-format
+msgid ""
+"Anti-aliasing the filemap makes it clearer and prettier, unfortunately it also "
+"makes rendering very slow."
+msgstr ""
+"Anti-aliasing the filemap makes it clearer and prettier, unfortunately it also "
+"makes rendering very slow."
+
+#. i18n: file ./src/part/dialog.ui line 351
+#: rc.cpp:60
+#, fuzzy, no-c-format
+msgid "Var&y label font sizes"
+msgstr "&Vary label font sizes"
+
+#. i18n: file ./src/part/dialog.ui line 354
+#: rc.cpp:63
+#, no-c-format
+msgid ""
+"The font size of exploded labels can be varied relative to the depth of the "
+"directories they represent. This helps you spot the important labels more "
+"easily. Set a sensible minimum font size."
+msgstr ""
+"The font size of exploded labels can be varied relative to the depth of the "
+"directories they represent. This helps you spot the important labels more "
+"easily. Set a sensible minimum font size."
+
+#. i18n: file ./src/part/dialog.ui line 390
+#: rc.cpp:66
+#, fuzzy, no-c-format
+msgid "Minimum font si&ze:"
+msgstr "Minimum &font size:"
+
+#. i18n: file ./src/part/dialog.ui line 399
+#: rc.cpp:69
+#, no-c-format
+msgid "The smallest font size Filelight can use to render labels."
+msgstr "The smallest font size Filelight can use to render labels."
+
+#. i18n: file ./src/part/dialog.ui line 442
+#: rc.cpp:72
+#, no-c-format
+msgid "Show small files"
+msgstr "Show small files"
+
+#. i18n: file ./src/part/dialog.ui line 445
+#: rc.cpp:75
+#, no-c-format
+msgid ""
+"Some files are too small to be rendered on the filemap. Selecting this option "
+"makes these files visible by merging them all into a single \"multi-segment\"."
+msgstr ""
+"Some files are too small to be rendered on the filemap. Selecting this option "
+"makes these files visible by merging them all into a single \"multi-segment\"."
+
+#. i18n: file ./src/part/dialog.ui line 464
+#: rc.cpp:78
+#, no-c-format
+msgid "&Reset"
+msgstr "&Reset"
+
+#. i18n: file ./src/part/dialog.ui line 470
+#: rc.cpp:81
+#, no-c-format
+msgid "Reset any changes you have made since you opened this dialog."
+msgstr "Reset any changes you have made since you opened this dialogue."
+
+#. i18n: file ./misc/filelightui.rc line 4
+#: rc.cpp:87
+#, no-c-format
+msgid "&Scan"
+msgstr "&Scan"
+
+#. i18n: file ./misc/filelightui.rc line 19
+#: rc.cpp:93
+#, no-c-format
+msgid "&Go"
+msgstr "&Go"
+
+#. i18n: file ./misc/filelightui.rc line 35
+#: rc.cpp:99
+#, no-c-format
+msgid "Location Toolbar"
+msgstr "Location Toolbar"
+
+#: src/app/historyAction.cpp:46
+msgid "Forward"
+msgstr "Forward"
+
+#: src/app/main.cpp:15
+msgid "Scan 'path'"
+msgstr "Scan 'path'"
+
+#: src/app/main.cpp:21
+msgid "Graphical disk-usage information"
+msgstr "Graphical disk-usage information"
+
+#: src/app/main.cpp:22
+#, fuzzy
+msgid "(C )2006 Max Howell"
+msgstr "(C) 2003 Max Howell"
+
+#: src/app/main.cpp:30
+msgid "Author, maintainer"
+msgstr ""
+
+#: src/app/main.cpp:31
+msgid "Documentation"
+msgstr ""
+
+#: src/app/main.cpp:32
+msgid "Inspiration"
+msgstr "Inspiration"
+
+#: src/app/main.cpp:33
+#, fuzzy
+msgid "Internationalization"
+msgstr "Internationalisation support"
+
+#: src/app/main.cpp:34
+msgid "Testing"
+msgstr ""
+
+#: src/app/main.cpp:35
+#, fuzzy
+msgid "Bravery in the face of unreadable code"
+msgstr "Bravery in the face of unreadable code (patches)"
+
+#: src/app/mainWindow.cpp:40
+msgid ""
+"KDE could not find the Filelight Part, or the Filelight Part could not be "
+"started. Did you make install?"
+msgstr ""
+"KDE could not find the Filelight Part, or the Filelight Part could not be "
+"started. Did you make install?"
+
+#: src/app/mainWindow.cpp:57
+msgid ""
+"Filelight is not installed properly, consequently its menus and toolbars will "
+"appear reduced or even empty"
+msgstr ""
+
+#: src/app/mainWindow.cpp:91
+msgid "Scan &Home Directory"
+msgstr "Scan &Home Directory"
+
+#: src/app/mainWindow.cpp:92
+msgid "Scan &Root Directory"
+msgstr "Scan &Root Directory"
+
+#: src/app/mainWindow.cpp:93
+msgid "Rescan"
+msgstr "Rescan"
+
+#: src/app/mainWindow.cpp:95
+msgid "Clear Location Bar"
+msgstr "Clear Location Bar"
+
+#: src/app/mainWindow.cpp:96
+msgid "Go"
+msgstr "Go"
+
+#: src/app/mainWindow.cpp:98
+msgid "Location Bar"
+msgstr "Location Bar"
+
+#: src/app/mainWindow.cpp:99
+msgid "&Recent Scans"
+msgstr "&Recent Scans"
+
+#: src/app/mainWindow.cpp:102
+msgid "&Scan Directory..."
+msgstr "&Scan Directory..."
+
+#: src/app/mainWindow.cpp:263
+msgid ""
+"_: &Up: /home/mxcl\n"
+"%1: %2"
+msgstr ""
+
+#: src/part/progressBox.cpp:62
+#, c-format
+msgid ""
+"_n: %n File\n"
+"%n Files"
+msgstr ""
+
+#: src/part/radialMap/widgetEvents.cpp:165
+msgid "Open &Konqueror Here"
+msgstr "Open &Konqueror Here"
+
+#: src/part/radialMap/widgetEvents.cpp:168
+msgid "Open &Konsole Here"
+msgstr "Open &Konsole Here"
+
+#: src/part/radialMap/widgetEvents.cpp:172
+msgid "&Center Map Here"
+msgstr "&Centre Map Here"
+
+#: src/part/radialMap/widgetEvents.cpp:176
+msgid "&Open"
+msgstr "&Open"
+
+#: src/part/radialMap/widgetEvents.cpp:179
+msgid "&Copy to clipboard"
+msgstr ""
+
+#: src/part/radialMap/widgetEvents.cpp:207
+msgid ""
+"<qt>The directory at <i>'%1'</i> will be <b>recursively</b> and <b>"
+"permanently</b> deleted."
+msgstr ""
+"<qt>The directory at <i>'%1'</i> will be <b>recursively</b> and <b>"
+"permanently</b> deleted."
+
+#: src/part/radialMap/widgetEvents.cpp:208
+msgid "<qt><i>'%1'</i> will be <b>permanently</b> deleted."
+msgstr "<qt><i>'%1'</i> will be <b>permanently</b> deleted."
+
+#: src/part/radialMap/builder.cpp:133
+msgid ""
+"_: There can't ever be only 1 file\n"
+"%1 files, each about %2"
+msgstr "%1 files, each about %2"
+
+#: src/part/radialMap/segmentTip.cpp:126
+#, c-format
+msgid "Files: %1"
+msgstr "Files: %1"
+
+#: src/part/settingsDialog.cpp:26
+msgid "Rainbow"
+msgstr "Rainbow"
+
+#: src/part/settingsDialog.cpp:27
+msgid "KDE Colors"
+msgstr "KDE Colours"
+
+#: src/part/settingsDialog.cpp:28
+msgid "High Contrast"
+msgstr "High Contrast"
+
+#: src/part/settingsDialog.cpp:146
+msgid "That directory is already set to be excluded from scans"
+msgstr "That directory is already set to be excluded from scans"
+
+#: src/part/part.cpp:62
+msgid "Configure Filelight..."
+msgstr "Configure Filelight..."
+
+#: src/part/part.cpp:118
+msgid "The entered URL cannot be parsed; it is invalid."
+msgstr "The entered URL cannot be parsed; it is invalid."
+
+#: src/part/part.cpp:122
+#, c-format
+msgid "Filelight only accepts absolute paths, eg. /%1"
+msgstr "Filelight only accepts absolute paths, eg. /%1"
+
+#: src/part/part.cpp:126
+#, c-format
+msgid "Directory not found: %1"
+msgstr "Directory not found: %1"
+
+#: src/part/part.cpp:130
+msgid ""
+"Unable to enter: %1\n"
+"You do not have access rights to this location."
+msgstr ""
+"Unable to enter: %1\n"
+"You do not have access rights to this location."
+
+#: src/part/part.cpp:147
+msgid "Aborting Scan..."
+msgstr "Aborting Scan..."
+
+#: src/part/part.cpp:195
+#, c-format
+msgid "Scanning: %1"
+msgstr "Scanning: %1"
+
+#: src/part/part.cpp:220
+msgid "Scan completed, generating map..."
+msgstr "Scan completed, generating map..."
+
+#: src/part/part.cpp:229
+#, c-format
+msgid "Scan failed: %1"
+msgstr "Scan failed: %1"
+
+#: src/part/summaryWidget.cpp:102
+msgid "Free"
+msgstr "Free"
+
+#: src/part/summaryWidget.cpp:103
+msgid "Used"
+msgstr "Used"
+
+#: _translatorinfo.cpp:1
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr "Andrew Coles"
+
+#: _translatorinfo.cpp:3
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr "andrew_coles@yahoo.co.uk"
+
+#~ msgid "Me"
+#~ msgstr "Me"
+
+#~ msgid "Handbook guru"
+#~ msgstr "Handbook guru"
+
+#~ msgid "\"Girlfriend usability-testing\""
+#~ msgstr "\"Girlfriend usability-testing\""
+
+#~ msgid "Welsh Translation"
+#~ msgstr "Welsh Translation"
+
+#~ msgid "German Translation, testing, bug reports and suggestions"
+#~ msgstr "German Translation, testing, bug reports and suggestions"
+
+#~ msgid "Slovak Translation"
+#~ msgstr "Slovak Translation"
+
+#~ msgid "Polish Translation"
+#~ msgstr "Polish Translation"
+
+#~ msgid "Spanish Translation"
+#~ msgstr "Spanish Translation"
+
+#~ msgid "French Translation"
+#~ msgstr "French Translation"
+
+#~ msgid "Russian Translation"
+#~ msgstr "Russian Translation"
+
+#~ msgid "Dutch Translation"
+#~ msgstr "Dutch Translation"
+
+#~ msgid ""
+#~ "Called: %1\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Called: %1\n"
+#~ "\n"
+
+#~ msgid "could not execute %1"
+#~ msgstr "could not execute %1"
+
+#~ msgid "Use the Scan-menu to begin..."
+#~ msgstr "Use the Scan-menu to begin..."
+
+#~ msgid "Up"
+#~ msgstr "Up"
+
+#~ msgid "Up: %1"
+#~ msgstr "Up: %1"
+
+#~ msgid "%1 Files"
+#~ msgstr "%1 Files"
diff --git a/po/es/Makefile.am b/po/es/Makefile.am
new file mode 100644
index 0000000..dffeb57
--- /dev/null
+++ b/po/es/Makefile.am
@@ -0,0 +1,3 @@
+KDE_LANG = es
+SUBDIRS = $(AUTODIRS)
+POFILES = AUTO
diff --git a/po/es/filelight.po b/po/es/filelight.po
new file mode 100644
index 0000000..e634a9a
--- /dev/null
+++ b/po/es/filelight.po
@@ -0,0 +1,508 @@
+# traducción de filelight.po a Español
+# Translation of filelight to Castilian aka Spanish
+# Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+#
+# Miguel Revilla Rodríguez <yo@miguelrevilla.com>, 2003.
+# Ignacio Bezanilla Diaz <coder@telefonica.net>, 2003, 2004.
+# Enrique Matias Sanchez (aka Quique) <cronopios@gmail.com>, 2005.
+# Rafael Rodríguez <apt-drink@gulic.org>, 2005.
+# santi <santi@kde-es.org>, 2005.
+# Santiago Fernandez Sancho <santi@kde-es.org>, 2006.
+msgid ""
+msgstr ""
+"Project-Id-Version: filelight\n"
+"POT-Creation-Date: 2006-08-20 12:01+0200\n"
+"PO-Revision-Date: 2006-02-28 00:46+0100\n"
+"Last-Translator: Santiago Fernandez Sancho <santi@kde-es.org>\n"
+"Language-Team: Español <kde-es@kybs.de>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.2\n"
+
+#. i18n: file ./src/part/dialog.ui line 16
+#: rc.cpp:3
+#, no-c-format
+msgid "Settings - Filelight"
+msgstr "Preferencias - Filelight"
+
+#. i18n: file ./src/part/dialog.ui line 34
+#: rc.cpp:6
+#, fuzzy, no-c-format
+msgid "Scannin&g"
+msgstr "E&xploración"
+
+#. i18n: file ./src/part/dialog.ui line 53
+#: rc.cpp:9
+#, fuzzy, no-c-format
+msgid "Do &not scan these directories:"
+msgstr "&No explorar estos directorios:"
+
+#. i18n: file ./src/part/dialog.ui line 70
+#: rc.cpp:13
+#, no-c-format
+msgid ""
+"Filelight will not scan these directories unless you specifically request them."
+msgstr ""
+"Filelight no explorará estos directorios salvo que usted lo indique "
+"específicamente."
+
+#. i18n: file ./src/part/dialog.ui line 106
+#: rc.cpp:16
+#, no-c-format
+msgid "R&emove"
+msgstr "&Eliminar"
+
+#. i18n: file ./src/part/dialog.ui line 117
+#: rc.cpp:19
+#, no-c-format
+msgid "&Add..."
+msgstr "&Añadir..."
+
+#. i18n: file ./src/part/dialog.ui line 202
+#: rc.cpp:22
+#, fuzzy, no-c-format
+msgid "Exclude remote files&ystems"
+msgstr "Excluir los sistemas de archivos re&motos"
+
+#. i18n: file ./src/part/dialog.ui line 208
+#: rc.cpp:26
+#, no-c-format
+msgid ""
+"Prevents scanning of filesystems that are not on this computer, e.g. NFS or "
+"Samba mounts."
+msgstr ""
+"Impide la exploración de los sistemas de archivos que no estén en esta "
+"computadora, como las unidades NFS o Samba."
+
+#. i18n: file ./src/part/dialog.ui line 216
+#: rc.cpp:29
+#, no-c-format
+msgid "Scan across filesystem &boundaries"
+msgstr "Explorar dentro de los &límites del sistema de archivos"
+
+#. i18n: file ./src/part/dialog.ui line 219
+#: rc.cpp:32
+#, fuzzy, no-c-format
+msgid ""
+"Allows scans to enter directories that are part of other filesystems. For "
+"example, when unchecked, this will usually prevent the contents of <b>/mnt</b> "
+"from being scanned if you scan <b>/</b>."
+msgstr ""
+"Impide que la exploración entre en directorios que forman parte de otros "
+"sistemas de archivos. Por ejemplo, esto normalmente impide que se explore el "
+"contenido de <b>/mnt</b> al analizar <b>/</b>."
+
+#. i18n: file ./src/part/dialog.ui line 230
+#: rc.cpp:35
+#, fuzzy, no-c-format
+msgid "E&xclude removable media"
+msgstr "Excluir los medios &extraíbles"
+
+#. i18n: file ./src/part/dialog.ui line 236
+#: rc.cpp:39
+#, no-c-format
+msgid "Prevents Filelight from scanning removable media (eg. CD-ROMs)."
+msgstr ""
+"Si selecciona esta opción, Filelight no explorará los medios extraíbles (por "
+"ejemplo, los CD-ROM)."
+
+#. i18n: file ./src/part/dialog.ui line 248
+#: rc.cpp:42
+#, no-c-format
+msgid "&Appearance"
+msgstr "&Apariencia"
+
+#. i18n: file ./src/part/dialog.ui line 259
+#: rc.cpp:45
+#, no-c-format
+msgid "Scheme"
+msgstr "Esquema"
+
+#. i18n: file ./src/part/dialog.ui line 291
+#: rc.cpp:48
+#, fuzzy, no-c-format
+msgid "Co&ntrast"
+msgstr "&Contraste"
+
+#. i18n: file ./src/part/dialog.ui line 314
+#: rc.cpp:51
+#, no-c-format
+msgid "Here you can vary the contrast of the filemap in realtime."
+msgstr "Aquí puede variar el contraste del mapa de archivos en tiempo real."
+
+#. i18n: file ./src/part/dialog.ui line 326
+#: rc.cpp:54
+#, no-c-format
+msgid "&Use anti-aliasing"
+msgstr "&Utilizar suavizado"
+
+#. i18n: file ./src/part/dialog.ui line 329
+#: rc.cpp:57
+#, no-c-format
+msgid ""
+"Anti-aliasing the filemap makes it clearer and prettier, unfortunately it also "
+"makes rendering very slow."
+msgstr ""
+"Si aplica el suavizado al mapa de archivos será más limpio y bonito, pero "
+"desafortunadamente el dibujado será muy lento."
+
+#. i18n: file ./src/part/dialog.ui line 351
+#: rc.cpp:60
+#, fuzzy, no-c-format
+msgid "Var&y label font sizes"
+msgstr "&Variar los tamaños de tipo de letra de las etiquetas"
+
+#. i18n: file ./src/part/dialog.ui line 354
+#: rc.cpp:63
+#, no-c-format
+msgid ""
+"The font size of exploded labels can be varied relative to the depth of the "
+"directories they represent. This helps you spot the important labels more "
+"easily. Set a sensible minimum font size."
+msgstr ""
+"El tamaño del tipo de letra de las etiquetas expandidas puede ser variado en "
+"relación a la profundidad de los directorios que representan. Esto ayuda a "
+"reconocer las etiquetas importantes más fácilmente. Establezca un tamaño de "
+"tipo de letra razonablemente pequeño."
+
+#. i18n: file ./src/part/dialog.ui line 390
+#: rc.cpp:66
+#, fuzzy, no-c-format
+msgid "Minimum font si&ze:"
+msgstr "Tamaño mínimo del &tipo de letra:"
+
+#. i18n: file ./src/part/dialog.ui line 399
+#: rc.cpp:69
+#, no-c-format
+msgid "The smallest font size Filelight can use to render labels."
+msgstr ""
+"El tamaño de tipo de letra más pequeño que puede usar Filelight para "
+"representar las etiquetas."
+
+#. i18n: file ./src/part/dialog.ui line 442
+#: rc.cpp:72
+#, no-c-format
+msgid "Show small files"
+msgstr "Mostrar los archivos pequeños"
+
+#. i18n: file ./src/part/dialog.ui line 445
+#: rc.cpp:75
+#, no-c-format
+msgid ""
+"Some files are too small to be rendered on the filemap. Selecting this option "
+"makes these files visible by merging them all into a single \"multi-segment\"."
+msgstr ""
+"Algunos archivos son demasiado pequeños para ser mostrados en el mapa de "
+"archivos. Seleccionar esta opción hace visibles estos archivos juntándolos "
+"todos en un único «multi-segmento»."
+
+#. i18n: file ./src/part/dialog.ui line 464
+#: rc.cpp:78
+#, no-c-format
+msgid "&Reset"
+msgstr "&Reiniciar"
+
+#. i18n: file ./src/part/dialog.ui line 470
+#: rc.cpp:81
+#, no-c-format
+msgid "Reset any changes you have made since you opened this dialog."
+msgstr "Deshacer cualquier cambio realizado desde la apertura de este diálogo."
+
+#. i18n: file ./misc/filelightui.rc line 4
+#: rc.cpp:87
+#, no-c-format
+msgid "&Scan"
+msgstr "&Explorar"
+
+#. i18n: file ./misc/filelightui.rc line 19
+#: rc.cpp:93
+#, no-c-format
+msgid "&Go"
+msgstr "&Ir"
+
+#. i18n: file ./misc/filelightui.rc line 35
+#: rc.cpp:99
+#, no-c-format
+msgid "Location Toolbar"
+msgstr "Barra de ubicación"
+
+#: src/app/historyAction.cpp:46
+msgid "Forward"
+msgstr "Adelante"
+
+#: src/app/main.cpp:15
+msgid "Scan 'path'"
+msgstr "'Ruta' de exploración"
+
+#: src/app/main.cpp:21
+msgid "Graphical disk-usage information"
+msgstr "Información gráfica de uso del disco"
+
+#: src/app/main.cpp:22
+#, fuzzy
+msgid "(C )2006 Max Howell"
+msgstr "(C) 2003 Max Howell"
+
+#: src/app/main.cpp:30
+msgid "Author, maintainer"
+msgstr ""
+
+#: src/app/main.cpp:31
+msgid "Documentation"
+msgstr ""
+
+#: src/app/main.cpp:32
+msgid "Inspiration"
+msgstr "Inspiración"
+
+#: src/app/main.cpp:33
+#, fuzzy
+msgid "Internationalization"
+msgstr "Soporte de internacionalización"
+
+#: src/app/main.cpp:34
+msgid "Testing"
+msgstr ""
+
+#: src/app/main.cpp:35
+#, fuzzy
+msgid "Bravery in the face of unreadable code"
+msgstr "Valor ante código ilegible (parches)"
+
+#: src/app/mainWindow.cpp:40
+msgid ""
+"KDE could not find the Filelight Part, or the Filelight Part could not be "
+"started. Did you make install?"
+msgstr ""
+"KDE no ha podido encontrar el componente Filelight, o no se ha podido iniciar. "
+"¿Ejecutó el make install?"
+
+#: src/app/mainWindow.cpp:57
+msgid ""
+"Filelight is not installed properly, consequently its menus and toolbars will "
+"appear reduced or even empty"
+msgstr ""
+
+#: src/app/mainWindow.cpp:91
+msgid "Scan &Home Directory"
+msgstr "Explorar el directorio &personal"
+
+#: src/app/mainWindow.cpp:92
+msgid "Scan &Root Directory"
+msgstr "Explorar el directorio &raíz"
+
+#: src/app/mainWindow.cpp:93
+msgid "Rescan"
+msgstr "Re-explorar"
+
+#: src/app/mainWindow.cpp:95
+msgid "Clear Location Bar"
+msgstr "Limpiar barra de ubicación"
+
+#: src/app/mainWindow.cpp:96
+msgid "Go"
+msgstr "Ir"
+
+#: src/app/mainWindow.cpp:98
+msgid "Location Bar"
+msgstr "Barra de ubicación"
+
+#: src/app/mainWindow.cpp:99
+msgid "&Recent Scans"
+msgstr "Exploraciones &recientes"
+
+#: src/app/mainWindow.cpp:102
+msgid "&Scan Directory..."
+msgstr "&Explorar directorio..."
+
+#: src/app/mainWindow.cpp:263
+msgid ""
+"_: &Up: /home/mxcl\n"
+"%1: %2"
+msgstr ""
+
+#: src/part/progressBox.cpp:62
+#, c-format
+msgid ""
+"_n: %n File\n"
+"%n Files"
+msgstr ""
+"%n archivo\n"
+"%n archivos"
+
+#: src/part/radialMap/widgetEvents.cpp:165
+msgid "Open &Konqueror Here"
+msgstr "Abrir &Konqueror aquí"
+
+#: src/part/radialMap/widgetEvents.cpp:168
+msgid "Open &Konsole Here"
+msgstr "Abrir &Konsole aquí"
+
+#: src/part/radialMap/widgetEvents.cpp:172
+msgid "&Center Map Here"
+msgstr "&Centrar el mapa aquí"
+
+#: src/part/radialMap/widgetEvents.cpp:176
+msgid "&Open"
+msgstr "&Abrir"
+
+#: src/part/radialMap/widgetEvents.cpp:179
+msgid "&Copy to clipboard"
+msgstr ""
+
+#: src/part/radialMap/widgetEvents.cpp:207
+msgid ""
+"<qt>The directory at <i>'%1'</i> will be <b>recursively</b> and <b>"
+"permanently</b> deleted."
+msgstr ""
+"<qt>La carpeta <i>«%1»</i> será borrada <b>recursiva</b> y <b>"
+"permanentemente</b>."
+
+#: src/part/radialMap/widgetEvents.cpp:208
+msgid "<qt><i>'%1'</i> will be <b>permanently</b> deleted."
+msgstr "<qt><i>«%1»</i> será <b>permanentemente</b> borrado."
+
+#: src/part/radialMap/builder.cpp:133
+msgid ""
+"_: There can't ever be only 1 file\n"
+"%1 files, each about %2"
+msgstr "%1 archivos, cada uno de aproximadamente %2"
+
+#: src/part/radialMap/segmentTip.cpp:126
+#, c-format
+msgid "Files: %1"
+msgstr "Archivos: %1"
+
+#: src/part/settingsDialog.cpp:26
+msgid "Rainbow"
+msgstr "Arco Iris"
+
+#: src/part/settingsDialog.cpp:27
+msgid "KDE Colors"
+msgstr "Colores de KDE"
+
+#: src/part/settingsDialog.cpp:28
+msgid "High Contrast"
+msgstr "Alto contraste"
+
+#: src/part/settingsDialog.cpp:146
+msgid "That directory is already set to be excluded from scans"
+msgstr ""
+"Ese directorio ya está configurado para ser excluido de las exploraciones"
+
+#: src/part/part.cpp:62
+msgid "Configure Filelight..."
+msgstr "Configurar Filelight..."
+
+#: src/part/part.cpp:118
+msgid "The entered URL cannot be parsed; it is invalid."
+msgstr "No se puede analizar el URL introducido; no es válido."
+
+#: src/part/part.cpp:122
+#, c-format
+msgid "Filelight only accepts absolute paths, eg. /%1"
+msgstr "Filelight sólo acepta rutas absolutas, por ejemplo /%1"
+
+#: src/part/part.cpp:126
+#, c-format
+msgid "Directory not found: %1"
+msgstr "Directorio no encontrado: %1"
+
+#: src/part/part.cpp:130
+msgid ""
+"Unable to enter: %1\n"
+"You do not have access rights to this location."
+msgstr ""
+"Imposible entrar: %1\n"
+"No tiene permisos de acceso a esta ubicación."
+
+#: src/part/part.cpp:147
+msgid "Aborting Scan..."
+msgstr "Interrumpiendo la exploración..."
+
+#: src/part/part.cpp:195
+#, c-format
+msgid "Scanning: %1"
+msgstr "Explorando: %1"
+
+#: src/part/part.cpp:220
+msgid "Scan completed, generating map..."
+msgstr "Exploración finalizada, generando el mapa..."
+
+#: src/part/part.cpp:229
+#, c-format
+msgid "Scan failed: %1"
+msgstr "La exploración ha fallado: %1"
+
+#: src/part/summaryWidget.cpp:102
+msgid "Free"
+msgstr "Libre"
+
+#: src/part/summaryWidget.cpp:103
+msgid "Used"
+msgstr "Utilizado"
+
+#: _translatorinfo.cpp:1
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr "Ignacio Bezanilla,Enrique Matías Sánchez (Quique)"
+
+#: _translatorinfo.cpp:3
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr "coder@telefonica.net,cronopios@gmail.com"
+
+#~ msgid "Me"
+#~ msgstr "Yo"
+
+#~ msgid "Handbook guru"
+#~ msgstr "Maestro del manual"
+
+#~ msgid "\"Girlfriend usability-testing\""
+#~ msgstr "«Prueba de usabilidad de la novia»"
+
+#~ msgid "Welsh Translation"
+#~ msgstr "Traducción al galés"
+
+#~ msgid "German Translation, testing, bug reports and suggestions"
+#~ msgstr "Traducción al alemán, pruebas, informes de error y sugerencias"
+
+#~ msgid "Slovak Translation"
+#~ msgstr "Traducción al eslovaco"
+
+#~ msgid "Polish Translation"
+#~ msgstr "Traducción al polaco"
+
+#~ msgid "Spanish Translation"
+#~ msgstr "Traducción al castellano"
+
+#~ msgid "French Translation"
+#~ msgstr "Traducción al francés"
+
+#~ msgid "Russian Translation"
+#~ msgstr "Traducción al ruso"
+
+#~ msgid "Dutch Translation"
+#~ msgstr "Traducción al holandés"
+
+#~ msgid ""
+#~ "Called: %1\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Llamado: %1\n"
+#~ "\n"
+
+#~ msgid "could not execute %1"
+#~ msgstr "no se ha podido ejecutar %1"
+
+#~ msgid "Use the Scan-menu to begin..."
+#~ msgstr "Utilice el menú Explorar para empezar..."
+
+#~ msgid "Up"
+#~ msgstr "Subir"
+
+#~ msgid "Up: %1"
+#~ msgstr "Subir: %1"
diff --git a/po/et/Makefile.am b/po/et/Makefile.am
new file mode 100644
index 0000000..298856b
--- /dev/null
+++ b/po/et/Makefile.am
@@ -0,0 +1,3 @@
+KDE_LANG = et
+SUBDIRS = $(AUTODIRS)
+POFILES = AUTO
diff --git a/po/et/filelight.po b/po/et/filelight.po
new file mode 100644
index 0000000..9b28aef
--- /dev/null
+++ b/po/et/filelight.po
@@ -0,0 +1,460 @@
+# translation of filelight.po to Estonian
+# Marek Laane <bald@starman.ee>, 2004-2005.
+msgid ""
+msgstr ""
+"Project-Id-Version: filelight\n"
+"POT-Creation-Date: 2006-08-20 12:01+0200\n"
+"PO-Revision-Date: 2006-08-30 19:44+0300\n"
+"Last-Translator: Marek Laane <bald@starman.ee>\n"
+"Language-Team: Estonian <kde-et@linux.ee>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.3.1\n"
+
+#. i18n: file ./src/part/dialog.ui line 16
+#: rc.cpp:3
+#, no-c-format
+msgid "Settings - Filelight"
+msgstr "Seadistused - Filelight"
+
+#. i18n: file ./src/part/dialog.ui line 34
+#: rc.cpp:6
+#, no-c-format
+msgid "Scannin&g"
+msgstr "&Skaneerimine"
+
+#. i18n: file ./src/part/dialog.ui line 53
+#: rc.cpp:9
+#, no-c-format
+msgid "Do &not scan these directories:"
+msgstr "Ei skaneerita kataloo&ge:"
+
+#. i18n: file ./src/part/dialog.ui line 70
+#: rc.cpp:13
+#, no-c-format
+msgid ""
+"Filelight will not scan these directories unless you specifically request them."
+msgstr ""
+"Filelight ei skaneeri siin määratud katalooge, kui sa seda spetsiaalselt ei "
+"soovi."
+
+#. i18n: file ./src/part/dialog.ui line 106
+#: rc.cpp:16
+#, no-c-format
+msgid "R&emove"
+msgstr "&Eemalda"
+
+#. i18n: file ./src/part/dialog.ui line 117
+#: rc.cpp:19
+#, no-c-format
+msgid "&Add..."
+msgstr "Lis&a..."
+
+#. i18n: file ./src/part/dialog.ui line 202
+#: rc.cpp:22
+#, no-c-format
+msgid "Exclude remote files&ystems"
+msgstr "Võrgu&failisüsteemid jäetakse välja"
+
+#. i18n: file ./src/part/dialog.ui line 208
+#: rc.cpp:26
+#, no-c-format
+msgid ""
+"Prevents scanning of filesystems that are not on this computer, e.g. NFS or "
+"Samba mounts."
+msgstr ""
+"Selle sisselülitamisel ei skaneerita failisüsteeme, mis ei asu praeguses "
+"arvutis, nt. NFS või Samba ressursse."
+
+#. i18n: file ./src/part/dialog.ui line 216
+#: rc.cpp:29
+#, no-c-format
+msgid "Scan across filesystem &boundaries"
+msgstr "Skaneerimine üle failisüsteemi &piiride"
+
+#. i18n: file ./src/part/dialog.ui line 219
+#: rc.cpp:32
+#, no-c-format
+msgid ""
+"Allows scans to enter directories that are part of other filesystems. For "
+"example, when unchecked, this will usually prevent the contents of <b>/mnt</b> "
+"from being scanned if you scan <b>/</b>."
+msgstr ""
+"Skaneerimisel ei siseneta kataloogidesse, mis kuuluvad muudesse "
+"failisüsteemidesse. Näiteks väldib see tavaliselt <b>/mnt</b> "
+"sisu skaneerimise, kui skaneerimiseks on valitud <b>/</b>."
+
+#. i18n: file ./src/part/dialog.ui line 230
+#: rc.cpp:35
+#, no-c-format
+msgid "E&xclude removable media"
+msgstr "Eemaldata&vad andmekandjad jäetakse välja"
+
+#. i18n: file ./src/part/dialog.ui line 236
+#: rc.cpp:39
+#, no-c-format
+msgid "Prevents Filelight from scanning removable media (eg. CD-ROMs)."
+msgstr ""
+"Selle sisselülitamisel ei skaneeri Filelight eemaldatavaid andmekandjaid, nt. "
+"CD-sid."
+
+#. i18n: file ./src/part/dialog.ui line 248
+#: rc.cpp:42
+#, no-c-format
+msgid "&Appearance"
+msgstr "&Välimus"
+
+#. i18n: file ./src/part/dialog.ui line 259
+#: rc.cpp:45
+#, no-c-format
+msgid "Scheme"
+msgstr "Skeem"
+
+#. i18n: file ./src/part/dialog.ui line 291
+#: rc.cpp:48
+#, no-c-format
+msgid "Co&ntrast"
+msgstr "&Kontrast"
+
+#. i18n: file ./src/part/dialog.ui line 314
+#: rc.cpp:51
+#, no-c-format
+msgid "Here you can vary the contrast of the filemap in realtime."
+msgstr "Siin saab muuta failikaardi kontrasti reaalajas."
+
+#. i18n: file ./src/part/dialog.ui line 326
+#: rc.cpp:54
+#, no-c-format
+msgid "&Use anti-aliasing"
+msgstr "Antialiase kas&utamine"
+
+#. i18n: file ./src/part/dialog.ui line 329
+#: rc.cpp:57
+#, no-c-format
+msgid ""
+"Anti-aliasing the filemap makes it clearer and prettier, unfortunately it also "
+"makes rendering very slow."
+msgstr ""
+"Failikaardil antialiase kasutamine muudab selle ilusamaks ja selgemaks, kuid "
+"paraku ka renderdamise aeglasemaks."
+
+#. i18n: file ./src/part/dialog.ui line 351
+#: rc.cpp:60
+#, no-c-format
+msgid "Var&y label font sizes"
+msgstr "Muutu&vad pealdisefondi suurused"
+
+#. i18n: file ./src/part/dialog.ui line 354
+#: rc.cpp:63
+#, no-c-format
+msgid ""
+"The font size of exploded labels can be varied relative to the depth of the "
+"directories they represent. This helps you spot the important labels more "
+"easily. Set a sensible minimum font size."
+msgstr ""
+"Pealdiste suurus võib sõltuda vastavate kataloogide sügavuseset. See aitab "
+"hõlpsamini tuvastada olulisemad pealdised. Määra siin meelepärane fondisuurus."
+
+#. i18n: file ./src/part/dialog.ui line 390
+#: rc.cpp:66
+#, no-c-format
+msgid "Minimum font si&ze:"
+msgstr "Minimaalne &fondisuurus:"
+
+#. i18n: file ./src/part/dialog.ui line 399
+#: rc.cpp:69
+#, no-c-format
+msgid "The smallest font size Filelight can use to render labels."
+msgstr "Väikseim font, mida Filelight pealdistel kasutab."
+
+#. i18n: file ./src/part/dialog.ui line 442
+#: rc.cpp:72
+#, no-c-format
+msgid "Show small files"
+msgstr "Väikeste failide näitamine"
+
+#. i18n: file ./src/part/dialog.ui line 445
+#: rc.cpp:75
+#, no-c-format
+msgid ""
+"Some files are too small to be rendered on the filemap. Selecting this option "
+"makes these files visible by merging them all into a single \"multi-segment\"."
+msgstr ""
+"Mõned failid on liiga väikesed, et neid failikaardil näidata. Selle valiku "
+"sisselülitamisel on nad siiski näha - nad liidetakse üheks \"multisegmendiks\"."
+
+#. i18n: file ./src/part/dialog.ui line 464
+#: rc.cpp:78
+#, no-c-format
+msgid "&Reset"
+msgstr "&Lähtesta"
+
+#. i18n: file ./src/part/dialog.ui line 470
+#: rc.cpp:81
+#, no-c-format
+msgid "Reset any changes you have made since you opened this dialog."
+msgstr "Tühistab kõik pärast dialoogi avamist tehtud muudatused."
+
+#. i18n: file ./misc/filelightui.rc line 4
+#: rc.cpp:87
+#, no-c-format
+msgid "&Scan"
+msgstr "S&kaneerimine"
+
+#. i18n: file ./misc/filelightui.rc line 19
+#: rc.cpp:93
+#, no-c-format
+msgid "&Go"
+msgstr "&Liikumine"
+
+#. i18n: file ./misc/filelightui.rc line 35
+#: rc.cpp:99
+#, no-c-format
+msgid "Location Toolbar"
+msgstr "Asukohariba"
+
+#: src/app/historyAction.cpp:46
+msgid "Forward"
+msgstr "Edasi"
+
+#: src/app/main.cpp:15
+msgid "Scan 'path'"
+msgstr "Skaneerimise 'asukoht'"
+
+#: src/app/main.cpp:21
+msgid "Graphical disk-usage information"
+msgstr "Graafiline kettakasutuse info"
+
+#: src/app/main.cpp:22
+msgid "(C )2006 Max Howell"
+msgstr "(C) 2006: Max Howell"
+
+#: src/app/main.cpp:30
+msgid "Author, maintainer"
+msgstr "Autor, hooldaja"
+
+#: src/app/main.cpp:31
+msgid "Documentation"
+msgstr "Dokumentatsioon"
+
+#: src/app/main.cpp:32
+msgid "Inspiration"
+msgstr "Inspiratsioon"
+
+#: src/app/main.cpp:33
+msgid "Internationalization"
+msgstr "Internatsionaliseerimine"
+
+#: src/app/main.cpp:34
+msgid "Testing"
+msgstr "Testimine"
+
+#: src/app/main.cpp:35
+msgid "Bravery in the face of unreadable code"
+msgstr "Vapper silmitsiseismine loetamatu koodiga"
+
+#: src/app/mainWindow.cpp:40
+msgid ""
+"KDE could not find the Filelight Part, or the Filelight Part could not be "
+"started. Did you make install?"
+msgstr ""
+"KDE ei suutnud leida Filelighti komponenti või ei õnnestunud seda käivitada. "
+"Kas Filelight on ikka paigaldatud?"
+
+#: src/app/mainWindow.cpp:57
+msgid ""
+"Filelight is not installed properly, consequently its menus and toolbars will "
+"appear reduced or even empty"
+msgstr ""
+"Filelight ei ole korrektselt paigaldatud, mistõttu menüüd ja tööriistaribad on "
+"vähemate kirjetega või päris tühjad"
+
+#: src/app/mainWindow.cpp:91
+msgid "Scan &Home Directory"
+msgstr "Skaneeri kodukataloo&gi"
+
+#: src/app/mainWindow.cpp:92
+msgid "Scan &Root Directory"
+msgstr "Skanee&ri juurkataloogi"
+
+#: src/app/mainWindow.cpp:93
+msgid "Rescan"
+msgstr "Skaneeri uuesti"
+
+#: src/app/mainWindow.cpp:95
+msgid "Clear Location Bar"
+msgstr "Puhasta asukohariba"
+
+#: src/app/mainWindow.cpp:96
+msgid "Go"
+msgstr "Mine"
+
+#: src/app/mainWindow.cpp:98
+msgid "Location Bar"
+msgstr "Asukohariba"
+
+#: src/app/mainWindow.cpp:99
+msgid "&Recent Scans"
+msgstr "&Viimati tehtud skaneeringud"
+
+#: src/app/mainWindow.cpp:102
+msgid "&Scan Directory..."
+msgstr "&Skaneeri kataloogi..."
+
+#: src/app/mainWindow.cpp:263
+msgid ""
+"_: &Up: /home/mxcl\n"
+"%1: %2"
+msgstr "%1: %2"
+
+#: src/part/progressBox.cpp:62
+#, c-format
+msgid ""
+"_n: %n File\n"
+"%n Files"
+msgstr ""
+"%n fail\n"
+"%n faili"
+
+#: src/part/radialMap/widgetEvents.cpp:165
+msgid "Open &Konqueror Here"
+msgstr "Ava siin &Konqueror"
+
+#: src/part/radialMap/widgetEvents.cpp:168
+msgid "Open &Konsole Here"
+msgstr "Ava &siin Konsool"
+
+#: src/part/radialMap/widgetEvents.cpp:172
+msgid "&Center Map Here"
+msgstr "&Tsentreeri kaart siia"
+
+#: src/part/radialMap/widgetEvents.cpp:176
+msgid "&Open"
+msgstr "&Ava"
+
+#: src/part/radialMap/widgetEvents.cpp:179
+msgid "&Copy to clipboard"
+msgstr "&Kopeeri lõikepuhvrisse"
+
+#: src/part/radialMap/widgetEvents.cpp:207
+msgid ""
+"<qt>The directory at <i>'%1'</i> will be <b>recursively</b> and <b>"
+"permanently</b> deleted."
+msgstr ""
+"<qt>Kataloog asukohas <i>'%1'</i> kustutatakse <b>rekursiivselt</b> ja <b>"
+"jäädavalt</b>."
+
+#: src/part/radialMap/widgetEvents.cpp:208
+msgid "<qt><i>'%1'</i> will be <b>permanently</b> deleted."
+msgstr "<qt><i>'%1'</i> kustutatakse <b>jäädavalt</b>."
+
+#: src/part/radialMap/builder.cpp:133
+msgid ""
+"_: There can't ever be only 1 file\n"
+"%1 files, each about %2"
+msgstr "%1 faili, kõik umbes %2"
+
+#: src/part/radialMap/segmentTip.cpp:126
+#, c-format
+msgid "Files: %1"
+msgstr "Faile: %1"
+
+#: src/part/settingsDialog.cpp:26
+msgid "Rainbow"
+msgstr "Vikerkaar"
+
+#: src/part/settingsDialog.cpp:27
+msgid "KDE Colors"
+msgstr "KDE värvid"
+
+#: src/part/settingsDialog.cpp:28
+msgid "High Contrast"
+msgstr "Suur kontrast"
+
+#: src/part/settingsDialog.cpp:146
+msgid "That directory is already set to be excluded from scans"
+msgstr "See kataloog on juba määratud skaneerimisest välja jääma"
+
+#: src/part/part.cpp:62
+msgid "Configure Filelight..."
+msgstr "Filelighti seadistamine..."
+
+#: src/part/part.cpp:118
+msgid "The entered URL cannot be parsed; it is invalid."
+msgstr "Sisestatud URL-i parsimine ebaõnnestus, see on vigane."
+
+#: src/part/part.cpp:122
+#, c-format
+msgid "Filelight only accepts absolute paths, eg. /%1"
+msgstr "Filelight tunnistab ainult absoluutseid asukohti, nt. /%1"
+
+#: src/part/part.cpp:126
+#, c-format
+msgid "Directory not found: %1"
+msgstr "Kataloogi ei leitud: %1"
+
+#: src/part/part.cpp:130
+msgid ""
+"Unable to enter: %1\n"
+"You do not have access rights to this location."
+msgstr ""
+"Ei õnnestunud siseneda: %1\n"
+"Sul ei ole õigust sinna siseneda."
+
+#: src/part/part.cpp:147
+msgid "Aborting Scan..."
+msgstr "Skaneerimise katkestamine..."
+
+#: src/part/part.cpp:195
+#, c-format
+msgid "Scanning: %1"
+msgstr "Skaneeritakse: %1"
+
+#: src/part/part.cpp:220
+msgid "Scan completed, generating map..."
+msgstr "Skaneerimine tehtud, kaardi loomine..."
+
+#: src/part/part.cpp:229
+#, c-format
+msgid "Scan failed: %1"
+msgstr "Skaneerimine ebaõnnestus: %1"
+
+#: src/part/summaryWidget.cpp:102
+msgid "Free"
+msgstr "Vaba"
+
+#: src/part/summaryWidget.cpp:103
+msgid "Used"
+msgstr "Kasutusel"
+
+#: _translatorinfo.cpp:1
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr "Marek Laane"
+
+#: _translatorinfo.cpp:3
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr "bald@starman.ee"
+
+#~ msgid ""
+#~ "Called: %1\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Välja kutsutud: %1\n"
+#~ "\n"
+
+#~ msgid "could not execute %1"
+#~ msgstr "%1 käivitamine ebaõnnestus"
+
+#~ msgid "Use the Scan-menu to begin..."
+#~ msgstr "Alustamiseks kasuta menüüd Skaneerimine..."
+
+#~ msgid "Up"
+#~ msgstr "Üles"
+
+#~ msgid "Up: %1"
+#~ msgstr "Üles: %1"
diff --git a/po/fr/Makefile.am b/po/fr/Makefile.am
new file mode 100644
index 0000000..353043b
--- /dev/null
+++ b/po/fr/Makefile.am
@@ -0,0 +1,3 @@
+KDE_LANG = fr
+SUBDIRS = $(AUTODIRS)
+POFILES = AUTO
diff --git a/po/fr/filelight.po b/po/fr/filelight.po
new file mode 100644
index 0000000..93f2956
--- /dev/null
+++ b/po/fr/filelight.po
@@ -0,0 +1,501 @@
+# translation of filelight.po to
+# translation of filelight.po to Français
+# Nicolas Ternisien <nicolast@libertysurf.fr>, 2004, 2005.
+# Nicolas Ternisien <nicolas.ternisien@gmail.com>, 2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: filelight\n"
+"POT-Creation-Date: 2006-08-20 12:01+0200\n"
+"PO-Revision-Date: 2005-07-20 18:06+0200\n"
+"Last-Translator: Nicolas Ternisien <nicolas.ternisien@gmail.com>\n"
+"Language-Team: <kde-francophone@kde.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.10.1\n"
+
+#. i18n: file ./src/part/dialog.ui line 16
+#: rc.cpp:3
+#, no-c-format
+msgid "Settings - Filelight"
+msgstr "Configuration - Filelight"
+
+#. i18n: file ./src/part/dialog.ui line 34
+#: rc.cpp:6
+#, fuzzy, no-c-format
+msgid "Scannin&g"
+msgstr "&Analyse"
+
+#. i18n: file ./src/part/dialog.ui line 53
+#: rc.cpp:9
+#, fuzzy, no-c-format
+msgid "Do &not scan these directories:"
+msgstr "&Ne pas analyser ces dossiers :"
+
+#. i18n: file ./src/part/dialog.ui line 70
+#: rc.cpp:13
+#, no-c-format
+msgid ""
+"Filelight will not scan these directories unless you specifically request them."
+msgstr ""
+"Filelight n'analysera pas ces dossiers à moins que vous le redemandiez."
+
+#. i18n: file ./src/part/dialog.ui line 106
+#: rc.cpp:16
+#, no-c-format
+msgid "R&emove"
+msgstr "&Enlever"
+
+#. i18n: file ./src/part/dialog.ui line 117
+#: rc.cpp:19
+#, no-c-format
+msgid "&Add..."
+msgstr "A&jouter..."
+
+#. i18n: file ./src/part/dialog.ui line 202
+#: rc.cpp:22
+#, fuzzy, no-c-format
+msgid "Exclude remote files&ystems"
+msgstr "Exclure les systèmes de fichiers dista&nts"
+
+#. i18n: file ./src/part/dialog.ui line 208
+#: rc.cpp:26
+#, no-c-format
+msgid ""
+"Prevents scanning of filesystems that are not on this computer, e.g. NFS or "
+"Samba mounts."
+msgstr ""
+"Évite l'analyse de systèmes de fichiers n'étant pas sur cet ordinateur, comme "
+"par exemple les montages NFS ou Samba."
+
+#. i18n: file ./src/part/dialog.ui line 216
+#: rc.cpp:29
+#, no-c-format
+msgid "Scan across filesystem &boundaries"
+msgstr "Analyser à travers les &limites du système de fichiers"
+
+#. i18n: file ./src/part/dialog.ui line 219
+#: rc.cpp:32
+#, fuzzy, no-c-format
+msgid ""
+"Allows scans to enter directories that are part of other filesystems. For "
+"example, when unchecked, this will usually prevent the contents of <b>/mnt</b> "
+"from being scanned if you scan <b>/</b>."
+msgstr ""
+"Arrête l'analyse des dossiers faisant partie d'autres systèmes de fichiers. Par "
+"exemple, cela évite d'analyser le contenu de <b>/mnt</b> si vous analysez <b>"
+"/</b>."
+
+#. i18n: file ./src/part/dialog.ui line 230
+#: rc.cpp:35
+#, fuzzy, no-c-format
+msgid "E&xclude removable media"
+msgstr "Exclure les médias amo&vibles"
+
+#. i18n: file ./src/part/dialog.ui line 236
+#: rc.cpp:39
+#, no-c-format
+msgid "Prevents Filelight from scanning removable media (eg. CD-ROMs)."
+msgstr "Évite Filelight d'analyser les médias amovibles (ex : CD-ROM)."
+
+#. i18n: file ./src/part/dialog.ui line 248
+#: rc.cpp:42
+#, no-c-format
+msgid "&Appearance"
+msgstr "&Apparence"
+
+#. i18n: file ./src/part/dialog.ui line 259
+#: rc.cpp:45
+#, no-c-format
+msgid "Scheme"
+msgstr "Modèle"
+
+#. i18n: file ./src/part/dialog.ui line 291
+#: rc.cpp:48
+#, fuzzy, no-c-format
+msgid "Co&ntrast"
+msgstr "&Contraste"
+
+#. i18n: file ./src/part/dialog.ui line 314
+#: rc.cpp:51
+#, no-c-format
+msgid "Here you can vary the contrast of the filemap in realtime."
+msgstr ""
+"Vous pouvez varier le contraste de la carte de fichiers en temps réel ici."
+
+#. i18n: file ./src/part/dialog.ui line 326
+#: rc.cpp:54
+#, no-c-format
+msgid "&Use anti-aliasing"
+msgstr "&Utiliser l'anti-crénelage"
+
+#. i18n: file ./src/part/dialog.ui line 329
+#: rc.cpp:57
+#, no-c-format
+msgid ""
+"Anti-aliasing the filemap makes it clearer and prettier, unfortunately it also "
+"makes rendering very slow."
+msgstr ""
+"L'anti-crénelage de la carte de fichier la rendra plus claire et propre, "
+"malheureusement, cela rend également l'affichage plus lent."
+
+#. i18n: file ./src/part/dialog.ui line 351
+#: rc.cpp:60
+#, fuzzy, no-c-format
+msgid "Var&y label font sizes"
+msgstr "&Varier les tailles de police des libellés"
+
+#. i18n: file ./src/part/dialog.ui line 354
+#: rc.cpp:63
+#, no-c-format
+msgid ""
+"The font size of exploded labels can be varied relative to the depth of the "
+"directories they represent. This helps you spot the important labels more "
+"easily. Set a sensible minimum font size."
+msgstr ""
+"La taille de police des libellés éparpillés peut varier selon la profondeur du "
+"dossier qu'elles représentent. Cela aide à afficher les libellés importants "
+"plus facilement. Définissez une taille de police minimale sensible."
+
+#. i18n: file ./src/part/dialog.ui line 390
+#: rc.cpp:66
+#, fuzzy, no-c-format
+msgid "Minimum font si&ze:"
+msgstr "Taille de &police minimale :"
+
+#. i18n: file ./src/part/dialog.ui line 399
+#: rc.cpp:69
+#, no-c-format
+msgid "The smallest font size Filelight can use to render labels."
+msgstr ""
+"La taille de police la plus petite utilisée par Filelight pour afficher les "
+"libellés."
+
+#. i18n: file ./src/part/dialog.ui line 442
+#: rc.cpp:72
+#, no-c-format
+msgid "Show small files"
+msgstr "Afficher les petits fichiers"
+
+#. i18n: file ./src/part/dialog.ui line 445
+#: rc.cpp:75
+#, no-c-format
+msgid ""
+"Some files are too small to be rendered on the filemap. Selecting this option "
+"makes these files visible by merging them all into a single \"multi-segment\"."
+msgstr ""
+"Certains fichiers sont trop petits pour être affichés sur la carte de fichiers. "
+"La sélection de cette option rendra visible ces fichiers en les fusionnant tous "
+"dans un segments unique."
+
+#. i18n: file ./src/part/dialog.ui line 464
+#: rc.cpp:78
+#, no-c-format
+msgid "&Reset"
+msgstr "&Réinitialiser"
+
+#. i18n: file ./src/part/dialog.ui line 470
+#: rc.cpp:81
+#, no-c-format
+msgid "Reset any changes you have made since you opened this dialog."
+msgstr ""
+"Réinitialiser les changements que vous avez effectué depuis que vous avez "
+"ouvert cette fenêtre."
+
+#. i18n: file ./misc/filelightui.rc line 4
+#: rc.cpp:87
+#, no-c-format
+msgid "&Scan"
+msgstr "&Analyser"
+
+#. i18n: file ./misc/filelightui.rc line 19
+#: rc.cpp:93
+#, no-c-format
+msgid "&Go"
+msgstr "A&ller"
+
+#. i18n: file ./misc/filelightui.rc line 35
+#: rc.cpp:99
+#, no-c-format
+msgid "Location Toolbar"
+msgstr "Barre d'adresse"
+
+#: src/app/historyAction.cpp:46
+msgid "Forward"
+msgstr "Suivant"
+
+#: src/app/main.cpp:15
+msgid "Scan 'path'"
+msgstr "Analyse de « chemin »"
+
+#: src/app/main.cpp:21
+msgid "Graphical disk-usage information"
+msgstr "Information graphique de l'utilisation du disque"
+
+#: src/app/main.cpp:22
+#, fuzzy
+msgid "(C )2006 Max Howell"
+msgstr "(C) 2003 Max Howell"
+
+#: src/app/main.cpp:30
+msgid "Author, maintainer"
+msgstr ""
+
+#: src/app/main.cpp:31
+msgid "Documentation"
+msgstr ""
+
+#: src/app/main.cpp:32
+msgid "Inspiration"
+msgstr "Inspiration"
+
+#: src/app/main.cpp:33
+#, fuzzy
+msgid "Internationalization"
+msgstr "Gestion de l'internationalisation"
+
+#: src/app/main.cpp:34
+msgid "Testing"
+msgstr ""
+
+#: src/app/main.cpp:35
+#, fuzzy
+msgid "Bravery in the face of unreadable code"
+msgstr "Bravoure face à du code illisible (correctifs)"
+
+#: src/app/mainWindow.cpp:40
+msgid ""
+"KDE could not find the Filelight Part, or the Filelight Part could not be "
+"started. Did you make install?"
+msgstr ""
+"Impossible pour KDE de trouver le module Filelight, à moins que celui-ci ne "
+"puisse être chargé. Avez-vous exécuté la commande « make install » ?"
+
+#: src/app/mainWindow.cpp:57
+msgid ""
+"Filelight is not installed properly, consequently its menus and toolbars will "
+"appear reduced or even empty"
+msgstr ""
+
+#: src/app/mainWindow.cpp:91
+msgid "Scan &Home Directory"
+msgstr "Analyser le dossier &personnel"
+
+#: src/app/mainWindow.cpp:92
+msgid "Scan &Root Directory"
+msgstr "Analyser le dossier &racine"
+
+#: src/app/mainWindow.cpp:93
+msgid "Rescan"
+msgstr "Réanalyser"
+
+#: src/app/mainWindow.cpp:95
+msgid "Clear Location Bar"
+msgstr "Vider la barre d'URL"
+
+#: src/app/mainWindow.cpp:96
+msgid "Go"
+msgstr "Aller"
+
+#: src/app/mainWindow.cpp:98
+msgid "Location Bar"
+msgstr "Barre d'adresse"
+
+#: src/app/mainWindow.cpp:99
+msgid "&Recent Scans"
+msgstr "&Analyses récentes"
+
+#: src/app/mainWindow.cpp:102
+msgid "&Scan Directory..."
+msgstr "&Analyser le dossier..."
+
+#: src/app/mainWindow.cpp:263
+msgid ""
+"_: &Up: /home/mxcl\n"
+"%1: %2"
+msgstr ""
+
+#: src/part/progressBox.cpp:62
+#, c-format
+msgid ""
+"_n: %n File\n"
+"%n Files"
+msgstr ""
+"%n fichier\n"
+"%n fichiers"
+
+#: src/part/radialMap/widgetEvents.cpp:165
+msgid "Open &Konqueror Here"
+msgstr "Ouvrir &Konqueror ici"
+
+#: src/part/radialMap/widgetEvents.cpp:168
+msgid "Open &Konsole Here"
+msgstr "Ouvrir une &Konsole ici"
+
+#: src/part/radialMap/widgetEvents.cpp:172
+msgid "&Center Map Here"
+msgstr "&Centrer la carte ici"
+
+#: src/part/radialMap/widgetEvents.cpp:176
+msgid "&Open"
+msgstr "&Ouvrir"
+
+#: src/part/radialMap/widgetEvents.cpp:179
+msgid "&Copy to clipboard"
+msgstr ""
+
+#: src/part/radialMap/widgetEvents.cpp:207
+msgid ""
+"<qt>The directory at <i>'%1'</i> will be <b>recursively</b> and <b>"
+"permanently</b> deleted."
+msgstr ""
+"<qt>Le dossier « <i>%1</i> » et <b>tous</b> ces éléments seront <b>"
+"réellement</b> supprimés.</qt>"
+
+#: src/part/radialMap/widgetEvents.cpp:208
+msgid "<qt><i>'%1'</i> will be <b>permanently</b> deleted."
+msgstr "<qt>« <i>%1</i> » sera <b>réellement</b> supprimé.</qt>"
+
+#: src/part/radialMap/builder.cpp:133
+msgid ""
+"_: There can't ever be only 1 file\n"
+"%1 files, each about %2"
+msgstr "%1 fichiers, chacun faisant environ %2"
+
+#: src/part/radialMap/segmentTip.cpp:126
+#, c-format
+msgid "Files: %1"
+msgstr "Fichiers : %1"
+
+#: src/part/settingsDialog.cpp:26
+msgid "Rainbow"
+msgstr "Arc-en-ciel"
+
+#: src/part/settingsDialog.cpp:27
+msgid "KDE Colors"
+msgstr "Couleurs de KDE"
+
+#: src/part/settingsDialog.cpp:28
+msgid "High Contrast"
+msgstr "Contraste élevé"
+
+#: src/part/settingsDialog.cpp:146
+msgid "That directory is already set to be excluded from scans"
+msgstr "Ce dossier est déjà exclus de l'analyse"
+
+#: src/part/part.cpp:62
+msgid "Configure Filelight..."
+msgstr "Configurer Filelight..."
+
+#: src/part/part.cpp:118
+msgid "The entered URL cannot be parsed; it is invalid."
+msgstr "L'URL saisie ne peut être analysée ; elle n'est pas valable."
+
+#: src/part/part.cpp:122
+#, c-format
+msgid "Filelight only accepts absolute paths, eg. /%1"
+msgstr "Filelight n'accepte que les chemins absolus, ex : « /%1 »"
+
+#: src/part/part.cpp:126
+#, c-format
+msgid "Directory not found: %1"
+msgstr "Impossible de trouver le dossier : « %1 »"
+
+#: src/part/part.cpp:130
+msgid ""
+"Unable to enter: %1\n"
+"You do not have access rights to this location."
+msgstr ""
+"Impossible d'analyser : « %1 »\n"
+"Vous n'avez pas les droits d'accès à cet emplacement."
+
+#: src/part/part.cpp:147
+msgid "Aborting Scan..."
+msgstr "Abandon de l'analyse..."
+
+#: src/part/part.cpp:195
+#, c-format
+msgid "Scanning: %1"
+msgstr "Analyse de : %1"
+
+#: src/part/part.cpp:220
+msgid "Scan completed, generating map..."
+msgstr "Analyse effectuée, génération de la carte..."
+
+#: src/part/part.cpp:229
+#, c-format
+msgid "Scan failed: %1"
+msgstr "Analyse échouée de : %1"
+
+#: src/part/summaryWidget.cpp:102
+msgid "Free"
+msgstr "Libre"
+
+#: src/part/summaryWidget.cpp:103
+msgid "Used"
+msgstr "Utilisé"
+
+#: _translatorinfo.cpp:1
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr "Nicolas Ternisien"
+
+#: _translatorinfo.cpp:3
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr "nicolas.ternisien@gmail.com"
+
+#~ msgid "Me"
+#~ msgstr "Moi"
+
+#~ msgid "Handbook guru"
+#~ msgstr "Gourou du manuel de l'utilisateur"
+
+#~ msgid "\"Girlfriend usability-testing\""
+#~ msgstr "« Test de l'utilisation par la petite amie »"
+
+#~ msgid "Welsh Translation"
+#~ msgstr "Traduction galloise"
+
+#~ msgid "German Translation, testing, bug reports and suggestions"
+#~ msgstr "Traduction allemande, tests, rapports de bogues et suggestions"
+
+#~ msgid "Slovak Translation"
+#~ msgstr "Traduction slovaque"
+
+#~ msgid "Polish Translation"
+#~ msgstr "Traduction polonaise"
+
+#~ msgid "Spanish Translation"
+#~ msgstr "Traduction espagnole"
+
+#~ msgid "French Translation"
+#~ msgstr "Traduction française"
+
+#~ msgid "Russian Translation"
+#~ msgstr "Traduction russe"
+
+#~ msgid "Dutch Translation"
+#~ msgstr "Traduction hollandaise"
+
+#~ msgid ""
+#~ "Called: %1\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Appelé : %1\n"
+#~ "\n"
+
+#~ msgid "could not execute %1"
+#~ msgstr "impossible d'exécuter %1"
+
+#~ msgid "Use the Scan-menu to begin..."
+#~ msgstr "Utiliser le menu « Analyse » pour commencer..."
+
+#~ msgid "Up"
+#~ msgstr "Monter"
+
+#~ msgid "Up: %1"
+#~ msgstr "Monter : %1"
diff --git a/po/ga/Makefile.am b/po/ga/Makefile.am
new file mode 100644
index 0000000..0c2770a
--- /dev/null
+++ b/po/ga/Makefile.am
@@ -0,0 +1,3 @@
+KDE_LANG = ga
+SUBDIRS = $(AUTODIRS)
+POFILES = AUTO
diff --git a/po/ga/filelight.po b/po/ga/filelight.po
new file mode 100644
index 0000000..360334e
--- /dev/null
+++ b/po/ga/filelight.po
@@ -0,0 +1,457 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: kdeextragear-3/filelight.po\n"
+"POT-Creation-Date: 2006-08-20 12:01+0200\n"
+"PO-Revision-Date: 2005-01-09 09:55-0500\n"
+"Last-Translator: Kevin Patrick Scannell <scannell@SLU.EDU>\n"
+"Language-Team: Irish <ga@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. i18n: file ./src/part/dialog.ui line 16
+#: rc.cpp:3
+#, no-c-format
+msgid "Settings - Filelight"
+msgstr "Socruithe - Filelight"
+
+#. i18n: file ./src/part/dialog.ui line 34
+#: rc.cpp:6
+#, no-c-format
+msgid "Scannin&g"
+msgstr "Á &Scanadh"
+
+#. i18n: file ./src/part/dialog.ui line 53
+#: rc.cpp:9
+#, no-c-format
+msgid "Do &not scan these directories:"
+msgstr "&Ná scan na comhadlanna seo:"
+
+#. i18n: file ./src/part/dialog.ui line 70
+#: rc.cpp:13
+#, no-c-format
+msgid ""
+"Filelight will not scan these directories unless you specifically request them."
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 106
+#: rc.cpp:16
+#, no-c-format
+msgid "R&emove"
+msgstr "&Bain"
+
+#. i18n: file ./src/part/dialog.ui line 117
+#: rc.cpp:19
+#, no-c-format
+msgid "&Add..."
+msgstr "&Cuir Leis..."
+
+#. i18n: file ./src/part/dialog.ui line 202
+#: rc.cpp:22
+#, no-c-format
+msgid "Exclude remote files&ystems"
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 208
+#: rc.cpp:26
+#, no-c-format
+msgid ""
+"Prevents scanning of filesystems that are not on this computer, e.g. NFS or "
+"Samba mounts."
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 216
+#: rc.cpp:29
+#, no-c-format
+msgid "Scan across filesystem &boundaries"
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 219
+#: rc.cpp:32
+#, no-c-format
+msgid ""
+"Allows scans to enter directories that are part of other filesystems. For "
+"example, when unchecked, this will usually prevent the contents of <b>/mnt</b> "
+"from being scanned if you scan <b>/</b>."
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 230
+#: rc.cpp:35
+#, no-c-format
+msgid "E&xclude removable media"
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 236
+#: rc.cpp:39
+#, no-c-format
+msgid "Prevents Filelight from scanning removable media (eg. CD-ROMs)."
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 248
+#: rc.cpp:42
+#, no-c-format
+msgid "&Appearance"
+msgstr "&Cuma"
+
+#. i18n: file ./src/part/dialog.ui line 259
+#: rc.cpp:45
+#, no-c-format
+msgid "Scheme"
+msgstr "Scéim"
+
+#. i18n: file ./src/part/dialog.ui line 291
+#: rc.cpp:48
+#, no-c-format
+msgid "Co&ntrast"
+msgstr "Codars&nacht"
+
+#. i18n: file ./src/part/dialog.ui line 314
+#: rc.cpp:51
+#, no-c-format
+msgid "Here you can vary the contrast of the filemap in realtime."
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 326
+#: rc.cpp:54
+#, no-c-format
+msgid "&Use anti-aliasing"
+msgstr "Úsáid &frithailiasáil"
+
+#. i18n: file ./src/part/dialog.ui line 329
+#: rc.cpp:57
+#, no-c-format
+msgid ""
+"Anti-aliasing the filemap makes it clearer and prettier, unfortunately it also "
+"makes rendering very slow."
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 351
+#: rc.cpp:60
+#, no-c-format
+msgid "Var&y label font sizes"
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 354
+#: rc.cpp:63
+#, no-c-format
+msgid ""
+"The font size of exploded labels can be varied relative to the depth of the "
+"directories they represent. This helps you spot the important labels more "
+"easily. Set a sensible minimum font size."
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 390
+#: rc.cpp:66
+#, no-c-format
+msgid "Minimum font si&ze:"
+msgstr "&Clómhéid is lú:"
+
+#. i18n: file ./src/part/dialog.ui line 399
+#: rc.cpp:69
+#, no-c-format
+msgid "The smallest font size Filelight can use to render labels."
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 442
+#: rc.cpp:72
+#, no-c-format
+msgid "Show small files"
+msgstr "Taispeáin comhaid bheaga"
+
+#. i18n: file ./src/part/dialog.ui line 445
+#: rc.cpp:75
+#, no-c-format
+msgid ""
+"Some files are too small to be rendered on the filemap. Selecting this option "
+"makes these files visible by merging them all into a single \"multi-segment\"."
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 464
+#: rc.cpp:78
+#, no-c-format
+msgid "&Reset"
+msgstr "Athshoc&raigh"
+
+#. i18n: file ./src/part/dialog.ui line 470
+#: rc.cpp:81
+#, no-c-format
+msgid "Reset any changes you have made since you opened this dialog."
+msgstr ""
+
+#. i18n: file ./misc/filelightui.rc line 4
+#: rc.cpp:87
+#, no-c-format
+msgid "&Scan"
+msgstr "&Scan"
+
+#. i18n: file ./misc/filelightui.rc line 19
+#: rc.cpp:93
+#, no-c-format
+msgid "&Go"
+msgstr "&Téigh"
+
+#. i18n: file ./misc/filelightui.rc line 35
+#: rc.cpp:99
+#, no-c-format
+msgid "Location Toolbar"
+msgstr "Barra Uirlisí Suíomh"
+
+#: src/app/historyAction.cpp:46
+msgid "Forward"
+msgstr "Ar Aghaidh"
+
+#: src/app/main.cpp:15
+msgid "Scan 'path'"
+msgstr ""
+
+#: src/app/main.cpp:21
+msgid "Graphical disk-usage information"
+msgstr ""
+
+#: src/app/main.cpp:22
+msgid "(C )2006 Max Howell"
+msgstr "© 2006 Max Howell"
+
+#: src/app/main.cpp:30
+msgid "Author, maintainer"
+msgstr "Údar, cothaitheoir"
+
+#: src/app/main.cpp:31
+msgid "Documentation"
+msgstr "Doiciméadú"
+
+#: src/app/main.cpp:32
+msgid "Inspiration"
+msgstr "Inspreagadh"
+
+#: src/app/main.cpp:33
+msgid "Internationalization"
+msgstr "Idirnáisiúnú"
+
+#: src/app/main.cpp:34
+msgid "Testing"
+msgstr "Tástáil"
+
+#: src/app/main.cpp:35
+msgid "Bravery in the face of unreadable code"
+msgstr ""
+
+#: src/app/mainWindow.cpp:40
+msgid ""
+"KDE could not find the Filelight Part, or the Filelight Part could not be "
+"started. Did you make install?"
+msgstr ""
+
+#: src/app/mainWindow.cpp:57
+msgid ""
+"Filelight is not installed properly, consequently its menus and toolbars will "
+"appear reduced or even empty"
+msgstr ""
+
+#: src/app/mainWindow.cpp:91
+msgid "Scan &Home Directory"
+msgstr "Scan an C&homhadlann Baile"
+
+#: src/app/mainWindow.cpp:92
+msgid "Scan &Root Directory"
+msgstr "Scan an Fh&réamhchomhadlann"
+
+#: src/app/mainWindow.cpp:93
+msgid "Rescan"
+msgstr "Athscan"
+
+#: src/app/mainWindow.cpp:95
+msgid "Clear Location Bar"
+msgstr "Glan an Barra Suímh"
+
+#: src/app/mainWindow.cpp:96
+msgid "Go"
+msgstr "Téigh"
+
+#: src/app/mainWindow.cpp:98
+msgid "Location Bar"
+msgstr "Barra Suímh"
+
+#: src/app/mainWindow.cpp:99
+msgid "&Recent Scans"
+msgstr ""
+
+#: src/app/mainWindow.cpp:102
+msgid "&Scan Directory..."
+msgstr "&Scan Comhadlann..."
+
+#: src/app/mainWindow.cpp:263
+msgid ""
+"_: &Up: /home/mxcl\n"
+"%1: %2"
+msgstr "%1: %2"
+
+#: src/part/progressBox.cpp:62
+#, c-format
+msgid ""
+"_n: %n File\n"
+"%n Files"
+msgstr ""
+"%n Chomhad\n"
+"%n Chomhad\n"
+"%n Chomhad\n"
+"%n gComhad\n"
+"%n Comhad"
+
+#: src/part/radialMap/widgetEvents.cpp:165
+msgid "Open &Konqueror Here"
+msgstr "Oscail &Konqueror Anseo"
+
+#: src/part/radialMap/widgetEvents.cpp:168
+msgid "Open &Konsole Here"
+msgstr "Oscail &Konsole Anseo"
+
+#: src/part/radialMap/widgetEvents.cpp:172
+msgid "&Center Map Here"
+msgstr ""
+
+#: src/part/radialMap/widgetEvents.cpp:176
+msgid "&Open"
+msgstr "&Oscail"
+
+#: src/part/radialMap/widgetEvents.cpp:179
+msgid "&Copy to clipboard"
+msgstr "&Cóipeáil go dtí an ghearrthaisce"
+
+#: src/part/radialMap/widgetEvents.cpp:207
+msgid ""
+"<qt>The directory at <i>'%1'</i> will be <b>recursively</b> and <b>"
+"permanently</b> deleted."
+msgstr ""
+
+#: src/part/radialMap/widgetEvents.cpp:208
+msgid "<qt><i>'%1'</i> will be <b>permanently</b> deleted."
+msgstr ""
+
+#: src/part/radialMap/builder.cpp:133
+msgid ""
+"_: There can't ever be only 1 file\n"
+"%1 files, each about %2"
+msgstr ""
+
+#: src/part/radialMap/segmentTip.cpp:126
+#, c-format
+msgid "Files: %1"
+msgstr "Comhaid: %1"
+
+#: src/part/settingsDialog.cpp:26
+msgid "Rainbow"
+msgstr "Tua Cheatha"
+
+#: src/part/settingsDialog.cpp:27
+msgid "KDE Colors"
+msgstr "Dathanna KDE"
+
+#: src/part/settingsDialog.cpp:28
+msgid "High Contrast"
+msgstr "Ardchodarsnacht"
+
+#: src/part/settingsDialog.cpp:146
+msgid "That directory is already set to be excluded from scans"
+msgstr ""
+
+#: src/part/part.cpp:62
+msgid "Configure Filelight..."
+msgstr "Cumraigh Filelight..."
+
+#: src/part/part.cpp:118
+msgid "The entered URL cannot be parsed; it is invalid."
+msgstr ""
+
+#: src/part/part.cpp:122
+#, c-format
+msgid "Filelight only accepts absolute paths, eg. /%1"
+msgstr "Glacann Filelight le dearbhchonairí amháin, m.sh. /%1"
+
+#: src/part/part.cpp:126
+#, c-format
+msgid "Directory not found: %1"
+msgstr "Comhadlann gan aimsiú: %1"
+
+#: src/part/part.cpp:130
+msgid ""
+"Unable to enter: %1\n"
+"You do not have access rights to this location."
+msgstr ""
+
+#: src/part/part.cpp:147
+msgid "Aborting Scan..."
+msgstr "Scanadh á thobscor..."
+
+#: src/part/part.cpp:195
+#, c-format
+msgid "Scanning: %1"
+msgstr "%1 á scanadh"
+
+#: src/part/part.cpp:220
+msgid "Scan completed, generating map..."
+msgstr ""
+
+#: src/part/part.cpp:229
+#, c-format
+msgid "Scan failed: %1"
+msgstr "Theip ar scanadh: %1"
+
+#: src/part/summaryWidget.cpp:102
+msgid "Free"
+msgstr "Saor"
+
+#: src/part/summaryWidget.cpp:103
+msgid "Used"
+msgstr "Úsáidte"
+
+#: _translatorinfo.cpp:1
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr "Séamus Ó Ciardhuáin,Kevin Scannell"
+
+#: _translatorinfo.cpp:3
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr "seoc at iolfree dot ie,scannell at slu dot edu"
+
+#~ msgid "Me"
+#~ msgstr "Mise"
+
+#~ msgid "Handbook guru"
+#~ msgstr "Gúrú an lámhleabhair"
+
+#~ msgid "Welsh Translation"
+#~ msgstr "Aistriúchán Breatnaise"
+
+#~ msgid "Slovak Translation"
+#~ msgstr "Aistriúchán Slóvaicise"
+
+#~ msgid "Polish Translation"
+#~ msgstr "Aistriúchán Polainnise"
+
+#~ msgid "Spanish Translation"
+#~ msgstr "Aistriúchán Spáinnise"
+
+#~ msgid "French Translation"
+#~ msgstr "Aistriúchán Fraincise"
+
+#~ msgid "Russian Translation"
+#~ msgstr "Aistriúchán Rúisise"
+
+#~ msgid "Dutch Translation"
+#~ msgstr "Aistriúchán Ollainnise"
+
+#~ msgid "could not execute %1"
+#~ msgstr "ní féidir %1 a rith"
+
+#~ msgid "Up"
+#~ msgstr "Suas"
+
+#~ msgid "Up: %1"
+#~ msgstr "Suas: %1"
+
+#~ msgid "%1 Files"
+#~ msgstr "%1 Comhad"
diff --git a/po/gl/Makefile.am b/po/gl/Makefile.am
new file mode 100644
index 0000000..a789d51
--- /dev/null
+++ b/po/gl/Makefile.am
@@ -0,0 +1,3 @@
+KDE_LANG = gl
+SUBDIRS = $(AUTODIRS)
+POFILES = AUTO
diff --git a/po/gl/filelight.po b/po/gl/filelight.po
new file mode 100644
index 0000000..febf650
--- /dev/null
+++ b/po/gl/filelight.po
@@ -0,0 +1,440 @@
+# translation of filelight.po to Galician
+#
+# mvillarino <mvillarino@users.sourceforge.net>, 2006.
+msgid ""
+msgstr ""
+"Project-Id-Version: filelight\n"
+"POT-Creation-Date: 2006-08-20 12:01+0200\n"
+"PO-Revision-Date: 2006-08-24 19:53+0200\n"
+"Last-Translator: mvillarino <mvillarino@users.sourceforge.net>\n"
+"Language-Team: Galician <trasno@ceu.fi.udc.es>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.2\n"
+
+#. i18n: file ./src/part/dialog.ui line 16
+#: rc.cpp:3
+#, no-c-format
+msgid "Settings - Filelight"
+msgstr "Configurazón - Filelight"
+
+#. i18n: file ./src/part/dialog.ui line 34
+#: rc.cpp:6
+#, no-c-format
+msgid "Scannin&g"
+msgstr "Análi&se"
+
+#. i18n: file ./src/part/dialog.ui line 53
+#: rc.cpp:9
+#, no-c-format
+msgid "Do &not scan these directories:"
+msgstr "Non analisar estes &directórios:"
+
+#. i18n: file ./src/part/dialog.ui line 70
+#: rc.cpp:13
+#, no-c-format
+msgid ""
+"Filelight will not scan these directories unless you specifically request them."
+msgstr ""
+"Filelight non analisará estes directórios a non ser que o pida explicitamente."
+
+#. i18n: file ./src/part/dialog.ui line 106
+#: rc.cpp:16
+#, no-c-format
+msgid "R&emove"
+msgstr "Bo&rrar"
+
+#. i18n: file ./src/part/dialog.ui line 117
+#: rc.cpp:19
+#, no-c-format
+msgid "&Add..."
+msgstr "&Engadir..."
+
+#. i18n: file ./src/part/dialog.ui line 202
+#: rc.cpp:22
+#, no-c-format
+msgid "Exclude remote files&ystems"
+msgstr "Excluir os sistemas de ficheiros re&motos"
+
+#. i18n: file ./src/part/dialog.ui line 208
+#: rc.cpp:26
+#, no-c-format
+msgid ""
+"Prevents scanning of filesystems that are not on this computer, e.g. NFS or "
+"Samba mounts."
+msgstr ""
+"Evita que se analisen sistemas de ficheiros que non estexan neste ordenador, "
+"por exemplo pontos de montaxe NFS ou Samba."
+
+#. i18n: file ./src/part/dialog.ui line 216
+#: rc.cpp:29
+#, no-c-format
+msgid "Scan across filesystem &boundaries"
+msgstr "Analisar dentro dos limites do sistema de &ficheiros"
+
+#. i18n: file ./src/part/dialog.ui line 219
+#: rc.cpp:32
+#, no-c-format
+msgid ""
+"Allows scans to enter directories that are part of other filesystems. For "
+"example, when unchecked, this will usually prevent the contents of <b>/mnt</b> "
+"from being scanned if you scan <b>/</b>."
+msgstr ""
+"Permite-lle ás análises entrar en directórios que sexan parte de outros "
+"sistemas de ficheiros. Por exemplo, se non o sinala,isto evitará que o contido "
+"de <b>/mnt</b> sexa analisado se analisa <b>/</b>."
+
+#. i18n: file ./src/part/dialog.ui line 230
+#: rc.cpp:35
+#, no-c-format
+msgid "E&xclude removable media"
+msgstr "Excluir os dispositivos mo&víbeis"
+
+#. i18n: file ./src/part/dialog.ui line 236
+#: rc.cpp:39
+#, no-c-format
+msgid "Prevents Filelight from scanning removable media (eg. CD-ROMs)."
+msgstr "Evita que Filelight analise dispositívos extraíbeis (como CD-ROMs)."
+
+#. i18n: file ./src/part/dialog.ui line 248
+#: rc.cpp:42
+#, no-c-format
+msgid "&Appearance"
+msgstr " &Aparéncia "
+
+#. i18n: file ./src/part/dialog.ui line 259
+#: rc.cpp:45
+#, no-c-format
+msgid "Scheme"
+msgstr "Esquema"
+
+#. i18n: file ./src/part/dialog.ui line 291
+#: rc.cpp:48
+#, no-c-format
+msgid "Co&ntrast"
+msgstr "Co&ntraste"
+
+#. i18n: file ./src/part/dialog.ui line 314
+#: rc.cpp:51
+#, no-c-format
+msgid "Here you can vary the contrast of the filemap in realtime."
+msgstr "Aqui pode variar o contraste do mapa dos ficheiros en tempo-real."
+
+#. i18n: file ./src/part/dialog.ui line 326
+#: rc.cpp:54
+#, no-c-format
+msgid "&Use anti-aliasing"
+msgstr "&Usar anti-aliasing"
+
+#. i18n: file ./src/part/dialog.ui line 329
+#: rc.cpp:57
+#, no-c-format
+msgid ""
+"Anti-aliasing the filemap makes it clearer and prettier, unfortunately it also "
+"makes rendering very slow."
+msgstr ""
+"O suavizado de contornos do mapa dos ficheiros fai-no mais claro e bonito, pero "
+"o debuxado é moi lento."
+
+#. i18n: file ./src/part/dialog.ui line 351
+#: rc.cpp:60
+#, no-c-format
+msgid "Var&y label font sizes"
+msgstr "&Variar os tamaños de letra das etiquetas"
+
+#. i18n: file ./src/part/dialog.ui line 354
+#: rc.cpp:63
+#, no-c-format
+msgid ""
+"The font size of exploded labels can be varied relative to the depth of the "
+"directories they represent. This helps you spot the important labels more "
+"easily. Set a sensible minimum font size."
+msgstr ""
+"O tamaño de letras pode ser variado en relazón á profundidade do directório que "
+"representen. Isto axuda a localizar as importantes con facilidade. Verifique "
+"que o tamaño mínimo sexa lexíbel."
+
+#. i18n: file ./src/part/dialog.ui line 390
+#: rc.cpp:66
+#, no-c-format
+msgid "Minimum font si&ze:"
+msgstr "Tamaño de &letra mí­nimo:"
+
+#. i18n: file ./src/part/dialog.ui line 399
+#: rc.cpp:69
+#, no-c-format
+msgid "The smallest font size Filelight can use to render labels."
+msgstr "O tamaño de letra mais pequeno a usar para representar as lendas."
+
+#. i18n: file ./src/part/dialog.ui line 442
+#: rc.cpp:72
+#, no-c-format
+msgid "Show small files"
+msgstr "Mostrar os ficheiros pequenos"
+
+#. i18n: file ./src/part/dialog.ui line 445
+#: rc.cpp:75
+#, no-c-format
+msgid ""
+"Some files are too small to be rendered on the filemap. Selecting this option "
+"makes these files visible by merging them all into a single \"multi-segment\"."
+msgstr ""
+"Alguns ficheiros son pequenos de mais para ser debuxados no mapa. Se escolle "
+"esta opzón fará-os visíbeis xuntando-os nun único \"multi-segmento\"."
+
+#. i18n: file ./src/part/dialog.ui line 464
+#: rc.cpp:78
+#, no-c-format
+msgid "&Reset"
+msgstr "&Reiniciar"
+
+#. i18n: file ./src/part/dialog.ui line 470
+#: rc.cpp:81
+#, no-c-format
+msgid "Reset any changes you have made since you opened this dialog."
+msgstr "Anula todos os cámbios que fixo desde que abriu este diálogo."
+
+#. i18n: file ./misc/filelightui.rc line 4
+#: rc.cpp:87
+#, no-c-format
+msgid "&Scan"
+msgstr "Pe&squisar"
+
+#. i18n: file ./misc/filelightui.rc line 19
+#: rc.cpp:93
+#, no-c-format
+msgid "&Go"
+msgstr "&Ir para"
+
+#. i18n: file ./misc/filelightui.rc line 35
+#: rc.cpp:99
+#, no-c-format
+msgid "Location Toolbar"
+msgstr "Barra de Localizazón"
+
+#: src/app/historyAction.cpp:46
+msgid "Forward"
+msgstr " Avanzar "
+
+#: src/app/main.cpp:15
+msgid "Scan 'path'"
+msgstr "Analisar a rota"
+
+#: src/app/main.cpp:21
+msgid "Graphical disk-usage information"
+msgstr "Informazón gráfica da utilizadon do disco"
+
+#: src/app/main.cpp:22
+msgid "(C )2006 Max Howell"
+msgstr "(C) 2006 Max Howell"
+
+#: src/app/main.cpp:30
+msgid "Author, maintainer"
+msgstr "Autor, mantedor"
+
+#: src/app/main.cpp:31
+msgid "Documentation"
+msgstr "Documentazón"
+
+#: src/app/main.cpp:32
+msgid "Inspiration"
+msgstr "Inspirazón"
+
+#: src/app/main.cpp:33
+msgid "Internationalization"
+msgstr "Internacionalizazón"
+
+#: src/app/main.cpp:34
+msgid "Testing"
+msgstr "Probas"
+
+#: src/app/main.cpp:35
+msgid "Bravery in the face of unreadable code"
+msgstr "Coraxe ao encarar-se a código ilegí­bel"
+
+#: src/app/mainWindow.cpp:40
+msgid ""
+"KDE could not find the Filelight Part, or the Filelight Part could not be "
+"started. Did you make install?"
+msgstr ""
+"KDE non foi quen de encontrar a Componente FilePart, ou non foi posíbel "
+"lanzá-la. Instalou-na correctamente?"
+
+#: src/app/mainWindow.cpp:57
+msgid ""
+"Filelight is not installed properly, consequently its menus and toolbars will "
+"appear reduced or even empty"
+msgstr ""
+"Filelight non está correctamente instalado, polo que os seus menus e barras de "
+"ferramentas han aparecer reducidas ou mesmo valeiras"
+
+#: src/app/mainWindow.cpp:91
+msgid "Scan &Home Directory"
+msgstr "Analisar o Cartafol &Persoal"
+
+#: src/app/mainWindow.cpp:92
+msgid "Scan &Root Directory"
+msgstr "Analisar o Directório &Raiz"
+
+#: src/app/mainWindow.cpp:93
+msgid "Rescan"
+msgstr "Analisar de Novo"
+
+#: src/app/mainWindow.cpp:95
+msgid "Clear Location Bar"
+msgstr "Limpar a Barra de Localizazón"
+
+#: src/app/mainWindow.cpp:96
+msgid "Go"
+msgstr "Ir para"
+
+#: src/app/mainWindow.cpp:98
+msgid "Location Bar"
+msgstr "Barra de Localizazón"
+
+#: src/app/mainWindow.cpp:99
+msgid "&Recent Scans"
+msgstr "Análises R&ecentes "
+
+#: src/app/mainWindow.cpp:102
+msgid "&Scan Directory..."
+msgstr "Anali&sar o Cartafol..."
+
+#: src/app/mainWindow.cpp:263
+msgid ""
+"_: &Up: /home/mxcl\n"
+"%1: %2"
+msgstr "%1: %2"
+
+#: src/part/progressBox.cpp:62
+#, c-format
+msgid ""
+"_n: %n File\n"
+"%n Files"
+msgstr ""
+"%n Ficheiro\n"
+"%n Ficheiros"
+
+#: src/part/radialMap/widgetEvents.cpp:165
+msgid "Open &Konqueror Here"
+msgstr "Abrir &Konqueror Aqui"
+
+#: src/part/radialMap/widgetEvents.cpp:168
+msgid "Open &Konsole Here"
+msgstr "Abrir &Konsole Aqui"
+
+#: src/part/radialMap/widgetEvents.cpp:172
+msgid "&Center Map Here"
+msgstr "&Centrar o Mapa Aqui"
+
+#: src/part/radialMap/widgetEvents.cpp:176
+msgid "&Open"
+msgstr "&Abrir"
+
+#: src/part/radialMap/widgetEvents.cpp:179
+msgid "&Copy to clipboard"
+msgstr "&Copiar para o porta-retallos"
+
+#: src/part/radialMap/widgetEvents.cpp:207
+msgid ""
+"<qt>The directory at <i>'%1'</i> will be <b>recursively</b> and <b>"
+"permanently</b> deleted."
+msgstr ""
+"<qt>O cartafol en <i>%1</i> será borrado <b>recursiva</b> e <b>"
+"permanentemente</b>."
+
+#: src/part/radialMap/widgetEvents.cpp:208
+msgid "<qt><i>'%1'</i> will be <b>permanently</b> deleted."
+msgstr "<qt><i>%1</i> será borrado <b>permanentemente</b>."
+
+#: src/part/radialMap/builder.cpp:133
+msgid ""
+"_: There can't ever be only 1 file\n"
+"%1 files, each about %2"
+msgstr "%1 ficheiros, cada un duns %2"
+
+#: src/part/radialMap/segmentTip.cpp:126
+#, c-format
+msgid "Files: %1"
+msgstr "Ficheiros: %1"
+
+#: src/part/settingsDialog.cpp:26
+msgid "Rainbow"
+msgstr "Arco-da-Vella"
+
+#: src/part/settingsDialog.cpp:27
+msgid "KDE Colors"
+msgstr "Cores de KDE"
+
+#: src/part/settingsDialog.cpp:28
+msgid "High Contrast"
+msgstr "Alto Contraste"
+
+#: src/part/settingsDialog.cpp:146
+msgid "That directory is already set to be excluded from scans"
+msgstr "Ese cartafol xa está a ser excluí­do das procuras "
+
+#: src/part/part.cpp:62
+msgid "Configure Filelight..."
+msgstr "Configurar Filelight..."
+
+#: src/part/part.cpp:118
+msgid "The entered URL cannot be parsed; it is invalid."
+msgstr "Non é posí­bel procesar a URL indicada; non é válida."
+
+#: src/part/part.cpp:122
+#, c-format
+msgid "Filelight only accepts absolute paths, eg. /%1"
+msgstr "Filelight só aceita rotas absolutas, p.ex., /%1 "
+
+#: src/part/part.cpp:126
+#, c-format
+msgid "Directory not found: %1"
+msgstr "Cartafol non encontrada: %1"
+
+#: src/part/part.cpp:130
+msgid ""
+"Unable to enter: %1\n"
+"You do not have access rights to this location."
+msgstr ""
+"Non foi posíbel aceder: %1\n"
+"Non ten permiso de aceso a este lugar."
+
+#: src/part/part.cpp:147
+msgid "Aborting Scan..."
+msgstr "A Cancelar Análise..."
+
+#: src/part/part.cpp:195
+#, c-format
+msgid "Scanning: %1"
+msgstr "A analisar: %1"
+
+#: src/part/part.cpp:220
+msgid "Scan completed, generating map..."
+msgstr "Análise completa, a xerar o mapa..."
+
+#: src/part/part.cpp:229
+#, c-format
+msgid "Scan failed: %1"
+msgstr "A Análise fallou: %1 "
+
+#: src/part/summaryWidget.cpp:102
+msgid "Free"
+msgstr "Libre"
+
+#: src/part/summaryWidget.cpp:103
+msgid "Used"
+msgstr "Utilizado"
+
+#: _translatorinfo.cpp:1
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr "mvillarino"
+
+#: _translatorinfo.cpp:3
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr "mvillarino@users.sourceforge.net"
diff --git a/po/is/Makefile.am b/po/is/Makefile.am
new file mode 100644
index 0000000..2205486
--- /dev/null
+++ b/po/is/Makefile.am
@@ -0,0 +1,3 @@
+KDE_LANG = is
+SUBDIRS = $(AUTODIRS)
+POFILES = AUTO
diff --git a/po/is/filelight.po b/po/is/filelight.po
new file mode 100644
index 0000000..309b8c6
--- /dev/null
+++ b/po/is/filelight.po
@@ -0,0 +1,413 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2006-08-20 12:01+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: ENCODING\n"
+
+#. i18n: file ./src/part/dialog.ui line 16
+#: rc.cpp:3
+#, no-c-format
+msgid "Settings - Filelight"
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 34
+#: rc.cpp:6
+#, no-c-format
+msgid "Scannin&g"
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 53
+#: rc.cpp:9
+#, no-c-format
+msgid "Do &not scan these directories:"
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 70
+#: rc.cpp:13
+#, no-c-format
+msgid ""
+"Filelight will not scan these directories unless you specifically request them."
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 106
+#: rc.cpp:16
+#, no-c-format
+msgid "R&emove"
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 117
+#: rc.cpp:19
+#, no-c-format
+msgid "&Add..."
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 202
+#: rc.cpp:22
+#, no-c-format
+msgid "Exclude remote files&ystems"
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 208
+#: rc.cpp:26
+#, no-c-format
+msgid ""
+"Prevents scanning of filesystems that are not on this computer, e.g. NFS or "
+"Samba mounts."
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 216
+#: rc.cpp:29
+#, no-c-format
+msgid "Scan across filesystem &boundaries"
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 219
+#: rc.cpp:32
+#, no-c-format
+msgid ""
+"Allows scans to enter directories that are part of other filesystems. For "
+"example, when unchecked, this will usually prevent the contents of <b>/mnt</b> "
+"from being scanned if you scan <b>/</b>."
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 230
+#: rc.cpp:35
+#, no-c-format
+msgid "E&xclude removable media"
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 236
+#: rc.cpp:39
+#, no-c-format
+msgid "Prevents Filelight from scanning removable media (eg. CD-ROMs)."
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 248
+#: rc.cpp:42
+#, no-c-format
+msgid "&Appearance"
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 259
+#: rc.cpp:45
+#, no-c-format
+msgid "Scheme"
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 291
+#: rc.cpp:48
+#, no-c-format
+msgid "Co&ntrast"
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 314
+#: rc.cpp:51
+#, no-c-format
+msgid "Here you can vary the contrast of the filemap in realtime."
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 326
+#: rc.cpp:54
+#, no-c-format
+msgid "&Use anti-aliasing"
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 329
+#: rc.cpp:57
+#, no-c-format
+msgid ""
+"Anti-aliasing the filemap makes it clearer and prettier, unfortunately it also "
+"makes rendering very slow."
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 351
+#: rc.cpp:60
+#, no-c-format
+msgid "Var&y label font sizes"
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 354
+#: rc.cpp:63
+#, no-c-format
+msgid ""
+"The font size of exploded labels can be varied relative to the depth of the "
+"directories they represent. This helps you spot the important labels more "
+"easily. Set a sensible minimum font size."
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 390
+#: rc.cpp:66
+#, no-c-format
+msgid "Minimum font si&ze:"
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 399
+#: rc.cpp:69
+#, no-c-format
+msgid "The smallest font size Filelight can use to render labels."
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 442
+#: rc.cpp:72
+#, no-c-format
+msgid "Show small files"
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 445
+#: rc.cpp:75
+#, no-c-format
+msgid ""
+"Some files are too small to be rendered on the filemap. Selecting this option "
+"makes these files visible by merging them all into a single \"multi-segment\"."
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 464
+#: rc.cpp:78
+#, no-c-format
+msgid "&Reset"
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 470
+#: rc.cpp:81
+#, no-c-format
+msgid "Reset any changes you have made since you opened this dialog."
+msgstr ""
+
+#. i18n: file ./misc/filelightui.rc line 4
+#: rc.cpp:87
+#, no-c-format
+msgid "&Scan"
+msgstr ""
+
+#. i18n: file ./misc/filelightui.rc line 19
+#: rc.cpp:93
+#, no-c-format
+msgid "&Go"
+msgstr ""
+
+#. i18n: file ./misc/filelightui.rc line 35
+#: rc.cpp:99
+#, no-c-format
+msgid "Location Toolbar"
+msgstr ""
+
+#: src/app/historyAction.cpp:46
+msgid "Forward"
+msgstr ""
+
+#: src/app/main.cpp:15
+msgid "Scan 'path'"
+msgstr ""
+
+#: src/app/main.cpp:21
+msgid "Graphical disk-usage information"
+msgstr ""
+
+#: src/app/main.cpp:22
+msgid "(C )2006 Max Howell"
+msgstr ""
+
+#: src/app/main.cpp:30
+msgid "Author, maintainer"
+msgstr ""
+
+#: src/app/main.cpp:31
+msgid "Documentation"
+msgstr ""
+
+#: src/app/main.cpp:32
+msgid "Inspiration"
+msgstr ""
+
+#: src/app/main.cpp:33
+msgid "Internationalization"
+msgstr ""
+
+#: src/app/main.cpp:34
+msgid "Testing"
+msgstr ""
+
+#: src/app/main.cpp:35
+msgid "Bravery in the face of unreadable code"
+msgstr ""
+
+#: src/app/mainWindow.cpp:40
+msgid ""
+"KDE could not find the Filelight Part, or the Filelight Part could not be "
+"started. Did you make install?"
+msgstr ""
+
+#: src/app/mainWindow.cpp:57
+msgid ""
+"Filelight is not installed properly, consequently its menus and toolbars will "
+"appear reduced or even empty"
+msgstr ""
+
+#: src/app/mainWindow.cpp:91
+msgid "Scan &Home Directory"
+msgstr ""
+
+#: src/app/mainWindow.cpp:92
+msgid "Scan &Root Directory"
+msgstr ""
+
+#: src/app/mainWindow.cpp:93
+msgid "Rescan"
+msgstr ""
+
+#: src/app/mainWindow.cpp:95
+msgid "Clear Location Bar"
+msgstr ""
+
+#: src/app/mainWindow.cpp:96
+msgid "Go"
+msgstr ""
+
+#: src/app/mainWindow.cpp:98
+msgid "Location Bar"
+msgstr ""
+
+#: src/app/mainWindow.cpp:99
+msgid "&Recent Scans"
+msgstr ""
+
+#: src/app/mainWindow.cpp:102
+msgid "&Scan Directory..."
+msgstr ""
+
+#: src/app/mainWindow.cpp:263
+msgid ""
+"_: &Up: /home/mxcl\n"
+"%1: %2"
+msgstr ""
+
+#: src/part/progressBox.cpp:62
+#, c-format
+msgid ""
+"_n: %n File\n"
+"%n Files"
+msgstr ""
+
+#: src/part/radialMap/widgetEvents.cpp:165
+msgid "Open &Konqueror Here"
+msgstr ""
+
+#: src/part/radialMap/widgetEvents.cpp:168
+msgid "Open &Konsole Here"
+msgstr ""
+
+#: src/part/radialMap/widgetEvents.cpp:172
+msgid "&Center Map Here"
+msgstr ""
+
+#: src/part/radialMap/widgetEvents.cpp:176
+msgid "&Open"
+msgstr ""
+
+#: src/part/radialMap/widgetEvents.cpp:179
+msgid "&Copy to clipboard"
+msgstr ""
+
+#: src/part/radialMap/widgetEvents.cpp:207
+msgid ""
+"<qt>The directory at <i>'%1'</i> will be <b>recursively</b> and <b>"
+"permanently</b> deleted."
+msgstr ""
+
+#: src/part/radialMap/widgetEvents.cpp:208
+msgid "<qt><i>'%1'</i> will be <b>permanently</b> deleted."
+msgstr ""
+
+#: src/part/radialMap/builder.cpp:133
+msgid ""
+"_: There can't ever be only 1 file\n"
+"%1 files, each about %2"
+msgstr ""
+
+#: src/part/radialMap/segmentTip.cpp:126
+#, c-format
+msgid "Files: %1"
+msgstr ""
+
+#: src/part/settingsDialog.cpp:26
+msgid "Rainbow"
+msgstr ""
+
+#: src/part/settingsDialog.cpp:27
+msgid "KDE Colors"
+msgstr ""
+
+#: src/part/settingsDialog.cpp:28
+msgid "High Contrast"
+msgstr ""
+
+#: src/part/settingsDialog.cpp:146
+msgid "That directory is already set to be excluded from scans"
+msgstr ""
+
+#: src/part/part.cpp:62
+msgid "Configure Filelight..."
+msgstr ""
+
+#: src/part/part.cpp:118
+msgid "The entered URL cannot be parsed; it is invalid."
+msgstr ""
+
+#: src/part/part.cpp:122
+#, c-format
+msgid "Filelight only accepts absolute paths, eg. /%1"
+msgstr ""
+
+#: src/part/part.cpp:126
+#, c-format
+msgid "Directory not found: %1"
+msgstr ""
+
+#: src/part/part.cpp:130
+msgid ""
+"Unable to enter: %1\n"
+"You do not have access rights to this location."
+msgstr ""
+
+#: src/part/part.cpp:147
+msgid "Aborting Scan..."
+msgstr ""
+
+#: src/part/part.cpp:195
+#, c-format
+msgid "Scanning: %1"
+msgstr ""
+
+#: src/part/part.cpp:220
+msgid "Scan completed, generating map..."
+msgstr ""
+
+#: src/part/part.cpp:229
+#, c-format
+msgid "Scan failed: %1"
+msgstr ""
+
+#: src/part/summaryWidget.cpp:102
+msgid "Free"
+msgstr ""
+
+#: src/part/summaryWidget.cpp:103
+msgid "Used"
+msgstr ""
+
+#: _translatorinfo.cpp:1
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr ""
+
+#: _translatorinfo.cpp:3
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr ""
diff --git a/po/it/Makefile.am b/po/it/Makefile.am
new file mode 100644
index 0000000..9ef9214
--- /dev/null
+++ b/po/it/Makefile.am
@@ -0,0 +1,3 @@
+KDE_LANG = it
+SUBDIRS = $(AUTODIRS)
+POFILES = AUTO
diff --git a/po/it/filelight.po b/po/it/filelight.po
new file mode 100644
index 0000000..ed5c885
--- /dev/null
+++ b/po/it/filelight.po
@@ -0,0 +1,511 @@
+# translation of filelight.po to Italian
+#
+# Federico Zenith <zenith@chemeng.ntnu.no>, 2005, 2006.
+msgid ""
+msgstr ""
+"Project-Id-Version: filelight\n"
+"POT-Creation-Date: 2006-08-20 12:01+0200\n"
+"PO-Revision-Date: 2006-08-22 09:02+0200\n"
+"Last-Translator: Federico Zenith <zenith@chemeng.ntnu.no>\n"
+"Language-Team: Italian <kde-i18n-it@kde.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.2\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. i18n: file ./src/part/dialog.ui line 16
+#: rc.cpp:3
+#, no-c-format
+msgid "Settings - Filelight"
+msgstr "Impostazioni - Filelight"
+
+#. i18n: file ./src/part/dialog.ui line 34
+#: rc.cpp:6
+#, no-c-format
+msgid "Scannin&g"
+msgstr "Scansion&e"
+
+#. i18n: file ./src/part/dialog.ui line 53
+#: rc.cpp:9
+#, no-c-format
+msgid "Do &not scan these directories:"
+msgstr "&Non scansionare queste cartelle:"
+
+#. i18n: file ./src/part/dialog.ui line 70
+#: rc.cpp:13
+#, no-c-format
+msgid ""
+"Filelight will not scan these directories unless you specifically request them."
+msgstr ""
+"Filelight non scansionerà queste cartelle a meno che tu lo richieda "
+"specificamente."
+
+#. i18n: file ./src/part/dialog.ui line 106
+#: rc.cpp:16
+#, no-c-format
+msgid "R&emove"
+msgstr "R&imuovi"
+
+#. i18n: file ./src/part/dialog.ui line 117
+#: rc.cpp:19
+#, no-c-format
+msgid "&Add..."
+msgstr "&Aggiungi..."
+
+#. i18n: file ./src/part/dialog.ui line 202
+#: rc.cpp:22
+#, no-c-format
+msgid "Exclude remote files&ystems"
+msgstr "Escludi filesystem &remoti"
+
+#. i18n: file ./src/part/dialog.ui line 208
+#: rc.cpp:26
+#, no-c-format
+msgid ""
+"Prevents scanning of filesystems that are not on this computer, e.g. NFS or "
+"Samba mounts."
+msgstr ""
+"Impedisce la scansione di filesystem che non sono su questa macchina, per "
+"esempio delle unità NFS o Samba."
+
+#. i18n: file ./src/part/dialog.ui line 216
+#: rc.cpp:29
+#, no-c-format
+msgid "Scan across filesystem &boundaries"
+msgstr "Scansiona oltre i &limiti dei file system"
+
+#. i18n: file ./src/part/dialog.ui line 219
+#: rc.cpp:32
+#, no-c-format
+msgid ""
+"Allows scans to enter directories that are part of other filesystems. For "
+"example, when unchecked, this will usually prevent the contents of <b>/mnt</b> "
+"from being scanned if you scan <b>/</b>."
+msgstr ""
+"Permette alle scansioni di entrare in cartelle che fanno parte di altri "
+"filesystem. Per esempio, se non è segnato, ciò normalmente impedirà la "
+"scansione di <b>/mnt</b> se scansioni <b>/</b>."
+
+#. i18n: file ./src/part/dialog.ui line 230
+#: rc.cpp:35
+#, no-c-format
+msgid "E&xclude removable media"
+msgstr "E&scludi i supporti rimovibili"
+
+#. i18n: file ./src/part/dialog.ui line 236
+#: rc.cpp:39
+#, no-c-format
+msgid "Prevents Filelight from scanning removable media (eg. CD-ROMs)."
+msgstr ""
+"Impedisce che Filelight scansioni i supporti rimovibili (per esempio i CD-ROM)."
+
+#. i18n: file ./src/part/dialog.ui line 248
+#: rc.cpp:42
+#, no-c-format
+msgid "&Appearance"
+msgstr "&Aspetto"
+
+#. i18n: file ./src/part/dialog.ui line 259
+#: rc.cpp:45
+#, no-c-format
+msgid "Scheme"
+msgstr "Schema"
+
+#. i18n: file ./src/part/dialog.ui line 291
+#: rc.cpp:48
+#, no-c-format
+msgid "Co&ntrast"
+msgstr "Co&ntrasto"
+
+#. i18n: file ./src/part/dialog.ui line 314
+#: rc.cpp:51
+#, no-c-format
+msgid "Here you can vary the contrast of the filemap in realtime."
+msgstr "Qui puoi variare il contrasto della mappa dei file in tempo reale."
+
+#. i18n: file ./src/part/dialog.ui line 326
+#: rc.cpp:54
+#, no-c-format
+msgid "&Use anti-aliasing"
+msgstr "&Usa l'anti-aliasing"
+
+#. i18n: file ./src/part/dialog.ui line 329
+#: rc.cpp:57
+#, no-c-format
+msgid ""
+"Anti-aliasing the filemap makes it clearer and prettier, unfortunately it also "
+"makes rendering very slow."
+msgstr ""
+"L'anti-aliasing della mappa dei file la rende più chiara e più carina, "
+"sfortunatamente rende anche la resa molto lenta."
+
+#. i18n: file ./src/part/dialog.ui line 351
+#: rc.cpp:60
+#, no-c-format
+msgid "Var&y label font sizes"
+msgstr "Var&ia le dimensioni dei caratteri delle etichette"
+
+#. i18n: file ./src/part/dialog.ui line 354
+#: rc.cpp:63
+#, no-c-format
+msgid ""
+"The font size of exploded labels can be varied relative to the depth of the "
+"directories they represent. This helps you spot the important labels more "
+"easily. Set a sensible minimum font size."
+msgstr ""
+"La dimensione dei caratteri delle etichette espanse può essere variata "
+"relativamente alla profondità delle cartelle che esse rappresentano. Ciò ti "
+"aiuta a notare le etichette importanti più facilmente. Imposta una dimensione "
+"minima dei caratteri leggibile."
+
+#. i18n: file ./src/part/dialog.ui line 390
+#: rc.cpp:66
+#, no-c-format
+msgid "Minimum font si&ze:"
+msgstr "Dimensione &minima dei caratteri:"
+
+#. i18n: file ./src/part/dialog.ui line 399
+#: rc.cpp:69
+#, no-c-format
+msgid "The smallest font size Filelight can use to render labels."
+msgstr "Il più piccolo carattere con cui Filelight può rendere le etichette."
+
+#. i18n: file ./src/part/dialog.ui line 442
+#: rc.cpp:72
+#, no-c-format
+msgid "Show small files"
+msgstr "Mostra i file piccoli"
+
+#. i18n: file ./src/part/dialog.ui line 445
+#: rc.cpp:75
+#, no-c-format
+msgid ""
+"Some files are too small to be rendered on the filemap. Selecting this option "
+"makes these files visible by merging them all into a single \"multi-segment\"."
+msgstr ""
+"Alcuni file sono troppo piccoli per essere resi sulla mappa dei file. "
+"Selezionare questa opzione rende questi file visibili fondendoli tutti in un "
+"\"multi-segmento\" singolo."
+
+#. i18n: file ./src/part/dialog.ui line 464
+#: rc.cpp:78
+#, no-c-format
+msgid "&Reset"
+msgstr "&Reimposta"
+
+#. i18n: file ./src/part/dialog.ui line 470
+#: rc.cpp:81
+#, no-c-format
+msgid "Reset any changes you have made since you opened this dialog."
+msgstr ""
+"Reimposta qualsiasi cambiamento che hai fatto da quando hai aperto questa "
+"finestra."
+
+#. i18n: file ./misc/filelightui.rc line 4
+#: rc.cpp:87
+#, no-c-format
+msgid "&Scan"
+msgstr "&Scansiona"
+
+#. i18n: file ./misc/filelightui.rc line 19
+#: rc.cpp:93
+#, no-c-format
+msgid "&Go"
+msgstr "&Vai"
+
+#. i18n: file ./misc/filelightui.rc line 35
+#: rc.cpp:99
+#, no-c-format
+msgid "Location Toolbar"
+msgstr "Barra di posizione"
+
+#: src/app/historyAction.cpp:46
+msgid "Forward"
+msgstr "Avanti"
+
+#: src/app/main.cpp:15
+msgid "Scan 'path'"
+msgstr "Scansiona 'percorso'"
+
+#: src/app/main.cpp:21
+msgid "Graphical disk-usage information"
+msgstr "Informazioni grafiche sull'uso del disco"
+
+#: src/app/main.cpp:22
+msgid "(C )2006 Max Howell"
+msgstr " (C) 2003 Max Howell"
+
+#: src/app/main.cpp:30
+msgid "Author, maintainer"
+msgstr "Autore, responsabile"
+
+#: src/app/main.cpp:31
+msgid "Documentation"
+msgstr "Documentazione"
+
+#: src/app/main.cpp:32
+msgid "Inspiration"
+msgstr "Ispirazione"
+
+#: src/app/main.cpp:33
+msgid "Internationalization"
+msgstr "Internazionalizzazione"
+
+#: src/app/main.cpp:34
+msgid "Testing"
+msgstr "Prove"
+
+#: src/app/main.cpp:35
+msgid "Bravery in the face of unreadable code"
+msgstr "Sprezzo del pericolo di fronte a codice illeggibile"
+
+#: src/app/mainWindow.cpp:40
+msgid ""
+"KDE could not find the Filelight Part, or the Filelight Part could not be "
+"started. Did you make install?"
+msgstr ""
+"KDE non ha potuto trovare il componente Filelight, o non è stato possibile "
+"avviare il componente Filelight. Hai eseguito un make install?"
+
+#: src/app/mainWindow.cpp:57
+msgid ""
+"Filelight is not installed properly, consequently its menus and toolbars will "
+"appear reduced or even empty"
+msgstr ""
+"Filelight non è installato correttamente, perciò i suoi menu e barre "
+"appariranno ridotti o vuoti"
+
+#: src/app/mainWindow.cpp:91
+msgid "Scan &Home Directory"
+msgstr "Scansiona la cartella &Home"
+
+#: src/app/mainWindow.cpp:92
+msgid "Scan &Root Directory"
+msgstr "Scansiona la cartella &radice"
+
+#: src/app/mainWindow.cpp:93
+msgid "Rescan"
+msgstr "Riscansiona"
+
+#: src/app/mainWindow.cpp:95
+msgid "Clear Location Bar"
+msgstr "Pulisci la barra di posizione"
+
+#: src/app/mainWindow.cpp:96
+msgid "Go"
+msgstr "Vai"
+
+#: src/app/mainWindow.cpp:98
+msgid "Location Bar"
+msgstr "Barra di posizione"
+
+#: src/app/mainWindow.cpp:99
+msgid "&Recent Scans"
+msgstr "Scansioni &recenti"
+
+#: src/app/mainWindow.cpp:102
+msgid "&Scan Directory..."
+msgstr "&Scansiona cartella..."
+
+#: src/app/mainWindow.cpp:263
+msgid ""
+"_: &Up: /home/mxcl\n"
+"%1: %2"
+msgstr "%1: %2"
+
+#: src/part/progressBox.cpp:62
+#, c-format
+msgid ""
+"_n: %n File\n"
+"%n Files"
+msgstr ""
+"%n File\n"
+"%n File"
+
+#: src/part/radialMap/widgetEvents.cpp:165
+msgid "Open &Konqueror Here"
+msgstr "Apri &Konqueror qui"
+
+#: src/part/radialMap/widgetEvents.cpp:168
+msgid "Open &Konsole Here"
+msgstr "Apri &Konsole qui"
+
+#: src/part/radialMap/widgetEvents.cpp:172
+msgid "&Center Map Here"
+msgstr "&Centra la mappa qui"
+
+#: src/part/radialMap/widgetEvents.cpp:176
+msgid "&Open"
+msgstr "&Apri"
+
+#: src/part/radialMap/widgetEvents.cpp:179
+msgid "&Copy to clipboard"
+msgstr "&Copia negli appunti"
+
+#: src/part/radialMap/widgetEvents.cpp:207
+msgid ""
+"<qt>The directory at <i>'%1'</i> will be <b>recursively</b> and <b>"
+"permanently</b> deleted."
+msgstr ""
+"<qt>La cartella a <i>'%1'</i> sarà eliminata <b>ricorsivamente</b> e <b>"
+"permanentemente</b>."
+
+#: src/part/radialMap/widgetEvents.cpp:208
+msgid "<qt><i>'%1'</i> will be <b>permanently</b> deleted."
+msgstr "<qt><i>'%1'</i> sarà eliminato <b>permanentemente</b>."
+
+#: src/part/radialMap/builder.cpp:133
+msgid ""
+"_: There can't ever be only 1 file\n"
+"%1 files, each about %2"
+msgstr "%1 file, ciascuno circa %2"
+
+#: src/part/radialMap/segmentTip.cpp:126
+#, c-format
+msgid "Files: %1"
+msgstr "File: %1"
+
+#: src/part/settingsDialog.cpp:26
+msgid "Rainbow"
+msgstr "Arcobaleno"
+
+#: src/part/settingsDialog.cpp:27
+msgid "KDE Colors"
+msgstr "Colori di KDE"
+
+#: src/part/settingsDialog.cpp:28
+msgid "High Contrast"
+msgstr "Alto contrasto"
+
+#: src/part/settingsDialog.cpp:146
+msgid "That directory is already set to be excluded from scans"
+msgstr "Quella cartella è già impostata come esclusa dalle scansioni"
+
+#: src/part/part.cpp:62
+msgid "Configure Filelight..."
+msgstr "Configura Filelight..."
+
+#: src/part/part.cpp:118
+msgid "The entered URL cannot be parsed; it is invalid."
+msgstr "L'URL inserito non può essere analizzato; non è valido."
+
+#: src/part/part.cpp:122
+#, c-format
+msgid "Filelight only accepts absolute paths, eg. /%1"
+msgstr "Filelight accetta solo percorsi assoluti, per esempio /%1"
+
+#: src/part/part.cpp:126
+#, c-format
+msgid "Directory not found: %1"
+msgstr "Cartella non trovata: %1"
+
+#: src/part/part.cpp:130
+msgid ""
+"Unable to enter: %1\n"
+"You do not have access rights to this location."
+msgstr ""
+"Impossibile entrare in: %1\n"
+"Non hai diritti di accesso a questa posizione."
+
+#: src/part/part.cpp:147
+msgid "Aborting Scan..."
+msgstr "Interruzione della scansione..."
+
+#: src/part/part.cpp:195
+#, c-format
+msgid "Scanning: %1"
+msgstr "Scansione: %1"
+
+#: src/part/part.cpp:220
+msgid "Scan completed, generating map..."
+msgstr "Scansione completa, generazione della mappa..."
+
+#: src/part/part.cpp:229
+#, c-format
+msgid "Scan failed: %1"
+msgstr "Scansione non riuscita: %1"
+
+#: src/part/summaryWidget.cpp:102
+msgid "Free"
+msgstr "Libero"
+
+#: src/part/summaryWidget.cpp:103
+msgid "Used"
+msgstr "Usato"
+
+#: _translatorinfo.cpp:1
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr "Federico Zenith,Luciano Montanaro"
+
+#: _translatorinfo.cpp:3
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr "zenith@chemeng.ntnu.no"
+
+#~ msgid "Me"
+#~ msgstr "Io"
+
+#~ msgid "Handbook guru"
+#~ msgstr "Guru del manuale"
+
+#~ msgid "\"Girlfriend usability-testing\""
+#~ msgstr "\"Prova di usabilità su fidanzata\""
+
+#~ msgid "Welsh Translation"
+#~ msgstr "Traduzione gallese"
+
+#~ msgid "German Translation, testing, bug reports and suggestions"
+#~ msgstr "Traduzione tedesca, prove, segnalazioni di errori e suggerimenti"
+
+#~ msgid "Slovak Translation"
+#~ msgstr "Traduzione slovacca"
+
+#~ msgid "Polish Translation"
+#~ msgstr "Traduzione polacca"
+
+#~ msgid "Spanish Translation"
+#~ msgstr "Traduzione spagnola"
+
+#~ msgid "French Translation"
+#~ msgstr "Traduzione francese"
+
+#~ msgid "Russian Translation"
+#~ msgstr "Traduzione russa"
+
+#~ msgid "Dutch Translation"
+#~ msgstr "Traduzione olandese"
+
+#~ msgid "Alt+Y"
+#~ msgstr "Alt+Y"
+
+#~ msgid "Alt+B"
+#~ msgstr "Alt+B"
+
+#~ msgid "Alt+X"
+#~ msgstr "Alt+X"
+
+#~ msgid ""
+#~ "Called: %1\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Chiamato: %1\n"
+#~ "\n"
+
+#~ msgid "could not execute %1"
+#~ msgstr "impossibile eseguire %1"
+
+#~ msgid "Use the Scan-menu to begin..."
+#~ msgstr "Usa il menu Scansiona per cominciare..."
+
+#~ msgid "Up"
+#~ msgstr "Su"
+
+#~ msgid "Up: %1"
+#~ msgstr "Su: %1"
+
+#~ msgid "%1 Files"
+#~ msgstr "%1 File"
diff --git a/po/ja/Makefile.am b/po/ja/Makefile.am
new file mode 100644
index 0000000..3fc92ce
--- /dev/null
+++ b/po/ja/Makefile.am
@@ -0,0 +1,3 @@
+KDE_LANG = ja
+SUBDIRS = $(AUTODIRS)
+POFILES = AUTO
diff --git a/po/ja/filelight.po b/po/ja/filelight.po
new file mode 100644
index 0000000..4b09954
--- /dev/null
+++ b/po/ja/filelight.po
@@ -0,0 +1,422 @@
+# translation of filelight to Japanese
+# Yukiko BANDO <ybando@k6.dion.ne.jp>, 2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: filelight\n"
+"POT-Creation-Date: 2006-08-20 12:01+0200\n"
+"PO-Revision-Date: 2006-08-21 23:00+0900\n"
+"Last-Translator: Yukiko BANDO <ybando@k6.dion.ne.jp>\n"
+"Language-Team: Japanese <Kdeveloper@kde.gr.jp>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. i18n: file ./src/part/dialog.ui line 16
+#: rc.cpp:3
+#, no-c-format
+msgid "Settings - Filelight"
+msgstr "設定 - Filelight"
+
+#. i18n: file ./src/part/dialog.ui line 34
+#: rc.cpp:6
+#, no-c-format
+msgid "Scannin&g"
+msgstr "スキャン(&G)"
+
+#. i18n: file ./src/part/dialog.ui line 53
+#: rc.cpp:9
+#, no-c-format
+msgid "Do &not scan these directories:"
+msgstr "次のディレクトリはスキャンしない(&N):"
+
+#. i18n: file ./src/part/dialog.ui line 70
+#: rc.cpp:13
+#, no-c-format
+msgid ""
+"Filelight will not scan these directories unless you specifically request them."
+msgstr "明示的に要求されない限り Filelight はこれらのディレクトリをスキャンしません。"
+
+#. i18n: file ./src/part/dialog.ui line 106
+#: rc.cpp:16
+#, no-c-format
+msgid "R&emove"
+msgstr "削除(&E)"
+
+#. i18n: file ./src/part/dialog.ui line 117
+#: rc.cpp:19
+#, no-c-format
+msgid "&Add..."
+msgstr "追加(&A)..."
+
+#. i18n: file ./src/part/dialog.ui line 202
+#: rc.cpp:22
+#, no-c-format
+msgid "Exclude remote files&ystems"
+msgstr "リモートファイルシステムを除外する(&Y)"
+
+#. i18n: file ./src/part/dialog.ui line 208
+#: rc.cpp:26
+#, no-c-format
+msgid ""
+"Prevents scanning of filesystems that are not on this computer, e.g. NFS or "
+"Samba mounts."
+msgstr "このコンピュータ上にないファイルシステム (例 NFS または Samba マウント) をスキャンしません。"
+
+#. i18n: file ./src/part/dialog.ui line 216
+#: rc.cpp:29
+#, no-c-format
+msgid "Scan across filesystem &boundaries"
+msgstr "ファイルシステムの境界を越えてスキャンする(&B)"
+
+#. i18n: file ./src/part/dialog.ui line 219
+#: rc.cpp:32
+#, no-c-format
+msgid ""
+"Allows scans to enter directories that are part of other filesystems. For "
+"example, when unchecked, this will usually prevent the contents of <b>/mnt</b> "
+"from being scanned if you scan <b>/</b>."
+msgstr ""
+"スキャンが他のファイルシステムに属するディレクトリに入るのを許可します。このチェックを外すと、例えば、<b>/</b> をスキャンした時に通常 <b>"
+"/mnt</b> 以下はスキャンしません。"
+
+#. i18n: file ./src/part/dialog.ui line 230
+#: rc.cpp:35
+#, no-c-format
+msgid "E&xclude removable media"
+msgstr "リムーバブルメディアを除外する(&X)"
+
+#. i18n: file ./src/part/dialog.ui line 236
+#: rc.cpp:39
+#, no-c-format
+msgid "Prevents Filelight from scanning removable media (eg. CD-ROMs)."
+msgstr "リムーバブルメディア (例 CD-ROM) をスキャンしません。"
+
+#. i18n: file ./src/part/dialog.ui line 248
+#: rc.cpp:42
+#, no-c-format
+msgid "&Appearance"
+msgstr "外観(&A)"
+
+#. i18n: file ./src/part/dialog.ui line 259
+#: rc.cpp:45
+#, no-c-format
+msgid "Scheme"
+msgstr "スキーム"
+
+#. i18n: file ./src/part/dialog.ui line 291
+#: rc.cpp:48
+#, no-c-format
+msgid "Co&ntrast"
+msgstr "コントラスト(&N)"
+
+#. i18n: file ./src/part/dialog.ui line 314
+#: rc.cpp:51
+#, no-c-format
+msgid "Here you can vary the contrast of the filemap in realtime."
+msgstr "ファイルマップのコントラストをリアルタイムで変更できます。"
+
+#. i18n: file ./src/part/dialog.ui line 326
+#: rc.cpp:54
+#, no-c-format
+msgid "&Use anti-aliasing"
+msgstr "アンチエイリアシングを使う(&U)"
+
+#. i18n: file ./src/part/dialog.ui line 329
+#: rc.cpp:57
+#, no-c-format
+msgid ""
+"Anti-aliasing the filemap makes it clearer and prettier, unfortunately it also "
+"makes rendering very slow."
+msgstr "アンチエイリアシングを使うとファイルマップがよりクリアで美しくなります。但し、レンダリングが遅くなります。"
+
+#. i18n: file ./src/part/dialog.ui line 351
+#: rc.cpp:60
+#, no-c-format
+msgid "Var&y label font sizes"
+msgstr "ラベルのフォントサイズを変える(&Y)"
+
+#. i18n: file ./src/part/dialog.ui line 354
+#: rc.cpp:63
+#, no-c-format
+msgid ""
+"The font size of exploded labels can be varied relative to the depth of the "
+"directories they represent. This helps you spot the important labels more "
+"easily. Set a sensible minimum font size."
+msgstr ""
+"展開されたラベルのフォントサイズを対応するディレクトリの深さに応じて変更します。これを有効にすると、大きなラベルが見つけ易くなります。適切な最小フォントサイズを"
+"設定してください。"
+
+#. i18n: file ./src/part/dialog.ui line 390
+#: rc.cpp:66
+#, no-c-format
+msgid "Minimum font si&ze:"
+msgstr "最小フォントサイズ(&Z):"
+
+#. i18n: file ./src/part/dialog.ui line 399
+#: rc.cpp:69
+#, no-c-format
+msgid "The smallest font size Filelight can use to render labels."
+msgstr "ラベルの表示に使用する最小フォントサイズ。"
+
+#. i18n: file ./src/part/dialog.ui line 442
+#: rc.cpp:72
+#, no-c-format
+msgid "Show small files"
+msgstr "小さいファイルを表示"
+
+#. i18n: file ./src/part/dialog.ui line 445
+#: rc.cpp:75
+#, no-c-format
+msgid ""
+"Some files are too small to be rendered on the filemap. Selecting this option "
+"makes these files visible by merging them all into a single \"multi-segment\"."
+msgstr "このオプションを有効にすると、小さ過ぎてファイルマップに表示できないファイルをひとつの「マルチセグメント」に統合して見えるようにします。"
+
+#. i18n: file ./src/part/dialog.ui line 464
+#: rc.cpp:78
+#, no-c-format
+msgid "&Reset"
+msgstr "リセット(&R)"
+
+#. i18n: file ./src/part/dialog.ui line 470
+#: rc.cpp:81
+#, no-c-format
+msgid "Reset any changes you have made since you opened this dialog."
+msgstr "このダイアログを開いてから行なった変更をすべて元に戻します。"
+
+#. i18n: file ./misc/filelightui.rc line 4
+#: rc.cpp:87
+#, no-c-format
+msgid "&Scan"
+msgstr "スキャン(&S)"
+
+#. i18n: file ./misc/filelightui.rc line 19
+#: rc.cpp:93
+#, no-c-format
+msgid "&Go"
+msgstr "移動(&G)"
+
+#. i18n: file ./misc/filelightui.rc line 35
+#: rc.cpp:99
+#, no-c-format
+msgid "Location Toolbar"
+msgstr "場所ツールバー"
+
+#: src/app/historyAction.cpp:46
+msgid "Forward"
+msgstr "進む"
+
+#: src/app/main.cpp:15
+msgid "Scan 'path'"
+msgstr "パスをスキャン"
+
+#: src/app/main.cpp:21
+msgid "Graphical disk-usage information"
+msgstr "ディスク使用情報グラフィカル表示"
+
+#: src/app/main.cpp:22
+msgid "(C )2006 Max Howell"
+msgstr "(C) 2006 Max Howell"
+
+#: src/app/main.cpp:30
+msgid "Author, maintainer"
+msgstr "作者、メンテナ"
+
+#: src/app/main.cpp:31
+msgid "Documentation"
+msgstr "ドキュメント"
+
+#: src/app/main.cpp:32
+msgid "Inspiration"
+msgstr "着想"
+
+#: src/app/main.cpp:33
+msgid "Internationalization"
+msgstr "国際化"
+
+#: src/app/main.cpp:34
+msgid "Testing"
+msgstr "テスト"
+
+#: src/app/main.cpp:35
+msgid "Bravery in the face of unreadable code"
+msgstr "読みにくいコードに立ち向かった勇敢さ"
+
+#: src/app/mainWindow.cpp:40
+msgid ""
+"KDE could not find the Filelight Part, or the Filelight Part could not be "
+"started. Did you make install?"
+msgstr "KDE が Filelight パートを見つけられないか、開始できません。インストールしましたか?"
+
+#: src/app/mainWindow.cpp:57
+msgid ""
+"Filelight is not installed properly, consequently its menus and toolbars will "
+"appear reduced or even empty"
+msgstr "Filelight が正しくインストールされていないため、メニューとツールバーは空か不完全なものになります。"
+
+#: src/app/mainWindow.cpp:91
+msgid "Scan &Home Directory"
+msgstr "ホームディレクトリをスキャン(&H)"
+
+#: src/app/mainWindow.cpp:92
+msgid "Scan &Root Directory"
+msgstr "ルートディレクトリをスキャン(&R)"
+
+#: src/app/mainWindow.cpp:93
+msgid "Rescan"
+msgstr "再スキャン"
+
+#: src/app/mainWindow.cpp:95
+msgid "Clear Location Bar"
+msgstr "場所バーをクリア"
+
+#: src/app/mainWindow.cpp:96
+msgid "Go"
+msgstr "移動"
+
+#: src/app/mainWindow.cpp:98
+msgid "Location Bar"
+msgstr "場所バー"
+
+#: src/app/mainWindow.cpp:99
+msgid "&Recent Scans"
+msgstr "最近のスキャン(&R)"
+
+#: src/app/mainWindow.cpp:102
+msgid "&Scan Directory..."
+msgstr "ディレクトリをスキャン(&S)..."
+
+#: src/app/mainWindow.cpp:263
+msgid ""
+"_: &Up: /home/mxcl\n"
+"%1: %2"
+msgstr "%1: %2"
+
+#: src/part/progressBox.cpp:62
+#, c-format
+msgid ""
+"_n: %n File\n"
+"%n Files"
+msgstr "%n 個のファイル"
+
+#: src/part/radialMap/widgetEvents.cpp:165
+msgid "Open &Konqueror Here"
+msgstr "ここを Konqueror で開く(&K)"
+
+#: src/part/radialMap/widgetEvents.cpp:168
+msgid "Open &Konsole Here"
+msgstr "ここを Konsole で開く(&K)"
+
+#: src/part/radialMap/widgetEvents.cpp:172
+msgid "&Center Map Here"
+msgstr "ここを中心にマップを開く(&C)"
+
+#: src/part/radialMap/widgetEvents.cpp:176
+msgid "&Open"
+msgstr "開く(&O)"
+
+#: src/part/radialMap/widgetEvents.cpp:179
+msgid "&Copy to clipboard"
+msgstr "クリップボードにコピー(&C)"
+
+#: src/part/radialMap/widgetEvents.cpp:207
+msgid ""
+"<qt>The directory at <i>'%1'</i> will be <b>recursively</b> and <b>"
+"permanently</b> deleted."
+msgstr "<qt><i>'%1'</i> のディレクトリは<b>再帰的<b>かつ<b>完全に</b>削除されます。"
+
+#: src/part/radialMap/widgetEvents.cpp:208
+msgid "<qt><i>'%1'</i> will be <b>permanently</b> deleted."
+msgstr "<qt><i>'%1'</i> は<b>完全に</b>削除されます。"
+
+#: src/part/radialMap/builder.cpp:133
+msgid ""
+"_: There can't ever be only 1 file\n"
+"%1 files, each about %2"
+msgstr "%1 個のファイル、それぞれは約 %2"
+
+#: src/part/radialMap/segmentTip.cpp:126
+#, c-format
+msgid "Files: %1"
+msgstr "ファイル: %1"
+
+#: src/part/settingsDialog.cpp:26
+msgid "Rainbow"
+msgstr "レインボー"
+
+#: src/part/settingsDialog.cpp:27
+msgid "KDE Colors"
+msgstr "KDEカラー"
+
+#: src/part/settingsDialog.cpp:28
+msgid "High Contrast"
+msgstr "ハイコントラスト"
+
+#: src/part/settingsDialog.cpp:146
+msgid "That directory is already set to be excluded from scans"
+msgstr "そのディレクトリは既にスキャン対象から除外されています。"
+
+#: src/part/part.cpp:62
+msgid "Configure Filelight..."
+msgstr "Filelight を設定..."
+
+#: src/part/part.cpp:118
+msgid "The entered URL cannot be parsed; it is invalid."
+msgstr "入力されたURLをパースできません。URLが不正です。"
+
+#: src/part/part.cpp:122
+#, c-format
+msgid "Filelight only accepts absolute paths, eg. /%1"
+msgstr "Filelight は絶対パス (例 /%1) しか受け付けません。"
+
+#: src/part/part.cpp:126
+#, c-format
+msgid "Directory not found: %1"
+msgstr "ディレクトリが見つかりません: %1"
+
+#: src/part/part.cpp:130
+msgid ""
+"Unable to enter: %1\n"
+"You do not have access rights to this location."
+msgstr ""
+"次に入ることができません: %1\n"
+"この場所にアクセス権限がありません。"
+
+#: src/part/part.cpp:147
+msgid "Aborting Scan..."
+msgstr "スキャンを中止します..."
+
+#: src/part/part.cpp:195
+#, c-format
+msgid "Scanning: %1"
+msgstr "スキャン中: %1"
+
+#: src/part/part.cpp:220
+msgid "Scan completed, generating map..."
+msgstr "スキャン完了、マップを生成中..."
+
+#: src/part/part.cpp:229
+#, c-format
+msgid "Scan failed: %1"
+msgstr "スキャン失敗: %1"
+
+#: src/part/summaryWidget.cpp:102
+msgid "Free"
+msgstr "空き"
+
+#: src/part/summaryWidget.cpp:103
+msgid "Used"
+msgstr "使用済み"
+
+#: _translatorinfo.cpp:1
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr "Yukiko BANDO"
+
+#: _translatorinfo.cpp:3
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr "ybando@k6.dion.ne.jp"
diff --git a/po/ka/Makefile.am b/po/ka/Makefile.am
new file mode 100644
index 0000000..59e9da7
--- /dev/null
+++ b/po/ka/Makefile.am
@@ -0,0 +1,3 @@
+KDE_LANG = ka
+SUBDIRS = $(AUTODIRS)
+POFILES = AUTO
diff --git a/po/ka/filelight.po b/po/ka/filelight.po
new file mode 100644
index 0000000..e2cd8f3
--- /dev/null
+++ b/po/ka/filelight.po
@@ -0,0 +1,491 @@
+# translation of filelight.po to Georgian
+#
+# Rusudan Tsiskreli <r_tsiskreli@caucasus.net>, 2006.
+# რუსუდან ცისკრელი <tsiskreli@gmail.com>, 2006.
+# Rusudan Tsiskreli <tsiskreli@gmail.com>, 2006.
+msgid ""
+msgstr ""
+"Project-Id-Version: filelight\n"
+"POT-Creation-Date: 2006-08-20 12:01+0200\n"
+"PO-Revision-Date: 2006-03-28 01:51+0400\n"
+"Last-Translator: Giasher <giasher@telenet.ge>\n"
+"Language-Team: Georgian <www.gia.ge>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.2\n"
+"X-Poedit-Language: Georgian\n"
+"X-Poedit-Country: GEORGIA\n"
+
+#. i18n: file ./src/part/dialog.ui line 16
+#: rc.cpp:3
+#, no-c-format
+msgid "Settings - Filelight"
+msgstr "პარამეტრები - Filelight"
+
+#. i18n: file ./src/part/dialog.ui line 34
+#: rc.cpp:6
+#, fuzzy, no-c-format
+msgid "Scannin&g"
+msgstr "&სკანირება"
+
+#. i18n: file ./src/part/dialog.ui line 53
+#: rc.cpp:9
+#, fuzzy, no-c-format
+msgid "Do &not scan these directories:"
+msgstr "ეს დირექტორიები არ &დაასკანირო:"
+
+#. i18n: file ./src/part/dialog.ui line 70
+#: rc.cpp:13
+#, no-c-format
+msgid ""
+"Filelight will not scan these directories unless you specifically request them."
+msgstr "Filelight არ დაასკანირებს ამ საქაღალდეებს სპეციალურ მოთხოვნამდე."
+
+#. i18n: file ./src/part/dialog.ui line 106
+#: rc.cpp:16
+#, no-c-format
+msgid "R&emove"
+msgstr "წ&აშლა"
+
+#. i18n: file ./src/part/dialog.ui line 117
+#: rc.cpp:19
+#, no-c-format
+msgid "&Add..."
+msgstr "&დამატება..."
+
+#. i18n: file ./src/part/dialog.ui line 202
+#: rc.cpp:22
+#, fuzzy, no-c-format
+msgid "Exclude remote files&ystems"
+msgstr "დაშორე&ბული ფაილური სისტემების გამორიცხვა"
+
+#. i18n: file ./src/part/dialog.ui line 208
+#: rc.cpp:26
+#, no-c-format
+msgid ""
+"Prevents scanning of filesystems that are not on this computer, e.g. NFS or "
+"Samba mounts."
+msgstr ""
+"ფაილთა სისტემების, რომლებიც ამ კომპიუტერზე არ არის სკანირების აკრძალვა, მაგ. "
+"NFS ან Samba."
+
+#. i18n: file ./src/part/dialog.ui line 216
+#: rc.cpp:29
+#, no-c-format
+msgid "Scan across filesystem &boundaries"
+msgstr "სკანირება ფაილური სისტემების &გამყოფების მიუხედავად"
+
+#. i18n: file ./src/part/dialog.ui line 219
+#: rc.cpp:32
+#, fuzzy, no-c-format
+msgid ""
+"Allows scans to enter directories that are part of other filesystems. For "
+"example, when unchecked, this will usually prevent the contents of <b>/mnt</b> "
+"from being scanned if you scan <b>/</b>."
+msgstr ""
+"აჩერებს დირექტორიების სკანირებას, რომელიც სხვა ფაილური სისტემის ნაწილია. "
+"მაგალითად, ეს არ დაასკანირებს <b>/mnt</b>-ს როდესაც ასკანირებთ <b>/</b>-ს."
+
+#. i18n: file ./src/part/dialog.ui line 230
+#: rc.cpp:35
+#, fuzzy, no-c-format
+msgid "E&xclude removable media"
+msgstr "მო&ხსნადი მედიის გამოტოვებით"
+
+#. i18n: file ./src/part/dialog.ui line 236
+#: rc.cpp:39
+#, no-c-format
+msgid "Prevents Filelight from scanning removable media (eg. CD-ROMs)."
+msgstr "უკრძალავს Filelight-ს მოხსნადი მედიის დასკანირებას (მაგ. CD-ROM-ებს)."
+
+#. i18n: file ./src/part/dialog.ui line 248
+#: rc.cpp:42
+#, no-c-format
+msgid "&Appearance"
+msgstr "&იერსახე"
+
+#. i18n: file ./src/part/dialog.ui line 259
+#: rc.cpp:45
+#, no-c-format
+msgid "Scheme"
+msgstr "სქემა"
+
+#. i18n: file ./src/part/dialog.ui line 291
+#: rc.cpp:48
+#, fuzzy, no-c-format
+msgid "Co&ntrast"
+msgstr "&კონტრასტულობა"
+
+#. i18n: file ./src/part/dialog.ui line 314
+#: rc.cpp:51
+#, no-c-format
+msgid "Here you can vary the contrast of the filemap in realtime."
+msgstr "აქ რეალურ დროში შეგიძლიათ ფაილთა რუქის კონტრასტის შეცვლა."
+
+#. i18n: file ./src/part/dialog.ui line 326
+#: rc.cpp:54
+#, no-c-format
+msgid "&Use anti-aliasing"
+msgstr "აბტი დაგლუვების &გამოყენება"
+
+#. i18n: file ./src/part/dialog.ui line 329
+#: rc.cpp:57
+#, no-c-format
+msgid ""
+"Anti-aliasing the filemap makes it clearer and prettier, unfortunately it also "
+"makes rendering very slow."
+msgstr ""
+"filemap-ის ანტისიგლუვე მას სუფთას და ლამაზს, სამწუხაროდ ეს ასევე ანელებს "
+"გამოსახულების დამუშავებას."
+
+#. i18n: file ./src/part/dialog.ui line 351
+#: rc.cpp:60
+#, fuzzy, no-c-format
+msgid "Var&y label font sizes"
+msgstr "ეტიკეტთა შრიფტის ზომის შ&ცვლა"
+
+#. i18n: file ./src/part/dialog.ui line 354
+#: rc.cpp:63
+#, no-c-format
+msgid ""
+"The font size of exploded labels can be varied relative to the depth of the "
+"directories they represent. This helps you spot the important labels more "
+"easily. Set a sensible minimum font size."
+msgstr ""
+"ეტიკეტებზე შრიფტის ზომა სხვადასხვა, დამოკიდებულია ასახული დირექტორიის სიღრმეზე. "
+"ეს გეხმარებათ საჭირო ეტიკეტების სწრაფად აღმოჩენაში. მიუთითეთ შრიფტის მინიმალური "
+"ზომა."
+
+#. i18n: file ./src/part/dialog.ui line 390
+#: rc.cpp:66
+#, fuzzy, no-c-format
+msgid "Minimum font si&ze:"
+msgstr "შ&რიფტის მინიმალური ზომა:"
+
+#. i18n: file ./src/part/dialog.ui line 399
+#: rc.cpp:69
+#, no-c-format
+msgid "The smallest font size Filelight can use to render labels."
+msgstr "ეტიკებეისთვის შრიფტის უმცირესი ზომა."
+
+#. i18n: file ./src/part/dialog.ui line 442
+#: rc.cpp:72
+#, no-c-format
+msgid "Show small files"
+msgstr "პატარა შრიფტების ჩვენება"
+
+#. i18n: file ./src/part/dialog.ui line 445
+#: rc.cpp:75
+#, no-c-format
+msgid ""
+"Some files are too small to be rendered on the filemap. Selecting this option "
+"makes these files visible by merging them all into a single \"multi-segment\"."
+msgstr ""
+"ზოგიერთი ფაილი ძალიან პატარაა ფაილთა რუქაზე ასასახად. ამ პარამეტრის ჩართვა მათ "
+"ხდის ხილულს მათი \"მრავალ-სეგმენტად\" შერწყმით."
+
+#. i18n: file ./src/part/dialog.ui line 464
+#: rc.cpp:78
+#, no-c-format
+msgid "&Reset"
+msgstr "საწ&ყისი პარამეტრები"
+
+#. i18n: file ./src/part/dialog.ui line 470
+#: rc.cpp:81
+#, no-c-format
+msgid "Reset any changes you have made since you opened this dialog."
+msgstr "ფანჯრის გახსნის შემდეგ გაკეთებული ცვლილებების ხელახალი კონფიგურაცია."
+
+#. i18n: file ./misc/filelightui.rc line 4
+#: rc.cpp:87
+#, no-c-format
+msgid "&Scan"
+msgstr "&სკანირება"
+
+#. i18n: file ./misc/filelightui.rc line 19
+#: rc.cpp:93
+#, no-c-format
+msgid "&Go"
+msgstr "&გადასვლა"
+
+#. i18n: file ./misc/filelightui.rc line 35
+#: rc.cpp:99
+#, no-c-format
+msgid "Location Toolbar"
+msgstr "მისამართის პანელი"
+
+#: src/app/historyAction.cpp:46
+msgid "Forward"
+msgstr "გადაგზავნა"
+
+#: src/app/main.cpp:15
+msgid "Scan 'path'"
+msgstr "'გეზის' სკანირება"
+
+#: src/app/main.cpp:21
+msgid "Graphical disk-usage information"
+msgstr "დისკის გამოყენების გრაფიკული ინფორმაცია"
+
+#: src/app/main.cpp:22
+#, fuzzy
+msgid "(C )2006 Max Howell"
+msgstr "(C) 2003 Max Howell"
+
+#: src/app/main.cpp:30
+msgid "Author, maintainer"
+msgstr ""
+
+#: src/app/main.cpp:31
+msgid "Documentation"
+msgstr ""
+
+#: src/app/main.cpp:32
+msgid "Inspiration"
+msgstr "ინსპირაცია"
+
+#: src/app/main.cpp:33
+#, fuzzy
+msgid "Internationalization"
+msgstr "საერთაშორისო მხარდაჭერა"
+
+#: src/app/main.cpp:34
+msgid "Testing"
+msgstr ""
+
+#: src/app/main.cpp:35
+#, fuzzy
+msgid "Bravery in the face of unreadable code"
+msgstr "წაუკითხავი კოდების (პატჩების)"
+
+#: src/app/mainWindow.cpp:40
+msgid ""
+"KDE could not find the Filelight Part, or the Filelight Part could not be "
+"started. Did you make install?"
+msgstr ""
+"KDE-მ ვერ მოძებნა Filelight ნაწილი, ან Filelight ნაწილის გაშვება ვერ "
+"განხორციელდა. დაყენებული გააქვთ?"
+
+#: src/app/mainWindow.cpp:57
+msgid ""
+"Filelight is not installed properly, consequently its menus and toolbars will "
+"appear reduced or even empty"
+msgstr ""
+
+#: src/app/mainWindow.cpp:91
+msgid "Scan &Home Directory"
+msgstr "საშინაო &დირექტორიის სკანირება"
+
+#: src/app/mainWindow.cpp:92
+msgid "Scan &Root Directory"
+msgstr "ძ&ირეული დირექტორიის სკანირება"
+
+#: src/app/mainWindow.cpp:93
+msgid "Rescan"
+msgstr "თავიდან სკანირება"
+
+#: src/app/mainWindow.cpp:95
+msgid "Clear Location Bar"
+msgstr "მისამართის ზოლის გაწმენდა"
+
+#: src/app/mainWindow.cpp:96
+msgid "Go"
+msgstr "გადასვლა"
+
+#: src/app/mainWindow.cpp:98
+msgid "Location Bar"
+msgstr "ადგილმდებარეობის ზოლი"
+
+#: src/app/mainWindow.cpp:99
+msgid "&Recent Scans"
+msgstr "&უკანასკნელი სკანირებები"
+
+#: src/app/mainWindow.cpp:102
+msgid "&Scan Directory..."
+msgstr "დირექტორიის &სკანირება..."
+
+#: src/app/mainWindow.cpp:263
+msgid ""
+"_: &Up: /home/mxcl\n"
+"%1: %2"
+msgstr ""
+
+#: src/part/progressBox.cpp:62
+#, c-format
+msgid ""
+"_n: %n File\n"
+"%n Files"
+msgstr ""
+
+#: src/part/radialMap/widgetEvents.cpp:165
+msgid "Open &Konqueror Here"
+msgstr "აქ &Konqueror გახსენით"
+
+#: src/part/radialMap/widgetEvents.cpp:168
+msgid "Open &Konsole Here"
+msgstr "აქ &Konsole გახსენით"
+
+#: src/part/radialMap/widgetEvents.cpp:172
+msgid "&Center Map Here"
+msgstr "რუქის აქ &ცენტრირება"
+
+#: src/part/radialMap/widgetEvents.cpp:176
+msgid "&Open"
+msgstr "&გახსნა"
+
+#: src/part/radialMap/widgetEvents.cpp:179
+msgid "&Copy to clipboard"
+msgstr ""
+
+#: src/part/radialMap/widgetEvents.cpp:207
+msgid ""
+"<qt>The directory at <i>'%1'</i> will be <b>recursively</b> and <b>"
+"permanently</b> deleted."
+msgstr "<qt>დირექტორია <i>'%1'</i> <b>სამუდამოდ</b> წაიშლება."
+
+#: src/part/radialMap/widgetEvents.cpp:208
+msgid "<qt><i>'%1'</i> will be <b>permanently</b> deleted."
+msgstr "<qt><i>'%1'</i> <b>სამუდამოდ</b> წაიშლება."
+
+#: src/part/radialMap/builder.cpp:133
+msgid ""
+"_: There can't ever be only 1 file\n"
+"%1 files, each about %2"
+msgstr "%1 ფაილი, ყოველი %2"
+
+#: src/part/radialMap/segmentTip.cpp:126
+#, c-format
+msgid "Files: %1"
+msgstr "ფაილები: %1"
+
+#: src/part/settingsDialog.cpp:26
+msgid "Rainbow"
+msgstr "ცისარტყელა"
+
+#: src/part/settingsDialog.cpp:27
+msgid "KDE Colors"
+msgstr "KDE ფერები"
+
+#: src/part/settingsDialog.cpp:28
+msgid "High Contrast"
+msgstr "მაღალი კონტრასტულობა"
+
+#: src/part/settingsDialog.cpp:146
+msgid "That directory is already set to be excluded from scans"
+msgstr "ეს დირექტორია უკვე დაყენებულია შესრულდეს სკანირებიდან"
+
+#: src/part/part.cpp:62
+msgid "Configure Filelight..."
+msgstr "Filelight-ის კონფიგურაცია..."
+
+#: src/part/part.cpp:118
+msgid "The entered URL cannot be parsed; it is invalid."
+msgstr "შეყვანილი URL ვერ გაანალიზდა; ეს არაა სწორე."
+
+#: src/part/part.cpp:122
+#, c-format
+msgid "Filelight only accepts absolute paths, eg. /%1"
+msgstr "Filelight მხოლოდ სრულ გეზს იღებს, მაგ. /%1"
+
+#: src/part/part.cpp:126
+#, c-format
+msgid "Directory not found: %1"
+msgstr "დირექტორია ვერ მოიძებნა: %1"
+
+#: src/part/part.cpp:130
+msgid ""
+"Unable to enter: %1\n"
+"You do not have access rights to this location."
+msgstr ""
+"შეუძლებელია შეყვანა: %1\n"
+"თქვენ არ გაქვთ ამ ადილის წვდომის უფლება."
+
+#: src/part/part.cpp:147
+msgid "Aborting Scan..."
+msgstr "სკანირების შეწყვეტა..."
+
+#: src/part/part.cpp:195
+#, c-format
+msgid "Scanning: %1"
+msgstr "სკანირება: %1"
+
+#: src/part/part.cpp:220
+msgid "Scan completed, generating map..."
+msgstr "სკანირება დასრულდა, რუქის გენერაცია..."
+
+#: src/part/part.cpp:229
+#, c-format
+msgid "Scan failed: %1"
+msgstr "სკანირება ვერ შედგა: %1"
+
+#: src/part/summaryWidget.cpp:102
+msgid "Free"
+msgstr "თავისუფალი"
+
+#: src/part/summaryWidget.cpp:103
+msgid "Used"
+msgstr "გამოყენებულია"
+
+#: _translatorinfo.cpp:1
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr "რუსუდან ცისკრელი"
+
+#: _translatorinfo.cpp:3
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr "tsiskreli@gmail.com"
+
+#~ msgid "Me"
+#~ msgstr "Me"
+
+#~ msgid "Handbook guru"
+#~ msgstr "guru-ს სახელმძღვანელო"
+
+#~ msgid "\"Girlfriend usability-testing\""
+#~ msgstr "\"Girlfriend usability-testing\""
+
+#~ msgid "Welsh Translation"
+#~ msgstr "ველსური თარგმანი"
+
+#~ msgid "German Translation, testing, bug reports and suggestions"
+#~ msgstr "გერმანული თარგმანი, ტესტირება, ბზიკთა შეტყობინება და შემოთავაზებები"
+
+#~ msgid "Slovak Translation"
+#~ msgstr "სლოვაკური თარგმანი"
+
+#~ msgid "Polish Translation"
+#~ msgstr "პოლონური თარგმანი"
+
+#~ msgid "Spanish Translation"
+#~ msgstr "ესპანური თარგმანი"
+
+#~ msgid "French Translation"
+#~ msgstr "ფრანგული თარგმანი"
+
+#~ msgid "Russian Translation"
+#~ msgstr "რუსული თარგმანი"
+
+#~ msgid "Dutch Translation"
+#~ msgstr "ჰოლანდიური თარგმანი"
+
+#~ msgid ""
+#~ "Called: %1\n"
+#~ "\n"
+#~ msgstr ""
+#~ "გამოძახებულია: %1\n"
+#~ "\n"
+
+#~ msgid "could not execute %1"
+#~ msgstr "შესრულება ვერ მოხერხდა %1"
+
+#~ msgid "Use the Scan-menu to begin..."
+#~ msgstr "დასაწყებად სკან-მენიუს გამოყენება..."
+
+#~ msgid "Up"
+#~ msgstr "ზემოთ"
+
+#~ msgid "Up: %1"
+#~ msgstr "ზემოთ: %1"
diff --git a/po/lt/Makefile.am b/po/lt/Makefile.am
new file mode 100644
index 0000000..30e15ce
--- /dev/null
+++ b/po/lt/Makefile.am
@@ -0,0 +1,3 @@
+KDE_LANG = lt
+SUBDIRS = $(AUTODIRS)
+POFILES = AUTO
diff --git a/po/lt/filelight.po b/po/lt/filelight.po
new file mode 100644
index 0000000..8db38c2
--- /dev/null
+++ b/po/lt/filelight.po
@@ -0,0 +1,542 @@
+# Lithuanian translation of the packate
+# Automatically generated, 2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: ziogelis 77\n"
+"POT-Creation-Date: 2006-08-20 12:01+0200\n"
+"PO-Revision-Date: 2005-07-15 01:45+0200\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. i18n: file ./src/part/dialog.ui line 16
+#: rc.cpp:3
+#, no-c-format
+msgid "Settings - Filelight"
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 34
+#: rc.cpp:6
+#, fuzzy, no-c-format
+msgid "Scannin&g"
+msgstr "&Skenuojama"
+
+#. i18n: file ./src/part/dialog.ui line 53
+#: rc.cpp:9
+#, no-c-format
+msgid "Do &not scan these directories:"
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 70
+#: rc.cpp:13
+#, no-c-format
+msgid ""
+"Filelight will not scan these directories unless you specifically request them."
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 106
+#: rc.cpp:16
+#, fuzzy, no-c-format
+msgid "R&emove"
+msgstr ""
+"#-#-#-#-# amarok.po (amarok) #-#-#-#-#\n"
+"&Pašalinti\n"
+"#-#-#-#-# kmail.po (kmail) #-#-#-#-#\n"
+"Pa&šalinti\n"
+"#-#-#-#-# knewsticker.po (knewsticker) #-#-#-#-#\n"
+"&Pašalinti\n"
+"#-#-#-#-# juk.po (juk) #-#-#-#-#\n"
+"&Pašalinti"
+
+#. i18n: file ./src/part/dialog.ui line 117
+#: rc.cpp:19
+#, fuzzy, no-c-format
+msgid "&Add..."
+msgstr ""
+"#-#-#-#-# kcmbackground.po (kcmbackground) #-#-#-#-#\n"
+"&Įdėti...\n"
+"#-#-#-#-# knetworkconf.po (knetworkconf) #-#-#-#-#\n"
+"&Įdėti...\n"
+"#-#-#-#-# kdelibs.po (kdelibs) #-#-#-#-#\n"
+"&Pridėti...\n"
+"#-#-#-#-# kpartsaver.po (kpartsaver) #-#-#-#-#\n"
+"&Įdėti...\n"
+"#-#-#-#-# kuser.po (kuser) #-#-#-#-#\n"
+"&Pridėti...\n"
+"#-#-#-#-# kttsd_stringreplacerplugin.po (kttsd_stringreplacerplugin) "
+"#-#-#-#-#\n"
+"&Įdėti...\n"
+"#-#-#-#-# kiconedit.po (kiconedit) #-#-#-#-#\n"
+"&Įdėti...\n"
+"#-#-#-#-# korganizer.po (korganizer) #-#-#-#-#\n"
+"P&ridėti...\n"
+"#-#-#-#-# kaddressbook.po (kaddressbook) #-#-#-#-#\n"
+"P&ridėti...\n"
+"#-#-#-#-# kmail.po (kmail) #-#-#-#-#\n"
+"&Įdėti...\n"
+"#-#-#-#-# kgpg.po (kgpg) #-#-#-#-#\n"
+"&Pridėti...\n"
+"#-#-#-#-# atlantikdesigner.po (atlantikdesigner) #-#-#-#-#\n"
+"&Įdėti...\n"
+"#-#-#-#-# kopete.po (kopete) #-#-#-#-#\n"
+"&Įdėti...\n"
+"#-#-#-#-# kppp.po (kppp) #-#-#-#-#\n"
+"&Įdėti...\n"
+"#-#-#-#-# artscontrol.po (artscontrol) #-#-#-#-#\n"
+"&Pridėti...\n"
+"#-#-#-#-# kaudiocreator.po (kaudiocreator) #-#-#-#-#\n"
+"&Įdėti..."
+
+#. i18n: file ./src/part/dialog.ui line 202
+#: rc.cpp:22
+#, no-c-format
+msgid "Exclude remote files&ystems"
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 208
+#: rc.cpp:26
+#, no-c-format
+msgid ""
+"Prevents scanning of filesystems that are not on this computer, e.g. NFS or "
+"Samba mounts."
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 216
+#: rc.cpp:29
+#, no-c-format
+msgid "Scan across filesystem &boundaries"
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 219
+#: rc.cpp:32
+#, no-c-format
+msgid ""
+"Allows scans to enter directories that are part of other filesystems. For "
+"example, when unchecked, this will usually prevent the contents of <b>/mnt</b> "
+"from being scanned if you scan <b>/</b>."
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 230
+#: rc.cpp:35
+#, no-c-format
+msgid "E&xclude removable media"
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 236
+#: rc.cpp:39
+#, no-c-format
+msgid "Prevents Filelight from scanning removable media (eg. CD-ROMs)."
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 248
+#: rc.cpp:42
+#, fuzzy, no-c-format
+msgid "&Appearance"
+msgstr ""
+"#-#-#-#-# kate.po (kate) #-#-#-#-#\n"
+"&Išvaizda\n"
+"#-#-#-#-# clockapplet.po (clockapplet) #-#-#-#-#\n"
+"Iš&vaizda\n"
+"#-#-#-#-# kcmkonq.po (kcmkonq) #-#-#-#-#\n"
+"&Išvaizda"
+
+#. i18n: file ./src/part/dialog.ui line 259
+#: rc.cpp:45
+#, no-c-format
+msgid "Scheme"
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 291
+#: rc.cpp:48
+#, no-c-format
+msgid "Co&ntrast"
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 314
+#: rc.cpp:51
+#, no-c-format
+msgid "Here you can vary the contrast of the filemap in realtime."
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 326
+#: rc.cpp:54
+#, no-c-format
+msgid "&Use anti-aliasing"
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 329
+#: rc.cpp:57
+#, no-c-format
+msgid ""
+"Anti-aliasing the filemap makes it clearer and prettier, unfortunately it also "
+"makes rendering very slow."
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 351
+#: rc.cpp:60
+#, no-c-format
+msgid "Var&y label font sizes"
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 354
+#: rc.cpp:63
+#, no-c-format
+msgid ""
+"The font size of exploded labels can be varied relative to the depth of the "
+"directories they represent. This helps you spot the important labels more "
+"easily. Set a sensible minimum font size."
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 390
+#: rc.cpp:66
+#, no-c-format
+msgid "Minimum font si&ze:"
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 399
+#: rc.cpp:69
+#, no-c-format
+msgid "The smallest font size Filelight can use to render labels."
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 442
+#: rc.cpp:72
+#, no-c-format
+msgid "Show small files"
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 445
+#: rc.cpp:75
+#, no-c-format
+msgid ""
+"Some files are too small to be rendered on the filemap. Selecting this option "
+"makes these files visible by merging them all into a single \"multi-segment\"."
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 464
+#: rc.cpp:78
+#, fuzzy, no-c-format
+msgid "&Reset"
+msgstr ""
+"#-#-#-#-# khotkeys.po (khotkeys) #-#-#-#-#\n"
+"&Iš naujo\n"
+"#-#-#-#-# konqueror.po (konqueror) #-#-#-#-#\n"
+"&Atstatyti\n"
+"#-#-#-#-# kcontrol.po (kcontrol) #-#-#-#-#\n"
+"&Iš naujo\n"
+"#-#-#-#-# kio.po (kio) #-#-#-#-#\n"
+"&Iš naujo\n"
+"#-#-#-#-# kdelibs.po (kdelibs) #-#-#-#-#\n"
+"&Iš naujo\n"
+"#-#-#-#-# kcmlilo.po (kcmlilo) #-#-#-#-#\n"
+"At&kurti\n"
+"#-#-#-#-# kmousetool.po (kmousetool) #-#-#-#-#\n"
+"&Iš naujo\n"
+"#-#-#-#-# kolf.po (kolf) #-#-#-#-#\n"
+"&Iš naujo\n"
+"#-#-#-#-# kolourpaint.po (kolourpaint) #-#-#-#-#\n"
+"&Iš naujo\n"
+"#-#-#-#-# kbruch.po (kbruch) #-#-#-#-#\n"
+"&Iš naujo\n"
+"#-#-#-#-# kvoctrain.po (kvoctrain) #-#-#-#-#\n"
+"&Iš naujo\n"
+"#-#-#-#-# kbabel.po (kbabel) #-#-#-#-#\n"
+"&Iš naujo\n"
+"#-#-#-#-# klaptopdaemon.po (klaptopdaemon) #-#-#-#-#\n"
+"&Iš naujo\n"
+"#-#-#-#-# khexedit.po (khexedit) #-#-#-#-#\n"
+"&Iš naujo\n"
+"#-#-#-#-# kopete.po (kopete) #-#-#-#-#\n"
+"&Iš naujo"
+
+#. i18n: file ./src/part/dialog.ui line 470
+#: rc.cpp:81
+#, no-c-format
+msgid "Reset any changes you have made since you opened this dialog."
+msgstr ""
+
+#. i18n: file ./misc/filelightui.rc line 4
+#: rc.cpp:87
+#, no-c-format
+msgid "&Scan"
+msgstr "&Skanuoti"
+
+#. i18n: file ./misc/filelightui.rc line 19
+#: rc.cpp:93
+#, no-c-format
+msgid "&Go"
+msgstr "&Eiti"
+
+#. i18n: file ./misc/filelightui.rc line 35
+#: rc.cpp:99
+#, no-c-format
+msgid "Location Toolbar"
+msgstr "Adreso įrankių juosta"
+
+#: src/app/historyAction.cpp:46
+msgid "Forward"
+msgstr "Pirmyn"
+
+#: src/app/main.cpp:15
+msgid "Scan 'path'"
+msgstr ""
+
+#: src/app/main.cpp:21
+msgid "Graphical disk-usage information"
+msgstr ""
+
+#: src/app/main.cpp:22
+msgid "(C )2006 Max Howell"
+msgstr ""
+
+#: src/app/main.cpp:30
+msgid "Author, maintainer"
+msgstr ""
+
+#: src/app/main.cpp:31
+msgid "Documentation"
+msgstr ""
+
+#: src/app/main.cpp:32
+msgid "Inspiration"
+msgstr ""
+
+#: src/app/main.cpp:33
+msgid "Internationalization"
+msgstr ""
+
+#: src/app/main.cpp:34
+msgid "Testing"
+msgstr ""
+
+#: src/app/main.cpp:35
+msgid "Bravery in the face of unreadable code"
+msgstr ""
+
+#: src/app/mainWindow.cpp:40
+msgid ""
+"KDE could not find the Filelight Part, or the Filelight Part could not be "
+"started. Did you make install?"
+msgstr ""
+
+#: src/app/mainWindow.cpp:57
+msgid ""
+"Filelight is not installed properly, consequently its menus and toolbars will "
+"appear reduced or even empty"
+msgstr ""
+
+#: src/app/mainWindow.cpp:91
+msgid "Scan &Home Directory"
+msgstr ""
+
+#: src/app/mainWindow.cpp:92
+msgid "Scan &Root Directory"
+msgstr ""
+
+#: src/app/mainWindow.cpp:93
+msgid "Rescan"
+msgstr ""
+
+#: src/app/mainWindow.cpp:95
+msgid "Clear Location Bar"
+msgstr "Išvalyti adreso juostą"
+
+#: src/app/mainWindow.cpp:96
+msgid "Go"
+msgstr "Eiti"
+
+#: src/app/mainWindow.cpp:98
+msgid "Location Bar"
+msgstr "Adreso juosta"
+
+#: src/app/mainWindow.cpp:99
+msgid "&Recent Scans"
+msgstr ""
+
+#: src/app/mainWindow.cpp:102
+msgid "&Scan Directory..."
+msgstr ""
+
+#: src/app/mainWindow.cpp:263
+msgid ""
+"_: &Up: /home/mxcl\n"
+"%1: %2"
+msgstr ""
+
+#: src/part/progressBox.cpp:62
+#, c-format
+msgid ""
+"_n: %n File\n"
+"%n Files"
+msgstr ""
+
+#: src/part/radialMap/widgetEvents.cpp:165
+msgid "Open &Konqueror Here"
+msgstr ""
+
+#: src/part/radialMap/widgetEvents.cpp:168
+msgid "Open &Konsole Here"
+msgstr ""
+
+#: src/part/radialMap/widgetEvents.cpp:172
+msgid "&Center Map Here"
+msgstr ""
+
+#: src/part/radialMap/widgetEvents.cpp:176
+#, fuzzy
+msgid "&Open"
+msgstr ""
+"#-#-#-#-# libkonq.po (libkonq) #-#-#-#-#\n"
+"At&verti\n"
+"#-#-#-#-# kio.po (kio) #-#-#-#-#\n"
+"At&verti\n"
+"#-#-#-#-# kdelibs.po (kdelibs) #-#-#-#-#\n"
+"At&verti\n"
+"#-#-#-#-# quanta.po (quanta) #-#-#-#-#\n"
+"&Atverti\n"
+"#-#-#-#-# kfilereplace.po (kfilereplace) #-#-#-#-#\n"
+"&Atverti\n"
+"#-#-#-#-# ksysv.po (ksysv) #-#-#-#-#\n"
+"&Atverti\n"
+"#-#-#-#-# keduca.po (keduca) #-#-#-#-#\n"
+"&Atverti\n"
+"#-#-#-#-# kbabel.po (kbabel) #-#-#-#-#\n"
+"&Atverti\n"
+"#-#-#-#-# ark.po (ark) #-#-#-#-#\n"
+"&Atverti"
+
+#: src/part/radialMap/widgetEvents.cpp:179
+msgid "&Copy to clipboard"
+msgstr ""
+
+#: src/part/radialMap/widgetEvents.cpp:207
+msgid ""
+"<qt>The directory at <i>'%1'</i> will be <b>recursively</b> and <b>"
+"permanently</b> deleted."
+msgstr ""
+
+#: src/part/radialMap/widgetEvents.cpp:208
+msgid "<qt><i>'%1'</i> will be <b>permanently</b> deleted."
+msgstr ""
+
+#: src/part/radialMap/builder.cpp:133
+msgid ""
+"_: There can't ever be only 1 file\n"
+"%1 files, each about %2"
+msgstr ""
+
+#: src/part/radialMap/segmentTip.cpp:126
+#, c-format
+msgid "Files: %1"
+msgstr ""
+
+#: src/part/settingsDialog.cpp:26
+msgid "Rainbow"
+msgstr ""
+
+#: src/part/settingsDialog.cpp:27
+msgid "KDE Colors"
+msgstr ""
+
+#: src/part/settingsDialog.cpp:28
+msgid "High Contrast"
+msgstr ""
+
+#: src/part/settingsDialog.cpp:146
+msgid "That directory is already set to be excluded from scans"
+msgstr ""
+
+#: src/part/part.cpp:62
+msgid "Configure Filelight..."
+msgstr ""
+
+#: src/part/part.cpp:118
+msgid "The entered URL cannot be parsed; it is invalid."
+msgstr ""
+
+#: src/part/part.cpp:122
+#, c-format
+msgid "Filelight only accepts absolute paths, eg. /%1"
+msgstr ""
+
+#: src/part/part.cpp:126
+#, c-format
+msgid "Directory not found: %1"
+msgstr ""
+
+#: src/part/part.cpp:130
+msgid ""
+"Unable to enter: %1\n"
+"You do not have access rights to this location."
+msgstr ""
+
+#: src/part/part.cpp:147
+msgid "Aborting Scan..."
+msgstr ""
+
+#: src/part/part.cpp:195
+#, c-format
+msgid "Scanning: %1"
+msgstr "Skenuojama: %1"
+
+#: src/part/part.cpp:220
+msgid "Scan completed, generating map..."
+msgstr ""
+
+#: src/part/part.cpp:229
+#, c-format
+msgid "Scan failed: %1"
+msgstr ""
+
+#: src/part/summaryWidget.cpp:102
+#, fuzzy
+msgid "Free"
+msgstr ""
+"#-#-#-#-# kio_devices.po (kio_devices) #-#-#-#-#\n"
+"Laisva\n"
+"#-#-#-#-# kio_media.po (kio_media) #-#-#-#-#\n"
+"Laisvas\n"
+"#-#-#-#-# korganizer.po (korganizer) #-#-#-#-#\n"
+"Laisvas\n"
+"#-#-#-#-# kdf.po (kdf) #-#-#-#-#\n"
+"Laisva"
+
+#: src/part/summaryWidget.cpp:103
+#, fuzzy
+msgid "Used"
+msgstr ""
+"#-#-#-#-# kio_devices.po (kio_devices) #-#-#-#-#\n"
+"Naudojama\n"
+"#-#-#-#-# kio_media.po (kio_media) #-#-#-#-#\n"
+"Naudojamas"
+
+#: _translatorinfo.cpp:1
+#, fuzzy
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr "nobody"
+
+#: _translatorinfo.cpp:3
+#, fuzzy
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr "nobody@nowhere.lt"
+
+#~ msgid ""
+#~ "Called: %1\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Kreiptasi: %1\n"
+#~ "\n"
+
+#, fuzzy
+#~ msgid "could not execute %1"
+#~ msgstr "nepavyksta paleisti [%s]"
+
+#~ msgid "Up"
+#~ msgstr "Aukštyn"
diff --git a/po/nb/Makefile.am b/po/nb/Makefile.am
new file mode 100644
index 0000000..64b2719
--- /dev/null
+++ b/po/nb/Makefile.am
@@ -0,0 +1,3 @@
+KDE_LANG = nb
+SUBDIRS = $(AUTODIRS)
+POFILES = AUTO
diff --git a/po/nb/filelight.po b/po/nb/filelight.po
new file mode 100644
index 0000000..0ea0964
--- /dev/null
+++ b/po/nb/filelight.po
@@ -0,0 +1,496 @@
+# translation of filelight.po to Norsk Bokmål
+# Nils Kristian Tomren <project@nilsk.net>, 2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: filelight\n"
+"POT-Creation-Date: 2006-08-20 12:01+0200\n"
+"PO-Revision-Date: 2005-03-19 23:31+0100\n"
+"Last-Translator: Nils Kristian Tomren <project@nilsk.net>\n"
+"Language-Team: Norsk Bokmål <i18n-no@lister.ping.uio.no>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.3.1\n"
+
+#. i18n: file ./src/part/dialog.ui line 16
+#: rc.cpp:3
+#, no-c-format
+msgid "Settings - Filelight"
+msgstr "Innstillinger - Filelight"
+
+#. i18n: file ./src/part/dialog.ui line 34
+#: rc.cpp:6
+#, fuzzy, no-c-format
+msgid "Scannin&g"
+msgstr "&Skann"
+
+#. i18n: file ./src/part/dialog.ui line 53
+#: rc.cpp:9
+#, fuzzy, no-c-format
+msgid "Do &not scan these directories:"
+msgstr "Ikke s&kann disse mappene:"
+
+#. i18n: file ./src/part/dialog.ui line 70
+#: rc.cpp:13
+#, no-c-format
+msgid ""
+"Filelight will not scan these directories unless you specifically request them."
+msgstr ""
+"Filelight vil ikke skanne disse mappene med mindre du direkte ber om det."
+
+#. i18n: file ./src/part/dialog.ui line 106
+#: rc.cpp:16
+#, no-c-format
+msgid "R&emove"
+msgstr "&Fjern"
+
+#. i18n: file ./src/part/dialog.ui line 117
+#: rc.cpp:19
+#, no-c-format
+msgid "&Add..."
+msgstr "&Legg til..."
+
+#. i18n: file ./src/part/dialog.ui line 202
+#: rc.cpp:22
+#, fuzzy, no-c-format
+msgid "Exclude remote files&ystems"
+msgstr "Ekskluder e&ksterne filsystemer"
+
+#. i18n: file ./src/part/dialog.ui line 208
+#: rc.cpp:26
+#, no-c-format
+msgid ""
+"Prevents scanning of filesystems that are not on this computer, e.g. NFS or "
+"Samba mounts."
+msgstr ""
+"Forhindrer at filsystemer som ikke er på denne maskinen, f.eks. NFS eller Samba "
+"monteringer, skannes."
+
+#. i18n: file ./src/part/dialog.ui line 216
+#: rc.cpp:29
+#, no-c-format
+msgid "Scan across filesystem &boundaries"
+msgstr "Skann utover filsystem&grenser"
+
+#. i18n: file ./src/part/dialog.ui line 219
+#: rc.cpp:32
+#, fuzzy, no-c-format
+msgid ""
+"Allows scans to enter directories that are part of other filesystems. For "
+"example, when unchecked, this will usually prevent the contents of <b>/mnt</b> "
+"from being scanned if you scan <b>/</b>."
+msgstr ""
+"Stanser skanninger som går inn i mapper som er en del av andre filsystemer. For "
+"eksempel vil dette forhindre at innholdet av <b>/mnt</b> "
+"blir skannet hvis du skanner<b>/</b>."
+
+#. i18n: file ./src/part/dialog.ui line 230
+#: rc.cpp:35
+#, fuzzy, no-c-format
+msgid "E&xclude removable media"
+msgstr "Ekskluder medier som kan &fjernes"
+
+#. i18n: file ./src/part/dialog.ui line 236
+#: rc.cpp:39
+#, no-c-format
+msgid "Prevents Filelight from scanning removable media (eg. CD-ROMs)."
+msgstr ""
+"Forhindrer Filelight i å skanne medier som kan fjernes (f.eks. CD-ROM)."
+
+#. i18n: file ./src/part/dialog.ui line 248
+#: rc.cpp:42
+#, no-c-format
+msgid "&Appearance"
+msgstr "&Utseende"
+
+#. i18n: file ./src/part/dialog.ui line 259
+#: rc.cpp:45
+#, no-c-format
+msgid "Scheme"
+msgstr "Fargesammensetning"
+
+#. i18n: file ./src/part/dialog.ui line 291
+#: rc.cpp:48
+#, fuzzy, no-c-format
+msgid "Co&ntrast"
+msgstr "&Kontrast"
+
+#. i18n: file ./src/part/dialog.ui line 314
+#: rc.cpp:51
+#, no-c-format
+msgid "Here you can vary the contrast of the filemap in realtime."
+msgstr "Her kan du variere kontrasten av filkortet i realtid."
+
+#. i18n: file ./src/part/dialog.ui line 326
+#: rc.cpp:54
+#, no-c-format
+msgid "&Use anti-aliasing"
+msgstr "Br&uk anti-aliasering"
+
+#. i18n: file ./src/part/dialog.ui line 329
+#: rc.cpp:57
+#, no-c-format
+msgid ""
+"Anti-aliasing the filemap makes it clearer and prettier, unfortunately it also "
+"makes rendering very slow."
+msgstr ""
+"Anti-aliasering av filkortet gjør det klarere og penere, uheldigvis gjør det "
+"også visningen veldig treg."
+
+#. i18n: file ./src/part/dialog.ui line 351
+#: rc.cpp:60
+#, fuzzy, no-c-format
+msgid "Var&y label font sizes"
+msgstr "&Varier skrifttypestørrelser for etiketter"
+
+#. i18n: file ./src/part/dialog.ui line 354
+#: rc.cpp:63
+#, no-c-format
+msgid ""
+"The font size of exploded labels can be varied relative to the depth of the "
+"directories they represent. This helps you spot the important labels more "
+"easily. Set a sensible minimum font size."
+msgstr ""
+"Skrifttypestørrelsen av utfoldede etiketter kan varieres relativt til dybden av "
+"mappene de representerer. Dette hjelper til med å finne de viktige etikettene "
+"enklere. Sett en rimelig minimal skrifttypestørrelse."
+
+#. i18n: file ./src/part/dialog.ui line 390
+#: rc.cpp:66
+#, fuzzy, no-c-format
+msgid "Minimum font si&ze:"
+msgstr "Minimum skrift&typestørrelse:"
+
+#. i18n: file ./src/part/dialog.ui line 399
+#: rc.cpp:69
+#, no-c-format
+msgid "The smallest font size Filelight can use to render labels."
+msgstr "Den minste skrifttypen som Filelight bruker til å vise etiketter med."
+
+#. i18n: file ./src/part/dialog.ui line 442
+#: rc.cpp:72
+#, no-c-format
+msgid "Show small files"
+msgstr "Vis små filer"
+
+#. i18n: file ./src/part/dialog.ui line 445
+#: rc.cpp:75
+#, no-c-format
+msgid ""
+"Some files are too small to be rendered on the filemap. Selecting this option "
+"makes these files visible by merging them all into a single \"multi-segment\"."
+msgstr ""
+"Noen filer er for små til å bli vist på filkortet. Valg av dette gjør disse "
+"filene synlige ved å flette de sammen som et enkelt \"multi-segment\"."
+
+#. i18n: file ./src/part/dialog.ui line 464
+#: rc.cpp:78
+#, no-c-format
+msgid "&Reset"
+msgstr "&Nullstill"
+
+#. i18n: file ./src/part/dialog.ui line 470
+#: rc.cpp:81
+#, no-c-format
+msgid "Reset any changes you have made since you opened this dialog."
+msgstr "Nullstill alle endringer du har gjort siden du åpnet denne dialogen."
+
+#. i18n: file ./misc/filelightui.rc line 4
+#: rc.cpp:87
+#, no-c-format
+msgid "&Scan"
+msgstr "&Skann"
+
+#. i18n: file ./misc/filelightui.rc line 19
+#: rc.cpp:93
+#, no-c-format
+msgid "&Go"
+msgstr "&Kjør"
+
+#. i18n: file ./misc/filelightui.rc line 35
+#: rc.cpp:99
+#, no-c-format
+msgid "Location Toolbar"
+msgstr "Adresselinje"
+
+#: src/app/historyAction.cpp:46
+msgid "Forward"
+msgstr "Fram"
+
+#: src/app/main.cpp:15
+msgid "Scan 'path'"
+msgstr "Skann 'sti'"
+
+#: src/app/main.cpp:21
+msgid "Graphical disk-usage information"
+msgstr "Grafisk disk-utnyttelses-informasjon"
+
+#: src/app/main.cpp:22
+#, fuzzy
+msgid "(C )2006 Max Howell"
+msgstr "(c) 2003 Max Howell"
+
+#: src/app/main.cpp:30
+msgid "Author, maintainer"
+msgstr ""
+
+#: src/app/main.cpp:31
+msgid "Documentation"
+msgstr ""
+
+#: src/app/main.cpp:32
+msgid "Inspiration"
+msgstr "Inspirasjon"
+
+#: src/app/main.cpp:33
+#, fuzzy
+msgid "Internationalization"
+msgstr "Språkunderstøttelse"
+
+#: src/app/main.cpp:34
+msgid "Testing"
+msgstr ""
+
+#: src/app/main.cpp:35
+#, fuzzy
+msgid "Bravery in the face of unreadable code"
+msgstr "Tapperhet på tross av uleselig kode (programrettelser)"
+
+#: src/app/mainWindow.cpp:40
+msgid ""
+"KDE could not find the Filelight Part, or the Filelight Part could not be "
+"started. Did you make install?"
+msgstr ""
+"KDE kunne ikke finne Filelight delen eller kunne Filelight delen ikke "
+"starte?Sjekk at du har installert den."
+
+#: src/app/mainWindow.cpp:57
+msgid ""
+"Filelight is not installed properly, consequently its menus and toolbars will "
+"appear reduced or even empty"
+msgstr ""
+
+#: src/app/mainWindow.cpp:91
+msgid "Scan &Home Directory"
+msgstr "Skann &hjemmemappen"
+
+#: src/app/mainWindow.cpp:92
+msgid "Scan &Root Directory"
+msgstr "Skann &rotmappen"
+
+#: src/app/mainWindow.cpp:93
+msgid "Rescan"
+msgstr "Skann igjen"
+
+#: src/app/mainWindow.cpp:95
+msgid "Clear Location Bar"
+msgstr "Tøm adresselinjen"
+
+#: src/app/mainWindow.cpp:96
+msgid "Go"
+msgstr "Gå"
+
+#: src/app/mainWindow.cpp:98
+msgid "Location Bar"
+msgstr "Adresselinje"
+
+#: src/app/mainWindow.cpp:99
+msgid "&Recent Scans"
+msgstr "&Nylige skanninger"
+
+#: src/app/mainWindow.cpp:102
+msgid "&Scan Directory..."
+msgstr "&Skann mappe..."
+
+#: src/app/mainWindow.cpp:263
+msgid ""
+"_: &Up: /home/mxcl\n"
+"%1: %2"
+msgstr ""
+
+#: src/part/progressBox.cpp:62
+#, c-format
+msgid ""
+"_n: %n File\n"
+"%n Files"
+msgstr ""
+
+#: src/part/radialMap/widgetEvents.cpp:165
+msgid "Open &Konqueror Here"
+msgstr "Åpne &Konqueror her"
+
+#: src/part/radialMap/widgetEvents.cpp:168
+msgid "Open &Konsole Here"
+msgstr "Åpne Konsoll &her"
+
+#: src/part/radialMap/widgetEvents.cpp:172
+msgid "&Center Map Here"
+msgstr "&Sentrer kort her"
+
+#: src/part/radialMap/widgetEvents.cpp:176
+msgid "&Open"
+msgstr "Å&pne"
+
+#: src/part/radialMap/widgetEvents.cpp:179
+msgid "&Copy to clipboard"
+msgstr ""
+
+#: src/part/radialMap/widgetEvents.cpp:207
+msgid ""
+"<qt>The directory at <i>'%1'</i> will be <b>recursively</b> and <b>"
+"permanently</b> deleted."
+msgstr ""
+"<qt>Mappen i <i>'%1'</i> vil bli slettet <b>rekursivt</b> og <b>permanent</b>."
+
+#: src/part/radialMap/widgetEvents.cpp:208
+msgid "<qt><i>'%1'</i> will be <b>permanently</b> deleted."
+msgstr "<qt><i>'%1'</i> blir slettet<b> permanent</b>."
+
+#: src/part/radialMap/builder.cpp:133
+msgid ""
+"_: There can't ever be only 1 file\n"
+"%1 files, each about %2"
+msgstr ""
+"Det kan ikke være kun 1 fil\n"
+"%1 filer, hver ca. %2"
+
+#: src/part/radialMap/segmentTip.cpp:126
+#, c-format
+msgid "Files: %1"
+msgstr "Filer: %1"
+
+#: src/part/settingsDialog.cpp:26
+msgid "Rainbow"
+msgstr "Regnbue"
+
+#: src/part/settingsDialog.cpp:27
+msgid "KDE Colors"
+msgstr "KDE-farger"
+
+#: src/part/settingsDialog.cpp:28
+msgid "High Contrast"
+msgstr "Høy kontrast"
+
+#: src/part/settingsDialog.cpp:146
+msgid "That directory is already set to be excluded from scans"
+msgstr "Mappen er allerede satt til å bli utelukket fra skanning"
+
+#: src/part/part.cpp:62
+msgid "Configure Filelight..."
+msgstr "Oppsett Filelight..."
+
+#: src/part/part.cpp:118
+msgid "The entered URL cannot be parsed; it is invalid."
+msgstr "Den inntastede URL kan ikke tolkes. Den er ugyldig."
+
+#: src/part/part.cpp:122
+#, c-format
+msgid "Filelight only accepts absolute paths, eg. /%1"
+msgstr "Filelight aksepterer kun absolutte stier, f.eks. /%1"
+
+#: src/part/part.cpp:126
+#, c-format
+msgid "Directory not found: %1"
+msgstr "Mappe ikke funnet: %1"
+
+#: src/part/part.cpp:130
+msgid ""
+"Unable to enter: %1\n"
+"You do not have access rights to this location."
+msgstr ""
+"Kan ikke gå inn i %1\n"
+"Du har ikke adgangstillatelse."
+
+#: src/part/part.cpp:147
+msgid "Aborting Scan..."
+msgstr "Avbryter skanning..."
+
+#: src/part/part.cpp:195
+#, c-format
+msgid "Scanning: %1"
+msgstr "Skanner: %1"
+
+#: src/part/part.cpp:220
+msgid "Scan completed, generating map..."
+msgstr "Skann avsluttet, oppretter kort..."
+
+#: src/part/part.cpp:229
+#, c-format
+msgid "Scan failed: %1"
+msgstr "Skann mislykkes: %1"
+
+#: src/part/summaryWidget.cpp:102
+msgid "Free"
+msgstr "Ledig"
+
+#: src/part/summaryWidget.cpp:103
+msgid "Used"
+msgstr "Brukt"
+
+#: _translatorinfo.cpp:1
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr "Nils Kristian Tomren"
+
+#: _translatorinfo.cpp:3
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr "project@nilsk.net"
+
+#~ msgid "Me"
+#~ msgstr "Meg"
+
+#~ msgid "Handbook guru"
+#~ msgstr "Håndboks-guru"
+
+#~ msgid "\"Girlfriend usability-testing\""
+#~ msgstr "\"Brukbarhetstest på kjæresten\""
+
+#~ msgid "Welsh Translation"
+#~ msgstr "Walisisk oversettelse"
+
+#~ msgid "German Translation, testing, bug reports and suggestions"
+#~ msgstr "Tysk oversettelse, testing, feilrapporter og forslag"
+
+#~ msgid "Slovak Translation"
+#~ msgstr "Slovakisk oversettelse"
+
+#~ msgid "Polish Translation"
+#~ msgstr "Polsk oversettelse"
+
+#~ msgid "Spanish Translation"
+#~ msgstr "Spansk oversettelse"
+
+#~ msgid "French Translation"
+#~ msgstr "Fransk oversettelse"
+
+#~ msgid "Russian Translation"
+#~ msgstr "Russisk oversettelse"
+
+#~ msgid "Dutch Translation"
+#~ msgstr "Hollandsk oversettelse"
+
+#~ msgid "Use the Scan-menu to begin..."
+#~ msgstr "Bruk skann-menyen for å begynne..."
+
+#~ msgid "Up"
+#~ msgstr "Opp"
+
+#~ msgid "Up: %1"
+#~ msgstr "Opp: %1"
+
+#~ msgid ""
+#~ "Called: %1\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Kallet: %1\n"
+#~ "\n"
+
+#~ msgid "could not execute %1"
+#~ msgstr "kunne ikke kjøre %1"
+
+#~ msgid "%1 Files"
+#~ msgstr "%1 Filer"
diff --git a/po/nl/Makefile.am b/po/nl/Makefile.am
new file mode 100644
index 0000000..bc54bf5
--- /dev/null
+++ b/po/nl/Makefile.am
@@ -0,0 +1,3 @@
+KDE_LANG = nl
+SUBDIRS = $(AUTODIRS)
+POFILES = AUTO
diff --git a/po/nl/filelight.po b/po/nl/filelight.po
new file mode 100644
index 0000000..9c2cc58
--- /dev/null
+++ b/po/nl/filelight.po
@@ -0,0 +1,452 @@
+# translation of filelight.po to Dutch
+# translation of filelight.po to
+# This file is distributed under the same license as the PACKAGE package.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER.
+#
+# Marcel Meyer <meyerm@fs.tum.de>, 2003.
+# Rinse de Vries <rinse@kde.nl>, 2003, 2004.
+# Bram Schoenmakers <bramschoenmakers@kde.nl>, 2004, 2005.
+# Rinse de Vries <rinsedevries@kde.nl>, 2005, 2006.
+# Rinse de Vries <RinseDeVries@home.nl>, 2005.
+msgid ""
+msgstr ""
+"Project-Id-Version: filelight\n"
+"POT-Creation-Date: 2006-08-20 12:01+0200\n"
+"PO-Revision-Date: 2006-08-21 17:52+0200\n"
+"Last-Translator: Rinse de Vries <rinsedevries@kde.nl>\n"
+"Language-Team: Dutch <kde-i18n-nl@kde.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. i18n: file ./src/part/dialog.ui line 16
+#: rc.cpp:3
+#, no-c-format
+msgid "Settings - Filelight"
+msgstr "Instellingen - Filelight"
+
+#. i18n: file ./src/part/dialog.ui line 34
+#: rc.cpp:6
+#, no-c-format
+msgid "Scannin&g"
+msgstr "&Doorzoeken"
+
+#. i18n: file ./src/part/dialog.ui line 53
+#: rc.cpp:9
+#, no-c-format
+msgid "Do &not scan these directories:"
+msgstr "Deze mappen &niet doorzoeken:"
+
+#. i18n: file ./src/part/dialog.ui line 70
+#: rc.cpp:13
+#, no-c-format
+msgid ""
+"Filelight will not scan these directories unless you specifically request them."
+msgstr "Filelight zal deze mappen niet doorzoeken tenzij u er zelf om vraagt."
+
+#. i18n: file ./src/part/dialog.ui line 106
+#: rc.cpp:16
+#, no-c-format
+msgid "R&emove"
+msgstr "V&erwijderen"
+
+#. i18n: file ./src/part/dialog.ui line 117
+#: rc.cpp:19
+#, no-c-format
+msgid "&Add..."
+msgstr "&Toevoegen..."
+
+#. i18n: file ./src/part/dialog.ui line 202
+#: rc.cpp:22
+#, no-c-format
+msgid "Exclude remote files&ystems"
+msgstr "Externe bestandssystemen &uitsluiten"
+
+#. i18n: file ./src/part/dialog.ui line 208
+#: rc.cpp:26
+#, no-c-format
+msgid ""
+"Prevents scanning of filesystems that are not on this computer, e.g. NFS or "
+"Samba mounts."
+msgstr ""
+"Voorkomt het doorzoeken van bestandssystemen die niet op deze computer staan. "
+"Voorbeelden hiervan zijn NFS- of Samba-bronnen."
+
+#. i18n: file ./src/part/dialog.ui line 216
+#: rc.cpp:29
+#, no-c-format
+msgid "Scan across filesystem &boundaries"
+msgstr "Andere &bestandssystemen meenemen bij doorzoeken"
+
+#. i18n: file ./src/part/dialog.ui line 219
+#: rc.cpp:32
+#, no-c-format
+msgid ""
+"Allows scans to enter directories that are part of other filesystems. For "
+"example, when unchecked, this will usually prevent the contents of <b>/mnt</b> "
+"from being scanned if you scan <b>/</b>."
+msgstr ""
+"Staat toe dat mappen die onderdeel zijn van andere bestandssystemen ook worden "
+"doorzocht. Bijvoorbeeld, wanneer uitgeschakeld voorkomt dit normaliter dat de "
+"inhoud van de map <b>/mnt</b> wordt doorzocht als u <b>/</b> doorzoekt."
+
+#. i18n: file ./src/part/dialog.ui line 230
+#: rc.cpp:35
+#, no-c-format
+msgid "E&xclude removable media"
+msgstr "&Verwijderbare media uitsluiten"
+
+#. i18n: file ./src/part/dialog.ui line 236
+#: rc.cpp:39
+#, no-c-format
+msgid "Prevents Filelight from scanning removable media (eg. CD-ROMs)."
+msgstr ""
+"Voorkomt dat Filelight verwijderbare media doorzoekt, zoals cd-rom's of "
+"USB-sticks."
+
+#. i18n: file ./src/part/dialog.ui line 248
+#: rc.cpp:42
+#, no-c-format
+msgid "&Appearance"
+msgstr "&Uiterlijk"
+
+#. i18n: file ./src/part/dialog.ui line 259
+#: rc.cpp:45
+#, no-c-format
+msgid "Scheme"
+msgstr "Schema"
+
+#. i18n: file ./src/part/dialog.ui line 291
+#: rc.cpp:48
+#, no-c-format
+msgid "Co&ntrast"
+msgstr "Co&ntrast"
+
+#. i18n: file ./src/part/dialog.ui line 314
+#: rc.cpp:51
+#, no-c-format
+msgid "Here you can vary the contrast of the filemap in realtime."
+msgstr "Hiermee kunt u het contrast van de bestandenkaart wijzigen."
+
+#. i18n: file ./src/part/dialog.ui line 326
+#: rc.cpp:54
+#, no-c-format
+msgid "&Use anti-aliasing"
+msgstr "Anti aliasing gebr&uiken"
+
+#. i18n: file ./src/part/dialog.ui line 329
+#: rc.cpp:57
+#, no-c-format
+msgid ""
+"Anti-aliasing the filemap makes it clearer and prettier, unfortunately it also "
+"makes rendering very slow."
+msgstr ""
+"Anti-Aliasing zorgt er voor dat de bestandenkaart mooier en gepolijster "
+"overkomt. Nadeel is dat opbouwen ervan erg traag kan worden."
+
+#. i18n: file ./src/part/dialog.ui line 351
+#: rc.cpp:60
+#, no-c-format
+msgid "Var&y label font sizes"
+msgstr "&Variabele tekengrootte voor beschrijvingen"
+
+#. i18n: file ./src/part/dialog.ui line 354
+#: rc.cpp:63
+#, no-c-format
+msgid ""
+"The font size of exploded labels can be varied relative to the depth of the "
+"directories they represent. This helps you spot the important labels more "
+"easily. Set a sensible minimum font size."
+msgstr ""
+"De tekengrootte van de beschrijvingen kan worden aangepast aan de diepte van de "
+"mappen waartoe ze behoren. Hierdoor ziet u belangrijke beschrijvingen sneller. "
+"Stel een realistische minimum tekengrootte in."
+
+#. i18n: file ./src/part/dialog.ui line 390
+#: rc.cpp:66
+#, no-c-format
+msgid "Minimum font si&ze:"
+msgstr "Minimum teken&grootte:"
+
+#. i18n: file ./src/part/dialog.ui line 399
+#: rc.cpp:69
+#, no-c-format
+msgid "The smallest font size Filelight can use to render labels."
+msgstr "De kleinste tekengrootte waarmee Filelight beschrijvingen invult."
+
+#. i18n: file ./src/part/dialog.ui line 442
+#: rc.cpp:72
+#, no-c-format
+msgid "Show small files"
+msgstr "Kleine bestanden tonen"
+
+#. i18n: file ./src/part/dialog.ui line 445
+#: rc.cpp:75
+#, no-c-format
+msgid ""
+"Some files are too small to be rendered on the filemap. Selecting this option "
+"makes these files visible by merging them all into a single \"multi-segment\"."
+msgstr ""
+"Sommige bestanden zijn te klein om te worden weergegeven op de bestandenkaart. "
+"Deze optie zorgt er voor dat de bestanden zichtbaar worden door ze allemaal in "
+"een enkelvoudig \"multisegment\" te plaatsen."
+
+#. i18n: file ./src/part/dialog.ui line 464
+#: rc.cpp:78
+#, no-c-format
+msgid "&Reset"
+msgstr "Beginwaa&rde"
+
+#. i18n: file ./src/part/dialog.ui line 470
+#: rc.cpp:81
+#, no-c-format
+msgid "Reset any changes you have made since you opened this dialog."
+msgstr ""
+"Zet alle wijzigingen die u maakte terug naar de gebruikte instelling op het "
+"moment dat u het venster opende."
+
+#. i18n: file ./misc/filelightui.rc line 4
+#: rc.cpp:87
+#, no-c-format
+msgid "&Scan"
+msgstr "&Bestand"
+
+#. i18n: file ./misc/filelightui.rc line 19
+#: rc.cpp:93
+#, no-c-format
+msgid "&Go"
+msgstr "&Ga naar"
+
+#. i18n: file ./misc/filelightui.rc line 35
+#: rc.cpp:99
+#, no-c-format
+msgid "Location Toolbar"
+msgstr "Locatiebalk"
+
+#: src/app/historyAction.cpp:46
+msgid "Forward"
+msgstr "Volgende"
+
+#: src/app/main.cpp:15
+msgid "Scan 'path'"
+msgstr "Pad doorzoeken"
+
+#: src/app/main.cpp:21
+msgid "Graphical disk-usage information"
+msgstr "Grafische informatie over schijfgebruik"
+
+#: src/app/main.cpp:22
+msgid "(C )2006 Max Howell"
+msgstr "(C )2006 Max Howell"
+
+#: src/app/main.cpp:30
+msgid "Author, maintainer"
+msgstr "Auteur, onderhouder"
+
+#: src/app/main.cpp:31
+msgid "Documentation"
+msgstr "Documentatie"
+
+#: src/app/main.cpp:32
+msgid "Inspiration"
+msgstr "Inspiratie"
+
+#: src/app/main.cpp:33
+msgid "Internationalization"
+msgstr "Internationalisatie"
+
+#: src/app/main.cpp:34
+msgid "Testing"
+msgstr "Tests"
+
+#: src/app/main.cpp:35
+msgid "Bravery in the face of unreadable code"
+msgstr "Dapperheid in de strijd tegen onleesbare code"
+
+#: src/app/mainWindow.cpp:40
+msgid ""
+"KDE could not find the Filelight Part, or the Filelight Part could not be "
+"started. Did you make install?"
+msgstr ""
+"KDE kon de KPart FileLight niet vinden of niet opstarten. Controleer uw "
+"installatie."
+
+#: src/app/mainWindow.cpp:57
+msgid ""
+"Filelight is not installed properly, consequently its menus and toolbars will "
+"appear reduced or even empty"
+msgstr ""
+"Filelight is niet goed geïnstalleerd. Hierdoor zullen er in de menu's en "
+"werkbalken items missen of zelfs leeg zijn."
+
+#: src/app/mainWindow.cpp:91
+msgid "Scan &Home Directory"
+msgstr "&Persoonlijke map doorzoeken"
+
+#: src/app/mainWindow.cpp:92
+msgid "Scan &Root Directory"
+msgstr "&Hoofdmap doorzoeken"
+
+#: src/app/mainWindow.cpp:93
+msgid "Rescan"
+msgstr "Opnieuw doorzoeken"
+
+#: src/app/mainWindow.cpp:95
+msgid "Clear Location Bar"
+msgstr "Locatiebalk opschonen"
+
+#: src/app/mainWindow.cpp:96
+msgid "Go"
+msgstr "Ga"
+
+#: src/app/mainWindow.cpp:98
+msgid "Location Bar"
+msgstr "Locatiebalk"
+
+#: src/app/mainWindow.cpp:99
+msgid "&Recent Scans"
+msgstr "&Recent doorzocht"
+
+#: src/app/mainWindow.cpp:102
+msgid "&Scan Directory..."
+msgstr "Map door&zoeken..."
+
+#: src/app/mainWindow.cpp:263
+msgid ""
+"_: &Up: /home/mxcl\n"
+"%1: %2"
+msgstr "%1: %2"
+
+#: src/part/progressBox.cpp:62
+#, c-format
+msgid ""
+"_n: %n File\n"
+"%n Files"
+msgstr ""
+"%n bestand\n"
+"%n bestanden"
+
+#: src/part/radialMap/widgetEvents.cpp:165
+msgid "Open &Konqueror Here"
+msgstr "&Konqueror hier openen"
+
+#: src/part/radialMap/widgetEvents.cpp:168
+msgid "Open &Konsole Here"
+msgstr "Konsole &hier openen"
+
+#: src/part/radialMap/widgetEvents.cpp:172
+msgid "&Center Map Here"
+msgstr "Map hier &centreren"
+
+#: src/part/radialMap/widgetEvents.cpp:176
+msgid "&Open"
+msgstr "&Openen"
+
+#: src/part/radialMap/widgetEvents.cpp:179
+msgid "&Copy to clipboard"
+msgstr "&Kopiëren"
+
+#: src/part/radialMap/widgetEvents.cpp:207
+msgid ""
+"<qt>The directory at <i>'%1'</i> will be <b>recursively</b> and <b>"
+"permanently</b> deleted."
+msgstr ""
+"<qt>De map op <i>'%1'</i> zal <b>recursief</b> en <b>permanent</b> "
+"worden verwijderd."
+
+#: src/part/radialMap/widgetEvents.cpp:208
+msgid "<qt><i>'%1'</i> will be <b>permanently</b> deleted."
+msgstr "<qt><i>'%1'</i> zal <b>permanent</b> worden verwijderd."
+
+#: src/part/radialMap/builder.cpp:133
+msgid ""
+"_: There can't ever be only 1 file\n"
+"%1 files, each about %2"
+msgstr "%1 bestanden, elk ongeveer %2"
+
+#: src/part/radialMap/segmentTip.cpp:126
+#, c-format
+msgid "Files: %1"
+msgstr "Bestanden: %1"
+
+#: src/part/settingsDialog.cpp:26
+msgid "Rainbow"
+msgstr "Regenboog"
+
+#: src/part/settingsDialog.cpp:27
+msgid "KDE Colors"
+msgstr "KDE's kleuren"
+
+#: src/part/settingsDialog.cpp:28
+msgid "High Contrast"
+msgstr "Hoogcontrast"
+
+#: src/part/settingsDialog.cpp:146
+msgid "That directory is already set to be excluded from scans"
+msgstr "Die map wordt al uitgesloten bij het doorzoeken"
+
+#: src/part/part.cpp:62
+msgid "Configure Filelight..."
+msgstr "Filelight instellen..."
+
+#: src/part/part.cpp:118
+msgid "The entered URL cannot be parsed; it is invalid."
+msgstr "Het opgegeven URL-adres kon niet worden ontleedt. Het is ongeldig."
+
+#: src/part/part.cpp:122
+#, c-format
+msgid "Filelight only accepts absolute paths, eg. /%1"
+msgstr "Filelight accepteert alleen absolute paden, zoals /%1"
+
+#: src/part/part.cpp:126
+#, c-format
+msgid "Directory not found: %1"
+msgstr "Map niet gevonden: %1"
+
+#: src/part/part.cpp:130
+msgid ""
+"Unable to enter: %1\n"
+"You do not have access rights to this location."
+msgstr ""
+"Kon de map %1 niet openen\n"
+"U hebt niet de benodigde toegangsrechten voor deze locatie."
+
+#: src/part/part.cpp:147
+msgid "Aborting Scan..."
+msgstr "Doorzoeken afgebroken..."
+
+#: src/part/part.cpp:195
+#, c-format
+msgid "Scanning: %1"
+msgstr "Doorzoekt: %1"
+
+#: src/part/part.cpp:220
+msgid "Scan completed, generating map..."
+msgstr "Doorzoeken is voltooid, kaart wordt aangemaakt..."
+
+#: src/part/part.cpp:229
+#, c-format
+msgid "Scan failed: %1"
+msgstr "Doorzoeken is mislukt: %1"
+
+#: src/part/summaryWidget.cpp:102
+msgid "Free"
+msgstr "Vrij"
+
+#: src/part/summaryWidget.cpp:103
+msgid "Used"
+msgstr "Gebruikt"
+
+#: _translatorinfo.cpp:1
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr "Rinse de Vries"
+
+#: _translatorinfo.cpp:3
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr "rinsedevries@kde.nl"
diff --git a/po/pl/Makefile.am b/po/pl/Makefile.am
new file mode 100644
index 0000000..fb1bc72
--- /dev/null
+++ b/po/pl/Makefile.am
@@ -0,0 +1,3 @@
+KDE_LANG = pl
+SUBDIRS = $(AUTODIRS)
+POFILES = AUTO
diff --git a/po/pl/filelight.po b/po/pl/filelight.po
new file mode 100644
index 0000000..ac77867
--- /dev/null
+++ b/po/pl/filelight.po
@@ -0,0 +1,497 @@
+# translation of filelight.po to
+# translation of filelight.po to Polish
+# Michał Mroczek <sagitto@wp.pl>, 2004.
+# Krzysztof Lichota <lichota@mimuw.edu.pl>, 2005.
+# Daniel Wit Preuss <danpre@tlen.pl>, 2005.
+msgid ""
+msgstr ""
+"Project-Id-Version: filelight\n"
+"POT-Creation-Date: 2006-08-20 12:01+0200\n"
+"PO-Revision-Date: 2005-04-24 11:14+0200\n"
+"Last-Translator: Daniel Wit Preuss <danpre@tlen.pl>\n"
+"Language-Team: Polish <pl@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.9.1\n"
+
+#. i18n: file ./src/part/dialog.ui line 16
+#: rc.cpp:3
+#, no-c-format
+msgid "Settings - Filelight"
+msgstr "Ustawienia - Filelight"
+
+#. i18n: file ./src/part/dialog.ui line 34
+#: rc.cpp:6
+#, fuzzy, no-c-format
+msgid "Scannin&g"
+msgstr "&Skanowanie"
+
+#. i18n: file ./src/part/dialog.ui line 53
+#: rc.cpp:9
+#, fuzzy, no-c-format
+msgid "Do &not scan these directories:"
+msgstr "&Nie skanuj tych folderów:"
+
+#. i18n: file ./src/part/dialog.ui line 70
+#: rc.cpp:13
+#, no-c-format
+msgid ""
+"Filelight will not scan these directories unless you specifically request them."
+msgstr ""
+"Filelight nie przeskanuje tych katalogów, dopóki ich nie usuniesz z tej listy."
+
+#. i18n: file ./src/part/dialog.ui line 106
+#: rc.cpp:16
+#, no-c-format
+msgid "R&emove"
+msgstr "&Usuń"
+
+#. i18n: file ./src/part/dialog.ui line 117
+#: rc.cpp:19
+#, no-c-format
+msgid "&Add..."
+msgstr "&Dodaj..."
+
+#. i18n: file ./src/part/dialog.ui line 202
+#: rc.cpp:22
+#, fuzzy, no-c-format
+msgid "Exclude remote files&ystems"
+msgstr "O&miń zdalne systemy plików"
+
+#. i18n: file ./src/part/dialog.ui line 208
+#: rc.cpp:26
+#, no-c-format
+msgid ""
+"Prevents scanning of filesystems that are not on this computer, e.g. NFS or "
+"Samba mounts."
+msgstr ""
+"Zapobiega skanowaniu zdalnych systemów plików, np. zamontowane udziały NFS czy "
+"SAMBA."
+
+#. i18n: file ./src/part/dialog.ui line 216
+#: rc.cpp:29
+#, no-c-format
+msgid "Scan across filesystem &boundaries"
+msgstr "Skanuj poza &granicami systemu plików"
+
+#. i18n: file ./src/part/dialog.ui line 219
+#: rc.cpp:32
+#, fuzzy, no-c-format
+msgid ""
+"Allows scans to enter directories that are part of other filesystems. For "
+"example, when unchecked, this will usually prevent the contents of <b>/mnt</b> "
+"from being scanned if you scan <b>/</b>."
+msgstr ""
+"Blokuje skanowanie katalogów, które są częścią innych systemów. Na przykład, "
+"zapobiega skanowaniu zawartości <b>/mnt</b> gdy skanujesz <b>/</b>"
+
+#. i18n: file ./src/part/dialog.ui line 230
+#: rc.cpp:35
+#, fuzzy, no-c-format
+msgid "E&xclude removable media"
+msgstr "Omiń nośniki wymie&nne"
+
+#. i18n: file ./src/part/dialog.ui line 236
+#: rc.cpp:39
+#, no-c-format
+msgid "Prevents Filelight from scanning removable media (eg. CD-ROMs)."
+msgstr "Uniemożliwia Filelight skanowanie nośników wymiennych (np. CD-ROMów)."
+
+#. i18n: file ./src/part/dialog.ui line 248
+#: rc.cpp:42
+#, no-c-format
+msgid "&Appearance"
+msgstr "Wy&gląd"
+
+#. i18n: file ./src/part/dialog.ui line 259
+#: rc.cpp:45
+#, no-c-format
+msgid "Scheme"
+msgstr "Zestaw"
+
+#. i18n: file ./src/part/dialog.ui line 291
+#: rc.cpp:48
+#, fuzzy, no-c-format
+msgid "Co&ntrast"
+msgstr "&Kontrast"
+
+#. i18n: file ./src/part/dialog.ui line 314
+#: rc.cpp:51
+#, no-c-format
+msgid "Here you can vary the contrast of the filemap in realtime."
+msgstr "Tutaj możesz zmienić kontrast mapy plików w czasie rzeczywistym."
+
+#. i18n: file ./src/part/dialog.ui line 326
+#: rc.cpp:54
+#, no-c-format
+msgid "&Use anti-aliasing"
+msgstr "&Użyj wygładzania"
+
+#. i18n: file ./src/part/dialog.ui line 329
+#: rc.cpp:57
+#, no-c-format
+msgid ""
+"Anti-aliasing the filemap makes it clearer and prettier, unfortunately it also "
+"makes rendering very slow."
+msgstr ""
+"Wygładzanie mapy plików czyni ją bardziej przejrzystą i ładniejszą, niestety "
+"powoduje to także bardzo powolne jej tworzenie."
+
+#. i18n: file ./src/part/dialog.ui line 351
+#: rc.cpp:60
+#, fuzzy, no-c-format
+msgid "Var&y label font sizes"
+msgstr "Róż&nicuj rozmiary czcionek na etykietach"
+
+#. i18n: file ./src/part/dialog.ui line 354
+#: rc.cpp:63
+#, no-c-format
+msgid ""
+"The font size of exploded labels can be varied relative to the depth of the "
+"directories they represent. This helps you spot the important labels more "
+"easily. Set a sensible minimum font size."
+msgstr ""
+"Rozmiar czcionki rozwiniętych etykiet może być różny zależnie od głębokości "
+"katalogów jakie reprezentuje. To pomoże Ci łatwiej rozpoznać ważniejsze "
+"etykiety. Proszę ustawić rozsądny minimalny rozmiar czcionki."
+
+#. i18n: file ./src/part/dialog.ui line 390
+#: rc.cpp:66
+#, fuzzy, no-c-format
+msgid "Minimum font si&ze:"
+msgstr "Minimalny rozmiar &czcionki:"
+
+#. i18n: file ./src/part/dialog.ui line 399
+#: rc.cpp:69
+#, no-c-format
+msgid "The smallest font size Filelight can use to render labels."
+msgstr ""
+"Najmniejszy rozmiar czcionki, za pomocą którego Filelight może rysować "
+"etykiety."
+
+#. i18n: file ./src/part/dialog.ui line 442
+#: rc.cpp:72
+#, no-c-format
+msgid "Show small files"
+msgstr "Wyświetlaj małe pliki"
+
+#. i18n: file ./src/part/dialog.ui line 445
+#: rc.cpp:75
+#, no-c-format
+msgid ""
+"Some files are too small to be rendered on the filemap. Selecting this option "
+"makes these files visible by merging them all into a single \"multi-segment\"."
+msgstr ""
+"Niektóre pliki są zbyt małe aby je wyświetlić na mapie plików. Zaznaczenie tej "
+"opcji uczyni pliki widocznymi poprzez scalenie ich wszystkich do jednego "
+"większego segmentu."
+
+#. i18n: file ./src/part/dialog.ui line 464
+#: rc.cpp:78
+#, no-c-format
+msgid "&Reset"
+msgstr "P&rzywróć"
+
+#. i18n: file ./src/part/dialog.ui line 470
+#: rc.cpp:81
+#, no-c-format
+msgid "Reset any changes you have made since you opened this dialog."
+msgstr "Wycofuje wszystkie zmiany wykonane po otwarciu tego okna."
+
+#. i18n: file ./misc/filelightui.rc line 4
+#: rc.cpp:87
+#, no-c-format
+msgid "&Scan"
+msgstr "&Skanuj"
+
+#. i18n: file ./misc/filelightui.rc line 19
+#: rc.cpp:93
+#, no-c-format
+msgid "&Go"
+msgstr "&Idź"
+
+#. i18n: file ./misc/filelightui.rc line 35
+#: rc.cpp:99
+#, no-c-format
+msgid "Location Toolbar"
+msgstr "Pasek adresu"
+
+#: src/app/historyAction.cpp:46
+msgid "Forward"
+msgstr "W przód"
+
+#: src/app/main.cpp:15
+msgid "Scan 'path'"
+msgstr "Ścieżka skanowania"
+
+#: src/app/main.cpp:21
+msgid "Graphical disk-usage information"
+msgstr "Graficzna prezentacja wykorzystania dysku"
+
+#: src/app/main.cpp:22
+#, fuzzy
+msgid "(C )2006 Max Howell"
+msgstr "(C) 2003 Max Howell"
+
+#: src/app/main.cpp:30
+msgid "Author, maintainer"
+msgstr ""
+
+#: src/app/main.cpp:31
+msgid "Documentation"
+msgstr ""
+
+#: src/app/main.cpp:32
+msgid "Inspiration"
+msgstr "Inspiracja"
+
+#: src/app/main.cpp:33
+#, fuzzy
+msgid "Internationalization"
+msgstr "Obsługa wielu języków"
+
+#: src/app/main.cpp:34
+msgid "Testing"
+msgstr ""
+
+#: src/app/main.cpp:35
+#, fuzzy
+msgid "Bravery in the face of unreadable code"
+msgstr "Odwaga wobec nieodczytywalnego kodu (łaty)"
+
+#: src/app/mainWindow.cpp:40
+msgid ""
+"KDE could not find the Filelight Part, or the Filelight Part could not be "
+"started. Did you make install?"
+msgstr ""
+"KDE nie może znaleźć Filelight Part, lub nie można uruchomić Filelight Part. "
+"Czy został zainstalowany?"
+
+#: src/app/mainWindow.cpp:57
+msgid ""
+"Filelight is not installed properly, consequently its menus and toolbars will "
+"appear reduced or even empty"
+msgstr ""
+
+#: src/app/mainWindow.cpp:91
+msgid "Scan &Home Directory"
+msgstr "Skanuj katalog &domowy"
+
+#: src/app/mainWindow.cpp:92
+msgid "Scan &Root Directory"
+msgstr "Skanuj katalog &główny"
+
+#: src/app/mainWindow.cpp:93
+msgid "Rescan"
+msgstr "Powtórz skanowanie"
+
+#: src/app/mainWindow.cpp:95
+msgid "Clear Location Bar"
+msgstr "Wyczyść pasek adresu"
+
+#: src/app/mainWindow.cpp:96
+msgid "Go"
+msgstr "Przejdź"
+
+#: src/app/mainWindow.cpp:98
+msgid "Location Bar"
+msgstr "Pasek adresu"
+
+#: src/app/mainWindow.cpp:99
+msgid "&Recent Scans"
+msgstr "&Ostatnie skanowania"
+
+#: src/app/mainWindow.cpp:102
+msgid "&Scan Directory..."
+msgstr "&Skanuj katalog..."
+
+#: src/app/mainWindow.cpp:263
+msgid ""
+"_: &Up: /home/mxcl\n"
+"%1: %2"
+msgstr ""
+
+#: src/part/progressBox.cpp:62
+#, c-format
+msgid ""
+"_n: %n File\n"
+"%n Files"
+msgstr ""
+
+#: src/part/radialMap/widgetEvents.cpp:165
+msgid "Open &Konqueror Here"
+msgstr "Otwórz tutaj &Konquerora"
+
+#: src/part/radialMap/widgetEvents.cpp:168
+msgid "Open &Konsole Here"
+msgstr "Otwórz tutaj K&onsolę"
+
+#: src/part/radialMap/widgetEvents.cpp:172
+msgid "&Center Map Here"
+msgstr "Wyś&rodkuj mapę tutaj"
+
+#: src/part/radialMap/widgetEvents.cpp:176
+msgid "&Open"
+msgstr "&Otwórz"
+
+#: src/part/radialMap/widgetEvents.cpp:179
+msgid "&Copy to clipboard"
+msgstr ""
+
+#: src/part/radialMap/widgetEvents.cpp:207
+msgid ""
+"<qt>The directory at <i>'%1'</i> will be <b>recursively</b> and <b>"
+"permanently</b> deleted."
+msgstr ""
+"<qt>Katalog<i>'%1'</i> będzie <b>rekurencyjnie</b> i <b>trwale</b> usunięty."
+
+#: src/part/radialMap/widgetEvents.cpp:208
+msgid "<qt><i>'%1'</i> will be <b>permanently</b> deleted."
+msgstr "<qt><i>'%1'</i> będzie <b>trwale</b> usunięte."
+
+#: src/part/radialMap/builder.cpp:133
+msgid ""
+"_: There can't ever be only 1 file\n"
+"%1 files, each about %2"
+msgstr "%1 plików, każdy około %2"
+
+#: src/part/radialMap/segmentTip.cpp:126
+#, c-format
+msgid "Files: %1"
+msgstr "Pliki: %1"
+
+#: src/part/settingsDialog.cpp:26
+msgid "Rainbow"
+msgstr "Tęcza"
+
+#: src/part/settingsDialog.cpp:27
+msgid "KDE Colors"
+msgstr "Kolory KDE"
+
+#: src/part/settingsDialog.cpp:28
+msgid "High Contrast"
+msgstr "Wysoki kontrast"
+
+#: src/part/settingsDialog.cpp:146
+msgid "That directory is already set to be excluded from scans"
+msgstr "Ten folder już jest wyłączony ze skanowania"
+
+#: src/part/part.cpp:62
+msgid "Configure Filelight..."
+msgstr "Konfiguracja: Filelight..."
+
+#: src/part/part.cpp:118
+msgid "The entered URL cannot be parsed; it is invalid."
+msgstr "Wprowadzony URL nie mógł być sprawdzony, jest nieprawidłowy."
+
+#: src/part/part.cpp:122
+#, c-format
+msgid "Filelight only accepts absolute paths, eg. /%1"
+msgstr "Filelight obsługuje tylko bezwzględne ścieżki, np. /%1"
+
+#: src/part/part.cpp:126
+#, c-format
+msgid "Directory not found: %1"
+msgstr "Nie znaleziono folderu: %1"
+
+#: src/part/part.cpp:130
+msgid ""
+"Unable to enter: %1\n"
+"You do not have access rights to this location."
+msgstr ""
+"Nie można wejść do: %1\n"
+"Nie masz praw dostępu do tej lokalizacji."
+
+#: src/part/part.cpp:147
+msgid "Aborting Scan..."
+msgstr "Przerywam skanowanie..."
+
+#: src/part/part.cpp:195
+#, c-format
+msgid "Scanning: %1"
+msgstr "Skanowanie: %1"
+
+#: src/part/part.cpp:220
+msgid "Scan completed, generating map..."
+msgstr "Skanowanie zakończone, tworzenie mapy..."
+
+#: src/part/part.cpp:229
+#, c-format
+msgid "Scan failed: %1"
+msgstr "Skanowanie nie powiodło się: %1"
+
+#: src/part/summaryWidget.cpp:102
+msgid "Free"
+msgstr "Wolne miejsce"
+
+#: src/part/summaryWidget.cpp:103
+msgid "Used"
+msgstr "Wykorzystane"
+
+#: _translatorinfo.cpp:1
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr "Daniel Wit Preuss"
+
+#: _translatorinfo.cpp:3
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr "danpre@tlen.pl"
+
+#~ msgid "Me"
+#~ msgstr "Autor programu"
+
+#~ msgid "Handbook guru"
+#~ msgstr "Autor podręcznika"
+
+#~ msgid "\"Girlfriend usability-testing\""
+#~ msgstr "Testowanie na przeciętnym użytkowniku"
+
+#~ msgid "Welsh Translation"
+#~ msgstr "Tłumaczenie na język walijski"
+
+#~ msgid "German Translation, testing, bug reports and suggestions"
+#~ msgstr "Tłumaczenie na język niemiecki, testowanie, zgłaszanie błędów i sugestie"
+
+#~ msgid "Slovak Translation"
+#~ msgstr "Tłumaczenie na język słowacki"
+
+#~ msgid "Polish Translation"
+#~ msgstr "Tłumaczenie na język polski"
+
+#~ msgid "Spanish Translation"
+#~ msgstr "Tłumaczenie na język hiszpański"
+
+#~ msgid "French Translation"
+#~ msgstr "Tłumaczenie na język francuski"
+
+#~ msgid "Russian Translation"
+#~ msgstr "Tłumaczenie na język rosyjski"
+
+#~ msgid "Dutch Translation"
+#~ msgstr "Tłumaczenie na język holenderski"
+
+#~ msgid ""
+#~ "Called: %1\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Wywołany: %1\n"
+#~ "\n"
+
+#~ msgid "could not execute %1"
+#~ msgstr "nie można uruchomić %1"
+
+#~ msgid "Use the Scan-menu to begin..."
+#~ msgstr "Użyj menu Skanuj aby zacząć..."
+
+#~ msgid "Up"
+#~ msgstr "Do góry"
+
+#~ msgid "Up: %1"
+#~ msgstr "Do góry: %1"
+
+#~ msgid "%1 Files"
+#~ msgstr "%1 plików"
diff --git a/po/pt/Makefile.am b/po/pt/Makefile.am
new file mode 100644
index 0000000..f811e06
--- /dev/null
+++ b/po/pt/Makefile.am
@@ -0,0 +1,3 @@
+KDE_LANG = pt
+SUBDIRS = $(AUTODIRS)
+POFILES = AUTO
diff --git a/po/pt/filelight.po b/po/pt/filelight.po
new file mode 100644
index 0000000..4f2e7c8
--- /dev/null
+++ b/po/pt/filelight.po
@@ -0,0 +1,483 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: filelight\n"
+"POT-Creation-Date: 2006-08-20 12:01+0200\n"
+"PO-Revision-Date: 2006-08-20 21:35+0100\n"
+"Last-Translator: José Nuno Pires <jncp@netcabo.pt>\n"
+"Language-Team: pt <kde-i18n-pt@kde.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POFile-IgnoreConsistency: &Scanning\n"
+"X-POFile-SpellExtra: Filelight Análi\n"
+"X-POFile-Allow: 1\n"
+
+#. i18n: file ./src/part/dialog.ui line 16
+#: rc.cpp:3
+#, no-c-format
+msgid "Settings - Filelight"
+msgstr "Configuração - Filelight"
+
+#. i18n: file ./src/part/dialog.ui line 34
+#: rc.cpp:6
+#, no-c-format
+msgid "Scannin&g"
+msgstr "Análi&ze"
+
+#. i18n: file ./src/part/dialog.ui line 53
+#: rc.cpp:9
+#, no-c-format
+msgid "Do &not scan these directories:"
+msgstr "&Não analisar estas pastas:"
+
+#. i18n: file ./src/part/dialog.ui line 70
+#: rc.cpp:13
+#, no-c-format
+msgid ""
+"Filelight will not scan these directories unless you specifically request them."
+msgstr ""
+"O Filelight não irá analisar estas pastas a menos que você o indique "
+"explicitamente."
+
+#. i18n: file ./src/part/dialog.ui line 106
+#: rc.cpp:16
+#, no-c-format
+msgid "R&emove"
+msgstr "R&emover"
+
+#. i18n: file ./src/part/dialog.ui line 117
+#: rc.cpp:19
+#, no-c-format
+msgid "&Add..."
+msgstr "&Adicionar..."
+
+#. i18n: file ./src/part/dialog.ui line 202
+#: rc.cpp:22
+#, no-c-format
+msgid "Exclude remote files&ystems"
+msgstr "Excluir os sistemas de ficheiros re&motos"
+
+#. i18n: file ./src/part/dialog.ui line 208
+#: rc.cpp:26
+#, no-c-format
+msgid ""
+"Prevents scanning of filesystems that are not on this computer, e.g. NFS or "
+"Samba mounts."
+msgstr ""
+"Evita a análise dos sistemas de ficheiros que não pertençam a este computador, "
+"p.ex., montagens de NFS ou de Samba."
+
+#. i18n: file ./src/part/dialog.ui line 216
+#: rc.cpp:29
+#, no-c-format
+msgid "Scan across filesystem &boundaries"
+msgstr "Analisar dentro dos limites do sistema de &ficheiros"
+
+#. i18n: file ./src/part/dialog.ui line 219
+#: rc.cpp:32
+#, no-c-format
+msgid ""
+"Allows scans to enter directories that are part of other filesystems. For "
+"example, when unchecked, this will usually prevent the contents of <b>/mnt</b> "
+"from being scanned if you scan <b>/</b>."
+msgstr ""
+"Impede a análise de entrar em pastas que fazem parte de outro sistemas de "
+"ficheiros. Por exemplo, isto normalmente impede que o conteúdo de <b>/mnt</b> "
+"seja procurado se analizar <b>/</b>."
+
+#. i18n: file ./src/part/dialog.ui line 230
+#: rc.cpp:35
+#, no-c-format
+msgid "E&xclude removable media"
+msgstr "E&xcluir os dispositivos amovíveis"
+
+#. i18n: file ./src/part/dialog.ui line 236
+#: rc.cpp:39
+#, no-c-format
+msgid "Prevents Filelight from scanning removable media (eg. CD-ROMs)."
+msgstr "Evita que o Filelight percorra as unidades amovíveis (p.ex., CD-ROMs)."
+
+#. i18n: file ./src/part/dialog.ui line 248
+#: rc.cpp:42
+#, no-c-format
+msgid "&Appearance"
+msgstr "&Aparência"
+
+#. i18n: file ./src/part/dialog.ui line 259
+#: rc.cpp:45
+#, no-c-format
+msgid "Scheme"
+msgstr "Esquema"
+
+#. i18n: file ./src/part/dialog.ui line 291
+#: rc.cpp:48
+#, no-c-format
+msgid "Co&ntrast"
+msgstr "Co&ntraste"
+
+#. i18n: file ./src/part/dialog.ui line 314
+#: rc.cpp:51
+#, no-c-format
+msgid "Here you can vary the contrast of the filemap in realtime."
+msgstr ""
+"Aqui você poderá variar o contraste do mapa dos ficheiros em tempo-real."
+
+#. i18n: file ./src/part/dialog.ui line 326
+#: rc.cpp:54
+#, no-c-format
+msgid "&Use anti-aliasing"
+msgstr "&Usar 'anti-aliasing'"
+
+#. i18n: file ./src/part/dialog.ui line 329
+#: rc.cpp:57
+#, no-c-format
+msgid ""
+"Anti-aliasing the filemap makes it clearer and prettier, unfortunately it also "
+"makes rendering very slow."
+msgstr ""
+"Se aplicar o 'anti-aliasing' ao mapa dos ficheiros torná-lo-á mais claro e mais "
+"bonito, mas tornando o desenho muito mais lento."
+
+#. i18n: file ./src/part/dialog.ui line 351
+#: rc.cpp:60
+#, no-c-format
+msgid "Var&y label font sizes"
+msgstr "&Variar os tamanhos de letra das legendas"
+
+#. i18n: file ./src/part/dialog.ui line 354
+#: rc.cpp:63
+#, no-c-format
+msgid ""
+"The font size of exploded labels can be varied relative to the depth of the "
+"directories they represent. This helps you spot the important labels more "
+"easily. Set a sensible minimum font size."
+msgstr ""
+"O tamanho da letra das legendas expandidas pode ser variado de acordo com a "
+"profundidade das directorias que estas representam. Isto ajuda-o a localizar as "
+"legendas mais importantes com maior facilidade. Defina um tamanho de letra "
+"mínimo aceitável."
+
+#. i18n: file ./src/part/dialog.ui line 390
+#: rc.cpp:66
+#, no-c-format
+msgid "Minimum font si&ze:"
+msgstr "Tamanho de &letra mínimo:"
+
+#. i18n: file ./src/part/dialog.ui line 399
+#: rc.cpp:69
+#, no-c-format
+msgid "The smallest font size Filelight can use to render labels."
+msgstr "O tamanho de letra mais pequeno a usar para representar as legendas."
+
+#. i18n: file ./src/part/dialog.ui line 442
+#: rc.cpp:72
+#, no-c-format
+msgid "Show small files"
+msgstr "Mostrar os ficheiros pequenos"
+
+#. i18n: file ./src/part/dialog.ui line 445
+#: rc.cpp:75
+#, no-c-format
+msgid ""
+"Some files are too small to be rendered on the filemap. Selecting this option "
+"makes these files visible by merging them all into a single \"multi-segment\"."
+msgstr ""
+"Alguns ficheiros são demasiado pequenos para serem desenhados nos mapas dos "
+"ficheiros. Se seleccionar esta opção, estes ficheiros ficarão visíveis ao "
+"uni-los todos num único \"multi-segmento\"."
+
+#. i18n: file ./src/part/dialog.ui line 464
+#: rc.cpp:78
+#, no-c-format
+msgid "&Reset"
+msgstr "&Reiniciar"
+
+#. i18n: file ./src/part/dialog.ui line 470
+#: rc.cpp:81
+#, no-c-format
+msgid "Reset any changes you have made since you opened this dialog."
+msgstr "Limpa todas as alterações que você fez desde que abriu esta janela."
+
+#. i18n: file ./misc/filelightui.rc line 4
+#: rc.cpp:87
+#, no-c-format
+msgid "&Scan"
+msgstr "Pe&squisar"
+
+#. i18n: file ./misc/filelightui.rc line 19
+#: rc.cpp:93
+#, no-c-format
+msgid "&Go"
+msgstr "&Ir"
+
+#. i18n: file ./misc/filelightui.rc line 35
+#: rc.cpp:99
+#, no-c-format
+msgid "Location Toolbar"
+msgstr "Barra de Localização"
+
+#: src/app/historyAction.cpp:46
+msgid "Forward"
+msgstr "Avançar"
+
+#: src/app/main.cpp:15
+msgid "Scan 'path'"
+msgstr "Analisar a 'directoria'"
+
+#: src/app/main.cpp:21
+msgid "Graphical disk-usage information"
+msgstr "Informação gráfica de utilização de disco"
+
+#: src/app/main.cpp:22
+msgid "(C )2006 Max Howell"
+msgstr "(C )2006 Max Howell"
+
+#: src/app/main.cpp:30
+msgid "Author, maintainer"
+msgstr "Autor, manutenção"
+
+#: src/app/main.cpp:31
+msgid "Documentation"
+msgstr "Documentação"
+
+#: src/app/main.cpp:32
+msgid "Inspiration"
+msgstr "Inspiração"
+
+#: src/app/main.cpp:33
+msgid "Internationalization"
+msgstr "Internacionalização"
+
+#: src/app/main.cpp:34
+msgid "Testing"
+msgstr "Testes"
+
+#: src/app/main.cpp:35
+msgid "Bravery in the face of unreadable code"
+msgstr "Coragem ao encontrar código ilegível"
+
+#: src/app/mainWindow.cpp:40
+msgid ""
+"KDE could not find the Filelight Part, or the Filelight Part could not be "
+"started. Did you make install?"
+msgstr ""
+"Não foi possível a KDE encontrar a componente Filelight, ou não foi possível "
+"iniciá-la. Correu o make install?"
+
+#: src/app/mainWindow.cpp:57
+msgid ""
+"Filelight is not installed properly, consequently its menus and toolbars will "
+"appear reduced or even empty"
+msgstr ""
+"O Filelight não está instalado correctamente, e por esta razão os seus menus e "
+"barras de ferramentas vão aparecer reduzidas ou mesmo vazias"
+
+#: src/app/mainWindow.cpp:91
+msgid "Scan &Home Directory"
+msgstr "Analisar a Directoria &Pessoal"
+
+#: src/app/mainWindow.cpp:92
+msgid "Scan &Root Directory"
+msgstr "Analisar a Directoria de &Raiz"
+
+#: src/app/mainWindow.cpp:93
+msgid "Rescan"
+msgstr "Pesquisar de Novo"
+
+#: src/app/mainWindow.cpp:95
+msgid "Clear Location Bar"
+msgstr "Limpar a Barra de Localização"
+
+#: src/app/mainWindow.cpp:96
+msgid "Go"
+msgstr "Ir"
+
+#: src/app/mainWindow.cpp:98
+msgid "Location Bar"
+msgstr "Barra de Localização"
+
+#: src/app/mainWindow.cpp:99
+msgid "&Recent Scans"
+msgstr "Análises R&ecentes"
+
+#: src/app/mainWindow.cpp:102
+msgid "&Scan Directory..."
+msgstr "Anali&sar a Pasta..."
+
+#: src/app/mainWindow.cpp:263
+msgid ""
+"_: &Up: /home/mxcl\n"
+"%1: %2"
+msgstr "%1: %2"
+
+#: src/part/progressBox.cpp:62
+#, c-format
+msgid ""
+"_n: %n File\n"
+"%n Files"
+msgstr ""
+"%n Ficheiro\n"
+"%n Ficheiros"
+
+#: src/part/radialMap/widgetEvents.cpp:165
+msgid "Open &Konqueror Here"
+msgstr "Abrir o &Konqueror Aqui"
+
+#: src/part/radialMap/widgetEvents.cpp:168
+msgid "Open &Konsole Here"
+msgstr "Abrir o &Konsole Aqui"
+
+#: src/part/radialMap/widgetEvents.cpp:172
+msgid "&Center Map Here"
+msgstr "&Centrar o Mapa Aqui"
+
+#: src/part/radialMap/widgetEvents.cpp:176
+msgid "&Open"
+msgstr "&Abrir"
+
+#: src/part/radialMap/widgetEvents.cpp:179
+msgid "&Copy to clipboard"
+msgstr "&Copiar para a área de transferência"
+
+#: src/part/radialMap/widgetEvents.cpp:207
+msgid ""
+"<qt>The directory at <i>'%1'</i> will be <b>recursively</b> and <b>"
+"permanently</b> deleted."
+msgstr ""
+"<qt>A pasta <i>'%1'</i> será apagada <b>recursivamente</b> e <b>"
+"permanentemente</b>."
+
+#: src/part/radialMap/widgetEvents.cpp:208
+msgid "<qt><i>'%1'</i> will be <b>permanently</b> deleted."
+msgstr "<qt><i>'%1'</i> será <b>permanentemente</b> apagado."
+
+#: src/part/radialMap/builder.cpp:133
+msgid ""
+"_: There can't ever be only 1 file\n"
+"%1 files, each about %2"
+msgstr "%1 ficheiros, cada cerca de %2"
+
+#: src/part/radialMap/segmentTip.cpp:126
+#, c-format
+msgid "Files: %1"
+msgstr "Ficheiros: %1"
+
+#: src/part/settingsDialog.cpp:26
+msgid "Rainbow"
+msgstr "Arco-íris"
+
+#: src/part/settingsDialog.cpp:27
+msgid "KDE Colors"
+msgstr "Cores do KDE"
+
+#: src/part/settingsDialog.cpp:28
+msgid "High Contrast"
+msgstr "Alto Contraste"
+
+#: src/part/settingsDialog.cpp:146
+msgid "That directory is already set to be excluded from scans"
+msgstr "Essa pasta já está a ser excluída das procuras"
+
+#: src/part/part.cpp:62
+msgid "Configure Filelight..."
+msgstr "Configurar o Filelight..."
+
+#: src/part/part.cpp:118
+msgid "The entered URL cannot be parsed; it is invalid."
+msgstr "Não é possível processar a URL indicada; é inválida."
+
+#: src/part/part.cpp:122
+#, c-format
+msgid "Filelight only accepts absolute paths, eg. /%1"
+msgstr "O Filelight só aceita directorias absolutas, p.ex., /%1"
+
+#: src/part/part.cpp:126
+#, c-format
+msgid "Directory not found: %1"
+msgstr "Directoria não encontrada: %1"
+
+#: src/part/part.cpp:130
+msgid ""
+"Unable to enter: %1\n"
+"You do not have access rights to this location."
+msgstr ""
+"Não é possível aceder: %1\n"
+"Você não tem direitos de acesso a esta localização."
+
+#: src/part/part.cpp:147
+msgid "Aborting Scan..."
+msgstr "A Cancelar Análise..."
+
+#: src/part/part.cpp:195
+#, c-format
+msgid "Scanning: %1"
+msgstr "A analisar: %1"
+
+#: src/part/part.cpp:220
+msgid "Scan completed, generating map..."
+msgstr "Análise completa, a gerar o mapa..."
+
+#: src/part/part.cpp:229
+#, c-format
+msgid "Scan failed: %1"
+msgstr "Análise falhou: %1"
+
+#: src/part/summaryWidget.cpp:102
+msgid "Free"
+msgstr "Livre"
+
+#: src/part/summaryWidget.cpp:103
+msgid "Used"
+msgstr "Utilizado"
+
+#: _translatorinfo.cpp:1
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr "José Nuno Pires,Pedro Morais"
+
+#: _translatorinfo.cpp:3
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr "jncp@netcabo.pt,morais@kde.org"
+
+#~ msgid "Handbook guru"
+#~ msgstr "Mestre do manual"
+
+#~ msgid "\"Girlfriend usability-testing\""
+#~ msgstr "\"Teste de usabilidade da namorada\""
+
+#~ msgid "Welsh Translation"
+#~ msgstr "Tradução para Galês"
+
+#~ msgid "German Translation, testing, bug reports and suggestions"
+#~ msgstr "Tradução para Alemão, testes, relatórios de erros e sugestões"
+
+#~ msgid "Slovak Translation"
+#~ msgstr "Tradução para Eslovaco"
+
+#~ msgid "Polish Translation"
+#~ msgstr "Tradução para Polaco"
+
+#~ msgid "Spanish Translation"
+#~ msgstr "Tradução para Espanhol"
+
+#~ msgid "French Translation"
+#~ msgstr "Tradução para Francês"
+
+#~ msgid "Russian Translation"
+#~ msgstr "Tradução para Russo"
+
+#~ msgid "Dutch Translation"
+#~ msgstr "Tradução para Holandês"
+
+#~ msgid ""
+#~ "Called: %1\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Chamado: %1\n"
+#~ "\n"
+
+#~ msgid "could not execute %1"
+#~ msgstr "não foi possível executar %1"
diff --git a/po/pt_BR/Makefile.am b/po/pt_BR/Makefile.am
new file mode 100644
index 0000000..7337beb
--- /dev/null
+++ b/po/pt_BR/Makefile.am
@@ -0,0 +1,3 @@
+KDE_LANG = pt_BR
+SUBDIRS = $(AUTODIRS)
+POFILES = AUTO
diff --git a/po/pt_BR/filelight.po b/po/pt_BR/filelight.po
new file mode 100644
index 0000000..a2052b7
--- /dev/null
+++ b/po/pt_BR/filelight.po
@@ -0,0 +1,550 @@
+# translation of filelight.po to Brazilian Portuguese
+# Copyright (C) 2003, 2006 Free Software Foundation, Inc.
+#
+# Daniel S Carvalho <danielscarvalho@netscape.net>, 2003.
+# Lisiane Sztoltz <lisiane@conectiva.com.br>, 2003.
+# Diniz Bortolotto <diniz.bb@gmail.com>, 2006.
+# Diniz Fernando Bortolotto Ferreira <diniz.bb@gmail.com>, 2006.
+msgid ""
+msgstr ""
+"Project-Id-Version: filelight\n"
+"POT-Creation-Date: 2006-08-20 12:01+0200\n"
+"PO-Revision-Date: 2006-07-08 21:51-0300\n"
+"Last-Translator: Diniz Fernando Bortolotto Ferreira <diniz.bb@gmail.com>\n"
+"Language-Team: Brazilian Portuguese <kde-i18n-pt_br@kde.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.2\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#. i18n: file ./src/part/dialog.ui line 16
+#: rc.cpp:3
+#, no-c-format
+msgid "Settings - Filelight"
+msgstr "Configurações - Filelight"
+
+#. i18n: file ./src/part/dialog.ui line 34
+#: rc.cpp:6
+#, fuzzy, no-c-format
+msgid "Scannin&g"
+msgstr "Análi&se"
+
+#. i18n: file ./src/part/dialog.ui line 53
+#: rc.cpp:9
+#, fuzzy, no-c-format
+msgid "Do &not scan these directories:"
+msgstr "Não analisar estes &diretórios:"
+
+#. i18n: file ./src/part/dialog.ui line 70
+#: rc.cpp:13
+#, no-c-format
+msgid ""
+"Filelight will not scan these directories unless you specifically request them."
+msgstr ""
+"O Filelight não irá analisar estes diretórios a menos que você o indique "
+"explicitamente."
+
+#. i18n: file ./src/part/dialog.ui line 106
+#: rc.cpp:16
+#, no-c-format
+msgid "R&emove"
+msgstr "R&emover"
+
+#. i18n: file ./src/part/dialog.ui line 117
+#: rc.cpp:19
+#, no-c-format
+msgid "&Add..."
+msgstr "&Adicionar..."
+
+#. i18n: file ./src/part/dialog.ui line 202
+#: rc.cpp:22
+#, fuzzy, no-c-format
+msgid "Exclude remote files&ystems"
+msgstr "Excluir os sistemas de arquivos re&motos"
+
+#. i18n: file ./src/part/dialog.ui line 208
+#: rc.cpp:26
+#, no-c-format
+msgid ""
+"Prevents scanning of filesystems that are not on this computer, e.g. NFS or "
+"Samba mounts."
+msgstr ""
+"Evita a análise dos sistemas de arquivos que não pertençam a este computador, "
+"p.ex., montagens NFS ou Samba."
+
+#. i18n: file ./src/part/dialog.ui line 216
+#: rc.cpp:29
+#, no-c-format
+msgid "Scan across filesystem &boundaries"
+msgstr "Analisar através dos &limites do sistema de arquivos"
+
+#. i18n: file ./src/part/dialog.ui line 219
+#: rc.cpp:32
+#, fuzzy, no-c-format
+msgid ""
+"Allows scans to enter directories that are part of other filesystems. For "
+"example, when unchecked, this will usually prevent the contents of <b>/mnt</b> "
+"from being scanned if you scan <b>/</b>."
+msgstr ""
+"Impede a análise de diretórios que fazem parte de outros sistemas de arquivos. "
+"Por exemplo, isto normalmente impede que o conteúdo de <b>/mnt</b> "
+"seja analisado <b>/</b>."
+
+#. i18n: file ./src/part/dialog.ui line 230
+#: rc.cpp:35
+#, fuzzy, no-c-format
+msgid "E&xclude removable media"
+msgstr "Excluir os dispositivos remo&víveis"
+
+#. i18n: file ./src/part/dialog.ui line 236
+#: rc.cpp:39
+#, no-c-format
+msgid "Prevents Filelight from scanning removable media (eg. CD-ROMs)."
+msgstr ""
+"Evita que o Filelight analise dispositivos removíveis (p.ex., CD-ROMs)."
+
+#. i18n: file ./src/part/dialog.ui line 248
+#: rc.cpp:42
+#, no-c-format
+msgid "&Appearance"
+msgstr "&Aparência"
+
+#. i18n: file ./src/part/dialog.ui line 259
+#: rc.cpp:45
+#, no-c-format
+msgid "Scheme"
+msgstr "Esquema"
+
+#. i18n: file ./src/part/dialog.ui line 291
+#: rc.cpp:48
+#, fuzzy, no-c-format
+msgid "Co&ntrast"
+msgstr "&Contraste"
+
+#. i18n: file ./src/part/dialog.ui line 314
+#: rc.cpp:51
+#, no-c-format
+msgid "Here you can vary the contrast of the filemap in realtime."
+msgstr "Aqui você poderá variar o contraste do mapa de arquivos em tempo-real."
+
+#. i18n: file ./src/part/dialog.ui line 326
+#: rc.cpp:54
+#, no-c-format
+msgid "&Use anti-aliasing"
+msgstr "&Usar 'anti-aliasing'"
+
+#. i18n: file ./src/part/dialog.ui line 329
+#: rc.cpp:57
+#, no-c-format
+msgid ""
+"Anti-aliasing the filemap makes it clearer and prettier, unfortunately it also "
+"makes rendering very slow."
+msgstr ""
+"Se aplicar o 'anti-aliasing' ao mapa de arquivos ele irá ficar mais claro e "
+"mais bonito, mas tornando o desenho muito mais lento."
+
+#. i18n: file ./src/part/dialog.ui line 351
+#: rc.cpp:60
+#, fuzzy, no-c-format
+msgid "Var&y label font sizes"
+msgstr "&Variar os tamanhos de letra das legendas"
+
+#. i18n: file ./src/part/dialog.ui line 354
+#: rc.cpp:63
+#, no-c-format
+msgid ""
+"The font size of exploded labels can be varied relative to the depth of the "
+"directories they represent. This helps you spot the important labels more "
+"easily. Set a sensible minimum font size."
+msgstr ""
+"O tamanho da letra das legendas expandidas pode ser variado de acordo com a "
+"profundidade dos diretórios que estas representam. Isto ajuda-o a localizar as "
+"legendas mais importantes com maior facilidade. Defina um tamanho de letra "
+"mínimo aceitável."
+
+#. i18n: file ./src/part/dialog.ui line 390
+#: rc.cpp:66
+#, fuzzy, no-c-format
+msgid "Minimum font si&ze:"
+msgstr "Tamanho de &letra mínimo:"
+
+#. i18n: file ./src/part/dialog.ui line 399
+#: rc.cpp:69
+#, no-c-format
+msgid "The smallest font size Filelight can use to render labels."
+msgstr ""
+"O menor tamanho de letra que o Filelight pode usar para representar as "
+"legendas."
+
+#. i18n: file ./src/part/dialog.ui line 442
+#: rc.cpp:72
+#, no-c-format
+msgid "Show small files"
+msgstr "Mostrar arquivos pequenos"
+
+#. i18n: file ./src/part/dialog.ui line 445
+#: rc.cpp:75
+#, no-c-format
+msgid ""
+"Some files are too small to be rendered on the filemap. Selecting this option "
+"makes these files visible by merging them all into a single \"multi-segment\"."
+msgstr ""
+"Alguns arquivos são demasiado pequenos para serem desenhados nos mapas de "
+"arquivos. Se selecionar esta opção, estes arquivos ficarão visíveis ao uni-los "
+"todos num único \"multi-segmento\"."
+
+#. i18n: file ./src/part/dialog.ui line 464
+#: rc.cpp:78
+#, no-c-format
+msgid "&Reset"
+msgstr "&Reiniciar"
+
+#. i18n: file ./src/part/dialog.ui line 470
+#: rc.cpp:81
+#, no-c-format
+msgid "Reset any changes you have made since you opened this dialog."
+msgstr "Limpa todas as alterações que você fez desde que abriu esta janela."
+
+#. i18n: file ./misc/filelightui.rc line 4
+#: rc.cpp:87
+#, no-c-format
+msgid "&Scan"
+msgstr "Pe&squisar"
+
+#. i18n: file ./misc/filelightui.rc line 19
+#: rc.cpp:93
+#, no-c-format
+msgid "&Go"
+msgstr "&Ir"
+
+#. i18n: file ./misc/filelightui.rc line 35
+#: rc.cpp:99
+#, no-c-format
+msgid "Location Toolbar"
+msgstr "Barra de Localização"
+
+#: src/app/historyAction.cpp:46
+msgid "Forward"
+msgstr "Avançar"
+
+#: src/app/main.cpp:15
+msgid "Scan 'path'"
+msgstr "Examinar 'path'"
+
+#: src/app/main.cpp:21
+msgid "Graphical disk-usage information"
+msgstr "Informação gráfica de utilização de disco"
+
+#: src/app/main.cpp:22
+#, fuzzy
+msgid "(C )2006 Max Howell"
+msgstr "(C) 2003 Max Howell"
+
+#: src/app/main.cpp:30
+msgid "Author, maintainer"
+msgstr ""
+
+#: src/app/main.cpp:31
+msgid "Documentation"
+msgstr ""
+
+#: src/app/main.cpp:32
+msgid "Inspiration"
+msgstr "Inspiração"
+
+#: src/app/main.cpp:33
+#, fuzzy
+msgid "Internationalization"
+msgstr "Suporte a internacionalização"
+
+#: src/app/main.cpp:34
+msgid "Testing"
+msgstr ""
+
+#: src/app/main.cpp:35
+#, fuzzy
+msgid "Bravery in the face of unreadable code"
+msgstr "Coragem ao encontrar código ilegível (correções)"
+
+#: src/app/mainWindow.cpp:40
+msgid ""
+"KDE could not find the Filelight Part, or the Filelight Part could not be "
+"started. Did you make install?"
+msgstr ""
+"KDE não encontrou o Filelight ou o Filelight não pôde ser inicializado. Você "
+"efetuou a instalação?"
+
+#: src/app/mainWindow.cpp:57
+msgid ""
+"Filelight is not installed properly, consequently its menus and toolbars will "
+"appear reduced or even empty"
+msgstr ""
+
+#: src/app/mainWindow.cpp:91
+msgid "Scan &Home Directory"
+msgstr "Analisar o Diretório &Home"
+
+#: src/app/mainWindow.cpp:92
+msgid "Scan &Root Directory"
+msgstr "Analisar Diretório &Raiz"
+
+#: src/app/mainWindow.cpp:93
+msgid "Rescan"
+msgstr "Analisar Novamente"
+
+#: src/app/mainWindow.cpp:95
+msgid "Clear Location Bar"
+msgstr "Limpar a Barra de Localização"
+
+#: src/app/mainWindow.cpp:96
+msgid "Go"
+msgstr "Ir"
+
+#: src/app/mainWindow.cpp:98
+msgid "Location Bar"
+msgstr "Barra de Localização"
+
+#: src/app/mainWindow.cpp:99
+msgid "&Recent Scans"
+msgstr "Análises &Recentes"
+
+#: src/app/mainWindow.cpp:102
+msgid "&Scan Directory..."
+msgstr "Anali&sar Diretório..."
+
+#: src/app/mainWindow.cpp:263
+msgid ""
+"_: &Up: /home/mxcl\n"
+"%1: %2"
+msgstr ""
+
+#: src/part/progressBox.cpp:62
+#, c-format
+msgid ""
+"_n: %n File\n"
+"%n Files"
+msgstr ""
+"%n Arquivo\n"
+"%n Arquivos"
+
+#: src/part/radialMap/widgetEvents.cpp:165
+msgid "Open &Konqueror Here"
+msgstr "Abra o &Konqueror Aqui"
+
+#: src/part/radialMap/widgetEvents.cpp:168
+msgid "Open &Konsole Here"
+msgstr "Abra o &Konsole Aqui"
+
+#: src/part/radialMap/widgetEvents.cpp:172
+msgid "&Center Map Here"
+msgstr "&Centralize o Mapa Aqui"
+
+#: src/part/radialMap/widgetEvents.cpp:176
+msgid "&Open"
+msgstr "&Abrir"
+
+#: src/part/radialMap/widgetEvents.cpp:179
+msgid "&Copy to clipboard"
+msgstr ""
+
+#: src/part/radialMap/widgetEvents.cpp:207
+msgid ""
+"<qt>The directory at <i>'%1'</i> will be <b>recursively</b> and <b>"
+"permanently</b> deleted."
+msgstr ""
+"<qt>O diretório em <i>'%1'</i> será <b>recursivamente</b> e <b>"
+"permanentemente</b> apagado."
+
+#: src/part/radialMap/widgetEvents.cpp:208
+msgid "<qt><i>'%1'</i> will be <b>permanently</b> deleted."
+msgstr "<qt><i>'%1'</i> será <b>permanentemente</b> apagado."
+
+#: src/part/radialMap/builder.cpp:133
+msgid ""
+"_: There can't ever be only 1 file\n"
+"%1 files, each about %2"
+msgstr "%1 arquivos, cerca de %2 cada"
+
+#: src/part/radialMap/segmentTip.cpp:126
+#, c-format
+msgid "Files: %1"
+msgstr "Arquivos: %1"
+
+#: src/part/settingsDialog.cpp:26
+msgid "Rainbow"
+msgstr "Arco-íris"
+
+#: src/part/settingsDialog.cpp:27
+msgid "KDE Colors"
+msgstr "Cores do KDE"
+
+#: src/part/settingsDialog.cpp:28
+msgid "High Contrast"
+msgstr "Alto Contraste"
+
+#: src/part/settingsDialog.cpp:146
+msgid "That directory is already set to be excluded from scans"
+msgstr "Aquele diretório já foi marcado para ser excluído das análises"
+
+#: src/part/part.cpp:62
+msgid "Configure Filelight..."
+msgstr "Configurar o Filelight..."
+
+#: src/part/part.cpp:118
+msgid "The entered URL cannot be parsed; it is invalid."
+msgstr "A URL informada não pode ser analisada, ela é inválida."
+
+#: src/part/part.cpp:122
+#, c-format
+msgid "Filelight only accepts absolute paths, eg. /%1"
+msgstr "O Filelight aceita apenas caminhos absolutos, p.ex. /%1"
+
+#: src/part/part.cpp:126
+#, c-format
+msgid "Directory not found: %1"
+msgstr "Diretório não encontrado: %1"
+
+#: src/part/part.cpp:130
+msgid ""
+"Unable to enter: %1\n"
+"You do not have access rights to this location."
+msgstr ""
+"Não é possível acessar: %1\n"
+"Você não tem direitos de acesso a este local."
+
+#: src/part/part.cpp:147
+msgid "Aborting Scan..."
+msgstr "Cancelando Análise..."
+
+#: src/part/part.cpp:195
+#, c-format
+msgid "Scanning: %1"
+msgstr "Analisando: %1"
+
+#: src/part/part.cpp:220
+msgid "Scan completed, generating map..."
+msgstr "Análise completa, gerando mapa..."
+
+#: src/part/part.cpp:229
+#, c-format
+msgid "Scan failed: %1"
+msgstr "Análise falhou: %1"
+
+#: src/part/summaryWidget.cpp:102
+msgid "Free"
+msgstr "Livre"
+
+#: src/part/summaryWidget.cpp:103
+msgid "Used"
+msgstr "Utilizado"
+
+#: _translatorinfo.cpp:1
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr "Daniel S Carvalho,Diniz Bortolotto"
+
+#: _translatorinfo.cpp:3
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr "danielscarvalho@netscape.net,diniz.bb@gmail.com"
+
+#~ msgid "Me"
+#~ msgstr "Eu"
+
+#~ msgid "Handbook guru"
+#~ msgstr "Mestre do manual"
+
+#~ msgid "\"Girlfriend usability-testing\""
+#~ msgstr "\"Teste de usabilidade da namorada\""
+
+#~ msgid "Welsh Translation"
+#~ msgstr "Tradução para Galês"
+
+#~ msgid "German Translation, testing, bug reports and suggestions"
+#~ msgstr "Tradução para Alemão, testes, relatórios de erros e sugestões"
+
+#~ msgid "Slovak Translation"
+#~ msgstr "Tradução para Eslovaco"
+
+#~ msgid "Polish Translation"
+#~ msgstr "Tradução para Polaco"
+
+#~ msgid "Spanish Translation"
+#~ msgstr "Tradução para Espanhol"
+
+#~ msgid "French Translation"
+#~ msgstr "Tradução para Francês"
+
+#~ msgid "Russian Translation"
+#~ msgstr "Tradução para Russo"
+
+#~ msgid "Dutch Translation"
+#~ msgstr "Tradução para Holandês"
+
+#~ msgid ""
+#~ "Called: %1\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Chamado: %1\n"
+#~ "\n"
+
+#~ msgid "could not execute %1"
+#~ msgstr "não foi possível executar %1"
+
+#~ msgid "Use the Scan-menu to begin..."
+#~ msgstr "Utilize o menu Pesquisar para começar..."
+
+#~ msgid "Up"
+#~ msgstr "Subir"
+
+#~ msgid "Up: %1"
+#~ msgstr "Subir: %1"
+
+#, fuzzy
+#~ msgid "%1 Files"
+#~ msgstr "%1 Arquivos procurados"
+
+#~ msgid "Selecting this option will prevent Filelight from scanning directories that are not in the same filesystem as where the scan started."
+#~ msgstr "Selecionando esta opção, você impede o Filelight de procurar nas pastas que não estão no mesmo sistema de arquivos onde a busca foi iniciada."
+
+#~ msgid "Filelight could not start an instance of Konqueror."
+#~ msgstr "O Filelight não pode iniciar uma instância do Konqueror."
+
+#~ msgid "Filelight could not start an instance of Konsole."
+#~ msgstr "O Filelight não pode iniciar uma instância do Konsole."
+
+#~ msgid "%1 files ~ %2"
+#~ msgstr "%1 arquivos ~ %2"
+
+#~ msgid "Recursive graphical display of disk usage."
+#~ msgstr "Exibição gráfica recursiva da utilização de disco."
+
+#~ msgid "Filelight is based on work by Steffen Gerlach"
+#~ msgstr "O Filelight é baseado no trabalho de Steffen Gerlanch"
+
+#~ msgid "Author"
+#~ msgstr "Autor"
+
+#~ msgid "Original concept"
+#~ msgstr "Conceito original"
+
+#~ msgid "The scan did not complete"
+#~ msgstr "A procura não foi completada"
+
+#~ msgid "Showing: %1"
+#~ msgstr "Mostrando: %1"
+
+#~ msgid "Filelight is available as a KPart and stand-alone application"
+#~ msgstr "O Filelight está disponível como componente do KDE e também como um aplicativo independente"
+
+#~ msgid "The URL protocol must be: file:/"
+#~ msgstr "O protocolo da URL precisa ser: file:/"
+
+#~ msgid "The URL is not valid: %1"
+#~ msgstr "A URL não é válida: %1"
+
+#~ msgid "The scan was aborted."
+#~ msgstr "A procura foi interrompida."
diff --git a/po/ro/Makefile.am b/po/ro/Makefile.am
new file mode 100644
index 0000000..01a5128
--- /dev/null
+++ b/po/ro/Makefile.am
@@ -0,0 +1,3 @@
+KDE_LANG = ro
+SUBDIRS = $(AUTODIRS)
+POFILES = AUTO
diff --git a/po/ro/filelight.po b/po/ro/filelight.po
new file mode 100644
index 0000000..367ab3b
--- /dev/null
+++ b/po/ro/filelight.po
@@ -0,0 +1,433 @@
+# translation of filelight.po to Romanian
+# Copyright (C) 2003 Free Software Foundation, Inc.
+# Claudiu Costin <claudiuc@kde.org>, 2003.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: filelight\n"
+"POT-Creation-Date: 2006-08-20 12:01+0200\n"
+"PO-Revision-Date: 2003-12-04 20:10+0200\n"
+"Last-Translator: Claudiu Costin <claudiuc@kde.org>\n"
+"Language-Team: Romanian <ro-kde@yahoogroups.com>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.3\n"
+
+#. i18n: file ./src/part/dialog.ui line 16
+#: rc.cpp:3
+#, no-c-format
+msgid "Settings - Filelight"
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 34
+#: rc.cpp:6
+#, no-c-format
+msgid "Scannin&g"
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 53
+#: rc.cpp:9
+#, no-c-format
+msgid "Do &not scan these directories:"
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 70
+#: rc.cpp:13
+#, no-c-format
+msgid ""
+"Filelight will not scan these directories unless you specifically request them."
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 106
+#: rc.cpp:16
+#, no-c-format
+msgid "R&emove"
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 117
+#: rc.cpp:19
+#, no-c-format
+msgid "&Add..."
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 202
+#: rc.cpp:22
+#, no-c-format
+msgid "Exclude remote files&ystems"
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 208
+#: rc.cpp:26
+#, no-c-format
+msgid ""
+"Prevents scanning of filesystems that are not on this computer, e.g. NFS or "
+"Samba mounts."
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 216
+#: rc.cpp:29
+#, no-c-format
+msgid "Scan across filesystem &boundaries"
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 219
+#: rc.cpp:32
+#, no-c-format
+msgid ""
+"Allows scans to enter directories that are part of other filesystems. For "
+"example, when unchecked, this will usually prevent the contents of <b>/mnt</b> "
+"from being scanned if you scan <b>/</b>."
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 230
+#: rc.cpp:35
+#, no-c-format
+msgid "E&xclude removable media"
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 236
+#: rc.cpp:39
+#, no-c-format
+msgid "Prevents Filelight from scanning removable media (eg. CD-ROMs)."
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 248
+#: rc.cpp:42
+#, no-c-format
+msgid "&Appearance"
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 259
+#: rc.cpp:45
+#, no-c-format
+msgid "Scheme"
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 291
+#: rc.cpp:48
+#, no-c-format
+msgid "Co&ntrast"
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 314
+#: rc.cpp:51
+#, no-c-format
+msgid "Here you can vary the contrast of the filemap in realtime."
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 326
+#: rc.cpp:54
+#, no-c-format
+msgid "&Use anti-aliasing"
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 329
+#: rc.cpp:57
+#, no-c-format
+msgid ""
+"Anti-aliasing the filemap makes it clearer and prettier, unfortunately it also "
+"makes rendering very slow."
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 351
+#: rc.cpp:60
+#, no-c-format
+msgid "Var&y label font sizes"
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 354
+#: rc.cpp:63
+#, no-c-format
+msgid ""
+"The font size of exploded labels can be varied relative to the depth of the "
+"directories they represent. This helps you spot the important labels more "
+"easily. Set a sensible minimum font size."
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 390
+#: rc.cpp:66
+#, no-c-format
+msgid "Minimum font si&ze:"
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 399
+#: rc.cpp:69
+#, no-c-format
+msgid "The smallest font size Filelight can use to render labels."
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 442
+#: rc.cpp:72
+#, no-c-format
+msgid "Show small files"
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 445
+#: rc.cpp:75
+#, no-c-format
+msgid ""
+"Some files are too small to be rendered on the filemap. Selecting this option "
+"makes these files visible by merging them all into a single \"multi-segment\"."
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 464
+#: rc.cpp:78
+#, no-c-format
+msgid "&Reset"
+msgstr "&Resetează"
+
+#. i18n: file ./src/part/dialog.ui line 470
+#: rc.cpp:81
+#, no-c-format
+msgid "Reset any changes you have made since you opened this dialog."
+msgstr ""
+
+#. i18n: file ./misc/filelightui.rc line 4
+#: rc.cpp:87
+#, no-c-format
+msgid "&Scan"
+msgstr ""
+
+#. i18n: file ./misc/filelightui.rc line 19
+#: rc.cpp:93
+#, no-c-format
+msgid "&Go"
+msgstr ""
+
+#. i18n: file ./misc/filelightui.rc line 35
+#: rc.cpp:99
+#, no-c-format
+msgid "Location Toolbar"
+msgstr ""
+
+#: src/app/historyAction.cpp:46
+msgid "Forward"
+msgstr ""
+
+#: src/app/main.cpp:15
+msgid "Scan 'path'"
+msgstr ""
+
+#: src/app/main.cpp:21
+msgid "Graphical disk-usage information"
+msgstr ""
+
+#: src/app/main.cpp:22
+msgid "(C )2006 Max Howell"
+msgstr ""
+
+#: src/app/main.cpp:30
+msgid "Author, maintainer"
+msgstr ""
+
+#: src/app/main.cpp:31
+msgid "Documentation"
+msgstr ""
+
+#: src/app/main.cpp:32
+msgid "Inspiration"
+msgstr ""
+
+#: src/app/main.cpp:33
+msgid "Internationalization"
+msgstr ""
+
+#: src/app/main.cpp:34
+msgid "Testing"
+msgstr ""
+
+#: src/app/main.cpp:35
+msgid "Bravery in the face of unreadable code"
+msgstr ""
+
+#: src/app/mainWindow.cpp:40
+msgid ""
+"KDE could not find the Filelight Part, or the Filelight Part could not be "
+"started. Did you make install?"
+msgstr ""
+
+#: src/app/mainWindow.cpp:57
+msgid ""
+"Filelight is not installed properly, consequently its menus and toolbars will "
+"appear reduced or even empty"
+msgstr ""
+
+#: src/app/mainWindow.cpp:91
+msgid "Scan &Home Directory"
+msgstr ""
+
+#: src/app/mainWindow.cpp:92
+msgid "Scan &Root Directory"
+msgstr ""
+
+#: src/app/mainWindow.cpp:93
+msgid "Rescan"
+msgstr ""
+
+#: src/app/mainWindow.cpp:95
+msgid "Clear Location Bar"
+msgstr ""
+
+#: src/app/mainWindow.cpp:96
+msgid "Go"
+msgstr ""
+
+#: src/app/mainWindow.cpp:98
+msgid "Location Bar"
+msgstr ""
+
+#: src/app/mainWindow.cpp:99
+msgid "&Recent Scans"
+msgstr ""
+
+#: src/app/mainWindow.cpp:102
+msgid "&Scan Directory..."
+msgstr ""
+
+#: src/app/mainWindow.cpp:263
+msgid ""
+"_: &Up: /home/mxcl\n"
+"%1: %2"
+msgstr ""
+
+#: src/part/progressBox.cpp:62
+#, c-format
+msgid ""
+"_n: %n File\n"
+"%n Files"
+msgstr ""
+
+#: src/part/radialMap/widgetEvents.cpp:165
+msgid "Open &Konqueror Here"
+msgstr ""
+
+#: src/part/radialMap/widgetEvents.cpp:168
+msgid "Open &Konsole Here"
+msgstr ""
+
+#: src/part/radialMap/widgetEvents.cpp:172
+msgid "&Center Map Here"
+msgstr ""
+
+#: src/part/radialMap/widgetEvents.cpp:176
+msgid "&Open"
+msgstr ""
+
+#: src/part/radialMap/widgetEvents.cpp:179
+msgid "&Copy to clipboard"
+msgstr ""
+
+#: src/part/radialMap/widgetEvents.cpp:207
+msgid ""
+"<qt>The directory at <i>'%1'</i> will be <b>recursively</b> and <b>"
+"permanently</b> deleted."
+msgstr ""
+
+#: src/part/radialMap/widgetEvents.cpp:208
+msgid "<qt><i>'%1'</i> will be <b>permanently</b> deleted."
+msgstr ""
+
+#: src/part/radialMap/builder.cpp:133
+msgid ""
+"_: There can't ever be only 1 file\n"
+"%1 files, each about %2"
+msgstr ""
+
+#: src/part/radialMap/segmentTip.cpp:126
+#, c-format
+msgid "Files: %1"
+msgstr ""
+
+#: src/part/settingsDialog.cpp:26
+msgid "Rainbow"
+msgstr ""
+
+#: src/part/settingsDialog.cpp:27
+msgid "KDE Colors"
+msgstr ""
+
+#: src/part/settingsDialog.cpp:28
+msgid "High Contrast"
+msgstr ""
+
+#: src/part/settingsDialog.cpp:146
+msgid "That directory is already set to be excluded from scans"
+msgstr ""
+
+#: src/part/part.cpp:62
+msgid "Configure Filelight..."
+msgstr ""
+
+#: src/part/part.cpp:118
+msgid "The entered URL cannot be parsed; it is invalid."
+msgstr ""
+
+#: src/part/part.cpp:122
+#, c-format
+msgid "Filelight only accepts absolute paths, eg. /%1"
+msgstr ""
+
+#: src/part/part.cpp:126
+#, c-format
+msgid "Directory not found: %1"
+msgstr ""
+
+#: src/part/part.cpp:130
+msgid ""
+"Unable to enter: %1\n"
+"You do not have access rights to this location."
+msgstr ""
+
+#: src/part/part.cpp:147
+msgid "Aborting Scan..."
+msgstr ""
+
+#: src/part/part.cpp:195
+#, c-format
+msgid "Scanning: %1"
+msgstr ""
+
+#: src/part/part.cpp:220
+msgid "Scan completed, generating map..."
+msgstr ""
+
+#: src/part/part.cpp:229
+#, c-format
+msgid "Scan failed: %1"
+msgstr ""
+
+#: src/part/summaryWidget.cpp:102
+msgid "Free"
+msgstr ""
+
+#: src/part/summaryWidget.cpp:103
+msgid "Used"
+msgstr ""
+
+#: _translatorinfo.cpp:1
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr ""
+
+#: _translatorinfo.cpp:3
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr ""
+
+#, fuzzy
+#~ msgid "Alt+Y"
+#~ msgstr "Alt+R"
+
+#, fuzzy
+#~ msgid "Alt+B"
+#~ msgstr "Alt+R"
+
+#, fuzzy
+#~ msgid "Alt+X"
+#~ msgstr "Alt+R"
+
+#~ msgid "Alt+C"
+#~ msgstr "Alt+C"
diff --git a/po/ru/Makefile.am b/po/ru/Makefile.am
new file mode 100644
index 0000000..b653f37
--- /dev/null
+++ b/po/ru/Makefile.am
@@ -0,0 +1,3 @@
+KDE_LANG = ru
+SUBDIRS = $(AUTODIRS)
+POFILES = AUTO
diff --git a/po/ru/filelight.po b/po/ru/filelight.po
new file mode 100644
index 0000000..d89692c
--- /dev/null
+++ b/po/ru/filelight.po
@@ -0,0 +1,440 @@
+# KDE3 - filelight.pot Russian translation.
+#
+# Nick Shaforostoff <shafff@ukr.net>, 2004, 2005, 2006.
+msgid ""
+msgstr ""
+"Project-Id-Version: filelight\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-08-20 12:01+0200\n"
+"PO-Revision-Date: 2006-08-27 23:38+0300\n"
+"Last-Translator: Nick Shaforostoff <shafff@ukr.net>\n"
+"Language-Team: Russian <kde-russian@lists.kde.ru>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+
+#. i18n: file ./src/part/dialog.ui line 16
+#: rc.cpp:3
+#, no-c-format
+msgid "Settings - Filelight"
+msgstr "Настройки - Filelight"
+
+#. i18n: file ./src/part/dialog.ui line 34
+#: rc.cpp:6
+#, no-c-format
+msgid "Scannin&g"
+msgstr "С&канирование"
+
+#. i18n: file ./src/part/dialog.ui line 53
+#: rc.cpp:9
+#, no-c-format
+msgid "Do &not scan these directories:"
+msgstr "&Пропустить следующие каталоги:"
+
+#. i18n: file ./src/part/dialog.ui line 70
+#: rc.cpp:13
+#, no-c-format
+msgid ""
+"Filelight will not scan these directories unless you specifically request them."
+msgstr "Эти каталоги не будут сканироваться по умолчанию."
+
+#. i18n: file ./src/part/dialog.ui line 106
+#: rc.cpp:16
+#, no-c-format
+msgid "R&emove"
+msgstr "&Удалить"
+
+#. i18n: file ./src/part/dialog.ui line 117
+#: rc.cpp:19
+#, no-c-format
+msgid "&Add..."
+msgstr "&Добавить..."
+
+#. i18n: file ./src/part/dialog.ui line 202
+#: rc.cpp:22
+#, no-c-format
+msgid "Exclude remote files&ystems"
+msgstr "Исключить удал&ённые файловые системы"
+
+#. i18n: file ./src/part/dialog.ui line 208
+#: rc.cpp:26
+#, no-c-format
+msgid ""
+"Prevents scanning of filesystems that are not on this computer, e.g. NFS or "
+"Samba mounts."
+msgstr ""
+"Не сканировать файловые системы, не находящиеся на данном компьютере, например "
+"NFS или монтирования Samba."
+
+#. i18n: file ./src/part/dialog.ui line 216
+#: rc.cpp:29
+#, no-c-format
+msgid "Scan across filesystem &boundaries"
+msgstr "Разрешить выход за рамки текущей &файловой системы"
+
+#. i18n: file ./src/part/dialog.ui line 219
+#: rc.cpp:32
+#, no-c-format
+msgid ""
+"Allows scans to enter directories that are part of other filesystems. For "
+"example, when unchecked, this will usually prevent the contents of <b>/mnt</b> "
+"from being scanned if you scan <b>/</b>."
+msgstr ""
+"Позволяет сканировать папки, хранящиеся в других файловых системах. Например, "
+"если не отмечено, при сканировании папки <b>/</b> просканировать папку <b>"
+"/mnt</b> не удастся."
+
+#. i18n: file ./src/part/dialog.ui line 230
+#: rc.cpp:35
+#, no-c-format
+msgid "E&xclude removable media"
+msgstr "Исключить с&ъёмные диски"
+
+#. i18n: file ./src/part/dialog.ui line 236
+#: rc.cpp:39
+#, no-c-format
+msgid "Prevents Filelight from scanning removable media (eg. CD-ROMs)."
+msgstr "Не сканировать съёмные диски (например CD-ROM)."
+
+#. i18n: file ./src/part/dialog.ui line 248
+#: rc.cpp:42
+#, no-c-format
+msgid "&Appearance"
+msgstr "&Внешний вид"
+
+#. i18n: file ./src/part/dialog.ui line 259
+#: rc.cpp:45
+#, no-c-format
+msgid "Scheme"
+msgstr "Схема"
+
+#. i18n: file ./src/part/dialog.ui line 291
+#: rc.cpp:48
+#, no-c-format
+msgid "Co&ntrast"
+msgstr "&Контраст"
+
+#. i18n: file ./src/part/dialog.ui line 314
+#: rc.cpp:51
+#, no-c-format
+msgid "Here you can vary the contrast of the filemap in realtime."
+msgstr "Здесь вы можете изменять контраст файловой карты в реальном времени."
+
+#. i18n: file ./src/part/dialog.ui line 326
+#: rc.cpp:54
+#, no-c-format
+msgid "&Use anti-aliasing"
+msgstr "&Сглаживание"
+
+#. i18n: file ./src/part/dialog.ui line 329
+#: rc.cpp:57
+#, no-c-format
+msgid ""
+"Anti-aliasing the filemap makes it clearer and prettier, unfortunately it also "
+"makes rendering very slow."
+msgstr ""
+"Сглаживание файловой карты делает её чище и приятней, однако её прорисовка "
+"занимает больше времени."
+
+#. i18n: file ./src/part/dialog.ui line 351
+#: rc.cpp:60
+#, no-c-format
+msgid "Var&y label font sizes"
+msgstr "&Разрешить разный размер шрифта для меток"
+
+#. i18n: file ./src/part/dialog.ui line 354
+#: rc.cpp:63
+#, no-c-format
+msgid ""
+"The font size of exploded labels can be varied relative to the depth of the "
+"directories they represent. This helps you spot the important labels more "
+"easily. Set a sensible minimum font size."
+msgstr ""
+"Размер шрифта меток может варьироваться относительно глубины каталогов, которые "
+"они представляют. Это помогает легче найти важные метки. Вы можете установить "
+"минимальные границы размера шрифта."
+
+#. i18n: file ./src/part/dialog.ui line 390
+#: rc.cpp:66
+#, no-c-format
+msgid "Minimum font si&ze:"
+msgstr "Минимальный размер &шрифта:"
+
+#. i18n: file ./src/part/dialog.ui line 399
+#: rc.cpp:69
+#, no-c-format
+msgid "The smallest font size Filelight can use to render labels."
+msgstr "Наименьший размер шрифта, который может использоваться для меток."
+
+#. i18n: file ./src/part/dialog.ui line 442
+#: rc.cpp:72
+#, no-c-format
+msgid "Show small files"
+msgstr "Отображать маленькие файлы"
+
+#. i18n: file ./src/part/dialog.ui line 445
+#: rc.cpp:75
+#, no-c-format
+msgid ""
+"Some files are too small to be rendered on the filemap. Selecting this option "
+"makes these files visible by merging them all into a single \"multi-segment\"."
+msgstr ""
+"Некоторые файлы слишком малы для прорисовки на файловой карте. Выбор этого "
+"параметра объединяет такие файлы в \"мульти-сегмент\"."
+
+#. i18n: file ./src/part/dialog.ui line 464
+#: rc.cpp:78
+#, no-c-format
+msgid "&Reset"
+msgstr "&Сброс"
+
+#. i18n: file ./src/part/dialog.ui line 470
+#: rc.cpp:81
+#, no-c-format
+msgid "Reset any changes you have made since you opened this dialog."
+msgstr "Отменить изменения, сделанные вами с открытия этого диалога"
+
+#. i18n: file ./misc/filelightui.rc line 4
+#: rc.cpp:87
+#, no-c-format
+msgid "&Scan"
+msgstr "&Сканировать"
+
+#. i18n: file ./misc/filelightui.rc line 19
+#: rc.cpp:93
+#, no-c-format
+msgid "&Go"
+msgstr "&Начать"
+
+#. i18n: file ./misc/filelightui.rc line 35
+#: rc.cpp:99
+#, no-c-format
+msgid "Location Toolbar"
+msgstr "Расположение"
+
+#: src/app/historyAction.cpp:46
+msgid "Forward"
+msgstr "Вперёд"
+
+#: src/app/main.cpp:15
+msgid "Scan 'path'"
+msgstr "Сканировать"
+
+#: src/app/main.cpp:21
+msgid "Graphical disk-usage information"
+msgstr "Графическое представление использования диска"
+
+#: src/app/main.cpp:22
+msgid "(C )2006 Max Howell"
+msgstr "(C) 2003-2006 Max Howell"
+
+#: src/app/main.cpp:30
+msgid "Author, maintainer"
+msgstr "Автор и сопровождающий"
+
+#: src/app/main.cpp:31
+msgid "Documentation"
+msgstr "Документация"
+
+#: src/app/main.cpp:32
+msgid "Inspiration"
+msgstr "Идея"
+
+#: src/app/main.cpp:33
+msgid "Internationalization"
+msgstr "Интернационализация"
+
+#: src/app/main.cpp:34
+msgid "Testing"
+msgstr "Тестирование"
+
+#: src/app/main.cpp:35
+msgid "Bravery in the face of unreadable code"
+msgstr "Борец с нечитабельным кодом"
+
+#: src/app/mainWindow.cpp:40
+msgid ""
+"KDE could not find the Filelight Part, or the Filelight Part could not be "
+"started. Did you make install?"
+msgstr ""
+"Не удалось найти или запустить компонент Filelight. Выполняли ли вы make "
+"install?"
+
+#: src/app/mainWindow.cpp:57
+msgid ""
+"Filelight is not installed properly, consequently its menus and toolbars will "
+"appear reduced or even empty"
+msgstr ""
+"Filelight не установлен корректно. Меню и панели инструментов могут оказаться "
+"вообще пустыми"
+
+#: src/app/mainWindow.cpp:91
+msgid "Scan &Home Directory"
+msgstr "Сканировать &домашний каталог"
+
+#: src/app/mainWindow.cpp:92
+msgid "Scan &Root Directory"
+msgstr "Сканировать &корневой каталог"
+
+#: src/app/mainWindow.cpp:93
+msgid "Rescan"
+msgstr "Пересканировать"
+
+#: src/app/mainWindow.cpp:95
+msgid "Clear Location Bar"
+msgstr "Очистить панель раположения"
+
+#: src/app/mainWindow.cpp:96
+msgid "Go"
+msgstr "Начать"
+
+#: src/app/mainWindow.cpp:98
+msgid "Location Bar"
+msgstr "Расположение"
+
+#: src/app/mainWindow.cpp:99
+msgid "&Recent Scans"
+msgstr "&Предыдущие сканирования"
+
+#: src/app/mainWindow.cpp:102
+msgid "&Scan Directory..."
+msgstr "&Сканировать каталог..."
+
+#: src/app/mainWindow.cpp:263
+msgid ""
+"_: &Up: /home/mxcl\n"
+"%1: %2"
+msgstr "%1: %2"
+
+#: src/part/progressBox.cpp:62
+#, c-format
+msgid ""
+"_n: %n File\n"
+"%n Files"
+msgstr ""
+"%n файл\n"
+"%n файла\n"
+"%n файлов"
+
+#: src/part/radialMap/widgetEvents.cpp:165
+msgid "Open &Konqueror Here"
+msgstr "Открыть &Konqueror здесь"
+
+#: src/part/radialMap/widgetEvents.cpp:168
+msgid "Open &Konsole Here"
+msgstr "Открыть Konsole &здесь"
+
+#: src/part/radialMap/widgetEvents.cpp:172
+msgid "&Center Map Here"
+msgstr "&Отцентрировать здесь"
+
+#: src/part/radialMap/widgetEvents.cpp:176
+msgid "&Open"
+msgstr "&Открыть"
+
+#: src/part/radialMap/widgetEvents.cpp:179
+msgid "&Copy to clipboard"
+msgstr "&Скопировать в буфер обмена"
+
+#: src/part/radialMap/widgetEvents.cpp:207
+msgid ""
+"<qt>The directory at <i>'%1'</i> will be <b>recursively</b> and <b>"
+"permanently</b> deleted."
+msgstr ""
+"<qt>Папка <i>'%1'</i> будет <b>полностью</b> <b>рекурсивно</b> удалена."
+
+#: src/part/radialMap/widgetEvents.cpp:208
+msgid "<qt><i>'%1'</i> will be <b>permanently</b> deleted."
+msgstr "<qt><i>'%1'</i> будет <b>полностью</b> удалено."
+
+#: src/part/radialMap/builder.cpp:133
+msgid ""
+"_: There can't ever be only 1 file\n"
+"%1 files, each about %2"
+msgstr "%1, каждый файл около %2"
+
+#: src/part/radialMap/segmentTip.cpp:126
+#, c-format
+msgid "Files: %1"
+msgstr "Файлы: %1"
+
+#: src/part/settingsDialog.cpp:26
+msgid "Rainbow"
+msgstr "Зонтик"
+
+#: src/part/settingsDialog.cpp:27
+msgid "KDE Colors"
+msgstr "Цвета KDE"
+
+#: src/part/settingsDialog.cpp:28
+msgid "High Contrast"
+msgstr "Контрастный"
+
+#: src/part/settingsDialog.cpp:146
+msgid "That directory is already set to be excluded from scans"
+msgstr "Эта папка уже содержится в списке исключения"
+
+#: src/part/part.cpp:62
+msgid "Configure Filelight..."
+msgstr "Настроить Filelight..."
+
+#: src/part/part.cpp:118
+msgid "The entered URL cannot be parsed; it is invalid."
+msgstr "Недопустимый URL."
+
+#: src/part/part.cpp:122
+#, c-format
+msgid "Filelight only accepts absolute paths, eg. /%1"
+msgstr "Filelight принимает только абсолютные пути, например /%1"
+
+#: src/part/part.cpp:126
+#, c-format
+msgid "Directory not found: %1"
+msgstr "Каталог не найден: %1"
+
+#: src/part/part.cpp:130
+msgid ""
+"Unable to enter: %1\n"
+"You do not have access rights to this location."
+msgstr ""
+"Не удалось войти: %1\n"
+"У вас нет прав на доступ к этому пути."
+
+#: src/part/part.cpp:147
+msgid "Aborting Scan..."
+msgstr "Останов сканирования..."
+
+#: src/part/part.cpp:195
+#, c-format
+msgid "Scanning: %1"
+msgstr "Сканирование: %1"
+
+#: src/part/part.cpp:220
+msgid "Scan completed, generating map..."
+msgstr "Сканирование завершено, генерирование изображения..."
+
+#: src/part/part.cpp:229
+#, c-format
+msgid "Scan failed: %1"
+msgstr "Сканирование заврешилось ошибкой: %1"
+
+#: src/part/summaryWidget.cpp:102
+msgid "Free"
+msgstr "Свободно"
+
+#: src/part/summaryWidget.cpp:103
+msgid "Used"
+msgstr "Используется"
+
+#: _translatorinfo.cpp:1
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr "Николай Шафоростов"
+
+#: _translatorinfo.cpp:3
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr "shafff@ukr.net"
diff --git a/po/rw/Makefile.am b/po/rw/Makefile.am
new file mode 100644
index 0000000..1ccead2
--- /dev/null
+++ b/po/rw/Makefile.am
@@ -0,0 +1,3 @@
+KDE_LANG = rw
+SUBDIRS = $(AUTODIRS)
+POFILES = AUTO
diff --git a/po/rw/filelight.po b/po/rw/filelight.po
new file mode 100644
index 0000000..838c63b
--- /dev/null
+++ b/po/rw/filelight.po
@@ -0,0 +1,537 @@
+# translation of filelight to Kinyarwanda.
+# Copyright (C)
+# This file is distributed under the same license as the filelight package.
+# Steve Murphy <murf@e-tools.com>, 2005.
+# Steve performed initial rough translation from compendium built from translations provided by the following translators:
+# Philibert Ndandali <ndandali@yahoo.fr>, 2005.
+# Viateur MUGENZI <muvia1@yahoo.fr>, 2005.
+# Noëlla Mupole <s24211045@tuks.co.za>, 2005.
+# Carole Karema <karemacarole@hotmail.com>, 2005.
+# JEAN BAPTISTE NGENDAHAYO <ngenda_denis@yahoo.co.uk>, 2005.
+# Augustin KIBERWA <akiberwa@yahoo.co.uk>, 2005.
+# Donatien NSENGIYUMVA <ndonatienuk@yahoo.co.uk>, 2005.
+# Antoine Bigirimana <antoine@e-tools.com>, 2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: filelight 3.4\n"
+"POT-Creation-Date: 2006-08-20 12:01+0200\n"
+"PO-Revision-Date: 2005-05-25 18:07-0600\n"
+"Last-Translator: Steve Murphy <murf@e-tools.com>\n"
+"Language-Team: Kinyarwanda <translation-team-rw@lists.sourceforge.net>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. i18n: file ./src/part/dialog.ui line 16
+#: rc.cpp:3
+#, fuzzy, no-c-format
+msgid "Settings - Filelight"
+msgstr "Hitamo idosiye y'amagenamiterere"
+
+#. i18n: file ./src/part/dialog.ui line 34
+#: rc.cpp:6
+#, fuzzy, no-c-format
+msgid "Scannin&g"
+msgstr "Ipima"
+
+#. i18n: file ./src/part/dialog.ui line 53
+#: rc.cpp:9
+#, fuzzy, no-c-format
+msgid "Do &not scan these directories:"
+msgstr "OYA Gusikana ububiko bw'amaderese : "
+
+#. i18n: file ./src/part/dialog.ui line 70
+#: rc.cpp:13
+#, fuzzy, no-c-format
+msgid ""
+"Filelight will not scan these directories unless you specifically request them."
+msgstr "OYA Gusikana ububiko bw'amaderese Kubaza... . "
+
+#. i18n: file ./src/part/dialog.ui line 106
+#: rc.cpp:16
+#, no-c-format
+msgid "R&emove"
+msgstr "Vanaho"
+
+#. i18n: file ./src/part/dialog.ui line 117
+#: rc.cpp:19
+#, no-c-format
+msgid "&Add..."
+msgstr "Ongeraho"
+
+#. i18n: file ./src/part/dialog.ui line 202
+#: rc.cpp:22
+#, fuzzy, no-c-format
+msgid "Exclude remote files&ystems"
+msgstr "&Bya kure: Idosiyesisitemu "
+
+#. i18n: file ./src/part/dialog.ui line 208
+#: rc.cpp:26
+#, fuzzy, no-c-format
+msgid ""
+"Prevents scanning of filesystems that are not on this computer, e.g. NFS or "
+"Samba mounts."
+msgstr "G."
+
+#. i18n: file ./src/part/dialog.ui line 216
+#: rc.cpp:29
+#, fuzzy, no-c-format
+msgid "Scan across filesystem &boundaries"
+msgstr "Kwambukiranya "
+
+#. i18n: file ./src/part/dialog.ui line 219
+#: rc.cpp:32
+#, fuzzy, no-c-format
+msgid ""
+"Allows scans to enter directories that are part of other filesystems. For "
+"example, when unchecked, this will usually prevent the contents of <b>/mnt</b> "
+"from being scanned if you scan <b>/</b>."
+msgstr ""
+"ububiko bw'amaderese Inzira %s Bya Ikindi Idosiyesisitemu . Urugero: , iyi i "
+"Ibigize Bya <b> /</b> Kuva: NIBA Gusikana <b> /</b> . "
+
+#. i18n: file ./src/part/dialog.ui line 230
+#: rc.cpp:35
+#, fuzzy, no-c-format
+msgid "E&xclude removable media"
+msgstr "Ibitangazamakuru "
+
+#. i18n: file ./src/part/dialog.ui line 236
+#: rc.cpp:39
+#, fuzzy, no-c-format
+msgid "Prevents Filelight from scanning removable media (eg. CD-ROMs)."
+msgstr "Kuva: Ibitangazamakuru ( . - ) . "
+
+#. i18n: file ./src/part/dialog.ui line 248
+#: rc.cpp:42
+#, no-c-format
+msgid "&Appearance"
+msgstr "&Imigaragarire"
+
+#. i18n: file ./src/part/dialog.ui line 259
+#: rc.cpp:45
+#, no-c-format
+msgid "Scheme"
+msgstr "Igishusho"
+
+#. i18n: file ./src/part/dialog.ui line 291
+#: rc.cpp:48
+#, fuzzy, no-c-format
+msgid "Co&ntrast"
+msgstr "Inyuranyamigaragarire"
+
+#. i18n: file ./src/part/dialog.ui line 314
+#: rc.cpp:51
+#, fuzzy, no-c-format
+msgid "Here you can vary the contrast of the filemap in realtime."
+msgstr "i Inyuranyamigaragarire Bya i in . "
+
+#. i18n: file ./src/part/dialog.ui line 326
+#: rc.cpp:54
+#, fuzzy, no-c-format
+msgid "&Use anti-aliasing"
+msgstr "Gukoresha imyandikire idasimburwa"
+
+#. i18n: file ./src/part/dialog.ui line 329
+#: rc.cpp:57
+#, fuzzy, no-c-format
+msgid ""
+"Anti-aliasing the filemap makes it clearer and prettier, unfortunately it also "
+"makes rendering very slow."
+msgstr "- i na , Isubizwa Buhoro . "
+
+#. i18n: file ./src/part/dialog.ui line 351
+#: rc.cpp:60
+#, fuzzy, no-c-format
+msgid "Var&y label font sizes"
+msgstr "Akarango Imyandikire Ingano "
+
+#. i18n: file ./src/part/dialog.ui line 354
+#: rc.cpp:63
+#, fuzzy, no-c-format
+msgid ""
+"The font size of exploded labels can be varied relative to the depth of the "
+"directories they represent. This helps you spot the important labels more "
+"easily. Set a sensible minimum font size."
+msgstr ""
+"Imyandikire Ingano: Bya Uturango Bifitanye isano Kuri i Ubujyakuzimu Bya i "
+"ububiko bw'amaderese . i By'ingirakamaro Uturango Birenzeho . A Gito "
+"Imyandikire Ingano: . "
+
+#. i18n: file ./src/part/dialog.ui line 390
+#: rc.cpp:66
+#, fuzzy, no-c-format
+msgid "Minimum font si&ze:"
+msgstr "ingano y'imyandikire ntoya ishoboka:"
+
+#. i18n: file ./src/part/dialog.ui line 399
+#: rc.cpp:69
+#, fuzzy, no-c-format
+msgid "The smallest font size Filelight can use to render labels."
+msgstr "Gitoya Imyandikire Ingano: Koresha Kuri Uturango . "
+
+#. i18n: file ./src/part/dialog.ui line 442
+#: rc.cpp:72
+#, fuzzy, no-c-format
+msgid "Show small files"
+msgstr "Gitoya Idosiye "
+
+#. i18n: file ./src/part/dialog.ui line 445
+#: rc.cpp:75
+#, fuzzy, no-c-format
+msgid ""
+"Some files are too small to be rendered on the filemap. Selecting this option "
+"makes these files visible by merging them all into a single \"multi-segment\"."
+msgstr ""
+"Idosiye Gitoya Kuri ku i . iyi Ihitamo Idosiye Kigaragara ku Byose A UMWE \" - "
+"\" . "
+
+#. i18n: file ./src/part/dialog.ui line 464
+#: rc.cpp:78
+#, no-c-format
+msgid "&Reset"
+msgstr "Gutangiza bushya"
+
+#. i18n: file ./src/part/dialog.ui line 470
+#: rc.cpp:81
+#, fuzzy, no-c-format
+msgid "Reset any changes you have made since you opened this dialog."
+msgstr "Icyo ari cyo cyose Amahinduka guhera iyi Ikiganiro . "
+
+#. i18n: file ./misc/filelightui.rc line 4
+#: rc.cpp:87
+#, no-c-format
+msgid "&Scan"
+msgstr "Gusesengura"
+
+#. i18n: file ./misc/filelightui.rc line 19
+#: rc.cpp:93
+#, no-c-format
+msgid "&Go"
+msgstr "Gyayo"
+
+#. i18n: file ./misc/filelightui.rc line 35
+#: rc.cpp:99
+#, no-c-format
+msgid "Location Toolbar"
+msgstr "Umwanyabikoresho w'Ahantu"
+
+#: src/app/historyAction.cpp:46
+msgid "Forward"
+msgstr "Imbere"
+
+#: src/app/main.cpp:15
+#, fuzzy
+msgid "Scan 'path'"
+msgstr "Gutoranya inzira"
+
+#: src/app/main.cpp:21
+#, fuzzy
+msgid "Graphical disk-usage information"
+msgstr "Disiki%1 - Ikoresha: Ibisobanuro: "
+
+#: src/app/main.cpp:22
+msgid "(C )2006 Max Howell"
+msgstr ""
+
+#: src/app/main.cpp:30
+msgid "Author, maintainer"
+msgstr ""
+
+#: src/app/main.cpp:31
+msgid "Documentation"
+msgstr ""
+
+#: src/app/main.cpp:32
+#, fuzzy
+msgid "Inspiration"
+msgstr "Iyinjizamo"
+
+#: src/app/main.cpp:33
+#, fuzzy
+msgid "Internationalization"
+msgstr "Gushigikira "
+
+#: src/app/main.cpp:34
+msgid "Testing"
+msgstr ""
+
+#: src/app/main.cpp:35
+#, fuzzy
+msgid "Bravery in the face of unreadable code"
+msgstr "in i isura Bya Inyandikoporogaramu ( ) "
+
+#: src/app/mainWindow.cpp:40
+#, fuzzy
+msgid ""
+"KDE could not find the Filelight Part, or the Filelight Part could not be "
+"started. Did you make install?"
+msgstr ""
+"MukusanyaKDE OYA Gushaka i , Cyangwa i OYA Yatangiye: . Ubwoko Kwinjiza "
+"porogaramu ? "
+
+#: src/app/mainWindow.cpp:57
+msgid ""
+"Filelight is not installed properly, consequently its menus and toolbars will "
+"appear reduced or even empty"
+msgstr ""
+
+#: src/app/mainWindow.cpp:91
+#, fuzzy
+msgid "Scan &Home Directory"
+msgstr "inyandiko-ndanga ya home"
+
+#: src/app/mainWindow.cpp:92
+#, fuzzy
+msgid "Scan &Root Directory"
+msgstr "Guhitamo ubushyinguro muzi"
+
+#: src/app/mainWindow.cpp:93
+#, fuzzy
+msgid "Rescan"
+msgstr "Urukiramende"
+
+#: src/app/mainWindow.cpp:95
+msgid "Clear Location Bar"
+msgstr "Gusiba Umurongo w'Ahantu"
+
+#: src/app/mainWindow.cpp:96
+msgid "Go"
+msgstr "Gyayo"
+
+#: src/app/mainWindow.cpp:98
+msgid "Location Bar"
+msgstr "Umurongo w'Ahantu"
+
+#: src/app/mainWindow.cpp:99
+#, fuzzy
+msgid "&Recent Scans"
+msgstr "Amapaji mashya"
+
+#: src/app/mainWindow.cpp:102
+#, fuzzy
+msgid "&Scan Directory..."
+msgstr "Ububiko bw'umurongo wo ku mpande..."
+
+#: src/app/mainWindow.cpp:263
+msgid ""
+"_: &Up: /home/mxcl\n"
+"%1: %2"
+msgstr ""
+
+#: src/part/progressBox.cpp:62
+#, fuzzy, c-format
+msgid ""
+"_n: %n File\n"
+"%n Files"
+msgstr ""
+"%nidosiye\n"
+" %n%n amadosiye"
+
+#: src/part/radialMap/widgetEvents.cpp:165
+#, fuzzy
+msgid "Open &Konqueror Here"
+msgstr "Gufungura "
+
+#: src/part/radialMap/widgetEvents.cpp:168
+#, fuzzy
+msgid "Open &Konsole Here"
+msgstr "Gufungura "
+
+#: src/part/radialMap/widgetEvents.cpp:172
+#, fuzzy
+msgid "&Center Map Here"
+msgstr "Ubuso bwo hagati"
+
+#: src/part/radialMap/widgetEvents.cpp:176
+msgid "&Open"
+msgstr "Gufungura"
+
+#: src/part/radialMap/widgetEvents.cpp:179
+msgid "&Copy to clipboard"
+msgstr ""
+
+#: src/part/radialMap/widgetEvents.cpp:207
+#, fuzzy
+msgid ""
+"<qt>The directory at <i>'%1'</i> will be <b>recursively</b> and <b>"
+"permanently</b> deleted."
+msgstr ""
+"<qt> Ububiko Ku <i> ' %1 ' </i> <b> </b> na <b> Mu buryo buhoraho </b> "
+"Kyasibwe: %S . "
+
+#: src/part/radialMap/widgetEvents.cpp:208
+#, fuzzy
+msgid "<qt><i>'%1'</i> will be <b>permanently</b> deleted."
+msgstr "<qt> <i> ' %1 ' </i> <b> Mu buryo buhoraho </b> Kyasibwe: %S . "
+
+#: src/part/radialMap/builder.cpp:133
+#, fuzzy
+msgid ""
+"_: There can't ever be only 1 file\n"
+"%1 files, each about %2"
+msgstr "%1 Idosiye , Bigyanye %2 "
+
+#: src/part/radialMap/segmentTip.cpp:126
+#, fuzzy, c-format
+msgid "Files: %1"
+msgstr "Amadosiye: %1"
+
+#: src/part/settingsDialog.cpp:26
+#, fuzzy
+msgid "Rainbow"
+msgstr "Kuzamura Idirishya"
+
+#: src/part/settingsDialog.cpp:27
+#, fuzzy
+msgid "KDE Colors"
+msgstr "MukusanyaKDE "
+
+#: src/part/settingsDialog.cpp:28
+#, fuzzy
+msgid "High Contrast"
+msgstr "Inyuranyamigaragarire Ihanitse"
+
+#: src/part/settingsDialog.cpp:146
+#, fuzzy
+msgid "That directory is already set to be excluded from scans"
+msgstr "Ububiko ni Gushyiraho Kuri Kuva: "
+
+#: src/part/part.cpp:62
+#, fuzzy
+msgid "Configure Filelight..."
+msgstr "Kuboneza Gusangira Idosiye..."
+
+#: src/part/part.cpp:118
+#, fuzzy
+msgid "The entered URL cannot be parsed; it is invalid."
+msgstr "; ni Bitemewe . "
+
+#: src/part/part.cpp:122
+#, fuzzy, c-format
+msgid "Filelight only accepts absolute paths, eg. /%1"
+msgstr "Inzira , . /%1 "
+
+#: src/part/part.cpp:126
+#, fuzzy, c-format
+msgid "Directory not found: %1"
+msgstr "OYA Byabonetse : %1 "
+
+#: src/part/part.cpp:130
+#, fuzzy
+msgid ""
+"Unable to enter: %1\n"
+"You do not have access rights to this location."
+msgstr ""
+"Kuri Injiza : %1 \n"
+"OYA Kuri iyi Indanganturo . "
+
+#: src/part/part.cpp:147
+#, fuzzy
+msgid "Aborting Scan..."
+msgstr "Gushyira ku rupapuro ikarita..."
+
+#: src/part/part.cpp:195
+#, fuzzy, c-format
+msgid "Scanning: %1"
+msgstr "Gusesengura ububiko %1 : "
+
+#: src/part/part.cpp:220
+#, fuzzy
+msgid "Scan completed, generating map..."
+msgstr "Byarangiye , ... "
+
+#: src/part/part.cpp:229
+#, fuzzy, c-format
+msgid "Scan failed: %1"
+msgstr "Byanze : %1 "
+
+#: src/part/summaryWidget.cpp:102
+msgid "Free"
+msgstr "Kigenga"
+
+#: src/part/summaryWidget.cpp:103
+msgid "Used"
+msgstr "Byakoreshejwe"
+
+#: _translatorinfo.cpp:1
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr ""
+"Viateur MUGENZI, JEAN BAPTISTE NGENDAHAYO, Augustin KIBERWA, Donatien "
+"NSENGIYUMVA"
+
+#: _translatorinfo.cpp:3
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr ""
+"muvia1@yahoo.fr, ngenda_denis@yahoo.co.uk, akiberwa@yahoo.co.uk, "
+"ndonatienuk@yahoo.co.uk"
+
+#, fuzzy
+#~ msgid "Me"
+#~ msgstr "Meh"
+
+#, fuzzy
+#~ msgid "Handbook guru"
+#~ msgstr "%1 Ikarine"
+
+#, fuzzy
+#~ msgid "\"Girlfriend usability-testing\""
+#~ msgstr "\" - Igerageza, ... \" "
+
+#, fuzzy
+#~ msgid "Welsh Translation"
+#~ msgstr "Umwandiko wahinduwe ururimi"
+
+#, fuzzy
+#~ msgid "German Translation, testing, bug reports and suggestions"
+#~ msgstr ", Igerageza, ... , Raporo na Ibyifuzo: "
+
+#, fuzzy
+#~ msgid "Slovak Translation"
+#~ msgstr "Umwandiko wahinduwe ururimi"
+
+#, fuzzy
+#~ msgid "Polish Translation"
+#~ msgstr "Umwandiko wahinduwe ururimi"
+
+#, fuzzy
+#~ msgid "Spanish Translation"
+#~ msgstr "Ihindurarurimi ry'igishinwa"
+
+#, fuzzy
+#~ msgid "French Translation"
+#~ msgstr "Umwandiko wahinduwe ururimi"
+
+#, fuzzy
+#~ msgid "Russian Translation"
+#~ msgstr "UBurusiya"
+
+#, fuzzy
+#~ msgid "Dutch Translation"
+#~ msgstr "Umwandiko wahinduwe ururimi"
+
+#, fuzzy
+#~ msgid ""
+#~ "Called: %1\n"
+#~ "\n"
+#~ msgstr "Amahamagara: "
+
+#, fuzzy
+#~ msgid "could not execute %1"
+#~ msgstr "OYA Gukora %1 "
+
+#, fuzzy
+#~ msgid "Use the Scan-menu to begin..."
+#~ msgstr "i - Ibikubiyemo Kuri ... "
+
+#~ msgid "Up"
+#~ msgstr "Hejuru"
+
+#, fuzzy
+#~ msgid "Up: %1"
+#~ msgstr "Hejuru"
diff --git a/po/sr/Makefile.am b/po/sr/Makefile.am
new file mode 100644
index 0000000..be99001
--- /dev/null
+++ b/po/sr/Makefile.am
@@ -0,0 +1,3 @@
+KDE_LANG = sr
+SUBDIRS = $(AUTODIRS)
+POFILES = AUTO
diff --git a/po/sr/filelight.po b/po/sr/filelight.po
new file mode 100644
index 0000000..04b97c1
--- /dev/null
+++ b/po/sr/filelight.po
@@ -0,0 +1,495 @@
+# translation of filelight.po to Serbian
+# Chusslove Illich <caslav.ilic@gmx.net>, 2004.
+# Slobodan Simic <simicsl@verat.net>, 2005.
+msgid ""
+msgstr ""
+"Project-Id-Version: filelight\n"
+"POT-Creation-Date: 2006-08-20 12:01+0200\n"
+"PO-Revision-Date: 2005-08-03 12:48+0200\n"
+"Last-Translator: Slobodan Simic <simicsl@verat.net>\n"
+"Language-Team: Serbian <kde-yu@kde.org.yu>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.10\n"
+
+#. i18n: file ./src/part/dialog.ui line 16
+#: rc.cpp:3
+#, no-c-format
+msgid "Settings - Filelight"
+msgstr "Подешавања — Filelight"
+
+#. i18n: file ./src/part/dialog.ui line 34
+#: rc.cpp:6
+#, fuzzy, no-c-format
+msgid "Scannin&g"
+msgstr "&Скенирање"
+
+#. i18n: file ./src/part/dialog.ui line 53
+#: rc.cpp:9
+#, fuzzy, no-c-format
+msgid "Do &not scan these directories:"
+msgstr "&Немој да скенираш ове директоријуме:"
+
+#. i18n: file ./src/part/dialog.ui line 70
+#: rc.cpp:13
+#, no-c-format
+msgid ""
+"Filelight will not scan these directories unless you specifically request them."
+msgstr ""
+"Filelight неће скенирати ове директоријуме уколико то посебно не затражите."
+
+#. i18n: file ./src/part/dialog.ui line 106
+#: rc.cpp:16
+#, no-c-format
+msgid "R&emove"
+msgstr "&Уклони"
+
+#. i18n: file ./src/part/dialog.ui line 117
+#: rc.cpp:19
+#, no-c-format
+msgid "&Add..."
+msgstr "&Додај..."
+
+#. i18n: file ./src/part/dialog.ui line 202
+#: rc.cpp:22
+#, fuzzy, no-c-format
+msgid "Exclude remote files&ystems"
+msgstr "Искључи уд&аљене фајл системе"
+
+#. i18n: file ./src/part/dialog.ui line 208
+#: rc.cpp:26
+#, no-c-format
+msgid ""
+"Prevents scanning of filesystems that are not on this computer, e.g. NFS or "
+"Samba mounts."
+msgstr ""
+"Спречава скенирање фајл система који нису на овом рачунару, нпр. NFS или Samba "
+"монтирања."
+
+#. i18n: file ./src/part/dialog.ui line 216
+#: rc.cpp:29
+#, no-c-format
+msgid "Scan across filesystem &boundaries"
+msgstr "Скенирај прего &граница фајл система"
+
+#. i18n: file ./src/part/dialog.ui line 219
+#: rc.cpp:32
+#, fuzzy, no-c-format
+msgid ""
+"Allows scans to enter directories that are part of other filesystems. For "
+"example, when unchecked, this will usually prevent the contents of <b>/mnt</b> "
+"from being scanned if you scan <b>/</b>."
+msgstr ""
+"Спречава скенирање директоријума који су део других фајл система. На пример, "
+"ово ће углавном спречити да се садржај директоријума <b>/mnt</b> "
+"скенира ако скенирате <b>/</b>."
+
+#. i18n: file ./src/part/dialog.ui line 230
+#: rc.cpp:35
+#, fuzzy, no-c-format
+msgid "E&xclude removable media"
+msgstr "Искључи ук&лоњиве медијуме"
+
+#. i18n: file ./src/part/dialog.ui line 236
+#: rc.cpp:39
+#, no-c-format
+msgid "Prevents Filelight from scanning removable media (eg. CD-ROMs)."
+msgstr "Спречава Filelight да скенира уклоњиве медијуме (нпр. CD-ROM-ове)."
+
+#. i18n: file ./src/part/dialog.ui line 248
+#: rc.cpp:42
+#, no-c-format
+msgid "&Appearance"
+msgstr "&Изглед"
+
+#. i18n: file ./src/part/dialog.ui line 259
+#: rc.cpp:45
+#, no-c-format
+msgid "Scheme"
+msgstr "Шема"
+
+#. i18n: file ./src/part/dialog.ui line 291
+#: rc.cpp:48
+#, fuzzy, no-c-format
+msgid "Co&ntrast"
+msgstr "&Контраст"
+
+#. i18n: file ./src/part/dialog.ui line 314
+#: rc.cpp:51
+#, no-c-format
+msgid "Here you can vary the contrast of the filemap in realtime."
+msgstr "Овде можете варирати контраст мапе фајлова у стварном времену."
+
+#. i18n: file ./src/part/dialog.ui line 326
+#: rc.cpp:54
+#, no-c-format
+msgid "&Use anti-aliasing"
+msgstr "Користи &омекшавање"
+
+#. i18n: file ./src/part/dialog.ui line 329
+#: rc.cpp:57
+#, no-c-format
+msgid ""
+"Anti-aliasing the filemap makes it clearer and prettier, unfortunately it also "
+"makes rendering very slow."
+msgstr ""
+"Омекшавање мапе фајлова чини је јаснијом и лепшом, али такође и успорава њено "
+"исцртавање."
+
+#. i18n: file ./src/part/dialog.ui line 351
+#: rc.cpp:60
+#, fuzzy, no-c-format
+msgid "Var&y label font sizes"
+msgstr "&Варирај величине фонтова за ознаке"
+
+#. i18n: file ./src/part/dialog.ui line 354
+#: rc.cpp:63
+#, no-c-format
+msgid ""
+"The font size of exploded labels can be varied relative to the depth of the "
+"directories they represent. This helps you spot the important labels more "
+"easily. Set a sensible minimum font size."
+msgstr ""
+"Величина фонта раширених ознака биће варирана релативно према дубини "
+"директоријума које представљају. Ово вам помаже да лакше приметите важне "
+"ознаке. Поставите пригодну минималну величину фонта."
+
+#. i18n: file ./src/part/dialog.ui line 390
+#: rc.cpp:66
+#, fuzzy, no-c-format
+msgid "Minimum font si&ze:"
+msgstr "Минимална величина &фонта:"
+
+#. i18n: file ./src/part/dialog.ui line 399
+#: rc.cpp:69
+#, no-c-format
+msgid "The smallest font size Filelight can use to render labels."
+msgstr "Најмања величина фонта којом Filelight може да исцртава ознаке."
+
+#. i18n: file ./src/part/dialog.ui line 442
+#: rc.cpp:72
+#, no-c-format
+msgid "Show small files"
+msgstr "Прикажи мале фајлове"
+
+#. i18n: file ./src/part/dialog.ui line 445
+#: rc.cpp:75
+#, no-c-format
+msgid ""
+"Some files are too small to be rendered on the filemap. Selecting this option "
+"makes these files visible by merging them all into a single \"multi-segment\"."
+msgstr ""
+"Неки фајлови су премали да би се приказали на мапи фајлова. Избор ове опције "
+"чини такве фајлове видљивим стапајући их све у један „вишеструки сегмент“."
+
+#. i18n: file ./src/part/dialog.ui line 464
+#: rc.cpp:78
+#, no-c-format
+msgid "&Reset"
+msgstr "&Ресетуј"
+
+#. i18n: file ./src/part/dialog.ui line 470
+#: rc.cpp:81
+#, no-c-format
+msgid "Reset any changes you have made since you opened this dialog."
+msgstr ""
+"Ресетује све измене које сте направили од када сте отворили овај дијалог."
+
+#. i18n: file ./misc/filelightui.rc line 4
+#: rc.cpp:87
+#, no-c-format
+msgid "&Scan"
+msgstr "&Скенирај"
+
+#. i18n: file ./misc/filelightui.rc line 19
+#: rc.cpp:93
+#, no-c-format
+msgid "&Go"
+msgstr "&Иди"
+
+#. i18n: file ./misc/filelightui.rc line 35
+#: rc.cpp:99
+#, no-c-format
+msgid "Location Toolbar"
+msgstr "Локациона трака"
+
+#: src/app/historyAction.cpp:46
+msgid "Forward"
+msgstr "Напред"
+
+#: src/app/main.cpp:15
+msgid "Scan 'path'"
+msgstr "Путања за скенирање"
+
+#: src/app/main.cpp:21
+msgid "Graphical disk-usage information"
+msgstr "Графички приказ заузетости диска"
+
+#: src/app/main.cpp:22
+#, fuzzy
+msgid "(C )2006 Max Howell"
+msgstr "© 2003 Макс Хауел (Max Howell)"
+
+#: src/app/main.cpp:30
+msgid "Author, maintainer"
+msgstr ""
+
+#: src/app/main.cpp:31
+msgid "Documentation"
+msgstr ""
+
+#: src/app/main.cpp:32
+msgid "Inspiration"
+msgstr "Инспирација"
+
+#: src/app/main.cpp:33
+#, fuzzy
+msgid "Internationalization"
+msgstr "Подршка за интернационализацију"
+
+#: src/app/main.cpp:34
+msgid "Testing"
+msgstr ""
+
+#: src/app/main.cpp:35
+#, fuzzy
+msgid "Bravery in the face of unreadable code"
+msgstr "Победник над нечитљивим кодом (закрпе)"
+
+#: src/app/mainWindow.cpp:40
+msgid ""
+"KDE could not find the Filelight Part, or the Filelight Part could not be "
+"started. Did you make install?"
+msgstr ""
+"KDE не може да нађе Filelight Part, или он не може бити покренут. Јесте ли га "
+"инсталирали?"
+
+#: src/app/mainWindow.cpp:57
+msgid ""
+"Filelight is not installed properly, consequently its menus and toolbars will "
+"appear reduced or even empty"
+msgstr ""
+
+#: src/app/mainWindow.cpp:91
+msgid "Scan &Home Directory"
+msgstr "Скенирај &домаћи директоријум"
+
+#: src/app/mainWindow.cpp:92
+msgid "Scan &Root Directory"
+msgstr "Скенирај &корени директоријум"
+
+#: src/app/mainWindow.cpp:93
+msgid "Rescan"
+msgstr "Поново скенирај"
+
+#: src/app/mainWindow.cpp:95
+msgid "Clear Location Bar"
+msgstr "Очисти траку локације"
+
+#: src/app/mainWindow.cpp:96
+msgid "Go"
+msgstr "Иди"
+
+#: src/app/mainWindow.cpp:98
+msgid "Location Bar"
+msgstr "Локациона трака"
+
+#: src/app/mainWindow.cpp:99
+msgid "&Recent Scans"
+msgstr "&Скорашња скенирања"
+
+#: src/app/mainWindow.cpp:102
+msgid "&Scan Directory..."
+msgstr "Скенирај &директоријум..."
+
+#: src/app/mainWindow.cpp:263
+msgid ""
+"_: &Up: /home/mxcl\n"
+"%1: %2"
+msgstr ""
+
+#: src/part/progressBox.cpp:62
+#, c-format
+msgid ""
+"_n: %n File\n"
+"%n Files"
+msgstr ""
+"%n фајл\n"
+"%n фајла\n"
+"%n фајлова"
+
+#: src/part/radialMap/widgetEvents.cpp:165
+msgid "Open &Konqueror Here"
+msgstr "О&твори Konqueror овде"
+
+#: src/part/radialMap/widgetEvents.cpp:168
+msgid "Open &Konsole Here"
+msgstr "Отвори &Konsole овде"
+
+#: src/part/radialMap/widgetEvents.cpp:172
+msgid "&Center Map Here"
+msgstr "&Центрирај мапу овде"
+
+#: src/part/radialMap/widgetEvents.cpp:176
+msgid "&Open"
+msgstr "&Отвори"
+
+#: src/part/radialMap/widgetEvents.cpp:179
+msgid "&Copy to clipboard"
+msgstr ""
+
+#: src/part/radialMap/widgetEvents.cpp:207
+msgid ""
+"<qt>The directory at <i>'%1'</i> will be <b>recursively</b> and <b>"
+"permanently</b> deleted."
+msgstr ""
+"<qt>Директоријум на <i>%1</i> ће бити <b>рекурзивно</b> и <b>заувек</b> "
+"обрисан."
+
+#: src/part/radialMap/widgetEvents.cpp:208
+msgid "<qt><i>'%1'</i> will be <b>permanently</b> deleted."
+msgstr "<qt><i>%1</i> ће бити <b>заувек</b> обрисан."
+
+#: src/part/radialMap/builder.cpp:133
+msgid ""
+"_: There can't ever be only 1 file\n"
+"%1 files, each about %2"
+msgstr "Фајлова: %1, сваки око %2"
+
+#: src/part/radialMap/segmentTip.cpp:126
+#, c-format
+msgid "Files: %1"
+msgstr "Фајлова: %1"
+
+#: src/part/settingsDialog.cpp:26
+msgid "Rainbow"
+msgstr "Дуга"
+
+#: src/part/settingsDialog.cpp:27
+msgid "KDE Colors"
+msgstr "KDE боје"
+
+#: src/part/settingsDialog.cpp:28
+msgid "High Contrast"
+msgstr "Висок контраст"
+
+#: src/part/settingsDialog.cpp:146
+msgid "That directory is already set to be excluded from scans"
+msgstr "Тај директоријум је већ искључен из скенирања"
+
+#: src/part/part.cpp:62
+msgid "Configure Filelight..."
+msgstr "Подеси Filelight..."
+
+#: src/part/part.cpp:118
+msgid "The entered URL cannot be parsed; it is invalid."
+msgstr "Унесена URL адреса не може се рашчланити; неисправна је."
+
+#: src/part/part.cpp:122
+#, c-format
+msgid "Filelight only accepts absolute paths, eg. /%1"
+msgstr "Filelight прихвата само апсолутне путање, нпр. /%1"
+
+#: src/part/part.cpp:126
+#, c-format
+msgid "Directory not found: %1"
+msgstr "Директоријум није пронађен: %1"
+
+#: src/part/part.cpp:130
+msgid ""
+"Unable to enter: %1\n"
+"You do not have access rights to this location."
+msgstr ""
+"Не могу да уђем у: %1\n"
+"Немате право приступа овој локацији."
+
+#: src/part/part.cpp:147
+msgid "Aborting Scan..."
+msgstr "Прекидам скенирање..."
+
+#: src/part/part.cpp:195
+#, c-format
+msgid "Scanning: %1"
+msgstr "Скенирам: %1"
+
+#: src/part/part.cpp:220
+msgid "Scan completed, generating map..."
+msgstr "Скенирање завршено, генеришем мапу..."
+
+#: src/part/part.cpp:229
+#, c-format
+msgid "Scan failed: %1"
+msgstr "Скенирање неуспешно: %1"
+
+#: src/part/summaryWidget.cpp:102
+msgid "Free"
+msgstr "Слободно"
+
+#: src/part/summaryWidget.cpp:103
+msgid "Used"
+msgstr "Заузето"
+
+#: _translatorinfo.cpp:1
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr "Часлав Илић"
+
+#: _translatorinfo.cpp:3
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr "caslav.ilic@gmx.net"
+
+#~ msgid "Me"
+#~ msgstr "Ја"
+
+#~ msgid "Handbook guru"
+#~ msgstr "Гуру приручника"
+
+#~ msgid "\"Girlfriend usability-testing\""
+#~ msgstr "„Тестирање употребљивости помоћу девојке“"
+
+#~ msgid "Welsh Translation"
+#~ msgstr "Велшки превод"
+
+#~ msgid "German Translation, testing, bug reports and suggestions"
+#~ msgstr "Немачки превод, тестирање, пријаве грешака и предлози"
+
+#~ msgid "Slovak Translation"
+#~ msgstr "Словачки превод"
+
+#~ msgid "Polish Translation"
+#~ msgstr "Пољски превод"
+
+#~ msgid "Spanish Translation"
+#~ msgstr "Шпански превод"
+
+#~ msgid "French Translation"
+#~ msgstr "Француски превод"
+
+#~ msgid "Russian Translation"
+#~ msgstr "Руски превод"
+
+#~ msgid "Dutch Translation"
+#~ msgstr "Холандски превод"
+
+#~ msgid ""
+#~ "Called: %1\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Позиван: %1\n"
+#~ "\n"
+
+#~ msgid "could not execute %1"
+#~ msgstr "не може да изврши %1"
+
+#~ msgid "Use the Scan-menu to begin..."
+#~ msgstr "Користите мени за скенирање да почнете..."
+
+#~ msgid "Up"
+#~ msgstr "Горе"
+
+#~ msgid "Up: %1"
+#~ msgstr "Горе: %1"
diff --git a/po/sr@Latn/Makefile.am b/po/sr@Latn/Makefile.am
new file mode 100644
index 0000000..c6622f4
--- /dev/null
+++ b/po/sr@Latn/Makefile.am
@@ -0,0 +1,3 @@
+KDE_LANG = sr@Latn
+SUBDIRS = $(AUTODIRS)
+POFILES = AUTO
diff --git a/po/sr@Latn/filelight.po b/po/sr@Latn/filelight.po
new file mode 100644
index 0000000..67b18da
--- /dev/null
+++ b/po/sr@Latn/filelight.po
@@ -0,0 +1,495 @@
+# translation of filelight.po to Serbian
+# Chusslove Illich <caslav.ilic@gmx.net>, 2004.
+# Slobodan Simic <simicsl@verat.net>, 2005.
+msgid ""
+msgstr ""
+"Project-Id-Version: filelight\n"
+"POT-Creation-Date: 2006-08-20 12:01+0200\n"
+"PO-Revision-Date: 2005-08-03 12:48+0200\n"
+"Last-Translator: Slobodan Simic <simicsl@verat.net>\n"
+"Language-Team: Serbian <kde-yu@kde.org.yu>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.10\n"
+
+#. i18n: file ./src/part/dialog.ui line 16
+#: rc.cpp:3
+#, no-c-format
+msgid "Settings - Filelight"
+msgstr "Podešavanja — Filelight"
+
+#. i18n: file ./src/part/dialog.ui line 34
+#: rc.cpp:6
+#, fuzzy, no-c-format
+msgid "Scannin&g"
+msgstr "&Skeniranje"
+
+#. i18n: file ./src/part/dialog.ui line 53
+#: rc.cpp:9
+#, fuzzy, no-c-format
+msgid "Do &not scan these directories:"
+msgstr "&Nemoj da skeniraš ove direktorijume:"
+
+#. i18n: file ./src/part/dialog.ui line 70
+#: rc.cpp:13
+#, no-c-format
+msgid ""
+"Filelight will not scan these directories unless you specifically request them."
+msgstr ""
+"Filelight neće skenirati ove direktorijume ukoliko to posebno ne zatražite."
+
+#. i18n: file ./src/part/dialog.ui line 106
+#: rc.cpp:16
+#, no-c-format
+msgid "R&emove"
+msgstr "&Ukloni"
+
+#. i18n: file ./src/part/dialog.ui line 117
+#: rc.cpp:19
+#, no-c-format
+msgid "&Add..."
+msgstr "&Dodaj..."
+
+#. i18n: file ./src/part/dialog.ui line 202
+#: rc.cpp:22
+#, fuzzy, no-c-format
+msgid "Exclude remote files&ystems"
+msgstr "Isključi ud&aljene fajl sisteme"
+
+#. i18n: file ./src/part/dialog.ui line 208
+#: rc.cpp:26
+#, no-c-format
+msgid ""
+"Prevents scanning of filesystems that are not on this computer, e.g. NFS or "
+"Samba mounts."
+msgstr ""
+"Sprečava skeniranje fajl sistema koji nisu na ovom računaru, npr. NFS ili Samba "
+"montiranja."
+
+#. i18n: file ./src/part/dialog.ui line 216
+#: rc.cpp:29
+#, no-c-format
+msgid "Scan across filesystem &boundaries"
+msgstr "Skeniraj prego &granica fajl sistema"
+
+#. i18n: file ./src/part/dialog.ui line 219
+#: rc.cpp:32
+#, fuzzy, no-c-format
+msgid ""
+"Allows scans to enter directories that are part of other filesystems. For "
+"example, when unchecked, this will usually prevent the contents of <b>/mnt</b> "
+"from being scanned if you scan <b>/</b>."
+msgstr ""
+"Sprečava skeniranje direktorijuma koji su deo drugih fajl sistema. Na primer, "
+"ovo će uglavnom sprečiti da se sadržaj direktorijuma <b>/mnt</b> "
+"skenira ako skenirate <b>/</b>."
+
+#. i18n: file ./src/part/dialog.ui line 230
+#: rc.cpp:35
+#, fuzzy, no-c-format
+msgid "E&xclude removable media"
+msgstr "Isključi uk&lonjive medijume"
+
+#. i18n: file ./src/part/dialog.ui line 236
+#: rc.cpp:39
+#, no-c-format
+msgid "Prevents Filelight from scanning removable media (eg. CD-ROMs)."
+msgstr "Sprečava Filelight da skenira uklonjive medijume (npr. CD-ROM-ove)."
+
+#. i18n: file ./src/part/dialog.ui line 248
+#: rc.cpp:42
+#, no-c-format
+msgid "&Appearance"
+msgstr "&Izgled"
+
+#. i18n: file ./src/part/dialog.ui line 259
+#: rc.cpp:45
+#, no-c-format
+msgid "Scheme"
+msgstr "Šema"
+
+#. i18n: file ./src/part/dialog.ui line 291
+#: rc.cpp:48
+#, fuzzy, no-c-format
+msgid "Co&ntrast"
+msgstr "&Kontrast"
+
+#. i18n: file ./src/part/dialog.ui line 314
+#: rc.cpp:51
+#, no-c-format
+msgid "Here you can vary the contrast of the filemap in realtime."
+msgstr "Ovde možete varirati kontrast mape fajlova u stvarnom vremenu."
+
+#. i18n: file ./src/part/dialog.ui line 326
+#: rc.cpp:54
+#, no-c-format
+msgid "&Use anti-aliasing"
+msgstr "Koristi &omekšavanje"
+
+#. i18n: file ./src/part/dialog.ui line 329
+#: rc.cpp:57
+#, no-c-format
+msgid ""
+"Anti-aliasing the filemap makes it clearer and prettier, unfortunately it also "
+"makes rendering very slow."
+msgstr ""
+"Omekšavanje mape fajlova čini je jasnijom i lepšom, ali takođe i usporava njeno "
+"iscrtavanje."
+
+#. i18n: file ./src/part/dialog.ui line 351
+#: rc.cpp:60
+#, fuzzy, no-c-format
+msgid "Var&y label font sizes"
+msgstr "&Variraj veličine fontova za oznake"
+
+#. i18n: file ./src/part/dialog.ui line 354
+#: rc.cpp:63
+#, no-c-format
+msgid ""
+"The font size of exploded labels can be varied relative to the depth of the "
+"directories they represent. This helps you spot the important labels more "
+"easily. Set a sensible minimum font size."
+msgstr ""
+"Veličina fonta raširenih oznaka biće varirana relativno prema dubini "
+"direktorijuma koje predstavljaju. Ovo vam pomaže da lakše primetite važne "
+"oznake. Postavite prigodnu minimalnu veličinu fonta."
+
+#. i18n: file ./src/part/dialog.ui line 390
+#: rc.cpp:66
+#, fuzzy, no-c-format
+msgid "Minimum font si&ze:"
+msgstr "Minimalna veličina &fonta:"
+
+#. i18n: file ./src/part/dialog.ui line 399
+#: rc.cpp:69
+#, no-c-format
+msgid "The smallest font size Filelight can use to render labels."
+msgstr "Najmanja veličina fonta kojom Filelight može da iscrtava oznake."
+
+#. i18n: file ./src/part/dialog.ui line 442
+#: rc.cpp:72
+#, no-c-format
+msgid "Show small files"
+msgstr "Prikaži male fajlove"
+
+#. i18n: file ./src/part/dialog.ui line 445
+#: rc.cpp:75
+#, no-c-format
+msgid ""
+"Some files are too small to be rendered on the filemap. Selecting this option "
+"makes these files visible by merging them all into a single \"multi-segment\"."
+msgstr ""
+"Neki fajlovi su premali da bi se prikazali na mapi fajlova. Izbor ove opcije "
+"čini takve fajlove vidljivim stapajući ih sve u jedan „višestruki segment“."
+
+#. i18n: file ./src/part/dialog.ui line 464
+#: rc.cpp:78
+#, no-c-format
+msgid "&Reset"
+msgstr "&Resetuj"
+
+#. i18n: file ./src/part/dialog.ui line 470
+#: rc.cpp:81
+#, no-c-format
+msgid "Reset any changes you have made since you opened this dialog."
+msgstr ""
+"Resetuje sve izmene koje ste napravili od kada ste otvorili ovaj dijalog."
+
+#. i18n: file ./misc/filelightui.rc line 4
+#: rc.cpp:87
+#, no-c-format
+msgid "&Scan"
+msgstr "&Skeniraj"
+
+#. i18n: file ./misc/filelightui.rc line 19
+#: rc.cpp:93
+#, no-c-format
+msgid "&Go"
+msgstr "&Idi"
+
+#. i18n: file ./misc/filelightui.rc line 35
+#: rc.cpp:99
+#, no-c-format
+msgid "Location Toolbar"
+msgstr "Lokaciona traka"
+
+#: src/app/historyAction.cpp:46
+msgid "Forward"
+msgstr "Napred"
+
+#: src/app/main.cpp:15
+msgid "Scan 'path'"
+msgstr "Putanja za skeniranje"
+
+#: src/app/main.cpp:21
+msgid "Graphical disk-usage information"
+msgstr "Grafički prikaz zauzetosti diska"
+
+#: src/app/main.cpp:22
+#, fuzzy
+msgid "(C )2006 Max Howell"
+msgstr "© 2003 Maks Hauel (Max Howell)"
+
+#: src/app/main.cpp:30
+msgid "Author, maintainer"
+msgstr ""
+
+#: src/app/main.cpp:31
+msgid "Documentation"
+msgstr ""
+
+#: src/app/main.cpp:32
+msgid "Inspiration"
+msgstr "Inspiracija"
+
+#: src/app/main.cpp:33
+#, fuzzy
+msgid "Internationalization"
+msgstr "Podrška za internacionalizaciju"
+
+#: src/app/main.cpp:34
+msgid "Testing"
+msgstr ""
+
+#: src/app/main.cpp:35
+#, fuzzy
+msgid "Bravery in the face of unreadable code"
+msgstr "Pobednik nad nečitljivim kodom (zakrpe)"
+
+#: src/app/mainWindow.cpp:40
+msgid ""
+"KDE could not find the Filelight Part, or the Filelight Part could not be "
+"started. Did you make install?"
+msgstr ""
+"KDE ne može da nađe Filelight Part, ili on ne može biti pokrenut. Jeste li ga "
+"instalirali?"
+
+#: src/app/mainWindow.cpp:57
+msgid ""
+"Filelight is not installed properly, consequently its menus and toolbars will "
+"appear reduced or even empty"
+msgstr ""
+
+#: src/app/mainWindow.cpp:91
+msgid "Scan &Home Directory"
+msgstr "Skeniraj &domaći direktorijum"
+
+#: src/app/mainWindow.cpp:92
+msgid "Scan &Root Directory"
+msgstr "Skeniraj &koreni direktorijum"
+
+#: src/app/mainWindow.cpp:93
+msgid "Rescan"
+msgstr "Ponovo skeniraj"
+
+#: src/app/mainWindow.cpp:95
+msgid "Clear Location Bar"
+msgstr "Očisti traku lokacije"
+
+#: src/app/mainWindow.cpp:96
+msgid "Go"
+msgstr "Idi"
+
+#: src/app/mainWindow.cpp:98
+msgid "Location Bar"
+msgstr "Lokaciona traka"
+
+#: src/app/mainWindow.cpp:99
+msgid "&Recent Scans"
+msgstr "&Skorašnja skeniranja"
+
+#: src/app/mainWindow.cpp:102
+msgid "&Scan Directory..."
+msgstr "Skeniraj &direktorijum..."
+
+#: src/app/mainWindow.cpp:263
+msgid ""
+"_: &Up: /home/mxcl\n"
+"%1: %2"
+msgstr ""
+
+#: src/part/progressBox.cpp:62
+#, c-format
+msgid ""
+"_n: %n File\n"
+"%n Files"
+msgstr ""
+"%n fajl\n"
+"%n fajla\n"
+"%n fajlova"
+
+#: src/part/radialMap/widgetEvents.cpp:165
+msgid "Open &Konqueror Here"
+msgstr "O&tvori Konqueror ovde"
+
+#: src/part/radialMap/widgetEvents.cpp:168
+msgid "Open &Konsole Here"
+msgstr "Otvori &Konsole ovde"
+
+#: src/part/radialMap/widgetEvents.cpp:172
+msgid "&Center Map Here"
+msgstr "&Centriraj mapu ovde"
+
+#: src/part/radialMap/widgetEvents.cpp:176
+msgid "&Open"
+msgstr "&Otvori"
+
+#: src/part/radialMap/widgetEvents.cpp:179
+msgid "&Copy to clipboard"
+msgstr ""
+
+#: src/part/radialMap/widgetEvents.cpp:207
+msgid ""
+"<qt>The directory at <i>'%1'</i> will be <b>recursively</b> and <b>"
+"permanently</b> deleted."
+msgstr ""
+"<qt>Direktorijum na <i>%1</i> će biti <b>rekurzivno</b> i <b>zauvek</b> "
+"obrisan."
+
+#: src/part/radialMap/widgetEvents.cpp:208
+msgid "<qt><i>'%1'</i> will be <b>permanently</b> deleted."
+msgstr "<qt><i>%1</i> će biti <b>zauvek</b> obrisan."
+
+#: src/part/radialMap/builder.cpp:133
+msgid ""
+"_: There can't ever be only 1 file\n"
+"%1 files, each about %2"
+msgstr "Fajlova: %1, svaki oko %2"
+
+#: src/part/radialMap/segmentTip.cpp:126
+#, c-format
+msgid "Files: %1"
+msgstr "Fajlova: %1"
+
+#: src/part/settingsDialog.cpp:26
+msgid "Rainbow"
+msgstr "Duga"
+
+#: src/part/settingsDialog.cpp:27
+msgid "KDE Colors"
+msgstr "KDE boje"
+
+#: src/part/settingsDialog.cpp:28
+msgid "High Contrast"
+msgstr "Visok kontrast"
+
+#: src/part/settingsDialog.cpp:146
+msgid "That directory is already set to be excluded from scans"
+msgstr "Taj direktorijum je već isključen iz skeniranja"
+
+#: src/part/part.cpp:62
+msgid "Configure Filelight..."
+msgstr "Podesi Filelight..."
+
+#: src/part/part.cpp:118
+msgid "The entered URL cannot be parsed; it is invalid."
+msgstr "Unesena URL adresa ne može se raščlaniti; neispravna je."
+
+#: src/part/part.cpp:122
+#, c-format
+msgid "Filelight only accepts absolute paths, eg. /%1"
+msgstr "Filelight prihvata samo apsolutne putanje, npr. /%1"
+
+#: src/part/part.cpp:126
+#, c-format
+msgid "Directory not found: %1"
+msgstr "Direktorijum nije pronađen: %1"
+
+#: src/part/part.cpp:130
+msgid ""
+"Unable to enter: %1\n"
+"You do not have access rights to this location."
+msgstr ""
+"Ne mogu da uđem u: %1\n"
+"Nemate pravo pristupa ovoj lokaciji."
+
+#: src/part/part.cpp:147
+msgid "Aborting Scan..."
+msgstr "Prekidam skeniranje..."
+
+#: src/part/part.cpp:195
+#, c-format
+msgid "Scanning: %1"
+msgstr "Skeniram: %1"
+
+#: src/part/part.cpp:220
+msgid "Scan completed, generating map..."
+msgstr "Skeniranje završeno, generišem mapu..."
+
+#: src/part/part.cpp:229
+#, c-format
+msgid "Scan failed: %1"
+msgstr "Skeniranje neuspešno: %1"
+
+#: src/part/summaryWidget.cpp:102
+msgid "Free"
+msgstr "Slobodno"
+
+#: src/part/summaryWidget.cpp:103
+msgid "Used"
+msgstr "Zauzeto"
+
+#: _translatorinfo.cpp:1
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr "Časlav Ilić"
+
+#: _translatorinfo.cpp:3
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr "caslav.ilic@gmx.net"
+
+#~ msgid "Me"
+#~ msgstr "Ja"
+
+#~ msgid "Handbook guru"
+#~ msgstr "Guru priručnika"
+
+#~ msgid "\"Girlfriend usability-testing\""
+#~ msgstr "„Testiranje upotrebljivosti pomoću devojke“"
+
+#~ msgid "Welsh Translation"
+#~ msgstr "Velški prevod"
+
+#~ msgid "German Translation, testing, bug reports and suggestions"
+#~ msgstr "Nemački prevod, testiranje, prijave grešaka i predlozi"
+
+#~ msgid "Slovak Translation"
+#~ msgstr "Slovački prevod"
+
+#~ msgid "Polish Translation"
+#~ msgstr "Poljski prevod"
+
+#~ msgid "Spanish Translation"
+#~ msgstr "Španski prevod"
+
+#~ msgid "French Translation"
+#~ msgstr "Francuski prevod"
+
+#~ msgid "Russian Translation"
+#~ msgstr "Ruski prevod"
+
+#~ msgid "Dutch Translation"
+#~ msgstr "Holandski prevod"
+
+#~ msgid ""
+#~ "Called: %1\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Pozivan: %1\n"
+#~ "\n"
+
+#~ msgid "could not execute %1"
+#~ msgstr "ne može da izvrši %1"
+
+#~ msgid "Use the Scan-menu to begin..."
+#~ msgstr "Koristite meni za skeniranje da počnete..."
+
+#~ msgid "Up"
+#~ msgstr "Gore"
+
+#~ msgid "Up: %1"
+#~ msgstr "Gore: %1"
diff --git a/po/sv/Makefile.am b/po/sv/Makefile.am
new file mode 100644
index 0000000..9562cf4
--- /dev/null
+++ b/po/sv/Makefile.am
@@ -0,0 +1,3 @@
+KDE_LANG = sv
+SUBDIRS = $(AUTODIRS)
+POFILES = AUTO
diff --git a/po/sv/filelight.po b/po/sv/filelight.po
new file mode 100644
index 0000000..41f328f
--- /dev/null
+++ b/po/sv/filelight.po
@@ -0,0 +1,439 @@
+# translation of filelight.po to Swedish
+#
+# Stefan Asserhäll <stefan.asserhall@comhem.se>, 2005, 2006.
+msgid ""
+msgstr ""
+"Project-Id-Version: filelight\n"
+"POT-Creation-Date: 2006-08-20 12:01+0200\n"
+"PO-Revision-Date: 2006-08-22 19:45+0200\n"
+"Last-Translator: Stefan Asserhäll <stefan.asserhall@comhem.se>\n"
+"Language-Team: Swedish <sv@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+
+#. i18n: file ./src/part/dialog.ui line 16
+#: rc.cpp:3
+#, no-c-format
+msgid "Settings - Filelight"
+msgstr "Inställningar - Filelight"
+
+#. i18n: file ./src/part/dialog.ui line 34
+#: rc.cpp:6
+#, no-c-format
+msgid "Scannin&g"
+msgstr "Av&sökning"
+
+#. i18n: file ./src/part/dialog.ui line 53
+#: rc.cpp:9
+#, no-c-format
+msgid "Do &not scan these directories:"
+msgstr "Avsök i&nte följande kataloger:"
+
+#. i18n: file ./src/part/dialog.ui line 70
+#: rc.cpp:13
+#, no-c-format
+msgid ""
+"Filelight will not scan these directories unless you specifically request them."
+msgstr "Filelight avsöker inte katalogerna om du inte särskilt begär det."
+
+#. i18n: file ./src/part/dialog.ui line 106
+#: rc.cpp:16
+#, no-c-format
+msgid "R&emove"
+msgstr "&Ta bort"
+
+#. i18n: file ./src/part/dialog.ui line 117
+#: rc.cpp:19
+#, no-c-format
+msgid "&Add..."
+msgstr "&Lägg till..."
+
+#. i18n: file ./src/part/dialog.ui line 202
+#: rc.cpp:22
+#, no-c-format
+msgid "Exclude remote files&ystems"
+msgstr "Undanta fjärrfils&ystem"
+
+#. i18n: file ./src/part/dialog.ui line 208
+#: rc.cpp:26
+#, no-c-format
+msgid ""
+"Prevents scanning of filesystems that are not on this computer, e.g. NFS or "
+"Samba mounts."
+msgstr ""
+"Förhindrar avsökning av filsystem som inte finns på den här datorn, t.ex. "
+"monterade med NFS eller Samba."
+
+#. i18n: file ./src/part/dialog.ui line 216
+#: rc.cpp:29
+#, no-c-format
+msgid "Scan across filesystem &boundaries"
+msgstr "Avsök över &filsystemgränser"
+
+#. i18n: file ./src/part/dialog.ui line 219
+#: rc.cpp:32
+#, no-c-format
+msgid ""
+"Allows scans to enter directories that are part of other filesystems. For "
+"example, when unchecked, this will usually prevent the contents of <b>/mnt</b> "
+"from being scanned if you scan <b>/</b>."
+msgstr ""
+"Tillåter att avsökning går in i kataloger som tillhör andra filsystem. Om inte "
+"markerat, förhindras till exempel oftast avsökning av innehållet i <b>/mnt</b> "
+"vid avsökning av <b>/</b>."
+
+#. i18n: file ./src/part/dialog.ui line 230
+#: rc.cpp:35
+#, no-c-format
+msgid "E&xclude removable media"
+msgstr "Undanta fl&yttbara media"
+
+#. i18n: file ./src/part/dialog.ui line 236
+#: rc.cpp:39
+#, no-c-format
+msgid "Prevents Filelight from scanning removable media (eg. CD-ROMs)."
+msgstr "Förhindrar att Filelight avsöker flyttbara media (t.ex. cd-rom)."
+
+#. i18n: file ./src/part/dialog.ui line 248
+#: rc.cpp:42
+#, no-c-format
+msgid "&Appearance"
+msgstr "&Utseende"
+
+#. i18n: file ./src/part/dialog.ui line 259
+#: rc.cpp:45
+#, no-c-format
+msgid "Scheme"
+msgstr "Schema"
+
+#. i18n: file ./src/part/dialog.ui line 291
+#: rc.cpp:48
+#, no-c-format
+msgid "Co&ntrast"
+msgstr "Ko&ntrast"
+
+#. i18n: file ./src/part/dialog.ui line 314
+#: rc.cpp:51
+#, no-c-format
+msgid "Here you can vary the contrast of the filemap in realtime."
+msgstr "Här kan du ändra kontrast för filkartan i realtid."
+
+#. i18n: file ./src/part/dialog.ui line 326
+#: rc.cpp:54
+#, no-c-format
+msgid "&Use anti-aliasing"
+msgstr "&Använd kantutjämning"
+
+#. i18n: file ./src/part/dialog.ui line 329
+#: rc.cpp:57
+#, no-c-format
+msgid ""
+"Anti-aliasing the filemap makes it clearer and prettier, unfortunately it also "
+"makes rendering very slow."
+msgstr ""
+"Kantutjämning av filkartan gör den renare och snyggare, men tyvärr gör den "
+"också uppritning mycket långsam."
+
+#. i18n: file ./src/part/dialog.ui line 351
+#: rc.cpp:60
+#, no-c-format
+msgid "Var&y label font sizes"
+msgstr "Variera tecken&storlek för namn"
+
+#. i18n: file ./src/part/dialog.ui line 354
+#: rc.cpp:63
+#, no-c-format
+msgid ""
+"The font size of exploded labels can be varied relative to the depth of the "
+"directories they represent. This helps you spot the important labels more "
+"easily. Set a sensible minimum font size."
+msgstr ""
+"Teckenstorleken för förstorade namn kan varieras i förhållande till djupet av "
+"katalogerna de representerar. Det hjälper dig se de viktiga namnen lättare. "
+"Ange en lämplig minsta teckenstorlek."
+
+#. i18n: file ./src/part/dialog.ui line 390
+#: rc.cpp:66
+#, no-c-format
+msgid "Minimum font si&ze:"
+msgstr "Minimal te&ckenstorlek:"
+
+#. i18n: file ./src/part/dialog.ui line 399
+#: rc.cpp:69
+#, no-c-format
+msgid "The smallest font size Filelight can use to render labels."
+msgstr "Den minsta teckenstorlek som Filelight kan visa etiketter med."
+
+#. i18n: file ./src/part/dialog.ui line 442
+#: rc.cpp:72
+#, no-c-format
+msgid "Show small files"
+msgstr "Visa små filer"
+
+#. i18n: file ./src/part/dialog.ui line 445
+#: rc.cpp:75
+#, no-c-format
+msgid ""
+"Some files are too small to be rendered on the filemap. Selecting this option "
+"makes these files visible by merging them all into a single \"multi-segment\"."
+msgstr ""
+"Vissa filer är för små för att ritas i filkartan. Markeras alternativet görs "
+"filerna synliga genom att slå ihop dem till ett enda \"multisegment\"."
+
+#. i18n: file ./src/part/dialog.ui line 464
+#: rc.cpp:78
+#, no-c-format
+msgid "&Reset"
+msgstr "Åte&rställ"
+
+#. i18n: file ./src/part/dialog.ui line 470
+#: rc.cpp:81
+#, no-c-format
+msgid "Reset any changes you have made since you opened this dialog."
+msgstr "Återställ alla ändringar du har gjort sedan dialogrutan öppnades."
+
+#. i18n: file ./misc/filelightui.rc line 4
+#: rc.cpp:87
+#, no-c-format
+msgid "&Scan"
+msgstr "&Avsök"
+
+#. i18n: file ./misc/filelightui.rc line 19
+#: rc.cpp:93
+#, no-c-format
+msgid "&Go"
+msgstr "&Gå"
+
+#. i18n: file ./misc/filelightui.rc line 35
+#: rc.cpp:99
+#, no-c-format
+msgid "Location Toolbar"
+msgstr "Platsverktygsrad"
+
+#: src/app/historyAction.cpp:46
+msgid "Forward"
+msgstr "Framåt"
+
+#: src/app/main.cpp:15
+msgid "Scan 'path'"
+msgstr "Avsök 'sökväg'"
+
+#: src/app/main.cpp:21
+msgid "Graphical disk-usage information"
+msgstr "Grafisk information om diskanvändning"
+
+#: src/app/main.cpp:22
+msgid "(C )2006 Max Howell"
+msgstr "© 2006 Max Howell"
+
+#: src/app/main.cpp:30
+msgid "Author, maintainer"
+msgstr "Upphovsman, underhåll"
+
+#: src/app/main.cpp:31
+msgid "Documentation"
+msgstr "Dokumentation"
+
+#: src/app/main.cpp:32
+msgid "Inspiration"
+msgstr "Inspiration"
+
+#: src/app/main.cpp:33
+msgid "Internationalization"
+msgstr "Internationalisering"
+
+#: src/app/main.cpp:34
+msgid "Testing"
+msgstr "Testning"
+
+#: src/app/main.cpp:35
+msgid "Bravery in the face of unreadable code"
+msgstr "Mod vid konfrontation med oläsbar kod"
+
+#: src/app/mainWindow.cpp:40
+msgid ""
+"KDE could not find the Filelight Part, or the Filelight Part could not be "
+"started. Did you make install?"
+msgstr ""
+"KDE kunde inte hitta Filelight-delprogrammet, eller kunde inte starta det. Har "
+"du kört make install?"
+
+#: src/app/mainWindow.cpp:57
+msgid ""
+"Filelight is not installed properly, consequently its menus and toolbars will "
+"appear reduced or even empty"
+msgstr ""
+"Filelight är inte riktigt installerat, och som en följd kommer dess menyer och "
+"verktygsrader att visas reducerade eller till och med tomma"
+
+#: src/app/mainWindow.cpp:91
+msgid "Scan &Home Directory"
+msgstr "Avsök &hemkatalog"
+
+#: src/app/mainWindow.cpp:92
+msgid "Scan &Root Directory"
+msgstr "Avsök &rotkatalog"
+
+#: src/app/mainWindow.cpp:93
+msgid "Rescan"
+msgstr "Avsök igen"
+
+#: src/app/mainWindow.cpp:95
+msgid "Clear Location Bar"
+msgstr "Rensa platsraden"
+
+#: src/app/mainWindow.cpp:96
+msgid "Go"
+msgstr "Gå"
+
+#: src/app/mainWindow.cpp:98
+msgid "Location Bar"
+msgstr "Platsrad"
+
+#: src/app/mainWindow.cpp:99
+msgid "&Recent Scans"
+msgstr "Se&naste avsökningarna"
+
+#: src/app/mainWindow.cpp:102
+msgid "&Scan Directory..."
+msgstr "Av&sök katalog..."
+
+#: src/app/mainWindow.cpp:263
+msgid ""
+"_: &Up: /home/mxcl\n"
+"%1: %2"
+msgstr "%1: %2"
+
+#: src/part/progressBox.cpp:62
+#, c-format
+msgid ""
+"_n: %n File\n"
+"%n Files"
+msgstr ""
+"%n fil\n"
+"%n filer"
+
+#: src/part/radialMap/widgetEvents.cpp:165
+msgid "Open &Konqueror Here"
+msgstr "Öppna &Konqueror här"
+
+#: src/part/radialMap/widgetEvents.cpp:168
+msgid "Open &Konsole Here"
+msgstr "Öppna &terminal här"
+
+#: src/part/radialMap/widgetEvents.cpp:172
+msgid "&Center Map Here"
+msgstr "&Centrera kartan här"
+
+#: src/part/radialMap/widgetEvents.cpp:176
+msgid "&Open"
+msgstr "&Öppna"
+
+#: src/part/radialMap/widgetEvents.cpp:179
+msgid "&Copy to clipboard"
+msgstr "&Kopiera till klippbord"
+
+#: src/part/radialMap/widgetEvents.cpp:207
+msgid ""
+"<qt>The directory at <i>'%1'</i> will be <b>recursively</b> and <b>"
+"permanently</b> deleted."
+msgstr ""
+"<qt>Katalogen <i>'%1'</i> kommer att tas bort <b>rekursivt</b> och <b>"
+"permanent</b>."
+
+#: src/part/radialMap/widgetEvents.cpp:208
+msgid "<qt><i>'%1'</i> will be <b>permanently</b> deleted."
+msgstr "<qt><i>'%1'</i> kommer att tas bort <b>permanent</b>."
+
+#: src/part/radialMap/builder.cpp:133
+msgid ""
+"_: There can't ever be only 1 file\n"
+"%1 files, each about %2"
+msgstr "%1 filer, var och en omkring %2"
+
+#: src/part/radialMap/segmentTip.cpp:126
+#, c-format
+msgid "Files: %1"
+msgstr "Filer: %1"
+
+#: src/part/settingsDialog.cpp:26
+msgid "Rainbow"
+msgstr "Regnbåge"
+
+#: src/part/settingsDialog.cpp:27
+msgid "KDE Colors"
+msgstr "KDE färger"
+
+#: src/part/settingsDialog.cpp:28
+msgid "High Contrast"
+msgstr "Hög kontrast"
+
+#: src/part/settingsDialog.cpp:146
+msgid "That directory is already set to be excluded from scans"
+msgstr "Katalogen är redan inställd att undantas från avsökningar"
+
+#: src/part/part.cpp:62
+msgid "Configure Filelight..."
+msgstr "Anpassa Filelight..."
+
+#: src/part/part.cpp:118
+msgid "The entered URL cannot be parsed; it is invalid."
+msgstr "Den angivna webbadressen kan inte tolkas. Den är ogiltig."
+
+#: src/part/part.cpp:122
+#, c-format
+msgid "Filelight only accepts absolute paths, eg. /%1"
+msgstr "Filelight accepterar bara absoluta sökvägar, t.ex. /%1"
+
+#: src/part/part.cpp:126
+#, c-format
+msgid "Directory not found: %1"
+msgstr "Katalogen hittades inte: %1"
+
+#: src/part/part.cpp:130
+msgid ""
+"Unable to enter: %1\n"
+"You do not have access rights to this location."
+msgstr ""
+"Kan inte visa: %1\n"
+"Du har inte åtkomsträttigheter till platsen."
+
+#: src/part/part.cpp:147
+msgid "Aborting Scan..."
+msgstr "Avbryter avsökning..."
+
+#: src/part/part.cpp:195
+#, c-format
+msgid "Scanning: %1"
+msgstr "Söker: %1"
+
+#: src/part/part.cpp:220
+msgid "Scan completed, generating map..."
+msgstr "Avsökning klar. Skapar avbild..."
+
+#: src/part/part.cpp:229
+#, c-format
+msgid "Scan failed: %1"
+msgstr "Avsökning misslyckades: %1"
+
+#: src/part/summaryWidget.cpp:102
+msgid "Free"
+msgstr "Ledigt"
+
+#: src/part/summaryWidget.cpp:103
+msgid "Used"
+msgstr "Använt"
+
+#: _translatorinfo.cpp:1
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr "Stefan Asserhäll"
+
+#: _translatorinfo.cpp:3
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr "stefan.asserhall@comhem.se"
diff --git a/po/ta/Makefile.am b/po/ta/Makefile.am
new file mode 100644
index 0000000..2b7dbdb
--- /dev/null
+++ b/po/ta/Makefile.am
@@ -0,0 +1,3 @@
+KDE_LANG = ta
+SUBDIRS = $(AUTODIRS)
+POFILES = AUTO
diff --git a/po/ta/filelight.po b/po/ta/filelight.po
new file mode 100644
index 0000000..7c9cb63
--- /dev/null
+++ b/po/ta/filelight.po
@@ -0,0 +1,501 @@
+# translation of filelight.po to Tamil
+# Copyright (C) 2004 Free Software Foundation, Inc.
+# Vasee Vaseeharan <vasee@ieee.org>, 2004.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: filelight\n"
+"POT-Creation-Date: 2006-08-20 12:01+0200\n"
+"PO-Revision-Date: 2004-08-15 08:57+0530\n"
+"Last-Translator: I. Felix <ifelix25@yahoo.co.in>\n"
+"Language-Team: Tamil <ta@i18n.kde.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. i18n: file ./src/part/dialog.ui line 16
+#: rc.cpp:3
+#, no-c-format
+msgid "Settings - Filelight"
+msgstr "அமைப்புகள் - மென்கோப்பு"
+
+#. i18n: file ./src/part/dialog.ui line 34
+#: rc.cpp:6
+#, fuzzy, no-c-format
+msgid "Scannin&g"
+msgstr "&வருடல்"
+
+#. i18n: file ./src/part/dialog.ui line 53
+#: rc.cpp:9
+#, fuzzy, no-c-format
+msgid "Do &not scan these directories:"
+msgstr "&இந்த அடைவுகளை வருடாதே:"
+
+#. i18n: file ./src/part/dialog.ui line 70
+#: rc.cpp:13
+#, no-c-format
+msgid ""
+"Filelight will not scan these directories unless you specifically request them."
+msgstr ""
+"நீங்கள் குறிப்பிட்டு விண்ணப்பிக்கும் வரை மென்கோப்பு இந்த அடைவுகளை வருடாது"
+
+#. i18n: file ./src/part/dialog.ui line 106
+#: rc.cpp:16
+#, no-c-format
+msgid "R&emove"
+msgstr "&நீக்கு"
+
+#. i18n: file ./src/part/dialog.ui line 117
+#: rc.cpp:19
+#, no-c-format
+msgid "&Add..."
+msgstr "&சேர்..."
+
+#. i18n: file ./src/part/dialog.ui line 202
+#: rc.cpp:22
+#, fuzzy, no-c-format
+msgid "Exclude remote files&ystems"
+msgstr "தொலைநிலை கோப்பு முறைமைகளை வெளியேற்றும்"
+
+#. i18n: file ./src/part/dialog.ui line 208
+#: rc.cpp:26
+#, fuzzy, no-c-format
+msgid ""
+"Prevents scanning of filesystems that are not on this computer, e.g. NFS or "
+"Samba mounts."
+msgstr ""
+"இந்த விருப்பத்தேர்வை தேர்ந்தெடுத்கும் போது கோப்பு முறைமைகள் வருடலை தடுக்கும் "
+"அது உங்கள் கணிப்பொறியில் இல்லை எ.கா. NFS அல்ல்து சம்பா மவுண்ட்ஸ்"
+
+#. i18n: file ./src/part/dialog.ui line 216
+#: rc.cpp:29
+#, no-c-format
+msgid "Scan across filesystem &boundaries"
+msgstr "&கோப்பு முறைமை எல்லைகள் இடையே வருடு"
+
+#. i18n: file ./src/part/dialog.ui line 219
+#: rc.cpp:32
+#, no-c-format
+msgid ""
+"Allows scans to enter directories that are part of other filesystems. For "
+"example, when unchecked, this will usually prevent the contents of <b>/mnt</b> "
+"from being scanned if you scan <b>/</b>."
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 230
+#: rc.cpp:35
+#, fuzzy, no-c-format
+msgid "E&xclude removable media"
+msgstr "நீக்கக்கூடிய ஊடலை வெளியேற்று"
+
+#. i18n: file ./src/part/dialog.ui line 236
+#: rc.cpp:39
+#, fuzzy, no-c-format
+msgid "Prevents Filelight from scanning removable media (eg. CD-ROMs)."
+msgstr ""
+"இந்த விருப்பத்தேர்வை தேர்ந்தெடுத்கும் போது நீக்கக் கூடிய ஊடக வருடலிலிருந்து "
+"மென்கோப்பை தடுக்கும் (எ.கா.சிடி ரோம்)."
+
+#. i18n: file ./src/part/dialog.ui line 248
+#: rc.cpp:42
+#, no-c-format
+msgid "&Appearance"
+msgstr "&தோற்றம்"
+
+#. i18n: file ./src/part/dialog.ui line 259
+#: rc.cpp:45
+#, no-c-format
+msgid "Scheme"
+msgstr "சலுகை"
+
+#. i18n: file ./src/part/dialog.ui line 291
+#: rc.cpp:48
+#, fuzzy, no-c-format
+msgid "Co&ntrast"
+msgstr "&மாறுபாடு"
+
+#. i18n: file ./src/part/dialog.ui line 314
+#: rc.cpp:51
+#, no-c-format
+msgid "Here you can vary the contrast of the filemap in realtime."
+msgstr ""
+"நிகழ் நேரத்தின் கோப்பு வரைபடத்தின் மாறுபாடுகளை நீங்கள் இங்கே வேறுபடுத்தலாம்."
+
+#. i18n: file ./src/part/dialog.ui line 326
+#: rc.cpp:54
+#, no-c-format
+msgid "&Use anti-aliasing"
+msgstr "எதிர்-மாற்றுபெயராக்கத்தை உபயோகி"
+
+#. i18n: file ./src/part/dialog.ui line 329
+#: rc.cpp:57
+#, no-c-format
+msgid ""
+"Anti-aliasing the filemap makes it clearer and prettier, unfortunately it also "
+"makes rendering very slow."
+msgstr ""
+"எதிர்-மாற்று பெயரிடுதல் கோப்பு வரைபடம் அதை தெளிவு மற்றும் அழகுபடுத்தும், "
+"எதிர்பாராமல் அது பதிப்பு வரைதலையும் மெதுவாக்கும்."
+
+#. i18n: file ./src/part/dialog.ui line 351
+#: rc.cpp:60
+#, fuzzy, no-c-format
+msgid "Var&y label font sizes"
+msgstr "சிட்டை எழுத்து நீளத்தில் மாற்று"
+
+#. i18n: file ./src/part/dialog.ui line 354
+#: rc.cpp:63
+#, no-c-format
+msgid ""
+"The font size of exploded labels can be varied relative to the depth of the "
+"directories they represent. This helps you spot the important labels more "
+"easily. Set a sensible minimum font size."
+msgstr ""
+"எழுத்து நீளம் வெடிப்புறு சீட்டுகள் அடைவுகளின் அடிமட்டத்தை குறிப்பதில் காணலாம். "
+"இது முக்கிய சீட்டை மிகவும் எளிதாக தேர்ந்தெடுக்க உதவும். குறைந்தபட்ச உணர் "
+"எழுத்து நீளத்தில் அமை. "
+
+#. i18n: file ./src/part/dialog.ui line 390
+#: rc.cpp:66
+#, fuzzy, no-c-format
+msgid "Minimum font si&ze:"
+msgstr "குறைந்தபட்ச எழுத்து நீளம்:"
+
+#. i18n: file ./src/part/dialog.ui line 399
+#: rc.cpp:69
+#, fuzzy, no-c-format
+msgid "The smallest font size Filelight can use to render labels."
+msgstr "சிறிய எழுத்து நீளம் மென்கோப்பு விளக்கச்சீட்டின் பதிப்பு வரையும்."
+
+#. i18n: file ./src/part/dialog.ui line 442
+#: rc.cpp:72
+#, no-c-format
+msgid "Show small files"
+msgstr "சிறிய கோப்புகளை காட்டு"
+
+#. i18n: file ./src/part/dialog.ui line 445
+#: rc.cpp:75
+#, no-c-format
+msgid ""
+"Some files are too small to be rendered on the filemap. Selecting this option "
+"makes these files visible by merging them all into a single \"multi-segment\"."
+msgstr ""
+"சில கோப்புகள் கோப்பு வரைபடத்தில் பதிப்பு வரைதலுக்கு மிகவும் சிறிதானது. இந்த "
+"விருப்பத்தேர்வை தேர்வு செய்வதில் இந்த கோப்புகள் கலந்து ஒன்றாக காட்சியளிக்கும் "
+"\"பல-துண்டாக்கம்\"."
+
+#. i18n: file ./src/part/dialog.ui line 464
+#: rc.cpp:78
+#, no-c-format
+msgid "&Reset"
+msgstr "&மீட்டமை"
+
+#. i18n: file ./src/part/dialog.ui line 470
+#: rc.cpp:81
+#, no-c-format
+msgid "Reset any changes you have made since you opened this dialog."
+msgstr "இந்த உரையாடலை திறந்ததனால் மாற்றங்களை மீட்டமை"
+
+#. i18n: file ./misc/filelightui.rc line 4
+#: rc.cpp:87
+#, no-c-format
+msgid "&Scan"
+msgstr "&வருடு"
+
+#. i18n: file ./misc/filelightui.rc line 19
+#: rc.cpp:93
+#, no-c-format
+msgid "&Go"
+msgstr "&போ"
+
+#. i18n: file ./misc/filelightui.rc line 35
+#: rc.cpp:99
+#, no-c-format
+msgid "Location Toolbar"
+msgstr "இடம் கருவிபெட்டி"
+
+#: src/app/historyAction.cpp:46
+msgid "Forward"
+msgstr "அனுப்பு"
+
+#: src/app/main.cpp:15
+msgid "Scan 'path'"
+msgstr "வருடு 'பாதை'"
+
+#: src/app/main.cpp:21
+msgid "Graphical disk-usage information"
+msgstr ""
+
+#: src/app/main.cpp:22
+msgid "(C )2006 Max Howell"
+msgstr ""
+
+#: src/app/main.cpp:30
+msgid "Author, maintainer"
+msgstr ""
+
+#: src/app/main.cpp:31
+msgid "Documentation"
+msgstr ""
+
+#: src/app/main.cpp:32
+msgid "Inspiration"
+msgstr ""
+
+#: src/app/main.cpp:33
+#, fuzzy
+msgid "Internationalization"
+msgstr "சர்வதேச ஆதரவு"
+
+#: src/app/main.cpp:34
+msgid "Testing"
+msgstr ""
+
+#: src/app/main.cpp:35
+msgid "Bravery in the face of unreadable code"
+msgstr ""
+
+#: src/app/mainWindow.cpp:40
+msgid ""
+"KDE could not find the Filelight Part, or the Filelight Part could not be "
+"started. Did you make install?"
+msgstr ""
+
+#: src/app/mainWindow.cpp:57
+msgid ""
+"Filelight is not installed properly, consequently its menus and toolbars will "
+"appear reduced or even empty"
+msgstr ""
+
+#: src/app/mainWindow.cpp:91
+msgid "Scan &Home Directory"
+msgstr "&வீட்டு அடைவுகளை வருடு"
+
+#: src/app/mainWindow.cpp:92
+msgid "Scan &Root Directory"
+msgstr "&மூல அடைவுகளை வருடு"
+
+#: src/app/mainWindow.cpp:93
+msgid "Rescan"
+msgstr "மீண்டும் வருடு"
+
+#: src/app/mainWindow.cpp:95
+msgid "Clear Location Bar"
+msgstr "தெளிவான அமைவிடம் பெட்டி"
+
+#: src/app/mainWindow.cpp:96
+msgid "Go"
+msgstr "போ"
+
+#: src/app/mainWindow.cpp:98
+msgid "Location Bar"
+msgstr "அமைவிடம் பெட்டி"
+
+#: src/app/mainWindow.cpp:99
+msgid "&Recent Scans"
+msgstr "&தற்போதுள்ள வருடல்கள்"
+
+#: src/app/mainWindow.cpp:102
+msgid "&Scan Directory..."
+msgstr "&அடைவுகளை வருடு"
+
+#: src/app/mainWindow.cpp:263
+msgid ""
+"_: &Up: /home/mxcl\n"
+"%1: %2"
+msgstr ""
+
+#: src/part/progressBox.cpp:62
+#, c-format
+msgid ""
+"_n: %n File\n"
+"%n Files"
+msgstr ""
+
+#: src/part/radialMap/widgetEvents.cpp:165
+msgid "Open &Konqueror Here"
+msgstr "&இங்கு கான்குயரர் திற"
+
+#: src/part/radialMap/widgetEvents.cpp:168
+#, fuzzy
+msgid "Open &Konsole Here"
+msgstr "&இங்கு கன்சோல் திற"
+
+#: src/part/radialMap/widgetEvents.cpp:172
+msgid "&Center Map Here"
+msgstr "&நடுநிலை வரைபடம் இங்கு"
+
+#: src/part/radialMap/widgetEvents.cpp:176
+msgid "&Open"
+msgstr "&திற"
+
+#: src/part/radialMap/widgetEvents.cpp:179
+msgid "&Copy to clipboard"
+msgstr ""
+
+#: src/part/radialMap/widgetEvents.cpp:207
+msgid ""
+"<qt>The directory at <i>'%1'</i> will be <b>recursively</b> and <b>"
+"permanently</b> deleted."
+msgstr ""
+
+#: src/part/radialMap/widgetEvents.cpp:208
+msgid "<qt><i>'%1'</i> will be <b>permanently</b> deleted."
+msgstr ""
+
+#: src/part/radialMap/builder.cpp:133
+msgid ""
+"_: There can't ever be only 1 file\n"
+"%1 files, each about %2"
+msgstr ""
+
+#: src/part/radialMap/segmentTip.cpp:126
+#, c-format
+msgid "Files: %1"
+msgstr "கோப்புகள்: %1"
+
+#: src/part/settingsDialog.cpp:26
+msgid "Rainbow"
+msgstr ""
+
+#: src/part/settingsDialog.cpp:27
+msgid "KDE Colors"
+msgstr ""
+
+#: src/part/settingsDialog.cpp:28
+#, fuzzy
+msgid "High Contrast"
+msgstr "&மாறுபாடு"
+
+#: src/part/settingsDialog.cpp:146
+msgid "That directory is already set to be excluded from scans"
+msgstr ""
+
+#: src/part/part.cpp:62
+msgid "Configure Filelight..."
+msgstr "உள்ளமை மென்கோப்பு..."
+
+#: src/part/part.cpp:118
+msgid "The entered URL cannot be parsed; it is invalid."
+msgstr ""
+
+#: src/part/part.cpp:122
+#, c-format
+msgid "Filelight only accepts absolute paths, eg. /%1"
+msgstr "முழுமையான பாதையை மட்டும் தான் மென்கோப்பு ஏற்றுக்கொள்ளும்,எகா. /%1"
+
+#: src/part/part.cpp:126
+#, c-format
+msgid "Directory not found: %1"
+msgstr "அடைவு கண்டெடுக்கப்படவில்லை: %1"
+
+#: src/part/part.cpp:130
+#, fuzzy
+msgid ""
+"Unable to enter: %1\n"
+"You do not have access rights to this location."
+msgstr ""
+"நுழைய முடியவில்லை:%1\n"
+"இந்த இடத்தில் அணுக உங்களுக்கு உரிமை இல்லை."
+
+#: src/part/part.cpp:147
+msgid "Aborting Scan..."
+msgstr ""
+
+#: src/part/part.cpp:195
+#, c-format
+msgid "Scanning: %1"
+msgstr "வருடல்கள்: %1"
+
+#: src/part/part.cpp:220
+msgid "Scan completed, generating map..."
+msgstr ""
+
+#: src/part/part.cpp:229
+#, fuzzy, c-format
+msgid "Scan failed: %1"
+msgstr "வருடல்கள்: %1"
+
+#: src/part/summaryWidget.cpp:102
+msgid "Free"
+msgstr ""
+
+#: src/part/summaryWidget.cpp:103
+msgid "Used"
+msgstr ""
+
+#: _translatorinfo.cpp:1
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr "மை.கிரிஸ்டோபர்"
+
+#: _translatorinfo.cpp:3
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr "chris_loyola2003@yahoo.com"
+
+#, fuzzy
+#~ msgid "\"Girlfriend usability-testing\""
+#~ msgstr "\"பெண்தோழிகள் உபயோக சோதனை\""
+
+#, fuzzy
+#~ msgid "German Translation, testing, bug reports and suggestions"
+#~ msgstr "சோதனை, பிழை அறிக்கைகள் மற்றும் கருத்துகள்"
+
+#, fuzzy
+#~ msgid "Use the Scan-menu to begin..."
+#~ msgstr "துவங்குவதற்கு வருடு..."
+
+#~ msgid "Up"
+#~ msgstr "மேல்"
+
+#~ msgid "Up: %1"
+#~ msgstr "மேல்: %1"
+
+#, fuzzy
+#~ msgid "%1 Files"
+#~ msgstr "%1 கோப்புகள் வருடப்பட்டது"
+
+#~ msgid "Selecting this option will prevent Filelight from scanning directories that are not in the same filesystem as where the scan started."
+#~ msgstr "இந்த விருப்பத்தேர்வை தேர்ந்தெடுத்கும் போது வருடல் அடைவிலிருந்து தடுக்கும் அஷு ஒரே கோப்பு முறையிலில்லாதது வருடு துவங்கியது."
+
+#~ msgid "Filelight could not start an instance of Konqueror."
+#~ msgstr "மென்கோப்பு கான்குயரரை துவங்காது"
+
+#~ msgid "Filelight could not start an instance of Konsole."
+#~ msgstr "மென்கோப்பு கன்சோலை துவங்காது."
+
+#~ msgid "%1 files ~ %2"
+#~ msgstr "%1 கோப்புகள்~ %2"
+
+#~ msgid "Recursive graphical display of disk usage."
+#~ msgstr "வட்டு உபயோகத்தின் சுழல்நிலை சித்திர காட்சி"
+
+#~ msgid "Filelight is based on work by Steffen Gerlach"
+#~ msgstr "ஸ்டீபன் ஜெர்லக்கின் வேலையை சார்ந்த மென்கோப்பு"
+
+#~ msgid "Author"
+#~ msgstr "ஆசிரியர்"
+
+#~ msgid "Original concept"
+#~ msgstr "நிஜமான கருத்துரு"
+
+#~ msgid "The scan did not complete"
+#~ msgstr "வருடல் இன்னும் முடியவில்லை"
+
+#~ msgid "Showing: %1"
+#~ msgstr "காட்டுகிறது: %1"
+
+#~ msgid "Filelight is available as a KPart and stand-alone application"
+#~ msgstr " Kபகுதி மற்றும் தனியாக-நில் பயன்பாடாக மென்கோப்பு கிடைக்கும்"
+
+#~ msgid "The URL protocol must be: file:/"
+#~ msgstr "URL நெறிமுறை கண்டிப்பாக:கோப்பு:/"
+
+#~ msgid "The URL is not valid: %1"
+#~ msgstr "URL செல்லாது: %1"
+
+#~ msgid "The scan was aborted."
+#~ msgstr "வருடல் முறிக்கப்பட்டது."
diff --git a/po/tr/Makefile.am b/po/tr/Makefile.am
new file mode 100644
index 0000000..c14b619
--- /dev/null
+++ b/po/tr/Makefile.am
@@ -0,0 +1,3 @@
+KDE_LANG = tr
+SUBDIRS = $(AUTODIRS)
+POFILES = AUTO
diff --git a/po/tr/filelight.po b/po/tr/filelight.po
new file mode 100644
index 0000000..1fdafd6
--- /dev/null
+++ b/po/tr/filelight.po
@@ -0,0 +1,499 @@
+# translation of filelight.po to Türkçe
+# Görkem Çetin <gorkem@kde.org>, 2004.
+# Alper Sen <aalpersen@gmail.com>, 2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: filelight\n"
+"POT-Creation-Date: 2006-08-20 12:01+0200\n"
+"PO-Revision-Date: 2005-07-11 10:43+0300\n"
+"Last-Translator: Alper Sen <aalpersen@gmail.com>\n"
+"Language-Team: Türkçe <yerellestirme@kde.org.tr>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.10\n"
+
+#. i18n: file ./src/part/dialog.ui line 16
+#: rc.cpp:3
+#, no-c-format
+msgid "Settings - Filelight"
+msgstr "Ayarlar - Filelight"
+
+#. i18n: file ./src/part/dialog.ui line 34
+#: rc.cpp:6
+#, fuzzy, no-c-format
+msgid "Scannin&g"
+msgstr "&Tarama"
+
+#. i18n: file ./src/part/dialog.ui line 53
+#: rc.cpp:9
+#, fuzzy, no-c-format
+msgid "Do &not scan these directories:"
+msgstr "Şu &klasörlerde tarama yapma:"
+
+#. i18n: file ./src/part/dialog.ui line 70
+#: rc.cpp:13
+#, no-c-format
+msgid ""
+"Filelight will not scan these directories unless you specifically request them."
+msgstr ""
+"Filelight özellikle istemediğiniz sürece belirtilen klasörleri taramayacaktır."
+
+#. i18n: file ./src/part/dialog.ui line 106
+#: rc.cpp:16
+#, no-c-format
+msgid "R&emove"
+msgstr "K&aldır"
+
+#. i18n: file ./src/part/dialog.ui line 117
+#: rc.cpp:19
+#, no-c-format
+msgid "&Add..."
+msgstr "&Ekle..."
+
+#. i18n: file ./src/part/dialog.ui line 202
+#: rc.cpp:22
+#, fuzzy, no-c-format
+msgid "Exclude remote files&ystems"
+msgstr "&Uzak dosya sistemlerini içerme"
+
+#. i18n: file ./src/part/dialog.ui line 208
+#: rc.cpp:26
+#, no-c-format
+msgid ""
+"Prevents scanning of filesystems that are not on this computer, e.g. NFS or "
+"Samba mounts."
+msgstr ""
+"Bu bilgisayar üzerinde olmayan dosya sistemlerini taramayı engeller, ör. NFS ya "
+"da Samba bağlanmışları"
+
+#. i18n: file ./src/part/dialog.ui line 216
+#: rc.cpp:29
+#, no-c-format
+msgid "Scan across filesystem &boundaries"
+msgstr "&Dosya sistemi sınırları içerisinde tarama yap"
+
+#. i18n: file ./src/part/dialog.ui line 219
+#: rc.cpp:32
+#, fuzzy, no-c-format
+msgid ""
+"Allows scans to enter directories that are part of other filesystems. For "
+"example, when unchecked, this will usually prevent the contents of <b>/mnt</b> "
+"from being scanned if you scan <b>/</b>."
+msgstr ""
+"Diğer dosya sistemlerinde bulunan klasörleri taramayı durdurur. Örnek olarak, "
+"bu seçenek <b>/</b>'yi taramak istediğinizde <b>/mnt</b>'nin içini taramaz."
+
+#. i18n: file ./src/part/dialog.ui line 230
+#: rc.cpp:35
+#, fuzzy, no-c-format
+msgid "E&xclude removable media"
+msgstr "Çı&kartılabilir ortamı göz ardı et"
+
+#. i18n: file ./src/part/dialog.ui line 236
+#: rc.cpp:39
+#, no-c-format
+msgid "Prevents Filelight from scanning removable media (eg. CD-ROMs)."
+msgstr ""
+"Filelight'ın çıkartılabilir ortamları taramasını engeller (ör. CD-ROMlar)."
+
+#. i18n: file ./src/part/dialog.ui line 248
+#: rc.cpp:42
+#, no-c-format
+msgid "&Appearance"
+msgstr "&Görünüm"
+
+#. i18n: file ./src/part/dialog.ui line 259
+#: rc.cpp:45
+#, no-c-format
+msgid "Scheme"
+msgstr "Şema"
+
+#. i18n: file ./src/part/dialog.ui line 291
+#: rc.cpp:48
+#, fuzzy, no-c-format
+msgid "Co&ntrast"
+msgstr "K&ontrast"
+
+#. i18n: file ./src/part/dialog.ui line 314
+#: rc.cpp:51
+#, no-c-format
+msgid "Here you can vary the contrast of the filemap in realtime."
+msgstr ""
+"Burada dosya haritasınının karşıtlığını gerçek zamanda değiştirebilirsiniz."
+
+#. i18n: file ./src/part/dialog.ui line 326
+#: rc.cpp:54
+#, no-c-format
+msgid "&Use anti-aliasing"
+msgstr "Keskinliği-&yumuşatma kullan"
+
+#. i18n: file ./src/part/dialog.ui line 329
+#: rc.cpp:57
+#, no-c-format
+msgid ""
+"Anti-aliasing the filemap makes it clearer and prettier, unfortunately it also "
+"makes rendering very slow."
+msgstr ""
+"Keskinliği-yumuşatma dosya haritasınının görünümünü daha temiz ve güzel yapar, "
+"fakat ne yazık ki tazelemeyi de bir o kadar düşürür."
+
+#. i18n: file ./src/part/dialog.ui line 351
+#: rc.cpp:60
+#, fuzzy, no-c-format
+msgid "Var&y label font sizes"
+msgstr "değişken E&tiket yazı tipi büyüklükleri"
+
+#. i18n: file ./src/part/dialog.ui line 354
+#: rc.cpp:63
+#, no-c-format
+msgid ""
+"The font size of exploded labels can be varied relative to the depth of the "
+"directories they represent. This helps you spot the important labels more "
+"easily. Set a sensible minimum font size."
+msgstr ""
+"Patlatılmış etiketlerin yazı tipi büyüklükleri temsil ettikleri klasörlerin "
+"derinliklerinie göre değiştirilebilir. Bu sizin önemli etiketleri daha kolay "
+"fark etmenizi kolaylaştırır. Mantıklı bir en düşük yazı tipi büyüklüğü "
+"belirtin."
+
+#. i18n: file ./src/part/dialog.ui line 390
+#: rc.cpp:66
+#, fuzzy, no-c-format
+msgid "Minimum font si&ze:"
+msgstr "E&n düşük yazı tipi büyüklüğü:"
+
+#. i18n: file ./src/part/dialog.ui line 399
+#: rc.cpp:69
+#, no-c-format
+msgid "The smallest font size Filelight can use to render labels."
+msgstr "Filelight'ın etiketlerde göstereceği en düşük yazı tipi büyüklüğü."
+
+#. i18n: file ./src/part/dialog.ui line 442
+#: rc.cpp:72
+#, no-c-format
+msgid "Show small files"
+msgstr "Küçük dosyaları göster"
+
+#. i18n: file ./src/part/dialog.ui line 445
+#: rc.cpp:75
+#, no-c-format
+msgid ""
+"Some files are too small to be rendered on the filemap. Selecting this option "
+"makes these files visible by merging them all into a single \"multi-segment\"."
+msgstr ""
+"Bazı dosyalar dosya haritasında gösterilemeyecek kadar küçüktürler. Bu seçeneği "
+"seçmek tüm bu dosyaların birleştirilip bir tane \"çoklu-kesim\" çeklinde "
+"görülebilmesini sağlar."
+
+#. i18n: file ./src/part/dialog.ui line 464
+#: rc.cpp:78
+#, no-c-format
+msgid "&Reset"
+msgstr "&Sıfırla"
+
+#. i18n: file ./src/part/dialog.ui line 470
+#: rc.cpp:81
+#, no-c-format
+msgid "Reset any changes you have made since you opened this dialog."
+msgstr ""
+"Bu diyalog penceresini açtığınızdan bu yana yaptığını değişiklikleri sıfırlar."
+
+#. i18n: file ./misc/filelightui.rc line 4
+#: rc.cpp:87
+#, no-c-format
+msgid "&Scan"
+msgstr "&Tara"
+
+#. i18n: file ./misc/filelightui.rc line 19
+#: rc.cpp:93
+#, no-c-format
+msgid "&Go"
+msgstr "&Git"
+
+#. i18n: file ./misc/filelightui.rc line 35
+#: rc.cpp:99
+#, no-c-format
+msgid "Location Toolbar"
+msgstr "Yer Çubuğu"
+
+#: src/app/historyAction.cpp:46
+msgid "Forward"
+msgstr "İlet"
+
+#: src/app/main.cpp:15
+msgid "Scan 'path'"
+msgstr "'yol'u tara"
+
+#: src/app/main.cpp:21
+msgid "Graphical disk-usage information"
+msgstr "Grafiksel disk-kullanım bilgisi"
+
+#: src/app/main.cpp:22
+#, fuzzy
+msgid "(C )2006 Max Howell"
+msgstr "(C) 2003 Max Howell"
+
+#: src/app/main.cpp:30
+msgid "Author, maintainer"
+msgstr ""
+
+#: src/app/main.cpp:31
+msgid "Documentation"
+msgstr ""
+
+#: src/app/main.cpp:32
+msgid "Inspiration"
+msgstr "İlham Alınan"
+
+#: src/app/main.cpp:33
+#, fuzzy
+msgid "Internationalization"
+msgstr "Ulusallaştırma desteği"
+
+#: src/app/main.cpp:34
+msgid "Testing"
+msgstr ""
+
+#: src/app/main.cpp:35
+#, fuzzy
+msgid "Bravery in the face of unreadable code"
+msgstr "Okunamaz kodunun yüzüne karşı cesaret (yamalar)"
+
+#: src/app/mainWindow.cpp:40
+msgid ""
+"KDE could not find the Filelight Part, or the Filelight Part could not be "
+"started. Did you make install?"
+msgstr ""
+"KDE Filelight Part'ı bulamadı, ya da Filelight Part başlatılamadı. make install "
+"komutunu verdiniz mi?"
+
+#: src/app/mainWindow.cpp:57
+msgid ""
+"Filelight is not installed properly, consequently its menus and toolbars will "
+"appear reduced or even empty"
+msgstr ""
+
+#: src/app/mainWindow.cpp:91
+msgid "Scan &Home Directory"
+msgstr "E&v klasörünü tara"
+
+#: src/app/mainWindow.cpp:92
+msgid "Scan &Root Directory"
+msgstr "&Root Klasörünü Tara"
+
+#: src/app/mainWindow.cpp:93
+msgid "Rescan"
+msgstr "Tekrar Tara"
+
+#: src/app/mainWindow.cpp:95
+msgid "Clear Location Bar"
+msgstr "Yer Çubuğunu Temizle"
+
+#: src/app/mainWindow.cpp:96
+msgid "Go"
+msgstr "Git"
+
+#: src/app/mainWindow.cpp:98
+msgid "Location Bar"
+msgstr "Yer Çubuğu"
+
+#: src/app/mainWindow.cpp:99
+msgid "&Recent Scans"
+msgstr "Ö&nceki Taramalar"
+
+#: src/app/mainWindow.cpp:102
+msgid "&Scan Directory..."
+msgstr "K&lasörü Tara..."
+
+#: src/app/mainWindow.cpp:263
+msgid ""
+"_: &Up: /home/mxcl\n"
+"%1: %2"
+msgstr ""
+
+#: src/part/progressBox.cpp:62
+#, c-format
+msgid ""
+"_n: %n File\n"
+"%n Files"
+msgstr ""
+
+#: src/part/radialMap/widgetEvents.cpp:165
+msgid "Open &Konqueror Here"
+msgstr "Kon&queror'u Buradan Çalıştırın"
+
+#: src/part/radialMap/widgetEvents.cpp:168
+msgid "Open &Konsole Here"
+msgstr "K&onsol'u Buradan Çalıştırın"
+
+#: src/part/radialMap/widgetEvents.cpp:172
+msgid "&Center Map Here"
+msgstr "Ha&ritayı Buradan Merkezleyin"
+
+#: src/part/radialMap/widgetEvents.cpp:176
+msgid "&Open"
+msgstr "&Aç"
+
+#: src/part/radialMap/widgetEvents.cpp:179
+msgid "&Copy to clipboard"
+msgstr ""
+
+#: src/part/radialMap/widgetEvents.cpp:207
+msgid ""
+"<qt>The directory at <i>'%1'</i> will be <b>recursively</b> and <b>"
+"permanently</b> deleted."
+msgstr ""
+"<qt><i> %1 </i>'deki klasör <b>özyinemeli</b> ve <b>kalıcı</b> "
+"olarak silinecek."
+
+#: src/part/radialMap/widgetEvents.cpp:208
+msgid "<qt><i>'%1'</i> will be <b>permanently</b> deleted."
+msgstr "<qt><i> %1 </i> <b>kalıcı</b> olarak silinecek."
+
+#: src/part/radialMap/builder.cpp:133
+msgid ""
+"_: There can't ever be only 1 file\n"
+"%1 files, each about %2"
+msgstr "%1 dosya, her biri yaklaşık %2"
+
+#: src/part/radialMap/segmentTip.cpp:126
+#, c-format
+msgid "Files: %1"
+msgstr "Dosyalar: %1"
+
+#: src/part/settingsDialog.cpp:26
+msgid "Rainbow"
+msgstr "Gökkuşağı"
+
+#: src/part/settingsDialog.cpp:27
+msgid "KDE Colors"
+msgstr "KDE Renkleri"
+
+#: src/part/settingsDialog.cpp:28
+msgid "High Contrast"
+msgstr "yüksek Karşıtlık"
+
+#: src/part/settingsDialog.cpp:146
+msgid "That directory is already set to be excluded from scans"
+msgstr "Bu klasör zaten taramalardan dışlanmaya ayarlanmıştı"
+
+#: src/part/part.cpp:62
+msgid "Configure Filelight..."
+msgstr "Filelight'ı Ayarlar..."
+
+#: src/part/part.cpp:118
+msgid "The entered URL cannot be parsed; it is invalid."
+msgstr "Girilen URL işlenemedi; geçersiz bir URL."
+
+#: src/part/part.cpp:122
+#, c-format
+msgid "Filelight only accepts absolute paths, eg. /%1"
+msgstr "Filelight sadece salt klasörleri kabul eder. ör. /%1"
+
+#: src/part/part.cpp:126
+#, c-format
+msgid "Directory not found: %1"
+msgstr "Klasör kulunamadı: %1"
+
+#: src/part/part.cpp:130
+msgid ""
+"Unable to enter: %1\n"
+"You do not have access rights to this location."
+msgstr ""
+"Şuraya girilemei: %1\n"
+"Burası için giriş izniniz yok."
+
+#: src/part/part.cpp:147
+msgid "Aborting Scan..."
+msgstr "Tarama İptal Ediliyor..."
+
+#: src/part/part.cpp:195
+#, c-format
+msgid "Scanning: %1"
+msgstr "Taranıyor: %1"
+
+#: src/part/part.cpp:220
+msgid "Scan completed, generating map..."
+msgstr "Tarama tamamlandır, harita oluşturuluyor..."
+
+#: src/part/part.cpp:229
+#, c-format
+msgid "Scan failed: %1"
+msgstr "Tarama başarısız: %1"
+
+#: src/part/summaryWidget.cpp:102
+msgid "Free"
+msgstr "Boş"
+
+#: src/part/summaryWidget.cpp:103
+msgid "Used"
+msgstr "Kullanılan"
+
+#: _translatorinfo.cpp:1
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr "Alper Şen"
+
+#: _translatorinfo.cpp:3
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr "aalpersen@gmail.com"
+
+#~ msgid "Me"
+#~ msgstr "Ben"
+
+#~ msgid "Handbook guru"
+#~ msgstr "Elkitabı gurusu"
+
+#~ msgid "\"Girlfriend usability-testing\""
+#~ msgstr "\"Kızarkadaş kullanabilme-testi\""
+
+#~ msgid "Welsh Translation"
+#~ msgstr "Galler Çevrimi"
+
+#~ msgid "German Translation, testing, bug reports and suggestions"
+#~ msgstr "Almanca Çevrimi, test, hata raporları ve tavsiyeler"
+
+#~ msgid "Slovak Translation"
+#~ msgstr "Slovakça Çevrim"
+
+#~ msgid "Polish Translation"
+#~ msgstr "Polonyaca Çevrim"
+
+#~ msgid "Spanish Translation"
+#~ msgstr "İspanyolca Çevrim"
+
+#~ msgid "French Translation"
+#~ msgstr "Fransızca Çevrim"
+
+#~ msgid "Russian Translation"
+#~ msgstr "Rusça Çevrim"
+
+#~ msgid "Dutch Translation"
+#~ msgstr "Danca Çevrim"
+
+#~ msgid ""
+#~ "Called: %1\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Çağrılan: %1\n"
+#~ "\n"
+
+#~ msgid "could not execute %1"
+#~ msgstr "%1 çalıştırılamadı"
+
+#~ msgid "Use the Scan-menu to begin..."
+#~ msgstr "Başlamak için Tarama-menüsünü kullanın..."
+
+#~ msgid "Up"
+#~ msgstr "Yukarı"
+
+#~ msgid "Up: %1"
+#~ msgstr "Yukarı: %1"
+
+#~ msgid "%1 Files"
+#~ msgstr "%1 Dosya"
diff --git a/po/uk/Makefile.am b/po/uk/Makefile.am
new file mode 100644
index 0000000..685f92f
--- /dev/null
+++ b/po/uk/Makefile.am
@@ -0,0 +1,3 @@
+KDE_LANG = uk
+SUBDIRS = $(AUTODIRS)
+POFILES = AUTO
diff --git a/po/uk/filelight.po b/po/uk/filelight.po
new file mode 100644
index 0000000..afeb5bf
--- /dev/null
+++ b/po/uk/filelight.po
@@ -0,0 +1,484 @@
+# Translation of filelight.po to Ukrainian
+#
+# Ivan Petrouchtchak <ivanpetrouchtchak@yahoo.com>, 2006.
+msgid ""
+msgstr ""
+"Project-Id-Version: filelight\n"
+"POT-Creation-Date: 2006-08-20 12:01+0200\n"
+"PO-Revision-Date: 2006-07-06 14:36-0700\n"
+"Last-Translator: Ivan Petrouchtchak <ivanpetrouchtchak@yahoo.com>\n"
+"Language-Team: Ukrainian <translation@linux.org.ua>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.2\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>"
+"=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+
+#. i18n: file ./src/part/dialog.ui line 16
+#: rc.cpp:3
+#, no-c-format
+msgid "Settings - Filelight"
+msgstr "Параметри - Filelight"
+
+#. i18n: file ./src/part/dialog.ui line 34
+#: rc.cpp:6
+#, fuzzy, no-c-format
+msgid "Scannin&g"
+msgstr "&Сканування"
+
+#. i18n: file ./src/part/dialog.ui line 53
+#: rc.cpp:9
+#, fuzzy, no-c-format
+msgid "Do &not scan these directories:"
+msgstr "&Не сканувати ці каталоги:"
+
+#. i18n: file ./src/part/dialog.ui line 70
+#: rc.cpp:13
+#, no-c-format
+msgid ""
+"Filelight will not scan these directories unless you specifically request them."
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 106
+#: rc.cpp:16
+#, no-c-format
+msgid "R&emove"
+msgstr "Ви&лучити"
+
+#. i18n: file ./src/part/dialog.ui line 117
+#: rc.cpp:19
+#, no-c-format
+msgid "&Add..."
+msgstr "&Додати..."
+
+#. i18n: file ./src/part/dialog.ui line 202
+#: rc.cpp:22
+#, no-c-format
+msgid "Exclude remote files&ystems"
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 208
+#: rc.cpp:26
+#, no-c-format
+msgid ""
+"Prevents scanning of filesystems that are not on this computer, e.g. NFS or "
+"Samba mounts."
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 216
+#: rc.cpp:29
+#, no-c-format
+msgid "Scan across filesystem &boundaries"
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 219
+#: rc.cpp:32
+#, no-c-format
+msgid ""
+"Allows scans to enter directories that are part of other filesystems. For "
+"example, when unchecked, this will usually prevent the contents of <b>/mnt</b> "
+"from being scanned if you scan <b>/</b>."
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 230
+#: rc.cpp:35
+#, fuzzy, no-c-format
+msgid "E&xclude removable media"
+msgstr "Диски та змінні носії"
+
+#. i18n: file ./src/part/dialog.ui line 236
+#: rc.cpp:39
+#, no-c-format
+msgid "Prevents Filelight from scanning removable media (eg. CD-ROMs)."
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 248
+#: rc.cpp:42
+#, no-c-format
+msgid "&Appearance"
+msgstr "Ви&гляд"
+
+#. i18n: file ./src/part/dialog.ui line 259
+#: rc.cpp:45
+#, no-c-format
+msgid "Scheme"
+msgstr "Схема"
+
+#. i18n: file ./src/part/dialog.ui line 291
+#: rc.cpp:48
+#, fuzzy, no-c-format
+msgid "Co&ntrast"
+msgstr "&Контраст"
+
+#. i18n: file ./src/part/dialog.ui line 314
+#: rc.cpp:51
+#, no-c-format
+msgid "Here you can vary the contrast of the filemap in realtime."
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 326
+#: rc.cpp:54
+#, no-c-format
+msgid "&Use anti-aliasing"
+msgstr "&Згладжування"
+
+#. i18n: file ./src/part/dialog.ui line 329
+#: rc.cpp:57
+#, no-c-format
+msgid ""
+"Anti-aliasing the filemap makes it clearer and prettier, unfortunately it also "
+"makes rendering very slow."
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 351
+#: rc.cpp:60
+#, no-c-format
+msgid "Var&y label font sizes"
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 354
+#: rc.cpp:63
+#, no-c-format
+msgid ""
+"The font size of exploded labels can be varied relative to the depth of the "
+"directories they represent. This helps you spot the important labels more "
+"easily. Set a sensible minimum font size."
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 390
+#: rc.cpp:66
+#, fuzzy, no-c-format
+msgid "Minimum font si&ze:"
+msgstr "Мінімальний розмір &шрифту:"
+
+#. i18n: file ./src/part/dialog.ui line 399
+#: rc.cpp:69
+#, no-c-format
+msgid "The smallest font size Filelight can use to render labels."
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 442
+#: rc.cpp:72
+#, no-c-format
+msgid "Show small files"
+msgstr "Показувати малі файли"
+
+#. i18n: file ./src/part/dialog.ui line 445
+#: rc.cpp:75
+#, no-c-format
+msgid ""
+"Some files are too small to be rendered on the filemap. Selecting this option "
+"makes these files visible by merging them all into a single \"multi-segment\"."
+msgstr ""
+
+#. i18n: file ./src/part/dialog.ui line 464
+#: rc.cpp:78
+#, no-c-format
+msgid "&Reset"
+msgstr "&Скинути"
+
+#. i18n: file ./src/part/dialog.ui line 470
+#: rc.cpp:81
+#, no-c-format
+msgid "Reset any changes you have made since you opened this dialog."
+msgstr ""
+
+#. i18n: file ./misc/filelightui.rc line 4
+#: rc.cpp:87
+#, no-c-format
+msgid "&Scan"
+msgstr "&Сканувати"
+
+#. i18n: file ./misc/filelightui.rc line 19
+#: rc.cpp:93
+#, no-c-format
+msgid "&Go"
+msgstr "&Почати"
+
+#. i18n: file ./misc/filelightui.rc line 35
+#: rc.cpp:99
+#, no-c-format
+msgid "Location Toolbar"
+msgstr "Пенал адреси"
+
+#: src/app/historyAction.cpp:46
+msgid "Forward"
+msgstr "Вперед"
+
+#: src/app/main.cpp:15
+msgid "Scan 'path'"
+msgstr "Сканувати \"шлях\""
+
+#: src/app/main.cpp:21
+msgid "Graphical disk-usage information"
+msgstr "Графічний вигляд використання диска"
+
+#: src/app/main.cpp:22
+#, fuzzy
+msgid "(C )2006 Max Howell"
+msgstr "(C) 2003 Max Howell"
+
+#: src/app/main.cpp:30
+msgid "Author, maintainer"
+msgstr ""
+
+#: src/app/main.cpp:31
+msgid "Documentation"
+msgstr ""
+
+#: src/app/main.cpp:32
+msgid "Inspiration"
+msgstr "Натхнення"
+
+#: src/app/main.cpp:33
+#, fuzzy
+msgid "Internationalization"
+msgstr "Підтримка інтернаціоналізації"
+
+#: src/app/main.cpp:34
+msgid "Testing"
+msgstr ""
+
+#: src/app/main.cpp:35
+msgid "Bravery in the face of unreadable code"
+msgstr ""
+
+#: src/app/mainWindow.cpp:40
+msgid ""
+"KDE could not find the Filelight Part, or the Filelight Part could not be "
+"started. Did you make install?"
+msgstr ""
+
+#: src/app/mainWindow.cpp:57
+msgid ""
+"Filelight is not installed properly, consequently its menus and toolbars will "
+"appear reduced or even empty"
+msgstr ""
+
+#: src/app/mainWindow.cpp:91
+msgid "Scan &Home Directory"
+msgstr "Сканувати каталог до&мівки"
+
+#: src/app/mainWindow.cpp:92
+msgid "Scan &Root Directory"
+msgstr "Сканувати &кореневий каталог"
+
+#: src/app/mainWindow.cpp:93
+msgid "Rescan"
+msgstr "Пересканувати"
+
+#: src/app/mainWindow.cpp:95
+msgid "Clear Location Bar"
+msgstr "Очистити панель адреси"
+
+#: src/app/mainWindow.cpp:96
+msgid "Go"
+msgstr "Почати"
+
+#: src/app/mainWindow.cpp:98
+msgid "Location Bar"
+msgstr "Панель адреси"
+
+#: src/app/mainWindow.cpp:99
+#, fuzzy
+msgid "&Recent Scans"
+msgstr "Заванта&жити недавні файли з рядками"
+
+#: src/app/mainWindow.cpp:102
+#, fuzzy
+msgid "&Scan Directory..."
+msgstr "Новий каталог..."
+
+#: src/app/mainWindow.cpp:263
+msgid ""
+"_: &Up: /home/mxcl\n"
+"%1: %2"
+msgstr ""
+
+#: src/part/progressBox.cpp:62
+#, fuzzy, c-format
+msgid ""
+"_n: %n File\n"
+"%n Files"
+msgstr ""
+"&Вставити %n файл\n"
+"&Вставити %n файли\n"
+"&Вставити %n файлів"
+
+#: src/part/radialMap/widgetEvents.cpp:165
+#, fuzzy
+msgid "Open &Konqueror Here"
+msgstr "Description=Відкрити з &Konqueror"
+
+#: src/part/radialMap/widgetEvents.cpp:168
+msgid "Open &Konsole Here"
+msgstr ""
+
+#: src/part/radialMap/widgetEvents.cpp:172
+msgid "&Center Map Here"
+msgstr ""
+
+#: src/part/radialMap/widgetEvents.cpp:176
+msgid "&Open"
+msgstr "&Відкрити"
+
+#: src/part/radialMap/widgetEvents.cpp:179
+msgid "&Copy to clipboard"
+msgstr ""
+
+#: src/part/radialMap/widgetEvents.cpp:207
+msgid ""
+"<qt>The directory at <i>'%1'</i> will be <b>recursively</b> and <b>"
+"permanently</b> deleted."
+msgstr ""
+
+#: src/part/radialMap/widgetEvents.cpp:208
+#, fuzzy
+msgid "<qt><i>'%1'</i> will be <b>permanently</b> deleted."
+msgstr "Елемент \"%1\" буде остаточно видалений."
+
+#: src/part/radialMap/builder.cpp:133
+msgid ""
+"_: There can't ever be only 1 file\n"
+"%1 files, each about %2"
+msgstr ""
+
+#: src/part/radialMap/segmentTip.cpp:126
+#, c-format
+msgid "Files: %1"
+msgstr "Файлів: %1"
+
+#: src/part/settingsDialog.cpp:26
+#, fuzzy
+msgid "Rainbow"
+msgstr "Райдуга"
+
+#: src/part/settingsDialog.cpp:27
+msgid "KDE Colors"
+msgstr "Кольори KDE"
+
+#: src/part/settingsDialog.cpp:28
+msgid "High Contrast"
+msgstr "Висока контрастність"
+
+#: src/part/settingsDialog.cpp:146
+msgid "That directory is already set to be excluded from scans"
+msgstr ""
+
+#: src/part/part.cpp:62
+msgid "Configure Filelight..."
+msgstr "Налаштувати Filelight..."
+
+#: src/part/part.cpp:118
+msgid "The entered URL cannot be parsed; it is invalid."
+msgstr ""
+
+#: src/part/part.cpp:122
+#, c-format
+msgid "Filelight only accepts absolute paths, eg. /%1"
+msgstr ""
+
+#: src/part/part.cpp:126
+#, fuzzy, c-format
+msgid "Directory not found: %1"
+msgstr "Каталог не існує: %1 %2"
+
+#: src/part/part.cpp:130
+#, fuzzy
+msgid ""
+"Unable to enter: %1\n"
+"You do not have access rights to this location."
+msgstr ""
+"<qt>Неможливо увійти до <b>%1</b>.\n"
+"У Вас не вистачає прав доступу до цього положення.</qt>"
+
+#: src/part/part.cpp:147
+msgid "Aborting Scan..."
+msgstr "Переривання сканування..."
+
+#: src/part/part.cpp:195
+#, c-format
+msgid "Scanning: %1"
+msgstr "Сканування: %1"
+
+#: src/part/part.cpp:220
+msgid "Scan completed, generating map..."
+msgstr ""
+
+#: src/part/part.cpp:229
+#, fuzzy, c-format
+msgid "Scan failed: %1"
+msgstr "Помилка шифрування: %1"
+
+#: src/part/summaryWidget.cpp:102
+msgid "Free"
+msgstr "Вільно"
+
+#: src/part/summaryWidget.cpp:103
+msgid "Used"
+msgstr "Використано"
+
+#: _translatorinfo.cpp:1
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr "Іван Петрущак"
+
+#: _translatorinfo.cpp:3
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr "ivanpetrouchtchak@yahoo.com"
+
+#~ msgid "Me"
+#~ msgstr "Я"
+
+#, fuzzy
+#~ msgid "Handbook guru"
+#~ msgstr "Підручник з %1"
+
+#, fuzzy
+#~ msgid "Welsh Translation"
+#~ msgstr "&Чорновий переклад"
+
+#, fuzzy
+#~ msgid "German Translation, testing, bug reports and suggestions"
+#~ msgstr "Написав документацію, надіслав багато звітів про помилки та пропозицій для вдосконалення."
+
+#, fuzzy
+#~ msgid "Slovak Translation"
+#~ msgstr "Переклад на &%1"
+
+#~ msgid "Polish Translation"
+#~ msgstr "Польський переклад"
+
+#~ msgid "Spanish Translation"
+#~ msgstr "Іспанський переклад"
+
+#~ msgid "French Translation"
+#~ msgstr "Французький переклад"
+
+#~ msgid "Russian Translation"
+#~ msgstr "Російський переклад"
+
+#~ msgid "Dutch Translation"
+#~ msgstr "Голландський переклад"
+
+#, fuzzy
+#~ msgid ""
+#~ "Called: %1\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Викликано: %1\n"
+#~ "\n"
+
+#, fuzzy
+#~ msgid "could not execute %1"
+#~ msgstr "не вдалось запустити %1"
+
+#~ msgid "Up"
+#~ msgstr "Вгору"
+
+#~ msgid "Up: %1"
+#~ msgstr "Вгору: %1"
diff --git a/src/Makefile.am b/src/Makefile.am
new file mode 100644
index 0000000..d47a98a
--- /dev/null
+++ b/src/Makefile.am
@@ -0,0 +1,3 @@
+SUBDIRS = app part
+INCLUDES = $(all_includes)
+METASOURCES = AUTO
diff --git a/src/app/Makefile.am b/src/app/Makefile.am
new file mode 100644
index 0000000..d0ae17d
--- /dev/null
+++ b/src/app/Makefile.am
@@ -0,0 +1,8 @@
+INCLUDES = $(all_includes) -I$(top_srcdir)/src
+METASOURCES = AUTO
+
+# Application
+bin_PROGRAMS = filelight
+filelight_SOURCES = historyAction.cpp mainWindow.cpp main.cpp
+filelight_LDADD = $(LIB_KPARTS) $(LIB_KDEUI)
+filelight_LDFLAGS = $(all_libraries) $(KDE_RPATH)
diff --git a/src/app/historyAction.cpp b/src/app/historyAction.cpp
new file mode 100644
index 0000000..bf715cb
--- /dev/null
+++ b/src/app/historyAction.cpp
@@ -0,0 +1,96 @@
+//Author: Max Howell <max.howell@methylblue.com>, (C) 2003-4
+//Copyright: See COPYING file that comes with this distribution
+
+#include "historyAction.h"
+
+#include <kaccel.h>
+#include <kconfig.h>
+#include <klocale.h>
+
+
+inline
+HistoryAction::HistoryAction( const QString &text, const char *icon, const KShortcut &cut, KActionCollection *ac, const char *name )
+ : KAction( text, icon, cut, 0, 0, ac, name )
+ , m_text( text )
+{
+ // ui files make this false, but we can't rely on UI file as it isn't compiled in :(
+ KAction::setEnabled( false );
+}
+
+void
+HistoryAction::push( const QString &path )
+{
+ if( !path.isEmpty() && m_list.last() != path )
+ {
+ m_list.append( path );
+ setActionMenuTextOnly( this, path );
+ KAction::setEnabled( true );
+ }
+}
+
+QString
+HistoryAction::pop()
+{
+ const QString s = m_list.last();
+ m_list.pop_back();
+ setActionMenuTextOnly( this, m_list.last() );
+ setEnabled();
+ return s;
+}
+
+
+
+HistoryCollection::HistoryCollection( KActionCollection *ac, QObject *parent, const char *name )
+ : QObject( parent, name )
+ , m_b( new HistoryAction( i18n( "Back" ), "back", KStdAccel::back(), ac, "go_back" ) )
+ , m_f( new HistoryAction( i18n( "Forward" ), "forward", KStdAccel::forward(), ac, "go_forward" ) )
+ , m_receiver( 0 )
+{
+ connect( m_b, SIGNAL(activated()), SLOT(pop()) );
+ connect( m_f, SIGNAL(activated()), SLOT(pop()) );
+}
+
+void
+HistoryCollection::push( const KURL &url ) //slot
+{
+ if( !url.isEmpty() )
+ {
+ if( !m_receiver )
+ {
+ m_f->clear();
+ m_receiver = m_b;
+ }
+
+ m_receiver->push( url.path( 1 ) );
+ }
+ m_receiver = 0;
+}
+
+void
+HistoryCollection::pop() //slot
+{
+ KURL url;
+ const QString path = ((HistoryAction*)sender())->pop(); //FIXME here we remove the constness
+ url.setPath( path );
+
+ m_receiver = (sender() == m_b) ? m_f : m_b;
+
+ emit activated( url );
+}
+
+void
+HistoryCollection::save( KConfig *config )
+{
+ config->writePathEntry( "backHistory", m_b->m_list );
+ config->writePathEntry( "forwardHistory", m_f->m_list );
+}
+
+void
+HistoryCollection::restore( KConfig *config )
+{
+ m_b->m_list = config->readPathListEntry( "backHistory" );
+ m_f->m_list = config->readPathListEntry( "forwardHistory" );
+ //TODO texts are not updated - no matter
+}
+
+#include "historyAction.moc"
diff --git a/src/app/historyAction.h b/src/app/historyAction.h
new file mode 100644
index 0000000..773093c
--- /dev/null
+++ b/src/app/historyAction.h
@@ -0,0 +1,64 @@
+//Author: Max Howell <max.howell@methylblue.com>, (C) 2003-4
+//Copyright: See COPYING file that comes with this distribution
+
+#ifndef HISTORYACTION_H
+#define HISTORYACTION_H
+
+#include <kaction.h>
+#include <kurl.h>
+#include <qstringlist.h>
+
+class KConfig;
+
+
+/// defined in mainWindow.cpp
+void setActionMenuTextOnly( KAction *a, QString const &suffix );
+
+
+class HistoryAction : KAction
+{
+ HistoryAction( const QString &text, const char *icon, const KShortcut &cut, KActionCollection *ac, const char *name );
+
+ friend class HistoryCollection;
+
+public:
+ virtual void setEnabled( bool b = true ) { KAction::setEnabled( b ? !m_list.isEmpty() : false ); }
+
+ void clear() { m_list.clear(); KAction::setText( m_text ); }
+
+private:
+ void setText();
+
+ void push( const QString &path );
+ QString pop();
+
+ const QString m_text;
+ QStringList m_list;
+};
+
+
+class HistoryCollection : public QObject
+{
+Q_OBJECT
+
+public:
+ HistoryCollection( KActionCollection *ac, QObject *parent, const char *name );
+
+ void save( KConfig *config );
+ void restore( KConfig *config );
+
+public slots:
+ void push( const KURL& );
+ void stop() { m_receiver = 0; }
+
+signals:
+ void activated( const KURL& );
+
+private slots:
+ void pop();
+
+private:
+ HistoryAction *m_b, *m_f, *m_receiver;
+};
+
+#endif
diff --git a/src/app/main.cpp b/src/app/main.cpp
new file mode 100644
index 0000000..17e6989
--- /dev/null
+++ b/src/app/main.cpp
@@ -0,0 +1,55 @@
+//Author: Max Howell <max.howell@methylblue.com>, (C) 2003-4
+//Copyright: See COPYING file that comes with this distribution
+
+#include "define.h"
+#include <kaboutdata.h>
+#include <kapplication.h>
+#include <kcmdlineargs.h>
+#include <klocale.h>
+#include <kurl.h>
+#include "mainWindow.h"
+
+
+static const KCmdLineOptions options[] =
+{
+ { "+[path]", I18N_NOOP( "Scan 'path'" ), 0 },
+ { 0, 0, 0 }
+};
+
+static KAboutData about(
+ APP_NAME, I18N_NOOP( APP_PRETTYNAME ), APP_VERSION,
+ I18N_NOOP("Graphical disk-usage information"), KAboutData::License_GPL_V2,
+ I18N_NOOP("(C )2006 Max Howell"), 0,
+ "http://www.methylblue.com/filelight/", "filelight@methylblue.com" );
+
+
+int main( int argc, char *argv[] )
+{
+ using Filelight::MainWindow;
+
+ about.addAuthor( "Max Howell", I18N_NOOP("Author, maintainer"), "max.howell@methylblue.com", "http://www.methylblue.com/" );
+ about.addAuthor( "Mike Diehl", I18N_NOOP("Documentation"), 0, 0 );
+ about.addCredit( "Steffen Gerlach", I18N_NOOP("Inspiration"), 0, "http://www.steffengerlach.de/" );
+ about.addCredit( "André Somers", I18N_NOOP("Internationalization") );
+ about.addCredit( "Stephanie James", I18N_NOOP("Testing") );
+ about.addCredit( "Marcus Camen", I18N_NOOP("Bravery in the face of unreadable code") );
+
+ KCmdLineArgs::init( argc, argv, &about );
+ KCmdLineArgs::addCmdLineOptions( options );
+
+ KApplication app;
+
+ if (!app.isRestored()) {
+ MainWindow *mw = new MainWindow();
+ app.setMainWidget( mw );
+
+ KCmdLineArgs* const args = KCmdLineArgs::parsedArgs();
+ if (args->count() > 0 ) mw->scan( args->url( 0 ));
+ args->clear();
+
+ mw->show();
+ }
+ else RESTORE( MainWindow );
+
+ return app.exec();
+}
diff --git a/src/app/mainWindow.cpp b/src/app/mainWindow.cpp
new file mode 100644
index 0000000..155ece0
--- /dev/null
+++ b/src/app/mainWindow.cpp
@@ -0,0 +1,280 @@
+//Author: Max Howell <max.howell@methylblue.com>, (C) 2003-4
+//Copyright: See COPYING file that comes with this distribution
+
+#include "mainWindow.h"
+#include "part/part.h"
+#include "historyAction.h"
+
+#include <cstdlib> //std::exit()
+#include <kaccel.h> //KStdAccel namespace
+#include <kaction.h>
+#include <kapplication.h> //setupActions()
+#include <kcombobox.h> //locationbar
+#include <kconfig.h>
+#include <kdirselectdialog.h> //slotScanDirectory
+#include <kedittoolbar.h> //for editToolbar dialog
+#include <kkeydialog.h>
+#include <klibloader.h>
+#include <klocale.h>
+#include <kmessagebox.h>
+#include <kshell.h>
+#include <kstatusbar.h>
+#include <ktoolbar.h>
+#include <kurl.h>
+#include <kurlcompletion.h> //locationbar
+#include <qobjectlist.h>
+#include <qpopupmenu.h>
+#include <qtooltip.h>
+
+
+
+namespace Filelight {
+
+MainWindow::MainWindow()
+ : KParts::MainWindow()
+ , m_part( 0 )
+{
+ KLibFactory *factory = KLibLoader::self()->factory( "libfilelight" );
+
+ if (!factory) {
+ KMessageBox::error( this, i18n("KDE could not find the Filelight Part, or the Filelight Part could not be started. Did you make install?") );
+ //exit() seems to not exist inside the std namespace for some users!
+ using namespace std;
+ exit( 1 ); //don't use QApplication::exit() - it causes a crash
+ }
+
+ m_part = (Part *)factory->create( this, "part", "KParts::ReadOnlyPart" );
+
+ setCentralWidget( m_part->widget() );
+ setStandardToolBarMenuEnabled( true );
+ setupActions();
+ createGUI( m_part );
+
+ stateChanged( "scan_failed" ); //bah! doesn't affect the parts' actions, should I add them to the actionCollection here?
+
+ QObjectList *buttons = toolBar()->queryList( "KToolBarButton" );
+ if (buttons->isEmpty())
+ KMessageBox::error( this, i18n("Filelight is not installed properly, consequently its menus and toolbars will appear reduced or even empty") );
+ delete buttons;
+
+ connect( m_part, SIGNAL(started( KIO::Job* )), SLOT(scanStarted()) );
+ connect( m_part, SIGNAL(completed()), SLOT(scanCompleted()) );
+ connect( m_part, SIGNAL(canceled( const QString& )), SLOT(scanFailed()) );
+
+ //TODO test these
+ connect( m_part, SIGNAL(canceled( const QString& )), m_histories, SLOT(stop()) );
+ connect( BrowserExtension::childObject( m_part ), SIGNAL(openURLNotify()), SLOT(urlAboutToChange()) );
+
+ KConfig* const config = KGlobal::config();
+ config->setGroup( "general" );
+ m_combo->setHistoryItems( config->readPathListEntry( "comboHistory" ) );
+ applyMainWindowSettings( config, "window" );
+}
+
+inline void
+MainWindow::setupActions() //singleton function
+{
+ KActionCollection *const ac = actionCollection();
+
+ m_combo = new KHistoryCombo( this, "history_combo" );
+ m_combo->setCompletionObject( new KURLCompletion( KURLCompletion::DirCompletion ) );
+ m_combo->setAutoDeleteCompletionObject( true );
+ m_combo->setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Fixed ) );
+ m_combo->setDuplicatesEnabled( false );
+
+ KStdAction::open( this, SLOT(slotScanDirectory()), ac, "scan_directory" );
+ KStdAction::quit( this, SLOT(close()), ac );
+ KStdAction::up( this, SLOT(slotUp()), ac );
+ KStdAction::configureToolbars(this, SLOT(configToolbars()), ac);
+ KStdAction::keyBindings(this, SLOT(configKeys()), ac);
+
+ new KAction( i18n( "Scan &Home Directory" ), "folder_home", CTRL+Key_Home, this, SLOT(slotScanHomeDirectory()), ac, "scan_home" );
+ new KAction( i18n( "Scan &Root Directory" ), "folder_red", 0, this, SLOT(slotScanRootDirectory()), ac, "scan_root" );
+ new KAction( i18n( "Rescan" ), "reload", KStdAccel::reload(), m_part, SLOT(rescan()), ac, "scan_rescan" );
+ new KAction( i18n( "Stop" ), "stop", Qt::Key_Escape, this, SLOT(slotAbortScan()), ac, "scan_stop" );
+ new KAction( i18n( "Clear Location Bar" ), KApplication::reverseLayout() ? "clear_left" : "locationbar_erase", 0, m_combo, SLOT(clearEdit()), ac, "clear_location" );
+ new KAction( i18n( "Go" ), "key_enter", 0, m_combo, SIGNAL(returnPressed()), ac, "go" );
+
+ KWidgetAction *combo = new KWidgetAction( m_combo, i18n( "Location Bar" ), 0, 0, 0, ac, "location_bar" );
+ m_recentScans = new KRecentFilesAction( i18n( "&Recent Scans" ), 0, ac, "scan_recent", 8 );
+ m_histories = new HistoryCollection( ac, this, "history_collection" );
+
+ ac->action( "scan_directory" )->setText( i18n( "&Scan Directory..." ) );
+ m_recentScans->loadEntries( KGlobal::config() );
+ combo->setAutoSized( true ); //FIXME what does this do?
+
+ connect( m_recentScans, SIGNAL(urlSelected( const KURL& )), SLOT(slotScanUrl( const KURL& )) );
+ connect( m_combo, SIGNAL(returnPressed()), SLOT(slotComboScan()) );
+ connect( m_histories, SIGNAL(activated( const KURL& )), SLOT(slotScanUrl( const KURL& )) );
+}
+
+bool
+MainWindow::queryExit()
+{
+ if( !m_part ) //apparently std::exit() still calls this function, and abort() causes a crash..
+ return true;
+
+ KConfig* const config = KGlobal::config();
+
+ saveMainWindowSettings( config, "window" );
+ m_recentScans->saveEntries( config );
+ config->setGroup( "general" );
+ config->writePathEntry( "comboHistory", m_combo->historyItems() );
+ config->sync();
+
+ return true;
+}
+
+inline void
+MainWindow::configToolbars() //slot
+{
+ KEditToolbar dialog( factory(), this );
+ dialog.showButtonApply( false );
+
+ if( dialog.exec() )
+ {
+ createGUI( m_part );
+ applyMainWindowSettings( kapp->config(), "window" );
+ }
+}
+
+inline void
+MainWindow::configKeys() //slot
+{
+ KKeyDialog::configure( actionCollection(), this );
+}
+
+inline void
+MainWindow::slotScanDirectory()
+{
+ slotScanUrl( KDirSelectDialog::selectDirectory( m_part->url().path(), false, this ) );
+}
+
+inline void MainWindow::slotScanHomeDirectory() { slotScanPath( getenv( "HOME" ) ); }
+inline void MainWindow::slotScanRootDirectory() { slotScanPath( "/" ); }
+inline void MainWindow::slotUp() { slotScanUrl( m_part->url().upURL() ); }
+
+inline void
+MainWindow::slotComboScan()
+{
+ const QString path = KShell::tildeExpand(m_combo->lineEdit()->text());
+ if (slotScanPath( path ))
+ m_combo->addToHistory( path );
+}
+
+inline bool
+MainWindow::slotScanPath( const QString &path )
+{
+ return slotScanUrl( KURL::fromPathOrURL( path ) );
+}
+
+bool
+MainWindow::slotScanUrl( const KURL &url )
+{
+ const KURL oldUrl = m_part->url();
+ const bool b = m_part->openURL( url );
+
+ if (b) {
+ m_histories->push( oldUrl );
+ action( "go_back" )->KAction::setEnabled( false ); } //FIXME
+
+ return b;
+}
+
+inline void
+MainWindow::slotAbortScan()
+{
+ if( m_part->closeURL() ) action( "scan_stop" )->setEnabled( false );
+}
+
+inline void
+MainWindow::scanStarted()
+{
+ stateChanged( "scan_started" );
+ m_combo->clearFocus();
+}
+
+inline void
+MainWindow::scanFailed()
+{
+ stateChanged( "scan_failed" );
+ setActionMenuTextOnly( action( "go_up" ), QString::null );
+ m_combo->lineEdit()->clear();
+}
+
+void
+MainWindow::scanCompleted()
+{
+ KAction *goUp = action( "go_up" );
+ const KURL url = m_part->url();
+
+ stateChanged( "scan_complete" );
+
+ m_combo->lineEdit()->setText( m_part->prettyURL() );
+
+ if ( url.path( 1 ) == "/") {
+ goUp->setEnabled( false );
+ setActionMenuTextOnly( goUp, QString() );
+ }
+ else
+ setActionMenuTextOnly( goUp, url.upURL().path( 1 ) );
+
+ m_recentScans->addURL( url ); //FIXME doesn't set the tick
+}
+
+inline void
+MainWindow::urlAboutToChange()
+{
+ //called when part's URL is about to change internally
+ //the part will then create the Map and emit completed()
+
+ m_histories->push( m_part->url() );
+}
+
+
+/**********************************************
+ SESSION MANAGEMENT
+ **********************************************/
+
+void
+MainWindow::saveProperties( KConfig *config ) //virtual
+{
+ m_histories->save( config );
+ config->writeEntry( "currentMap", m_part->url().path() );
+}
+
+void
+MainWindow::readProperties( KConfig *config ) //virtual
+{
+ m_histories->restore( config );
+ slotScanPath( config->readEntry( "currentMap", QString::null ) );
+}
+
+} //namespace Filelight
+
+
+
+/// declared in historyAction.h
+
+void setActionMenuTextOnly( KAction *a, QString const &suffix )
+{
+ QString const menu_text = suffix.isEmpty()
+ ? a->text()
+ : i18n( "&Up: /home/mxcl", "%1: %2" ).arg( a->text(), suffix );
+
+ for (int i = 0; i < a->containerCount(); ++i) {
+ QWidget *w = a->container( i );
+ int const id = a->itemId( i );
+
+ if (w->inherits( "QPopupMenu" ))
+ static_cast<QPopupMenu*>(w)->changeItem( id, menu_text );
+
+ else if (w->inherits( "KToolBar" )) {
+ QWidget *button = static_cast<KToolBar*>(w)->getWidget( id );
+ if (button->inherits( "KToolBarButton" ))
+ QToolTip::add( button, suffix );
+ }
+ }
+}
+
+#include "mainWindow.moc"
diff --git a/src/app/mainWindow.h b/src/app/mainWindow.h
new file mode 100644
index 0000000..87001c8
--- /dev/null
+++ b/src/app/mainWindow.h
@@ -0,0 +1,83 @@
+/***************************************************************************
+ filelight.h - description
+ -------------------
+ begin : Mon May 12 22:38:30 BST 2003
+ copyright : (C) 2003 by Max Howell
+ email : mh9193@bris.ac.uk
+ ***************************************************************************/
+
+/***************************************************************************
+ * *
+ * 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. *
+ * *
+ ***************************************************************************/
+
+#ifndef FILELIGHT_H
+#define FILELIGHT_H
+
+#include <kparts/mainwindow.h>
+
+class KSqueezedTextLabel;
+class KHistoryCombo;
+class KAction;
+class KRecentFilesAction;
+
+class ScanProgressBox;
+class HistoryCollection;
+
+
+namespace Filelight {
+
+class Part;
+
+class MainWindow : public KParts::MainWindow
+{
+ Q_OBJECT
+
+ public:
+ MainWindow();
+
+ void scan( const KURL &u ) { slotScanUrl( u ); }
+
+ private slots:
+ void slotUp();
+ void slotComboScan();
+ void slotScanDirectory();
+ void slotScanHomeDirectory();
+ void slotScanRootDirectory();
+ bool slotScanUrl( const KURL& );
+ bool slotScanPath( const QString& );
+ void slotAbortScan();
+
+ void configToolbars();
+ void configKeys();
+
+ void scanStarted();
+ void scanFailed();
+ void scanCompleted();
+
+ void urlAboutToChange();
+
+ protected:
+ virtual void saveProperties( KConfig * );
+ virtual void readProperties( KConfig * );
+ virtual bool queryExit();
+
+ private:
+ Filelight::Part *m_part;
+
+ KSqueezedTextLabel *m_status[2];
+ KHistoryCombo *m_combo;
+ HistoryCollection *m_histories;
+ KRecentFilesAction *m_recentScans;
+
+ void setupStatusBar();
+ void setupActions();
+};
+
+} // namespace Filelight
+
+#endif
diff --git a/src/define.h b/src/define.h
new file mode 100644
index 0000000..80571f6
--- /dev/null
+++ b/src/define.h
@@ -0,0 +1,17 @@
+//Author: Max Howell <max.howell@methylblue.com>, (C) 2003-4
+//Copyright: See COPYING file that comes with this distribution
+
+#ifndef DEFINE_H
+#define DEFINE_H
+
+#include "config.h"
+
+#undef VERSION
+#undef PACKAGE
+#undef PRETTYNAME
+
+#define APP_NAME "filelight"
+#define APP_VERSION "1.0"
+#define APP_PRETTYNAME "Filelight"
+
+#endif
diff --git a/src/part/Config.cpp b/src/part/Config.cpp
new file mode 100644
index 0000000..8d2f6b8
--- /dev/null
+++ b/src/part/Config.cpp
@@ -0,0 +1,62 @@
+
+#include "Config.h"
+#include <kconfig.h>
+#include <kglobal.h>
+
+
+bool Config::scanAcrossMounts;
+bool Config::scanRemoteMounts;
+bool Config::scanRemovableMedia;
+bool Config::varyLabelFontSizes;
+bool Config::showSmallFiles;
+uint Config::contrast;
+uint Config::antiAliasFactor;
+uint Config::minFontPitch;
+uint Config::defaultRingDepth;
+Filelight::MapScheme Config::scheme;
+QStringList Config::skipList;
+
+
+inline KConfig&
+Filelight::Config::kconfig()
+{
+ KConfig *config = KGlobal::config();
+ config->setGroup( "filelight_part" );
+ return *config;
+}
+
+void
+Filelight::Config::read()
+{
+ const KConfig &config = kconfig();
+
+ scanAcrossMounts = config.readBoolEntry( "scanAcrossMounts", false );
+ scanRemoteMounts = config.readBoolEntry( "scanRemoteMounts", false );
+ scanRemovableMedia = config.readBoolEntry( "scanRemovableMedia", false );
+ varyLabelFontSizes = config.readBoolEntry( "varyLabelFontSizes", true );
+ showSmallFiles = config.readBoolEntry( "showSmallFiles", false );
+ contrast = config.readNumEntry( "contrast", 75 );
+ antiAliasFactor = config.readNumEntry( "antiAliasFactor", 2 );
+ minFontPitch = config.readNumEntry( "minFontPitch", QFont().pointSize() - 3);
+ scheme = (MapScheme) config.readNumEntry( "scheme", 0 );
+ skipList = config.readPathListEntry( "skipList" );
+
+ defaultRingDepth = 4;
+}
+
+void
+Filelight::Config::write()
+{
+ KConfig &config = kconfig();
+
+ config.writeEntry( "scanAcrossMounts", scanAcrossMounts );
+ config.writeEntry( "scanRemoteMounts", scanRemoteMounts );
+ config.writeEntry( "scanRemovableMedia", scanRemovableMedia );
+ config.writeEntry( "varyLabelFontSizes", varyLabelFontSizes );
+ config.writeEntry( "showSmallFiles", showSmallFiles);
+ config.writeEntry( "contrast", contrast );
+ config.writeEntry( "antiAliasFactor", antiAliasFactor );
+ config.writeEntry( "minFontPitch", minFontPitch );
+ config.writeEntry( "scheme", scheme );
+ config.writePathEntry( "skipList", skipList );
+}
diff --git a/src/part/Config.h b/src/part/Config.h
new file mode 100644
index 0000000..dffaa95
--- /dev/null
+++ b/src/part/Config.h
@@ -0,0 +1,41 @@
+
+#ifndef Config_H
+#define Config_H
+
+#include <qstringlist.h>
+
+class KConfig;
+
+
+namespace Filelight
+{
+ enum MapScheme { Rainbow, HighContrast, KDE, FileDensity, ModTime };
+
+ class Config
+ {
+ static KConfig& kconfig();
+
+ public:
+ static void read();
+ static void write();
+
+ //keep everything positive, avoid using DON'T, NOT or NO
+
+ static bool scanAcrossMounts;
+ static bool scanRemoteMounts;
+ static bool scanRemovableMedia;
+ static bool varyLabelFontSizes;
+ static bool showSmallFiles;
+ static uint contrast;
+ static uint antiAliasFactor;
+ static uint minFontPitch;
+ static uint defaultRingDepth;
+
+ static MapScheme scheme;
+ static QStringList skipList;
+ };
+}
+
+using Filelight::Config;
+
+#endif
diff --git a/src/part/Makefile.am b/src/part/Makefile.am
new file mode 100644
index 0000000..2ff41f8
--- /dev/null
+++ b/src/part/Makefile.am
@@ -0,0 +1,19 @@
+SUBDIRS = radialMap
+INCLUDES = $(all_includes) -I$(top_srcdir)/src
+METASOURCES = AUTO
+
+#Part
+kde_module_LTLIBRARIES = libfilelight.la
+libfilelight_la_LIBADD = ./radialMap/libradialmap.la $(LIB_KFILE) $(LIB_KPARTS) $(LIB_KDEUI) $(LIB_QT)
+libfilelight_la_LDFLAGS = $(all_libraries) $(KDE_PLUGIN)
+libfilelight_la_SOURCES = \
+ dialog.ui \
+ part.cpp \
+ scan.cpp \
+ progressBox.cpp \
+ Config.cpp \
+ settingsDialog.cpp \
+ fileTree.cpp \
+ localLister.cpp \
+ remoteLister.cpp \
+ summaryWidget.cpp
diff --git a/src/part/debug.h b/src/part/debug.h
new file mode 100644
index 0000000..e5e680b
--- /dev/null
+++ b/src/part/debug.h
@@ -0,0 +1,36 @@
+//Author: Max Howell <max.howell@methylblue.com>, (C) 2003-4
+//Copyright: See COPYING file that comes with this distribution
+
+#ifndef DEBUG_H
+#define DEBUG_H
+
+/** Fancy debug header
+ * @author Max Howell
+ *
+ * Define DEBUG_PREFIX as a string before you include this to insert a fancy debug prefix
+ * Debug::debug(), can be used as debug() and is just kdDebug()
+ * use Debug::indent() and Debug::unindent()
+ */
+
+#include <kdebug.h>
+
+#ifdef NDEBUG
+static inline kndbgstream debug() { return kndbgstream(); }
+#else
+static inline kdbgstream debug()
+{
+ return kdbgstream(
+ #ifdef DEBUG_PREFIX
+ "[" DEBUG_PREFIX "] ",
+ #endif
+ 0, 0 );
+}
+#endif
+
+#define error kdError
+#define fatal kdFatal
+#define warning kdWarning
+
+#define DEBUG_ANNOUNCE debug() << ">> " << __PRETTY_FUNCTION__ << endl;
+
+#endif
diff --git a/src/part/dialog.ui b/src/part/dialog.ui
new file mode 100644
index 0000000..2c1d788
--- /dev/null
+++ b/src/part/dialog.ui
@@ -0,0 +1,574 @@
+<!DOCTYPE UI><UI version="3.2" stdsetdef="1">
+<class>Dialog</class>
+<widget class="QDialog">
+ <property name="name">
+ <cstring>Dialog</cstring>
+ </property>
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>415</width>
+ <height>351</height>
+ </rect>
+ </property>
+ <property name="caption">
+ <string>Settings - Filelight</string>
+ </property>
+ <vbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QTabWidget">
+ <property name="name">
+ <cstring>tabWidget</cstring>
+ </property>
+ <property name="acceptDrops">
+ <bool>false</bool>
+ </property>
+ <widget class="QWidget">
+ <property name="name">
+ <cstring>Widget2</cstring>
+ </property>
+ <attribute name="title">
+ <string>Scannin&amp;g</string>
+ </attribute>
+ <vbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLabel">
+ <property name="name">
+ <cstring>textLabel1</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>5</hsizetype>
+ <vsizetype>4</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Do &amp;not scan these directories:</string>
+ </property>
+ <property name="textFormat">
+ <enum>PlainText</enum>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>m_listBox</cstring>
+ </property>
+ </widget>
+ <widget class="QListBox">
+ <property name="name">
+ <cstring>m_listBox</cstring>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string></string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Filelight will not scan these directories unless you specifically request them.</string>
+ </property>
+ </widget>
+ <widget class="QLayoutWidget">
+ <property name="name">
+ <cstring>layout4</cstring>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <spacer>
+ <property name="name">
+ <cstring>spacer2</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>180</width>
+ <height>21</height>
+ </size>
+ </property>
+ </spacer>
+ <widget class="QPushButton">
+ <property name="name">
+ <cstring>m_removeButton</cstring>
+ </property>
+ <property name="enabled">
+ <bool>true</bool>
+ </property>
+ <property name="text">
+ <string>R&amp;emove</string>
+ </property>
+ <property name="autoDefault">
+ <bool>false</bool>
+ </property>
+ </widget>
+ <widget class="QPushButton">
+ <property name="name">
+ <cstring>m_addButton</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;Add...</string>
+ </property>
+ <property name="autoDefault">
+ <bool>false</bool>
+ </property>
+ <property name="default">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </hbox>
+ </widget>
+ <widget class="Line">
+ <property name="name">
+ <cstring>line1</cstring>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>15</height>
+ </size>
+ </property>
+ <property name="frameShape">
+ <enum>HLine</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>Sunken</enum>
+ </property>
+ <property name="lineWidth">
+ <number>1</number>
+ </property>
+ <property name="midLineWidth">
+ <number>1</number>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ </widget>
+ <widget class="QLayoutWidget">
+ <property name="name">
+ <cstring>layout7</cstring>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <spacer row="1" column="0" rowspan="2" colspan="1">
+ <property name="name">
+ <cstring>spacer3</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Fixed</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>16</width>
+ <height>50</height>
+ </size>
+ </property>
+ </spacer>
+ <widget class="QCheckBox" row="1" column="1">
+ <property name="name">
+ <cstring>dontScanRemoteMounts</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>32767</width>
+ <height>32767</height>
+ </size>
+ </property>
+ <property name="acceptDrops">
+ <bool>false</bool>
+ </property>
+ <property name="text">
+ <string>Exclude remote files&amp;ystems</string>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string></string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Prevents scanning of filesystems that are not on this computer, e.g. NFS or Samba mounts.</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="0" column="0" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>scanAcrossMounts</cstring>
+ </property>
+ <property name="text">
+ <string>Scan across filesystem &amp;boundaries</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Allows scans to enter directories that are part of other filesystems. For example, when unchecked, this will usually prevent the contents of &lt;b&gt;/mnt&lt;/b&gt; from being scanned if you scan &lt;b&gt;/&lt;/b&gt;.</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="2" column="1">
+ <property name="name">
+ <cstring>dontScanRemovableMedia</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="text">
+ <string>E&amp;xclude removable media</string>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string></string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Prevents Filelight from scanning removable media (eg. CD-ROMs).</string>
+ </property>
+ </widget>
+ </grid>
+ </widget>
+ </vbox>
+ </widget>
+ <widget class="QWidget">
+ <property name="name">
+ <cstring>Widget3</cstring>
+ </property>
+ <attribute name="title">
+ <string>&amp;Appearance</string>
+ </attribute>
+ <vbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QGroupBox">
+ <property name="name">
+ <cstring>groupBox1</cstring>
+ </property>
+ <property name="title">
+ <string>Scheme</string>
+ </property>
+ <vbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QVButtonGroup">
+ <property name="name">
+ <cstring>colourSchemeGroup</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>5</hsizetype>
+ <vsizetype>7</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ <widget class="QLayoutWidget">
+ <property name="name">
+ <cstring>layout10</cstring>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLabel">
+ <property name="name">
+ <cstring>textLabel3</cstring>
+ </property>
+ <property name="text">
+ <string>Co&amp;ntrast</string>
+ </property>
+ <property name="textFormat">
+ <enum>PlainText</enum>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>contrastSlider</cstring>
+ </property>
+ </widget>
+ <widget class="QSlider">
+ <property name="name">
+ <cstring>contrastSlider</cstring>
+ </property>
+ <property name="minValue">
+ <number>1</number>
+ </property>
+ <property name="maxValue">
+ <number>100</number>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Here you can vary the contrast of the filemap in realtime.</string>
+ </property>
+ </widget>
+ </hbox>
+ </widget>
+ </vbox>
+ </widget>
+ <widget class="QCheckBox">
+ <property name="name">
+ <cstring>useAntialiasing</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;Use anti-aliasing</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Anti-aliasing the filemap makes it clearer and prettier, unfortunately it also makes rendering very slow.</string>
+ </property>
+ </widget>
+ <widget class="QLayoutWidget">
+ <property name="name">
+ <cstring>layout10</cstring>
+ </property>
+ <vbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <widget class="QCheckBox">
+ <property name="name">
+ <cstring>varyLabelFontSizes</cstring>
+ </property>
+ <property name="enabled">
+ <bool>true</bool>
+ </property>
+ <property name="text">
+ <string>Var&amp;y label font sizes</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>The font size of exploded labels can be varied relative to the depth of the directories they represent. This helps you spot the important labels more easily. Set a sensible minimum font size.</string>
+ </property>
+ </widget>
+ <widget class="QLayoutWidget">
+ <property name="name">
+ <cstring>layout9</cstring>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <spacer>
+ <property name="name">
+ <cstring>spacer4</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Fixed</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>20</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ <widget class="QLabel">
+ <property name="name">
+ <cstring>textLabel2</cstring>
+ </property>
+ <property name="enabled">
+ <bool>true</bool>
+ </property>
+ <property name="text">
+ <string>Minimum font si&amp;ze:</string>
+ </property>
+ <property name="textFormat">
+ <enum>PlainText</enum>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>minFontPitch</cstring>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>The smallest font size Filelight can use to render labels.</string>
+ </property>
+ </widget>
+ <widget class="KIntSpinBox">
+ <property name="name">
+ <cstring>minFontPitch</cstring>
+ </property>
+ <property name="enabled">
+ <bool>true</bool>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>3</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>80</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maxValue">
+ <number>20</number>
+ </property>
+ <property name="minValue">
+ <number>1</number>
+ </property>
+ <property name="value">
+ <number>9</number>
+ </property>
+ </widget>
+ </hbox>
+ </widget>
+ </vbox>
+ </widget>
+ <widget class="QCheckBox">
+ <property name="name">
+ <cstring>showSmallFiles</cstring>
+ </property>
+ <property name="text">
+ <string>Show small files</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Some files are too small to be rendered on the filemap. Selecting this option makes these files visible by merging them all into a single "multi-segment".</string>
+ </property>
+ </widget>
+ </vbox>
+ </widget>
+ </widget>
+ <widget class="QLayoutWidget">
+ <property name="name">
+ <cstring>layout6</cstring>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QPushButton">
+ <property name="name">
+ <cstring>m_resetButton</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;Reset</string>
+ </property>
+ <property name="autoDefault">
+ <bool>false</bool>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Reset any changes you have made since you opened this dialog.</string>
+ </property>
+ </widget>
+ <spacer>
+ <property name="name">
+ <cstring>spacer1</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>120</width>
+ <height>30</height>
+ </size>
+ </property>
+ </spacer>
+ <widget class="QPushButton">
+ <property name="name">
+ <cstring>m_closeButton</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;Close</string>
+ </property>
+ <property name="default">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </hbox>
+ </widget>
+ </vbox>
+</widget>
+<customwidgets>
+ <customwidget>
+ <class>QVButtonGroup</class>
+ <header location="global">qvbuttongroup.h</header>
+ <sizehint>
+ <width>-1</width>
+ <height>-1</height>
+ </sizehint>
+ <container>0</container>
+ <sizepolicy>
+ <hordata>5</hordata>
+ <verdata>5</verdata>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ <pixmap>image0</pixmap>
+ </customwidget>
+</customwidgets>
+<images>
+ <image name="image0">
+ <data format="PNG" length="824">89504e470d0a1a0a0000000d4948445200000016000000160806000000c4b46c3b000002ff49444154388db59531681c4714863f992dde820cb370815b50600f54e8ca0ba43970712a8fb838438a3895634813d238a5ab80e314ae4d0a812060a4226017c27221c8a9da6b8c4fe0e00d28b0571cec82043b85611f78c12966efa4bb8bc085f29a6567df7cef9f7fdeccaec571cc2cbaddee47ae21e2385e5b9b815f1ebcfcd8de6a63ad25cb338af7c52741acb5a4a729a3d723a82ec6bd99d267bf3f23fc1c4cab2442d14a915986e792fdfa59569766573049417784f1b12e8267954dab24b78714450a28beaf941f847c2a14e70a0841035a2d45d641eb027213c210c69756320767794684d6508bef0befde1a860796e4c402333542b4256c0f0cdd1e50b97191458be6e0e27d81563a87c643d8fb2d7793d685d696413cc8a6cae46f65f7d79c7c62b87b4f2e15fd0fb0d302be0fefde4a0d557a5f35e90f84e0334014d590f855c9de4ecee17e4eb319d1ff3a00ec02f8c67299f283307c61e7d06fbf1782d082588a33e1cf1705fd81cf773f3601e1f9bec59e2f4b5c7ef5209f0ac95f16630cfd818067c103b586dd274a726229cee0fe8380d191cb4d1267d3d58aa1de7d258ceae5d7d0a78fdd269a86f0c52d414c49bbe3762c9b686de41560d7a72e41c4795a6486a78f95e4c4151481d686efbe7b3398ac58b1a23868b8c474aaa8068c8e714a8dd06c1af2a9e5d1c38c641c909dba6e08237f19b358a7ac5cf3479bc2e41f257e55d2ffc6a73833746f09e186cfa387904f2cbffc90a2aa9886d0e99464d3c5965b512cebd01f1800f67672e2a392fb0f023a3d883a053ffddcc2340dd65ab452b6074dc2cd15c1cbceb863daed413e353cdfcfd97d92333a12da6d0181ec3443cf753ef3cdd092de0e116ff1a02cdc157338ca9d7b8269461cfee1ba2139b9286e1a427f10110f2d561555b076d18a39383d4d99a4c0cd0b787f20747b214962c8266e3cdcf0e97c59126ec2f6edd089f40a92f115e0d1eb11ba238461dd6a15f32b53666de841965bb203575a3cc15a48c64a965fe57105e3635db8fa96dcffc431172b5d715d7103dc3fea7f015f373c8ee3b57f0135105a0fae7717960000000049454e44ae426082</data>
+ </image>
+</images>
+<connections>
+ <connection>
+ <sender>scanAcrossMounts</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>Dialog</receiver>
+ <slot>toggleScanAcrossMounts(bool)</slot>
+ </connection>
+ <connection>
+ <sender>dontScanRemoteMounts</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>Dialog</receiver>
+ <slot>toggleDontScanRemoteMounts(bool)</slot>
+ </connection>
+ <connection>
+ <sender>dontScanRemovableMedia</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>Dialog</receiver>
+ <slot>toggleDontScanRemovableMedia(bool)</slot>
+ </connection>
+</connections>
+<tabstops>
+ <tabstop>tabWidget</tabstop>
+ <tabstop>colourSchemeGroup</tabstop>
+ <tabstop>contrastSlider</tabstop>
+ <tabstop>useAntialiasing</tabstop>
+ <tabstop>varyLabelFontSizes</tabstop>
+ <tabstop>minFontPitch</tabstop>
+ <tabstop>m_resetButton</tabstop>
+ <tabstop>m_closeButton</tabstop>
+ <tabstop>m_listBox</tabstop>
+ <tabstop>m_removeButton</tabstop>
+ <tabstop>m_addButton</tabstop>
+ <tabstop>scanAcrossMounts</tabstop>
+ <tabstop>dontScanRemoteMounts</tabstop>
+ <tabstop>dontScanRemovableMedia</tabstop>
+</tabstops>
+<slots>
+ <slot>toggleDontScanRemovableMedia(bool)</slot>
+ <slot>toggleDontScanRemoteMounts(bool)</slot>
+ <slot>toggleScanAcrossMounts(bool)</slot>
+</slots>
+<layoutdefaults spacing="6" margin="11"/>
+<includehints>
+ <includehint>qvbuttongroup.h</includehint>
+ <includehint>knuminput.h</includehint>
+</includehints>
+</UI>
diff --git a/src/part/fileTree.cpp b/src/part/fileTree.cpp
new file mode 100644
index 0000000..f459d50
--- /dev/null
+++ b/src/part/fileTree.cpp
@@ -0,0 +1,67 @@
+//Author: Max Howell <max.howell@methylblue.com>, (C) 2004
+//Copyright: See COPYING file that comes with this distribution
+
+#include "fileTree.h"
+#include <kglobal.h>
+#include <klocale.h>
+#include <qfile.h>
+
+
+//static definitions
+const uint File::DENOMINATOR[4] = { 1<<0, 1<<10, 1<<20, 1<<30 };
+static const char PREFIX[4] = { 'K', 'M', 'G', 'T' };
+
+
+QString
+File::fullPath( const Directory *root /*= 0*/ ) const
+{
+ QString path;
+
+ if( root == this )
+ root = 0; //prevent returning empty string when there is something we could return
+
+ for( const Directory *d = (Directory*)this; d != root && d; d = d->parent() )
+ path.prepend( d->name() );
+
+ return path;
+}
+
+QString
+File::humanReadableSize( UnitPrefix key /*= mega*/ ) const //FIXME inline
+{
+ return humanReadableSize( m_size, key );
+}
+
+QString
+File::humanReadableSize( uint size, UnitPrefix key /*= mega*/ ) //static
+{
+ if( size == 0 )
+ return "0 B";
+
+ QString s;
+ double prettySize = (double)size / (double)DENOMINATOR[key];
+ const KLocale &locale = *KGlobal::locale();
+
+ if( prettySize >= 0.01 )
+ {
+ //use three significant figures
+ if( prettySize < 1 ) s = locale.formatNumber( prettySize, 2 );
+ else if( prettySize < 100 ) s = locale.formatNumber( prettySize, 1 );
+ else s = locale.formatNumber( prettySize, 0 );
+
+ s += ' ';
+ s += PREFIX[key];
+ s += 'B';
+ }
+
+ if( prettySize < 0.1 )
+ {
+ s += " (";
+ s += locale.formatNumber( size / DENOMINATOR[key - 1], 0 );
+ s += ' ';
+ s += PREFIX[key - 1];
+ s += "B)";
+ }
+
+ return s;
+}
diff --git a/src/part/fileTree.h b/src/part/fileTree.h
new file mode 100644
index 0000000..25ac6fb
--- /dev/null
+++ b/src/part/fileTree.h
@@ -0,0 +1,238 @@
+//Author: Max Howell <max.howell@methylblue.com>, (C) 2004
+//Copyright: See COPYING file that comes with this distribution
+
+#ifndef FILETREE_H
+#define FILETREE_H
+
+#include <qcstring.h> //qstrdup
+#include <qfile.h> //decodeName()
+#include <stdlib.h>
+
+
+//TODO these are pointlessly general purpose now, make them incredibly specific
+
+
+
+typedef unsigned long int FileSize;
+typedef unsigned long int Dirsize; //**** currently unused
+
+template <class T> class Iterator;
+template <class T> class ConstIterator;
+template <class T> class Chain;
+
+template <class T>
+class Link
+{
+public:
+ Link( T* const t ) : prev( this ), next( this ), data( t ) {}
+ Link() : prev( this ), next( this ), data( 0 ) {}
+
+//TODO unlinking is slow and you don't use it very much in this context.
+// ** Perhaps you can make a faster deletion system that doesn't bother tidying up first
+// ** and then you MUST call some kind of detach() function when you remove elements otherwise
+ ~Link() { delete data; unlink(); }
+
+ friend class Iterator<T>;
+ friend class ConstIterator<T>;
+ friend class Chain<T>;
+
+private:
+ void unlink() { prev->next = next; next->prev = prev; prev = next = this; }
+
+ Link<T>* prev;
+ Link<T>* next;
+
+ T* data; //ensure only iterators have access to this
+};
+
+
+template <class T>
+class Iterator
+{
+public:
+ Iterator() : link( 0 ) { } //**** remove this, remove this REMOVE THIS!!! dangerous as your implementation doesn't test for null links, always assumes they can be derefenced
+ Iterator( Link<T> *p ) : link( p ) { }
+
+ bool operator==( const Iterator<T>& it ) const { return link == it.link; }
+ bool operator!=( const Iterator<T>& it ) const { return link != it.link; }
+ bool operator!=( const Link<T> *p ) const { return p != link; }
+
+ //here we have a choice, really I should make two classes one const the other not
+ const T* operator*() const { return link->data; }
+ T* operator*() { return link->data; }
+
+ Iterator<T>& operator++() { link = link->next; return *this; } //**** does it waste time returning in places where we don't use the retval?
+
+ bool isNull() const { return (link == 0); } //REMOVE WITH ABOVE REMOVAL you don't want null iterators to be possible
+
+ void transferTo( Chain<T> &chain )
+ {
+ chain.append( remove() );
+ }
+
+ T* const remove() //remove from list, delete Link, data is returned NOT deleted
+ {
+ T* const d = link->data;
+ Link<T>* const p = link->prev;
+
+ link->data = 0;
+ delete link;
+ link = p; //make iterator point to previous element, YOU must check this points to an element
+
+ return d;
+ }
+
+private:
+ Link<T> *link;
+};
+
+
+template <class T>
+class ConstIterator
+{
+public:
+ ConstIterator( Link<T> *p ) : link( p ) { }
+
+ bool operator==( const Iterator<T>& it ) const { return link == it.link; }
+ bool operator!=( const Iterator<T>& it ) const { return link != it.link; }
+ bool operator!=( const Link<T> *p ) const { return p != link; }
+
+ const T* operator*() const { return link->data; }
+
+ ConstIterator<T>& operator++() { link = link->next; return *this; }
+
+private:
+ const Link<T> *link;
+};
+
+
+template <class T>
+class Chain
+{
+public:
+ virtual ~Chain() { empty(); }
+
+ void append( T* const data )
+ {
+ Link<T>* const link = new Link<T>( data );
+
+ link->prev = head.prev;
+ link->next = &head;
+
+ head.prev->next = link;
+ head.prev = link;
+ }
+
+ void transferTo( Chain &c )
+ {
+ if( isEmpty() ) return;
+
+ Link<T>* const first = head.next;
+ Link<T>* const last = head.prev;
+
+ head.unlink();
+
+ first->prev = c.head.prev;
+ c.head.prev->next = first;
+
+ last->next = &c.head;
+ c.head.prev = last;
+ }
+
+ void empty() { while( head.next != &head ) { delete head.next; } }
+
+ Iterator<T> iterator() const { return Iterator<T>( head.next ); }
+ ConstIterator<T> constIterator() const { return ConstIterator<T>( head.next ); }
+ const Link<T> *end() const { return &head; }
+ bool isEmpty() const { return head.next == &head; }
+
+private:
+ Link<T> head;
+ void operator=( const Chain& );
+};
+
+
+class Directory;
+class QString;
+
+class File
+{
+public:
+ friend class Directory;
+
+ enum UnitPrefix { kilo, mega, giga, tera };
+
+ static const uint DENOMINATOR[4];
+
+public:
+ File( const char *name, FileSize size ) : m_parent( 0 ), m_name( qstrdup( name ) ), m_size( size ) {}
+ virtual ~File() { delete [] m_name; }
+
+ const Directory *parent() const { return m_parent; }
+ const char *name8Bit() const { return m_name; }
+ const FileSize size() const { return m_size; }
+ QString name() const { return QFile::decodeName( m_name ); }
+
+ virtual bool isDirectory() const { return false; }
+
+ QString fullPath( const Directory* = 0 ) const;
+ QString humanReadableSize( UnitPrefix key = mega ) const;
+
+public:
+ static QString humanReadableSize( uint size, UnitPrefix Key = mega );
+
+protected:
+ File( const char *name, FileSize size, Directory *parent ) : m_parent( parent ), m_name( qstrdup( name ) ), m_size( size ) {}
+
+ Directory *m_parent; //0 if this is treeRoot
+ char *m_name;
+ FileSize m_size; //in units of KiB
+
+private:
+ File( const File& );
+ void operator=( const File& );
+};
+
+
+class Directory : public Chain<File>, public File
+{
+public:
+ Directory( const char *name ) : File( name, 0 ), m_children( 0 ) {} //DON'T pass the full path!
+
+ uint children() const { return m_children; }
+ virtual bool isDirectory() const { return true; }
+
+ ///appends a Directory
+ void append( Directory *d, const char *name=0 )
+ {
+ if( name ) {
+ delete [] d->m_name;
+ d->m_name = qstrdup( name ); } //directories that had a fullpath copy just their names this way
+
+ m_children += d->children(); //doesn't include the dir itself
+ d->m_parent = this;
+ append( (File*)d ); //will add 1 to filecount for the dir itself
+ }
+
+ ///appends a File
+ void append( const char *name, FileSize size )
+ {
+ append( new File( name, size, this ) );
+ }
+
+private:
+ void append( File *p )
+ {
+ m_children++;
+ m_size += p->size();
+ Chain<File>::append( p );
+ }
+
+ uint m_children;
+
+private:
+ Directory( const Directory& ); //undefined
+ void operator=( const Directory& ); //undefined
+};
+
+#endif
diff --git a/src/part/localLister.cpp b/src/part/localLister.cpp
new file mode 100644
index 0000000..6bf7945
--- /dev/null
+++ b/src/part/localLister.cpp
@@ -0,0 +1,333 @@
+//Author: Max Howell <max.howell@methylblue.com>, (C) 2003-4
+//Copyright: See COPYING file that comes with this distribution
+
+#include "Config.h"
+#include "debug.h"
+#include <dirent.h>
+#include "fileTree.h"
+#include <fstab.h>
+#include "localLister.h"
+#ifdef HAVE_MNTENT_H
+#include <mntent.h>
+#endif
+#include <qapplication.h> //postEvent()
+#include <qfile.h>
+#include "scan.h"
+#include <sys/stat.h>
+#include <sys/types.h>
+#include <unistd.h>
+
+namespace Filelight
+{
+ QStringList LocalLister::s_remoteMounts;
+ QStringList LocalLister::s_localMounts;
+
+ LocalLister::LocalLister( const QString &path, Chain<Directory> *cachedTrees, QObject *parent )
+ : QThread()
+ , m_path( path )
+ , m_trees( cachedTrees )
+ , m_parent( parent )
+ {
+ //add empty directories for any mount points that are in the path
+ //TODO empty directories is not ideal as adds to fileCount incorrectly
+
+ QStringList list( Config::skipList );
+ if( !Config::scanAcrossMounts ) list += s_localMounts;
+ if( !Config::scanRemoteMounts ) list += s_remoteMounts;
+
+ for( QStringList::ConstIterator it = list.constBegin(); it != list.constEnd(); ++it )
+ if( (*it).startsWith( path ) )
+ //prevent scanning of these directories
+ m_trees->append( new Directory( (*it).local8Bit() ) );
+
+ start();
+ }
+
+ void
+ LocalLister::run()
+ {
+ //recursively scan the requested path
+ const QCString path = QFile::encodeName( m_path );
+ Directory *tree = scan( path, path );
+
+ //delete the list of trees useful for this scan,
+ //in a sucessful scan the contents would now be transfered to 'tree'
+ delete m_trees;
+
+ if( ScanManager::s_abort ) //scan was cancelled
+ {
+ debug() << "Scan succesfully aborted\n";
+ delete tree;
+ tree = 0;
+ }
+
+ QCustomEvent *e = new QCustomEvent( 1000 );
+ e->setData( tree );
+ QApplication::postEvent( m_parent, e );
+ }
+
+ // from system.h in GNU coreutils package
+ /* Extract or fake data from a `struct stat'.
+ ST_BLKSIZE: Preferred I/O blocksize for the file, in bytes.
+ ST_NBLOCKS: Number of blocks in the file, including indirect blocks.
+ ST_NBLOCKSIZE: Size of blocks used when calculating ST_NBLOCKS. */
+ #ifndef HAVE_STRUCT_STAT_ST_BLOCKS
+ #define ST_BLKSIZE(statbuf) DEV_BSIZE
+ #if defined _POSIX_SOURCE || !defined BSIZE /* fileblocks.c uses BSIZE. */
+ #define ST_NBLOCKS(statbuf) ((statbuf).st_size / ST_NBLOCKSIZE + ((statbuf).st_size % ST_NBLOCKSIZE != 0))
+ #else /* !_POSIX_SOURCE && BSIZE */
+ #define ST_NBLOCKS(statbuf) (S_ISREG ((statbuf).st_mode) || S_ISDIR ((statbuf).st_mode) ? st_blocks ((statbuf).st_size) : 0)
+ #endif /* !_POSIX_SOURCE && BSIZE */
+ #else /* HAVE_STRUCT_STAT_ST_BLOCKS */
+ /* Some systems, like Sequents, return st_blksize of 0 on pipes.
+ Also, when running `rsh hpux11-system cat any-file', cat would
+ determine that the output stream had an st_blksize of 2147421096.
+ So here we arbitrarily limit the `optimal' block size to 4MB.
+ If anyone knows of a system for which the legitimate value for
+ st_blksize can exceed 4MB, please report it as a bug in this code. */
+ #define ST_BLKSIZE(statbuf) ((0 < (statbuf).st_blksize && (statbuf).st_blksize <= (1 << 22)) /* 4MiB */ ? (statbuf).st_blksize : DEV_BSIZE)
+ #if defined hpux || defined __hpux__ || defined __hpux
+ /* HP-UX counts st_blocks in 1024-byte units.
+ This loses when mixing HP-UX and BSD filesystems with NFS. */
+ #define ST_NBLOCKSIZE 1024
+ #else /* !hpux */
+ #if defined _AIX && defined _I386
+ /* AIX PS/2 counts st_blocks in 4K units. */
+ #define ST_NBLOCKSIZE (4 * 1024)
+ #else /* not AIX PS/2 */
+ #if defined _CRAY
+ #define ST_NBLOCKS(statbuf) (S_ISREG ((statbuf).st_mode) || S_ISDIR ((statbuf).st_mode) ? (statbuf).st_blocks * ST_BLKSIZE(statbuf)/ST_NBLOCKSIZE : 0)
+ #endif /* _CRAY */
+ #endif /* not AIX PS/2 */
+ #endif /* !hpux */
+ #endif /* HAVE_STRUCT_STAT_ST_BLOCKS */
+
+ #ifndef ST_NBLOCKS
+ #define ST_NBLOCKS(statbuf) ((statbuf).st_blocks)
+ #endif
+
+ #ifndef ST_NBLOCKSIZE
+ #define ST_NBLOCKSIZE 512
+ #endif
+
+//some GNU systems don't support big files for some reason
+#ifdef __USE_LARGEFILE64 //see dirent.h
+ #define dirent dirent64
+ #define scandir scandir64
+ #define stat stat64
+ #define statstruct stat64
+ #define lstat lstat64
+ #define readdir readdir64
+#endif
+
+#ifndef NULL
+#define NULL 0
+#endif
+
+
+ #include <errno.h>
+ static void
+ outputError( QCString path )
+ {
+ ///show error message that stat or opendir may give
+
+ #define out( s ) error() << s ": " << path << endl; break
+
+ switch( errno ) {
+ case EACCES:
+ out( "Inadequate access permisions" );
+ case EMFILE:
+ out( "Too many file descriptors in use by Filelight" );
+ case ENFILE:
+ out( "Too many files are currently open in the system" );
+ case ENOENT:
+ out( "A component of the path does not exist, or the path is an empty string" );
+ case ENOMEM:
+ out( "Insufficient memory to complete the operation" );
+ case ENOTDIR:
+ out( "A component of the path is not a directory" );
+ case EBADF:
+ out( "Bad file descriptor" );
+ case EFAULT:
+ out( "Bad address" );
+ case ELOOP: //NOTE shouldn't ever happen
+ out( "Too many symbolic links encountered while traversing the path" );
+ case ENAMETOOLONG:
+ out( "File name too long" );
+ }
+
+ #undef out
+ }
+
+ Directory*
+ LocalLister::scan( const QCString &path, const QCString &dirname )
+ {
+ Directory *cwd = new Directory( dirname );
+ DIR *dir = opendir( path );
+
+ if( !dir ) {
+ outputError( path );
+ return cwd;
+ }
+
+ struct stat statbuf;
+ dirent *ent;
+ while ((ent = readdir( dir )))
+ {
+ if( ScanManager::s_abort )
+ return cwd;
+
+ if( qstrcmp( ent->d_name, "." ) == 0 || qstrcmp( ent->d_name, ".." ) == 0 )
+ continue;
+
+ QCString new_path = path; new_path += ent->d_name;
+
+ //get file information
+ if( lstat( new_path, &statbuf ) == -1 ) {
+ outputError( new_path );
+ continue;
+ }
+
+ if( S_ISLNK( statbuf.st_mode ) ||
+ S_ISCHR( statbuf.st_mode ) ||
+ S_ISBLK( statbuf.st_mode ) ||
+ S_ISFIFO( statbuf.st_mode ) ||
+ S_ISSOCK( statbuf.st_mode ) )
+ {
+ continue;
+ }
+
+ if( S_ISREG( statbuf.st_mode ) ) //file
+ //using units of KiB as 32bit max is 4GiB and 64bit ints are expensive
+ cwd->append( ent->d_name, (ST_NBLOCKS( statbuf ) * ST_NBLOCKSIZE) / 1024 );
+
+ else if( S_ISDIR( statbuf.st_mode ) ) //directory
+ {
+ Directory *d = 0;
+ QCString new_dirname = ent->d_name;
+ new_dirname += '/';
+ new_path += '/';
+
+ //check to see if we've scanned this section already
+
+ for( Iterator<Directory> it = m_trees->iterator(); it != m_trees->end(); ++it )
+ {
+ if( new_path == (*it)->name8Bit() )
+ {
+ debug() << "Tree pre-completed: " << (*it)->name() << "\n";
+ d = it.remove();
+ ScanManager::s_files += d->children();
+ //**** ideally don't have this redundant extra somehow
+ cwd->append( d, new_dirname );
+ }
+ }
+
+ if( !d ) //then scan
+ if ((d = scan( new_path, new_dirname ))) //then scan was successful
+ cwd->append( d );
+ }
+
+ ++ScanManager::s_files;
+ }
+
+ closedir( dir );
+
+ return cwd;
+ }
+
+ bool
+ LocalLister::readMounts()
+ {
+ #define INFO_PARTITIONS "/proc/partitions"
+ #define INFO_MOUNTED_PARTITIONS "/etc/mtab" /* on Linux... */
+
+ //**** SHAMBLES
+ // ** mtab should have priority as mount points don't have to follow fstab
+ // ** no removable media detection
+ // ** no updates if mounts change
+ // ** you want a KDE extension that handles this for you really
+
+ struct fstab *fstab_ent;
+#ifdef HAVE_MNTENT_H
+ struct mntent *mnt_ent;
+#endif
+ QString str;
+
+
+#ifdef HAVE_MNTENT_H
+ FILE *fp;
+ if( setfsent() == 0 || !( fp = setmntent( INFO_MOUNTED_PARTITIONS, "r" ) ) )
+#else
+ if( setfsent() == 0 )
+#endif
+ return false;
+
+ #define FS_NAME fstab_ent->fs_spec // device-name
+ #define FS_FILE fstab_ent->fs_file // mount-point
+ #define FS_TYPE fstab_ent->fs_vfstype // fs-type
+ #define FS_MNTOPS fstab_ent->fs_mntops // mount-options
+
+ QStringList remoteFsTypes;
+ remoteFsTypes << "smbfs" ;
+#ifdef MNTTYPE_NFS
+ remoteFsTypes << MNTTYPE_NFS;
+#else
+ remoteFsTypes << "nfs";
+#endif
+ // What about afs?
+
+ while( (fstab_ent = getfsent()) != NULL )
+ {
+ str = QString( FS_FILE );
+ if( str == "/" ) continue;
+ str += '/';
+
+ if( remoteFsTypes.contains( FS_TYPE ) )
+ s_remoteMounts.append( str ); //**** NO! can't be sure won't have trailing slash, need to do a check first dummy!!
+
+ else
+ s_localMounts.append( str ); //**** NO! can't be sure won't have trailing slash, need to do a check first dummy!!
+
+ kdDebug() << "FSTAB: " << FS_TYPE << "\n";
+ }
+
+ endfsent(); /* close fstab.. */
+
+ #undef FS_NAME
+ #undef FS_FILE
+ #undef FS_TYPE
+ #undef FS_MNTOPS
+
+ #define FS_NAME mnt_ent->mnt_fsname // device-name
+ #define FS_FILE mnt_ent->mnt_dir // mount-point
+ #define FS_TYPE mnt_ent->mnt_type // fs-type
+ #define FS_MNTOPS mnt_ent->mnt_opts // mount-options
+
+ //scan mtab, **** mtab should take priority, but currently it isn't
+
+#ifdef HAVE_MNTENT_H
+ while( ( mnt_ent = getmntent( fp ) ) != NULL )
+ {
+ bool b = false;
+
+ str = QString( FS_FILE );
+ if( str == "/" ) continue;
+ str += "/";
+
+ if( remoteFsTypes.contains( FS_TYPE ) )
+ if( b = !s_remoteMounts.contains( str ) )
+ s_remoteMounts.append( str ); //**** NO! can't be sure won't have trailing slash, need to do a check first dummy!!
+
+ else if( b = !s_localMounts.contains( str ) )
+ s_localMounts.append( str ); //**** NO! can't be sure won't have trailing slash, need to do a check first dummy!!
+
+ if( b ) kdDebug() << "MTAB: " << FS_TYPE << "\n";
+ }
+
+ endmntent( fp ); /* close mtab.. */
+#endif
+
+
+ return true;
+ }
+}
diff --git a/src/part/localLister.h b/src/part/localLister.h
new file mode 100644
index 0000000..5070e14
--- /dev/null
+++ b/src/part/localLister.h
@@ -0,0 +1,35 @@
+//Author: Max Howell <max.howell@methylblue.com>, (C) 2003-4
+//Copyright: See COPYING file that comes with this distribution
+
+#ifndef LOCALLISTER_H
+#define LOCALLISTER_H
+
+#include <qthread.h>
+
+class Directory;
+template<class T> class Chain;
+
+namespace Filelight
+{
+ class LocalLister : public QThread
+ {
+ public:
+ LocalLister( const QString &path, Chain<Directory> *cachedTrees, QObject *parent );
+
+ static bool readMounts();
+
+ private:
+ QString m_path;
+ Chain<Directory> *m_trees;
+ QObject *m_parent;
+
+ private:
+ virtual void run();
+ Directory *scan( const QCString&, const QCString& );
+
+ private:
+ static QStringList s_localMounts, s_remoteMounts; //TODO namespace
+ };
+}
+
+#endif
diff --git a/src/part/part.cpp b/src/part/part.cpp
new file mode 100644
index 0000000..9a4742a
--- /dev/null
+++ b/src/part/part.cpp
@@ -0,0 +1,254 @@
+//Author: Max Howell <max.howell@methylblue.com>, (C) 2003-4
+//Copyright: See COPYING file that comes with this distribution
+
+#include "Config.h"
+#include "debug.h"
+#include "define.h"
+#include "fileTree.h"
+#include "part.h"
+#include "progressBox.h"
+#include "radialMap/widget.h"
+#include "scan.h"
+#include "settingsDialog.h"
+#include "summaryWidget.h"
+
+#include <kaboutdata.h> //::createAboutData()
+#include <kaction.h>
+#include <klocale.h>
+#include <kmessagebox.h> //::start()
+//#include <konq_operations.h>
+#include <kparts/genericfactory.h>
+#include <kstatusbar.h>
+#include <kstdaction.h>
+#include <qfile.h> //encodeName()
+#include <qtimer.h> //postInit() hack
+#include <qvbox.h>
+#include <unistd.h> //access()
+
+
+namespace Filelight {
+
+
+typedef KParts::GenericFactory<Filelight::Part> Factory;
+K_EXPORT_COMPONENT_FACTORY( libfilelight, Filelight::Factory )
+
+
+BrowserExtension::BrowserExtension( Part *parent, const char *name )
+ : KParts::BrowserExtension( parent, name )
+{}
+
+
+Part::Part( QWidget *parentWidget, const char *widgetName, QObject *parent, const char *name, const QStringList& )
+ : ReadOnlyPart( parent, name )
+ , m_ext( new BrowserExtension( this ) )
+ , m_statusbar( new StatusBarExtension( this ) )
+ , m_map( 0 )
+ , m_manager( new ScanManager( this ) )
+ , m_started( false )
+{
+ QPixmap::setDefaultOptimization( QPixmap::BestOptim );
+
+ Config::read();
+
+ setInstance( Factory::instance() );
+ setWidget( new QVBox( parentWidget, widgetName ) );
+ setXMLFile( "filelight_partui.rc" );
+
+ m_map = new RadialMap::Widget( widget() );
+ m_map->hide();
+
+ KStdAction::zoomIn( m_map, SLOT(zoomIn()), actionCollection() );
+ KStdAction::zoomOut( m_map, SLOT(zoomOut()), actionCollection() );
+ KStdAction::preferences( this, SLOT(configFilelight()), actionCollection(), "configure_filelight" )->setText( i18n( "Configure Filelight..." ) );
+
+ connect( m_map, SIGNAL(created( const Directory* )), SIGNAL(completed()) );
+ connect( m_map, SIGNAL(created( const Directory* )), SLOT(mapChanged( const Directory* )) );
+ connect( m_map, SIGNAL(activated( const KURL& )), SLOT(updateURL( const KURL& )) );
+
+ // TODO make better system
+ connect( m_map, SIGNAL(giveMeTreeFor( const KURL& )), SLOT(updateURL( const KURL& )) );
+ connect( m_map, SIGNAL(giveMeTreeFor( const KURL& )), SLOT(openURL( const KURL& )) );
+
+ connect( m_manager, SIGNAL(completed( Directory* )), SLOT(scanCompleted( Directory* )) );
+ connect( m_manager, SIGNAL(aboutToEmptyCache()), m_map, SLOT(invalidate()) );
+
+ QTimer::singleShot( 0, this, SLOT(postInit()) );
+}
+
+void
+Part::postInit()
+{
+ if( m_url.isEmpty() ) //if url is not empty openURL() has been called immediately after ctor, which happens
+ {
+ QWidget *summary = new SummaryWidget( widget(), "summaryWidget" );
+ connect( summary, SIGNAL(activated( const KURL& )), SLOT(openURL( const KURL& )) );
+ summary->show();
+
+ //FIXME KXMLGUI is b0rked, it should allow us to set this
+ //BEFORE createGUI is called but it doesn't
+ stateChanged( "scan_failed" );
+ }
+}
+
+bool
+Part::openURL( const KURL &u )
+{
+ //we don't want to be using the summary screen anymore
+ delete widget()->child( "summaryWidget" );
+ m_map->show();
+
+ //TODO everyone hates dialogs, instead render the text in big fonts on the Map
+ //TODO should have an empty KURL until scan is confirmed successful
+ //TODO probably should set caption to QString::null while map is unusable
+
+ #define KMSG( s ) KMessageBox::information( widget(), s )
+
+ KURL url = u;
+ url.cleanPath( true );
+ const QString path = url.path( 1 );
+ const QCString path8bit = QFile::encodeName( path );
+ const bool isLocal = url.protocol() == "file";
+
+ if( url.isEmpty() )
+ {
+ //do nothing, chances are the user accidently pressed ENTER
+ }
+ else if( !url.isValid() )
+ {
+ KMSG( i18n( "The entered URL cannot be parsed; it is invalid." ) );
+ }
+ else if( path[0] != '/' )
+ {
+ KMSG( i18n( "Filelight only accepts absolute paths, eg. /%1" ).arg( path ) );
+ }
+ else if( isLocal && access( path8bit, F_OK ) != 0 ) //stat( path, &statbuf ) == 0
+ {
+ KMSG( i18n( "Directory not found: %1" ).arg( path ) );
+ }
+ else if( isLocal && access( path8bit, R_OK | X_OK ) != 0 )
+ {
+ KMSG( i18n( "Unable to enter: %1\nYou do not have access rights to this location." ).arg( path ) );
+ }
+ else
+ {
+ if( url == m_url )
+ m_manager->emptyCache(); //same as rescan()
+
+ return start( url );
+ }
+
+ return false;
+}
+
+bool
+Part::closeURL()
+{
+ if( m_manager->abort() )
+ statusBar()->message( i18n( "Aborting Scan..." ) );
+
+ m_url = KURL();
+
+ return true;
+}
+
+void
+Part::updateURL( const KURL &u )
+{
+ //the map has changed internally, update the interface to reflect this
+ emit m_ext->openURLNotify(); //must be done first
+ emit m_ext->setLocationBarURL( u.prettyURL() );
+
+ //do this last, or it breaks Konqi location bar
+ m_url = u;
+}
+
+void
+Part::configFilelight()
+{
+ QWidget *dialog = new SettingsDialog( widget(), "settings_dialog" );
+
+ connect( dialog, SIGNAL(canvasIsDirty( int )), m_map, SLOT(refresh( int )) );
+ connect( dialog, SIGNAL(mapIsInvalid()), m_manager, SLOT(emptyCache()) );
+
+ dialog->show(); //deletes itself
+}
+
+KAboutData*
+Part::createAboutData()
+{
+ return new KAboutData( APP_NAME, I18N_NOOP( APP_PRETTYNAME ), APP_VERSION );
+}
+
+bool
+Part::start( const KURL &url )
+{
+ if( !m_started ) {
+ m_statusbar->addStatusBarItem( new ProgressBox( statusBar(), this ), 0, true );
+ connect( m_map, SIGNAL(mouseHover( const QString& )), statusBar(), SLOT(message( const QString& )) );
+ connect( m_map, SIGNAL(created( const Directory* )), statusBar(), SLOT(clear()) );
+ m_started = true;
+ }
+
+ if( m_manager->start( url ) ) {
+ m_url = url;
+
+ const QString s = i18n( "Scanning: %1" ).arg( prettyURL() );
+ stateChanged( "scan_started" );
+ emit started( 0 ); //as a Part, we have to do this
+ emit setWindowCaption( s );
+ statusBar()->message( s );
+ m_map->invalidate(); //to maintain ui consistency
+
+ return true;
+ }
+
+ return false;
+}
+
+void
+Part::rescan()
+{
+ //FIXME we have to empty the cache because otherwise rescan picks up the old tree..
+ m_manager->emptyCache(); //causes canvas to invalidate
+ start( m_url );
+}
+
+void
+Part::scanCompleted( Directory *tree )
+{
+ if( tree ) {
+ statusBar()->message( i18n( "Scan completed, generating map..." ) );
+
+ m_map->create( tree );
+
+ //do after creating map
+ stateChanged( "scan_complete" );
+ }
+ else {
+ stateChanged( "scan_failed" );
+ emit canceled( i18n( "Scan failed: %1" ).arg( prettyURL() ) );
+ emit setWindowCaption( QString::null );
+
+ statusBar()->clear();
+// QTimer::singleShot( 2000, statusBar(), SLOT(clear()) );
+
+ m_url = KURL();
+ }
+}
+
+void
+Part::mapChanged( const Directory *tree )
+{
+ //IMPORTANT -> m_url has already been set
+
+ emit setWindowCaption( prettyURL() );
+
+ ProgressBox *progress = static_cast<ProgressBox *>(statusBar()->child( "ProgressBox" ));
+
+ if( progress )
+ progress->setText( tree->children() );
+}
+
+} //namespace Filelight
+
+#include "part.moc"
diff --git a/src/part/part.h b/src/part/part.h
new file mode 100644
index 0000000..348b22b
--- /dev/null
+++ b/src/part/part.h
@@ -0,0 +1,71 @@
+// Author: Max Howell <max.howell@methylblue.com>, (C) 2003-4
+// Copyright: See COPYING file that comes with this distribution
+
+#ifndef FILELIGHTPART_H
+#define FILELIGHTPART_H
+
+#include <kparts/browserextension.h>
+#include <kparts/statusbarextension.h>
+#include <kparts/part.h>
+#include <kurl.h>
+
+class KAboutData;
+using KParts::StatusBarExtension;
+namespace RadialMap { class Widget; }
+class Directory;
+
+
+namespace Filelight
+{
+ class Part;
+
+ class BrowserExtension : public KParts::BrowserExtension
+ {
+ public:
+ BrowserExtension( Part*, const char * = 0 );
+ };
+
+
+ class Part : public KParts::ReadOnlyPart
+ {
+ Q_OBJECT
+
+ public:
+ Part( QWidget *, const char *, QObject *, const char *, const QStringList& );
+
+ virtual bool openFile() { return false; } //pure virtual in base class
+ virtual bool closeURL();
+
+ QString prettyURL() const { return m_url.protocol() == "file" ? m_url.path() : m_url.prettyURL(); }
+
+ static KAboutData *createAboutData();
+
+ public slots:
+ virtual bool openURL( const KURL& );
+ void configFilelight();
+ void rescan();
+
+ private slots:
+ void postInit();
+ void scanCompleted( Directory* );
+ void mapChanged( const Directory* );
+
+ private:
+ KStatusBar *statusBar() { return m_statusbar->statusBar(); }
+
+ BrowserExtension *m_ext;
+ StatusBarExtension *m_statusbar;
+ RadialMap::Widget *m_map;
+ class ScanManager *m_manager;
+
+ bool m_started;
+
+ private:
+ bool start( const KURL& );
+
+ private slots:
+ void updateURL( const KURL & );
+ };
+}
+
+#endif
diff --git a/src/part/progressBox.cpp b/src/part/progressBox.cpp
new file mode 100644
index 0000000..5bf205a
--- /dev/null
+++ b/src/part/progressBox.cpp
@@ -0,0 +1,65 @@
+//Author: Max Howell <max.howell@methylblue.com>, (C) 2003-4
+//Copyright: See COPYING file that comes with this distribution
+
+#include <kglobal.h>
+#include <kglobalsettings.h>
+#include <kio/job.h>
+#include <klocale.h>
+
+#include "scan.h"
+#include "progressBox.h"
+
+
+ProgressBox::ProgressBox( QWidget *parent, QObject *part )
+ : QLabel( parent, "ProgressBox" )
+{
+ hide();
+
+ setAlignment( Qt::AlignCenter );
+ setFont( KGlobalSettings::fixedFont() );
+ setSizePolicy( QSizePolicy::Minimum, QSizePolicy::Fixed );
+
+ setText( 999999 );
+ setMinimumWidth( sizeHint().width() );
+
+ connect( &m_timer, SIGNAL(timeout()), SLOT(report()) );
+ connect( part, SIGNAL(started( KIO::Job* )), SLOT(start()) );
+ connect( part, SIGNAL(completed()), SLOT(stop()) );
+ connect( part, SIGNAL(canceled( const QString& )), SLOT(halt()) );
+}
+
+void
+ProgressBox::start() //slot
+{
+ m_timer.start( 50 ); //20 times per second - very smooth
+ report();
+ show();
+}
+
+void
+ProgressBox::report() //slot
+{
+ setText( Filelight::ScanManager::files() );
+}
+
+void
+ProgressBox::stop()
+{
+ m_timer.stop();
+}
+
+void
+ProgressBox::halt()
+{
+ // canceled by stop button
+ m_timer.stop();
+ QTimer::singleShot( 2000, this, SLOT(hide()) );
+}
+
+void
+ProgressBox::setText( int files )
+{
+ QLabel::setText( i18n("%n File", "%n Files", files) );
+}
+
+#include "progressBox.moc"
diff --git a/src/part/progressBox.h b/src/part/progressBox.h
new file mode 100644
index 0000000..17cc2a6
--- /dev/null
+++ b/src/part/progressBox.h
@@ -0,0 +1,32 @@
+//Author: Max Howell <max.howell@methylblue.com>, (C) 2003-4
+//Copyright: See COPYING file that comes with this distribution
+
+#ifndef PROGRESSBOX_H
+#define PROGRESSBOX_H
+
+#include <qlabel.h>
+#include <qtimer.h>
+
+namespace KIO { class Job; }
+
+
+class ProgressBox : public QLabel
+{
+Q_OBJECT
+
+public:
+ ProgressBox( QWidget*, QObject* );
+
+ void setText( int );
+
+public slots:
+ void start();
+ void report();
+ void stop();
+ void halt();
+
+private:
+ QTimer m_timer;
+};
+
+#endif
diff --git a/src/part/radialMap/Makefile.am b/src/part/radialMap/Makefile.am
new file mode 100644
index 0000000..989cbe1
--- /dev/null
+++ b/src/part/radialMap/Makefile.am
@@ -0,0 +1,4 @@
+INCLUDES = -I$(top_srcdir)/src/part $(all_includes)
+METASOURCES = AUTO
+noinst_LTLIBRARIES = libradialmap.la
+libradialmap_la_SOURCES = widget.cpp builder.cpp map.cpp widgetEvents.cpp labels.cpp segmentTip.cpp
diff --git a/src/part/radialMap/builder.cpp b/src/part/radialMap/builder.cpp
new file mode 100644
index 0000000..68dc382
--- /dev/null
+++ b/src/part/radialMap/builder.cpp
@@ -0,0 +1,141 @@
+//Author: Max Howell <max.howell@methylblue.com>, (C) 2003-4
+//Copyright: See COPYING file that comes with this distribution
+
+#include "builder.h"
+#include "Config.h"
+#include "fileTree.h"
+#include <kglobal.h> //locale object
+#include <klocale.h>
+#include "widget.h"
+
+
+//**** REMOVE NEED FOR the +1 with MAX_RING_DEPTH uses
+//**** add some angle bounds checking (possibly in Segment ctor? can I delete in a ctor?)
+//**** this class is a mess
+
+RadialMap::Builder::Builder( RadialMap::Map *m, const Directory* const d, bool fast )
+ : m_map( m )
+ , m_root( d )
+ , m_minSize( static_cast<unsigned int>((d->size() * 3) / (PI * m->height() - m->MAP_2MARGIN )) )
+ , m_depth( &m->m_visibleDepth )
+{
+ m_signature = new Chain<Segment> [*m_depth + 1];
+
+ if( !fast )//|| *m_depth == 0 ) //depth 0 is special case usability-wise //**** WHY?!
+ {
+ //determine depth rather than use old one
+ findVisibleDepth( d ); //sets m_depth
+ }
+
+ m_map->setRingBreadth();
+ setLimits( m_map->m_ringBreadth );
+ build( d );
+
+ m_map->m_signature = m_signature;
+
+ delete [] m_limits;
+}
+
+
+void
+RadialMap::Builder::findVisibleDepth( const Directory* const dir, const unsigned int depth )
+{
+ //**** because I don't use the same minimumSize criteria as in the visual function
+ // this can lead to incorrect visual representation
+ //**** BUT, you can't set those limits until you know m_depth!
+
+ //**** also this function doesn't check to see if anything is actually visible
+ // it just assumes that when it reaches a new level everything in it is visible
+ // automatically. This isn't right especially as there might be no files in the
+ // dir provided to this function!
+
+ static uint stopDepth = 0;
+
+ if( dir == m_root )
+ {
+ stopDepth = *m_depth;
+ *m_depth = 0;
+ }
+
+ if( *m_depth < depth ) *m_depth = depth;
+ if( *m_depth >= stopDepth ) return;
+
+ for( ConstIterator<File> it = dir->constIterator(); it != dir->end(); ++it )
+ if( (*it)->isDirectory() && (*it)->size() > m_minSize )
+ findVisibleDepth( (Directory *)*it, depth + 1 ); //if no files greater than min size the depth is still recorded
+}
+
+void
+RadialMap::Builder::setLimits( const uint &b ) //b = breadth?
+{
+ double size3 = m_root->size() * 3;
+ double pi2B = PI * 2 * b;
+
+ m_limits = new uint [*m_depth + 1]; //FIXME delete!
+
+ for( unsigned int d = 0; d <= *m_depth; ++d )
+ m_limits[d] = (uint)(size3 / (double)(pi2B * (d + 1))); //min is angle that gives 3px outer diameter for that depth
+}
+
+
+//**** segments currently overlap at edges (i.e. end of first is start of next)
+bool
+RadialMap::Builder::build( const Directory* const dir, const unsigned int depth, unsigned int a_start, const unsigned int a_end )
+{
+ //first iteration: dir == m_root
+
+ if( dir->children() == 0 ) //we do fileCount rather than size to avoid chance of divide by zero later
+ return false;
+
+ uint hiddenSize = 0, hiddenFileCount = 0;
+
+ for( ConstIterator<File> it = dir->constIterator(); it != dir->end(); ++it )
+ {
+ if( (*it)->size() > m_limits[depth] )
+ {
+ unsigned int a_len = (unsigned int)(5760 * ((double)(*it)->size() / (double)m_root->size()));
+
+ Segment *s = new Segment( *it, a_start, a_len );
+
+ (m_signature + depth)->append( s );
+
+ if( (*it)->isDirectory() )
+ {
+ if( depth != *m_depth )
+ {
+ //recurse
+ s->m_hasHiddenChildren = build( (Directory*)*it, depth + 1, a_start, a_start + a_len );
+ }
+ else s->m_hasHiddenChildren = true;
+ }
+
+ a_start += a_len; //**** should we add 1?
+
+ } else {
+
+ hiddenSize += (*it)->size();
+
+ if( (*it)->isDirectory() ) //**** considered virtual, but dir wouldn't count itself!
+ hiddenFileCount += static_cast<const Directory*>(*it)->children(); //need to add one to count the dir as well
+
+ ++hiddenFileCount;
+ }
+ }
+
+ if( hiddenFileCount == dir->children() && !Config::showSmallFiles )
+ return true;
+
+ else if( (Config::showSmallFiles && hiddenSize > m_limits[depth]) || (depth == 0 && (hiddenSize > dir->size()/8)) /*|| > size() * 0.75*/ )
+ {
+ //append a segment for unrepresented space - a "fake" segment
+
+ // I dunno how to i18n this
+ const QString s = i18n( "There can't ever be only 1 file", "%1 files, each about %2" )
+ .arg( hiddenFileCount )
+ .arg( File::humanReadableSize( hiddenSize/hiddenFileCount ) );
+
+ (m_signature + depth)->append( new Segment( new File( s.local8Bit(), hiddenSize ), a_start, a_end - a_start, true ) );
+ }
+
+ return false;
+}
diff --git a/src/part/radialMap/builder.h b/src/part/radialMap/builder.h
new file mode 100644
index 0000000..819813a
--- /dev/null
+++ b/src/part/radialMap/builder.h
@@ -0,0 +1,38 @@
+//Author: Max Howell <max.howell@methylblue.com>, (C) 2003-4
+//Copyright: See COPYING file that comes with this distribution
+
+#ifndef BUILDER_H
+#define BUILDER_H
+
+#include "radialMap.h" //Segment, defines
+
+template <class T> class Chain;
+class Directory;
+
+
+namespace RadialMap
+{
+ class Map;
+
+ //temporary class that builds the Map signature
+
+ class Builder
+ {
+ public:
+ Builder( Map*, const Directory* const, bool fast=false );
+
+ private:
+ void findVisibleDepth( const Directory* const dir, const uint=0 );
+ void setLimits( const uint& );
+ bool build( const Directory* const, const uint=0, uint=0, const uint=5760 );
+
+ Map *m_map;
+ const Directory* const m_root;
+ const uint m_minSize;
+ uint *m_depth;
+ Chain<Segment> *m_signature;
+ uint *m_limits;
+ };
+}
+
+#endif
diff --git a/src/part/radialMap/labels.cpp b/src/part/radialMap/labels.cpp
new file mode 100644
index 0000000..73a7ba8
--- /dev/null
+++ b/src/part/radialMap/labels.cpp
@@ -0,0 +1,327 @@
+//Author: Max Howell <max.howell@methylblue.com>, (C) 2003-4
+//Copyright: See COPYING file that comes with this distribution
+
+#include <kstringhandler.h>
+#include <qfont.h>
+#include <qfontmetrics.h>
+#include <qpainter.h>
+#include <qptrlist.h>
+
+#include "Config.h"
+#include "fileTree.h"
+#include "radialMap.h"
+#include "sincos.h"
+#include "widget.h"
+
+
+
+namespace RadialMap
+{
+ struct Label
+ {
+ Label( const RadialMap::Segment *s, int l ) : segment( s ), lvl( l ), a( segment->start() + (segment->length() / 2) ) { }
+
+ bool tooClose( const int &aa ) const { return ( a > aa - LABEL_ANGLE_MARGIN && a < aa + LABEL_ANGLE_MARGIN ); }
+
+ const RadialMap::Segment *segment;
+ const unsigned int lvl;
+ const int a;
+
+ int x1, y1, x2, y2, x3;
+ int tx, ty;
+
+ QString qs;
+ };
+
+ class LabelList : public QPtrList<Label>
+ {
+ protected:
+ int compareItems( QPtrCollection::Item item1, QPtrCollection::Item item2 )
+ {
+ //you add 1440 to work round the fact that later you want the circle split vertically
+ //and as it is you start at 3 o' clock. It's to do with rightPrevY, stops annoying bug
+
+ int a1 = ((Label*)item1)->a + 1440;
+ int a2 = ((Label*)item2)->a + 1440;
+
+ if( a1 == a2 )
+ return 0;
+
+ if( a1 > 5760 ) a1 -= 5760;
+ if( a2 > 5760 ) a2 -= 5760;
+
+ if( a1 > a2 )
+ return 1;
+
+ return -1;
+ }
+ };
+}
+
+
+void
+RadialMap::Widget::paintExplodedLabels( QPainter &paint ) const
+{
+ //we are a friend of RadialMap::Map
+
+ LabelList list; list.setAutoDelete( true );
+ QPtrListIterator<Label> it( list );
+ unsigned int startLevel = 0;
+
+
+ //1. Create list of labels sorted in the order they will be rendered
+
+ if( m_focus && m_focus->file() != m_tree ) //separate behavior for selected vs unselected segments
+ {
+ //don't bother with files
+ if( m_focus->file() && !m_focus->file()->isDirectory() )
+ return;
+
+ //find the range of levels we will be potentially drawing labels for
+ //startLevel is the level above whatever m_focus is in
+ for( const Directory *p = (const Directory*)m_focus->file(); p != m_tree; ++startLevel )
+ p = p->parent();
+
+ //range=2 means 2 levels to draw labels for
+
+ unsigned int a1, a2, minAngle;
+
+ a1 = m_focus->start();
+ a2 = m_focus->end(); //boundry angles
+ minAngle = int(m_focus->length() * LABEL_MIN_ANGLE_FACTOR);
+
+
+ #define segment (*it)
+ #define ring (m_map.m_signature + i)
+
+ //**** Levels should be on a scale starting with 0
+ //**** range is a useless parameter
+ //**** keep a topblock var which is the lowestLevel OR startLevel for identation purposes
+ for( unsigned int i = startLevel; i <= m_map.m_visibleDepth; ++i )
+ for( Iterator<Segment> it = ring->iterator(); it != ring->end(); ++it )
+ if( segment->start() >= a1 && segment->end() <= a2 )
+ if( segment->length() > minAngle )
+ list.inSort( new Label( segment, i ) );
+
+ #undef ring
+ #undef segment
+
+ } else {
+
+ #define ring m_map.m_signature
+
+ for( Iterator<Segment> it = ring->iterator(); it != ring->end(); ++it )
+ if( (*it)->length() > 288 )
+ list.inSort( new Label( (*it), 0 ) );
+
+ #undef ring
+
+ }
+
+ //2. Check to see if any adjacent labels are too close together
+ // if so, remove the least significant labels
+
+ it.toFirst();
+ QPtrListIterator<Label> jt( it );
+ ++jt;
+
+ while( jt ) //**** no need to check _it_ as jt will be NULL if _it_ was too
+ {
+ //this method is fairly efficient
+
+ if( (*it)->tooClose( (*jt)->a ) ) {
+ if( (*it)->lvl > (*jt)->lvl ) {
+ list.remove( *it );
+ it = jt;
+ }
+ else
+ list.remove( *jt );
+ }
+ else
+ ++it;
+
+ jt = it;
+ ++jt;
+ }
+
+ //used in next two steps
+ bool varySizes;
+ //**** should perhaps use doubles
+ int *sizes = new int [ m_map.m_visibleDepth + 1 ]; //**** make sizes an array of floats I think instead (or doubles)
+
+ do
+ {
+ //3. Calculate font sizes
+
+ {
+ //determine current range of levels to draw for
+ uint range = 0;
+
+ for( it.toFirst(); it != 0; ++it )
+ {
+ uint lvl = (*it)->lvl;
+ if( lvl > range )
+ range = lvl;
+
+ //**** better way would just be to assign if nothing is range
+ }
+
+ range -= startLevel; //range 0 means 1 level of labels
+
+ varySizes = Config::varyLabelFontSizes && (range != 0);
+
+ if( varySizes )
+ {
+ //create an array of font sizes for various levels
+ //will exceed normal font pitch automatically if necessary, but not minPitch
+ //**** this needs to be checked lots
+
+ //**** what if this is negative (min size gtr than default size)
+ uint step = (paint.font().pointSize() - Config::minFontPitch) / range;
+ if( step == 0 )
+ step = 1;
+
+ for( uint x = range + startLevel, y = Config::minFontPitch; x >= startLevel; y += step, --x )
+ sizes[x] = y;
+ }
+ }
+
+ //4. determine label co-ordinates
+
+ int x1, y1, x2, y2, x3, tx, ty; //coords
+ double sinra, cosra, ra; //angles
+
+ int cx = m_map.width() / 2 + m_offset.x(); //centre relative to canvas
+ int cy = m_map.height() / 2 + m_offset.y();
+
+ int spacer, preSpacer = int(m_map.m_ringBreadth * 0.5) + m_map.m_innerRadius;
+ int fullStrutLength = ( m_map.width() - m_map.MAP_2MARGIN ) / 2 + LABEL_MAP_SPACER; //full length of a strut from map center
+
+ int prevLeftY = 0;
+ int prevRightY = height();
+
+ bool rightSide;
+
+ QFont font;
+
+ for( it.toFirst(); it != 0; ++it )
+ {
+ //** bear in mind that text is drawn with QPoint param as BOTTOM left corner of text box
+ QString qs = (*it)->segment->file()->name();
+ if( varySizes )
+ font.setPointSize( sizes[(*it)->lvl] );
+ QFontMetrics fm( font );
+ int fmh = fm.height(); //used to ensure label texts don't overlap
+ int fmhD4 = fmh / 4;
+
+ fmh += LABEL_TEXT_VMARGIN;
+
+ rightSide = ( (*it)->a < 1440 || (*it)->a > 4320 );
+
+ ra = M_PI/2880 * (*it)->a; //convert to radians
+ sincos( ra, &sinra, &cosra );
+
+
+ spacer = preSpacer + m_map.m_ringBreadth * (*it)->lvl;
+
+ x1 = cx + (int)(cosra * spacer);
+ y1 = cy - (int)(sinra * spacer);
+ y2 = y1 - (int)(sinra * (fullStrutLength - spacer));
+
+ if( rightSide ) { //righthand side, going upwards
+ if( y2 > prevRightY /*- fmh*/ ) //then it is too low, needs to be drawn higher
+ y2 = prevRightY /*- fmh*/;
+ }
+ else //lefthand side, going downwards
+ if( y2 < prevLeftY/* + fmh*/ ) //then we're too high, need to be drawn lower
+ y2 = prevLeftY /*+ fmh*/;
+
+ x2 = x1 - int(double(y2 - y1) / tan( ra ));
+ ty = y2 + fmhD4;
+
+
+ if( rightSide ) {
+ if( x2 > width() || ty < fmh || x2 < x1 ) {
+ //skip this strut
+ //**** don't duplicate this code
+ list.remove( *it ); //will delete the label and set it to list.current() which _should_ be the next ptr
+ break;
+ }
+
+ prevRightY = ty - fmh - fmhD4; //must be after above's "continue"
+
+ qs = KStringHandler::cPixelSqueeze( qs, fm, width() - x2 );
+
+ x3 = width() - fm.width( qs )
+ - LABEL_HMARGIN //outer margin
+ - LABEL_TEXT_HMARGIN //margin between strut and text
+ //- ((*it)->lvl - startLevel) * LABEL_HMARGIN; //indentation
+ ;
+ if( x3 < x2 ) x3 = x2;
+ tx = x3 + LABEL_TEXT_HMARGIN;
+
+ } else {
+
+ if( x2 < 0 || ty > height() || x2 > x1 )
+ {
+ //skip this strut
+ list.remove( *it ); //will delete the label and set it to list.current() which _should_ be the next ptr
+ break;
+ }
+
+ prevLeftY = ty + fmh - fmhD4;
+
+ qs = KStringHandler::cPixelSqueeze( qs, fm, x2 );
+
+ //**** needs a little tweaking:
+
+ tx = fm.width( qs ) + LABEL_HMARGIN/* + ((*it)->lvl - startLevel) * LABEL_HMARGIN*/;
+ if( tx > x2 ) { //text is too long
+ tx = LABEL_HMARGIN + x2 - tx; //some text will be lost from sight
+ x3 = x2; //no text margin (right side of text here)
+ } else {
+ x3 = tx + LABEL_TEXT_HMARGIN;
+ tx = LABEL_HMARGIN /*+ ((*it)->lvl - startLevel) * LABEL_HMARGIN*/;
+ }
+ }
+
+ (*it)->x1 = x1;
+ (*it)->y1 = y1;
+ (*it)->x2 = x2;
+ (*it)->y2 = y2;
+ (*it)->x3 = x3;
+ (*it)->tx = tx;
+ (*it)->ty = ty;
+ (*it)->qs = qs;
+ }
+
+ //if an element is deleted at this stage, we need to do this whole
+ //iteration again, thus the following loop
+ //**** in rare case that deleted label was last label in top level
+ // and last in labelList too, this will not work as expected (not critical)
+
+ } while( it != 0 );
+
+
+ //5. Render labels
+
+ paint.setPen( QPen( Qt::black, 1 ) );
+
+ for( it.toFirst(); it != 0; ++it )
+ {
+ if( varySizes ) {
+ //**** how much overhead in making new QFont each time?
+ // (implicate sharing remember)
+ QFont font = paint.font();
+ font.setPointSize( sizes[(*it)->lvl] );
+ paint.setFont( font );
+ }
+
+ paint.drawEllipse( (*it)->x1 - 3, (*it)->y1 - 3, 7, 7 ); //**** CPU intensive! better to use a pixmap
+ paint.drawLine( (*it)->x1, (*it)->y1, (*it)->x2, (*it)->y2 );
+ paint.drawLine( (*it)->x2, (*it)->y2, (*it)->x3, (*it)->y2);
+ paint.drawText( (*it)->tx, (*it)->ty, (*it)->qs );
+ }
+
+ delete [] sizes;
+}
diff --git a/src/part/radialMap/map.cpp b/src/part/radialMap/map.cpp
new file mode 100644
index 0000000..8eb8f02
--- /dev/null
+++ b/src/part/radialMap/map.cpp
@@ -0,0 +1,442 @@
+//Author: Max Howell <max.howell@methylblue.com>, (C) 2003-4
+//Copyright: See COPYING file that comes with this distribution
+
+#include <kcursor.h> //make()
+#include <kglobalsettings.h> //kdeColours
+#include <kimageeffect.h> //desaturate()
+#include <qapplication.h> //make()
+#include <qimage.h> //make() & paint()
+#include <qfont.h> //ctor
+#include <qfontmetrics.h> //ctor
+#include <qpainter.h>
+
+#include "builder.h"
+#include "Config.h"
+#include "debug.h"
+#include "fileTree.h"
+#define SINCOS_H_IMPLEMENTATION (1)
+#include "sincos.h"
+#include "widget.h"
+
+#define COLOR_GREY QColor( 0, 0, 140, QColor::Hsv )
+
+
+RadialMap::Map::Map()
+ : m_signature( 0 )
+ , m_ringBreadth( MIN_RING_BREADTH )
+ , m_innerRadius( 0 )
+ , m_visibleDepth( DEFAULT_RING_DEPTH )
+{
+ //FIXME this is all broken. No longer is a maximum depth!
+ const int fmh = QFontMetrics( QFont() ).height();
+ const int fmhD4 = fmh / 4;
+ MAP_2MARGIN = 2 * ( fmh - (fmhD4 - LABEL_MAP_SPACER) ); //margin is dependent on fitting in labels at top and bottom
+}
+
+RadialMap::Map::~Map()
+{
+ delete [] m_signature;
+}
+
+void
+RadialMap::Map::invalidate( const bool desaturateTheImage )
+{
+ DEBUG_ANNOUNCE
+
+ delete [] m_signature;
+ m_signature = 0;
+
+ if( desaturateTheImage )
+ {
+ QImage img = this->convertToImage();
+
+ KImageEffect::desaturate( img, 0.7 );
+ KImageEffect::toGray( img, true );
+
+ this->convertFromImage( img );
+ }
+
+ m_visibleDepth = Config::defaultRingDepth;
+}
+
+void
+RadialMap::Map::make( const Directory *tree, bool refresh )
+{
+ DEBUG_ANNOUNCE
+
+ //**** determineText seems pointless optimisation
+ // but is it good to keep the text consistent?
+ // even if it makes it a lie?
+
+ //slow operation so set the wait cursor
+ QApplication::setOverrideCursor( KCursor::waitCursor() );
+
+ {
+ //build a signature of visible components
+ delete [] m_signature;
+ Builder builder( this, tree, refresh );
+ }
+
+ //colour the segments
+ colorise();
+
+ //determine centerText
+ if( !refresh )
+ {
+ int i;
+ for( i = 2; i > 0; --i )
+ if( tree->size() > File::DENOMINATOR[i] )
+ break;
+
+ m_centerText = tree->humanReadableSize( (File::UnitPrefix)i );
+ }
+
+ //paint the pixmap
+ aaPaint();
+
+ QApplication::restoreOverrideCursor();
+}
+
+void
+RadialMap::Map::setRingBreadth()
+{
+ DEBUG_ANNOUNCE
+
+ //FIXME called too many times on creation
+
+ m_ringBreadth = (height() - MAP_2MARGIN) / (2 * m_visibleDepth + 4);
+
+ if( m_ringBreadth < MIN_RING_BREADTH )
+ m_ringBreadth = MIN_RING_BREADTH;
+
+ else if( m_ringBreadth > MAX_RING_BREADTH )
+ m_ringBreadth = MAX_RING_BREADTH;
+}
+
+bool
+RadialMap::Map::resize( const QRect &rect )
+{
+ DEBUG_ANNOUNCE
+
+ //there's a MAP_2MARGIN border
+
+ #define mw width()
+ #define mh height()
+ #define cw rect.width()
+ #define ch rect.height()
+
+ if( cw < mw || ch < mh || (cw > mw && ch > mh) )
+ {
+ uint size = (( cw < ch ) ? cw : ch) - MAP_2MARGIN;
+
+ //this also causes uneven sizes to always resize when resizing but map is small in that dimension
+ //size -= size % 2; //even sizes mean less staggered non-antialiased resizing
+
+ {
+ const uint minSize = MIN_RING_BREADTH * 2 * (m_visibleDepth + 2);
+ const uint mD2 = MAP_2MARGIN / 2;
+
+ if( size < minSize ) size = minSize;
+
+ //this QRect is used by paint()
+ m_rect.setRect( mD2, mD2, size, size );
+ }
+
+ //resize the pixmap
+ size += MAP_2MARGIN;
+ KPixmap::resize( size, size );
+
+ // for summary widget this is a good optimisation as it happens
+ if (KPixmap::isNull())
+ return false;
+
+ if( m_signature != 0 )
+ {
+ setRingBreadth();
+ paint();
+ }
+ else fill(); //FIXME I don't like having to do this..
+
+ return true;
+ }
+
+ #undef mw
+ #undef mh
+ #undef cw
+ #undef ch
+
+ return false;
+}
+
+void
+RadialMap::Map::colorise()
+{
+ DEBUG_ANNOUNCE
+
+ QColor cp, cb;
+ double darkness = 1;
+ double contrast = (double)Config::contrast / (double)100;
+ int h, s1, s2, v1, v2;
+
+ QColor kdeColour[2] = { KGlobalSettings::inactiveTitleColor(), KGlobalSettings::activeTitleColor() };
+
+ double deltaRed = (double)(kdeColour[0].red() - kdeColour[1].red()) / 2880; //2880 for semicircle
+ double deltaGreen = (double)(kdeColour[0].green() - kdeColour[1].green()) / 2880;
+ double deltaBlue = (double)(kdeColour[0].blue() - kdeColour[1].blue()) / 2880;
+
+ for( uint i = 0; i <= m_visibleDepth; ++i, darkness += 0.04 )
+ {
+ for( Iterator<Segment> it = m_signature[i].iterator(); it != m_signature[i].end(); ++it )
+ {
+ switch( Config::scheme )
+ {
+ case 2000: //HACK for summary view
+
+ if( (*it)->file()->name() == "Used" ) {
+ cb = QApplication::palette().active().color( QColorGroup::Highlight );
+ cb.getHsv( &h, &s1, &v1 );
+
+ if( s1 > 80 )
+ s1 = 80;
+
+ v2 = v1 - int(contrast * v1);
+ s2 = s1 + int(contrast * (255 - s1));
+
+ cb.setHsv( h, s1, v1 );
+ cp.setHsv( h, s2, v2 );
+ }
+ else {
+ cp = Qt::gray;
+ cb = Qt::white;
+ }
+
+ (*it)->setPalette( cp, cb );
+
+ continue;
+
+ case Filelight::KDE:
+ {
+ //gradient will work by figuring out rgb delta values for 360 degrees
+ //then each component is angle*delta
+
+ int a = (*it)->start();
+
+ if( a > 2880 ) a = 2880 - (a - 2880);
+
+ h = (int)(deltaRed * a) + kdeColour[1].red();
+ s1 = (int)(deltaGreen * a) + kdeColour[1].green();
+ v1 = (int)(deltaBlue * a) + kdeColour[1].blue();
+
+ cb.setRgb( h, s1, v1 );
+ cb.getHsv( &h, &s1, &v1 );
+
+ break;
+ }
+
+ case Filelight::HighContrast:
+
+ cp.setHsv( 0, 0, 0 ); //values of h, s and v are irrelevant
+ cb.setHsv( 180, 0, int(255.0 * contrast) );
+ (*it)->setPalette( cp, cb );
+ continue;
+
+ default:
+ h = int((*it)->start() / 16);
+ s1 = 160;
+ v1 = (int)(255.0 / darkness); //****doing this more often than once seems daft!
+ }
+
+ v2 = v1 - int(contrast * v1);
+ s2 = s1 + int(contrast * (255 - s1));
+
+ if( s1 < 80 ) s1 = 80; //can fall too low and makes contrast between the files hard to discern
+
+ if( (*it)->isFake() ) //multi-file
+ {
+ cb.setHsv( h, s2, (v2 < 90) ? 90 : v2 ); //too dark if < 100
+ cp.setHsv( h, 17, v1 );
+ }
+ else if( !(*it)->file()->isDirectory() ) //file
+ {
+ cb.setHsv( h, 17, v1 );
+ cp.setHsv( h, 17, v2 );
+ }
+ else //directory
+ {
+ cb.setHsv( h, s1, v1 ); //v was 225
+ cp.setHsv( h, s2, v2 ); //v was 225 - delta
+ }
+
+ (*it)->setPalette( cp, cb );
+
+ //**** may be better to store KDE colours as H and S and vary V as others
+ //**** perhaps make saturation difference for s2 dependent on contrast too
+ //**** fake segments don't work with highContrast
+ //**** may work better with cp = cb rather than Qt::white
+ //**** you have to ensure the grey of files is sufficient, currently it works only with rainbow (perhaps use contrast there too)
+ //**** change v1,v2 to vp, vb etc.
+ //**** using percentages is not strictly correct as the eye doesn't work like that
+ //**** darkness factor is not done for kde_colour scheme, and also value for files is incorrect really for files in this scheme as it is not set like rainbow one is
+ }
+ }
+}
+
+void
+RadialMap::Map::aaPaint()
+{
+ //paint() is called during continuous processes
+ //aaPaint() is not and is slower so set overidecursor (make sets it too)
+ QApplication::setOverrideCursor( KCursor::waitCursor() );
+ paint( Config::antiAliasFactor );
+ QApplication::restoreOverrideCursor();
+}
+
+void
+RadialMap::Map::paint( unsigned int scaleFactor )
+{
+ DEBUG_ANNOUNCE
+
+ if (scaleFactor == 0) //just in case
+ scaleFactor = 1;
+
+ QPainter paint;
+ QRect rect = m_rect;
+ int step = m_ringBreadth;
+ int excess = -1;
+
+ //scale the pixmap, or do intelligent distribution of excess to prevent nasty resizing
+ if( scaleFactor > 1 )
+ {
+ int x1, y1, x2, y2;
+ rect.coords( &x1, &y1, &x2, &y2 );
+ x1 *= scaleFactor;
+ y1 *= scaleFactor;
+ x2 *= scaleFactor;
+ y2 *= scaleFactor;
+ rect.setCoords( x1, y1, x2, y2 );
+
+ step *= scaleFactor;
+ KPixmap::resize( this->size() * (int)scaleFactor );
+ }
+ else if( m_ringBreadth != MAX_RING_BREADTH && m_ringBreadth != MIN_RING_BREADTH ) {
+ excess = rect.width() % m_ringBreadth;
+ ++step;
+ }
+
+ //**** best option you can think of is to make the circles slightly less perfect,
+ // ** i.e. slightly eliptic when resizing inbetween
+
+ if (KPixmap::isNull())
+ return;
+
+ paint.begin( this );
+
+ fill(); //erase background
+
+ for( int x = m_visibleDepth; x >= 0; --x )
+ {
+ int width = rect.width() / 2;
+ //clever geometric trick to find largest angle that will give biggest arrow head
+ int a_max = int(acos( (double)width / double((width + 5) * scaleFactor) ) * (180*16 / M_PI));
+
+ for( ConstIterator<Segment> it = m_signature[x].constIterator(); it != m_signature[x].end(); ++it )
+ {
+ //draw the pie segments, most of this code is concerned with drawing the little
+ //arrows on the ends of segments when they have hidden files
+
+ paint.setPen( (*it)->pen() );
+
+ if( (*it)->hasHiddenChildren() )
+ {
+ //draw arrow head to indicate undisplayed files/directories
+ QPointArray pts( 3 );
+ QPoint pos, cpos = rect.center();
+ int a[3] = { (*it)->start(), (*it)->length(), 0 };
+
+ a[2] = a[0] + (a[1] / 2); //assign to halfway between
+ if( a[1] > a_max )
+ {
+ a[1] = a_max;
+ a[0] = a[2] - a_max / 2;
+ }
+
+ a[1] += a[0];
+
+ for( int i = 0, radius = width; i < 3; ++i )
+ {
+ double ra = M_PI/(180*16) * a[i], sinra, cosra;
+
+ if( i == 2 )
+ radius += 5 * scaleFactor;
+ sincos( ra, &sinra, &cosra );
+ pos.rx() = cpos.x() + static_cast<int>(cosra * radius);
+ pos.ry() = cpos.y() - static_cast<int>(sinra * radius);
+ pts.setPoint( i, pos );
+ }
+
+ paint.setBrush( (*it)->pen() );
+ paint.drawPolygon( pts );
+ }
+
+ paint.setBrush( (*it)->brush() );
+ paint.drawPie( rect, (*it)->start(), (*it)->length() );
+
+ if( (*it)->hasHiddenChildren() )
+ {
+ //**** code is bloated!
+ paint.save();
+ QPen pen = paint.pen();
+ int width = 2 * scaleFactor;
+ pen.setWidth( width );
+ paint.setPen( pen );
+ QRect rect2 = rect;
+ width /= 2;
+ rect2.addCoords( width, width, -width, -width );
+ paint.drawArc( rect2, (*it)->start(), (*it)->length() );
+ paint.restore();
+ }
+ }
+
+ if( excess >= 0 ) { //excess allows us to resize more smoothly (still crud tho)
+ if( excess < 2 ) //only decrease rect by more if even number of excesses left
+ --step;
+ excess -= 2;
+ }
+
+ rect.addCoords( step, step, -step, -step );
+ }
+
+ // if( excess > 0 ) rect.addCoords( excess, excess, 0, 0 ); //ugly
+
+ paint.setPen( COLOR_GREY );
+ paint.setBrush( Qt::white );
+ paint.drawEllipse( rect );
+
+ if( scaleFactor > 1 )
+ {
+ //have to end in order to smoothscale()
+ paint.end();
+
+ int x1, y1, x2, y2;
+ rect.coords( &x1, &y1, &x2, &y2 );
+ x1 /= scaleFactor;
+ y1 /= scaleFactor;
+ x2 /= scaleFactor;
+ y2 /= scaleFactor;
+ rect.setCoords( x1, y1, x2, y2 );
+
+ QImage img = this->convertToImage();
+ img = img.smoothScale( this->size() / (int)scaleFactor );
+ this->convertFromImage( img );
+
+ paint.begin( this );
+ paint.setPen( COLOR_GREY );
+ paint.setBrush( Qt::white );
+ }
+
+ paint.drawText( rect, Qt::AlignCenter, m_centerText );
+
+ m_innerRadius = rect.width() / 2; //rect.width should be multiple of 2
+
+ paint.end();
+}
diff --git a/src/part/radialMap/radialMap.h b/src/part/radialMap/radialMap.h
new file mode 100644
index 0000000..5023b89
--- /dev/null
+++ b/src/part/radialMap/radialMap.h
@@ -0,0 +1,72 @@
+//Author: Max Howell <max.howell@methylblue.com>, (C) 2003-4
+//Copyright: See COPYING file that comes with this distribution
+
+#ifndef RADIALMAP_H
+#define RADIALMAP_H
+
+#include <qcolor.h>
+
+class File;
+
+
+namespace RadialMap
+{
+ class Segment //all angles are in 16ths of degrees
+ {
+ public:
+ Segment( const File *f, uint s, uint l, bool isFake = false )
+ : m_angleStart( s )
+ , m_angleSegment( l )
+ , m_file( f )
+ , m_hasHiddenChildren( false )
+ , m_fake( isFake ) {}
+ ~Segment();
+
+ uint start() const { return m_angleStart; }
+ uint length() const { return m_angleSegment; }
+ uint end() const { return m_angleStart + m_angleSegment; }
+ const File *file() const { return m_file; }
+ const QColor& pen() const { return m_pen; }
+ const QColor& brush() const { return m_brush; }
+
+ bool isFake() const { return m_fake; }
+ bool hasHiddenChildren() const { return m_hasHiddenChildren; }
+
+ bool intersects( uint a ) const { return ( ( a >= start() ) && ( a < end() ) ); }
+
+ friend class Map;
+ friend class Builder;
+
+ private:
+ void setPalette( const QColor &p, const QColor &b ) { m_pen = p; m_brush = b; }
+
+ const uint m_angleStart, m_angleSegment;
+ const File* const m_file;
+ QColor m_pen, m_brush;
+ bool m_hasHiddenChildren;
+ const bool m_fake;
+ };
+}
+
+
+#ifndef PI
+#define PI 3.141592653589793
+#endif
+#ifndef M_PI
+#define M_PI 3.14159265358979323846264338327
+#endif
+
+#define MIN_RING_BREADTH 20
+#define MAX_RING_BREADTH 60
+#define DEFAULT_RING_DEPTH 4 //first level = 0
+#define MIN_RING_DEPTH 0
+
+#define LABEL_MAP_SPACER 7
+#define LABEL_HMARGIN 10
+#define LABEL_TEXT_HMARGIN 5
+#define LABEL_TEXT_VMARGIN 0
+#define LABEL_ANGLE_MARGIN 32
+#define LABEL_MIN_ANGLE_FACTOR 0.05
+#define LABEL_MAX_CHARS 30
+
+#endif
diff --git a/src/part/radialMap/segmentTip.cpp b/src/part/radialMap/segmentTip.cpp
new file mode 100644
index 0000000..f73e845
--- /dev/null
+++ b/src/part/radialMap/segmentTip.cpp
@@ -0,0 +1,186 @@
+//Author: Max Howell <max.howell@methylblue.com>, (C) 2003-4
+//Copyright: See COPYING file that comes with this distribution
+
+#include "fileTree.h"
+#include "segmentTip.h"
+
+#include <cstdlib>
+#include <kapplication.h> //installing eventFilters
+#include <kglobal.h>
+#include <kglobalsettings.h>
+#include <klocale.h>
+#include <kpixmapeffect.h>
+#include <qpainter.h>
+#include <qtooltip.h> //for its palette
+
+
+
+namespace RadialMap {
+
+
+bool isBackingStoreActive()
+{
+ // # xdpyinfo | grep backing
+ // options: backing-store YES, save-unders YES
+
+ char buffer[4096];
+ FILE *xdpyinfo = popen( "xdpyinfo", "r" );
+ int const N = fread( (void*)buffer, sizeof(char), 4096, xdpyinfo );
+ buffer[ N ] = '\0';
+ pclose( xdpyinfo );
+
+ return QString::fromLocal8Bit( buffer ).contains( "backing-store YES" );
+}
+
+
+SegmentTip::SegmentTip( uint h )
+ : QWidget( 0, 0, WNoAutoErase | WStyle_Customize | WStyle_NoBorder | WStyle_Tool | WStyle_StaysOnTop | WX11BypassWM )
+ , m_cursorHeight( -h )
+ , m_backing_store( isBackingStoreActive() )
+{
+ setBackgroundMode( Qt::NoBackground );
+}
+
+void
+SegmentTip::moveTo( QPoint p, const QWidget &canvas, bool placeAbove )
+{
+ //**** this function is very slow and seems to be visibly influenced by operations like mapFromGlobal() (who knows why!)
+ // ** so any improvements are much desired
+
+ //TODO uints could improve the class
+ p.rx() -= rect().center().x();
+ p.ry() -= (placeAbove ? 8 + height() : m_cursorHeight - 8);
+
+ const QRect screen = KGlobalSettings::desktopGeometry( parentWidget() );
+
+ const int x = p.x();
+ const int y = p.y();
+ const int x2 = x + width();
+ const int y2 = y + height(); //how's it ever gunna get below screen height?! (well you never know I spose)
+ const int sw = screen.width();
+ const int sh = screen.height();
+
+ if( x < 0 ) p.setX( 0 );
+ if( y < 0 ) p.setY( 0 );
+ if( x2 > sw ) p.rx() -= x2 - sw;
+ if( y2 > sh ) p.ry() -= y2 - sh;
+
+
+ //I'm using this QPoint to determine where to offset the bitBlt in m_pixmap
+ QPoint offset = canvas.mapToGlobal( QPoint() ) - p;
+ if( offset.x() < 0 ) offset.setX( 0 );
+ if( offset.y() < 0 ) offset.setY( 0 );
+
+
+ const QRect alphaMaskRect( canvas.mapFromGlobal( p ), size() );
+ const QRect intersection( alphaMaskRect.intersect( canvas.rect() ) );
+
+ m_pixmap.resize( size() ); //move to updateTip once you are sure it can never be null
+ bitBlt( &m_pixmap, offset, &canvas, intersection, Qt::CopyROP );
+
+ QColor const c = QToolTip::palette().color( QPalette::Active, QColorGroup::Background );
+ if (!m_backing_store)
+ m_pixmap.fill( c );
+
+ QPainter paint( &m_pixmap );
+ paint.setPen( Qt::black );
+ paint.setBrush( Qt::NoBrush );
+ paint.drawRect( rect() );
+ paint.end();
+
+ if (m_backing_store)
+ m_pixmap = KPixmapEffect::fade( m_pixmap, 0.6, c );
+
+ paint.begin( &m_pixmap );
+ paint.drawText( rect(), AlignCenter, m_text );
+ paint.end();
+
+ p += screen.topLeft(); //for Xinerama users
+
+ move( x, y );
+ show();
+ update();
+}
+
+void
+SegmentTip::updateTip( const File* const file, const Directory* const root )
+{
+ const QString s1 = file->fullPath( root );
+ QString s2 = file->humanReadableSize();
+ KLocale *loc = KGlobal::locale();
+ const uint MARGIN = 3;
+ const uint pc = 100 * file->size() / root->size();
+ uint maxw = 0;
+ uint h = fontMetrics().height()*2 + 2*MARGIN;
+
+ if( pc > 0 ) s2 += QString( " (%1%)" ).arg( loc->formatNumber( pc, 0 ) );
+
+ m_text = s1;
+ m_text += '\n';
+ m_text += s2;
+
+ if( file->isDirectory() )
+ {
+ double files = static_cast<const Directory*>(file)->children();
+ const uint pc = uint((100 * files) / (double)root->children());
+ QString s3 = i18n( "Files: %1" ).arg( loc->formatNumber( files, 0 ) );
+
+ if( pc > 0 ) s3 += QString( " (%1%)" ).arg( loc->formatNumber( pc, 0 ) );
+
+ maxw = fontMetrics().width( s3 );
+ h += fontMetrics().height();
+ m_text += '\n';
+ m_text += s3;
+ }
+
+ uint
+ w = fontMetrics().width( s1 ); if( w > maxw ) maxw = w;
+ w = fontMetrics().width( s2 ); if( w > maxw ) maxw = w;
+
+ resize( maxw + 2 * MARGIN, h );
+}
+
+bool
+SegmentTip::event( QEvent *e )
+{
+ switch( e->type() )
+ {
+ case QEvent::Show:
+ kapp->installEventFilter( this );
+ break;
+ case QEvent::Hide:
+ kapp->removeEventFilter( this );
+ break;
+ case QEvent::Paint:
+ {
+ //QPainter( this ).drawPixmap( 0, 0, m_pixmap );
+ bitBlt( this, 0, 0, &m_pixmap );
+ return true;
+ }
+ default:
+ ;
+ }
+
+ return false/*QWidget::event( e )*/;
+}
+
+bool
+SegmentTip::eventFilter( QObject*, QEvent *e )
+{
+ switch ( e->type() )
+ {
+ case QEvent::Leave:
+// case QEvent::MouseButtonPress:
+// case QEvent::MouseButtonRelease:
+ case QEvent::KeyPress:
+ case QEvent::KeyRelease:
+ case QEvent::FocusIn:
+ case QEvent::FocusOut:
+ case QEvent::Wheel:
+ hide(); //FALL THROUGH
+ default:
+ return false; //allow this event to passed to target
+ }
+}
+
+} //namespace RadialMap
diff --git a/src/part/radialMap/segmentTip.h b/src/part/radialMap/segmentTip.h
new file mode 100644
index 0000000..8bc479e
--- /dev/null
+++ b/src/part/radialMap/segmentTip.h
@@ -0,0 +1,34 @@
+// Author: Max Howell <max.howell@methylblue.com>, (C) 2004
+// Copyright: See COPYING file that comes with this distribution
+
+#ifndef SEGMENTTIP_H
+#define SEGMENTTIP_H
+
+#include <kpixmap.h>
+#include <qwidget.h>
+
+class File;
+class Directory;
+
+namespace RadialMap
+{
+ class SegmentTip : public QWidget
+ {
+ public:
+ SegmentTip( uint );
+
+ void updateTip( const File*, const Directory* );
+ void moveTo( QPoint, const QWidget&, bool );
+
+ private:
+ virtual bool eventFilter( QObject*, QEvent* );
+ virtual bool event( QEvent* );
+
+ uint m_cursorHeight;
+ KPixmap m_pixmap;
+ QString m_text;
+ bool m_backing_store;
+ };
+}
+
+#endif
diff --git a/src/part/radialMap/sincos.h b/src/part/radialMap/sincos.h
new file mode 100644
index 0000000..b3d8c9f
--- /dev/null
+++ b/src/part/radialMap/sincos.h
@@ -0,0 +1,25 @@
+//Author: Max Howell <max.howell@methylblue.com>, (C) 2003-4
+//Copyright: See COPYING file that comes with this distribution
+
+#ifndef SINCOS_H
+#define SINCOS_H
+
+#include <math.h>
+
+#if !defined(__GLIBC__) || (__GLIBC__ < 2) || (__GLIBC__ == 2 && __GLIBC_MINOR__ < 1)
+
+ void
+ sincos( int angleRadians, double *Sin, double *Cos );
+
+#ifdef SINCOS_H_IMPLEMENTATION
+ void
+ sincos( int angleRadians, double *Sin, double *Cos )
+ {
+ *Sin = sin( angleRadians );
+ *Cos = cos( angleRadians );
+ }
+#endif
+
+#endif
+
+#endif
diff --git a/src/part/radialMap/widget.cpp b/src/part/radialMap/widget.cpp
new file mode 100644
index 0000000..9c82c53
--- /dev/null
+++ b/src/part/radialMap/widget.cpp
@@ -0,0 +1,187 @@
+//Author: Max Howell <max.howell@methylblue.com>, (C) 2003-4
+//Copyright: See COPYING file that comes with this distribution
+
+#include <kcursor.h> //ctor
+#include <klocale.h>
+#include <kurl.h>
+#include <qapplication.h> //sendEvent
+#include <qbitmap.h> //ctor - finding cursor size
+#include <qcursor.h> //slotPostMouseEvent()
+#include <qtimer.h> //member
+
+#include "Config.h"
+#include "debug.h"
+#include "fileTree.h"
+#include "radialMap.h" //constants
+#include "widget.h"
+
+
+
+RadialMap::Widget::Widget( QWidget *parent, const char *name )
+ : QWidget( parent, name, Qt::WNoAutoErase )
+ , m_tree( 0 )
+ , m_focus( 0 )
+ , m_rootSegment( 0 ) //TODO we don't delete it, *shrug*
+{
+ setAcceptDrops( true );
+ setBackgroundColor( Qt::white );
+ const QBitmap *cursor = KCursor::handCursor().bitmap();
+ m_tip = new SegmentTip(cursor ? cursor->height() : 16);
+
+ connect( this, SIGNAL(created( const Directory* )), SLOT(sendFakeMouseEvent()) );
+ connect( this, SIGNAL(created( const Directory* )), SLOT(update()) );
+ connect( &m_timer, SIGNAL(timeout()), SLOT(resizeTimeout()) );
+}
+
+QString
+RadialMap::Widget::path() const
+{
+ return m_tree->fullPath();
+}
+
+KURL
+RadialMap::Widget::url( File const * const file ) const
+{
+ return KURL::fromPathOrURL( file ? file->fullPath() : m_tree->fullPath() );
+}
+
+void
+RadialMap::Widget::invalidate( const bool b )
+{
+ if( isValid() )
+ {
+ //**** have to check that only way to invalidate is this function frankly
+ //**** otherwise you may get bugs..
+
+ //disable mouse tracking
+ setMouseTracking( false );
+
+ //ensure this class won't think we have a map still
+ m_tree = 0;
+ m_focus = 0;
+
+ delete m_rootSegment;
+ m_rootSegment = 0;
+
+ //FIXME move this disablement thing no?
+ // it is confusing in other areas, like the whole createFromCache() thing
+ m_map.invalidate( b ); //b signifies whether the pixmap is made to look disabled or not
+ if( b )
+ update();
+
+ //tell rest of Filelight
+ emit invalidated( url() );
+ }
+}
+
+void
+RadialMap::Widget::create( const Directory *tree )
+{
+ //it is not the responsibility of create() to invalidate first
+ //skip invalidation at your own risk
+
+ //FIXME make it the responsibility of create to invalidate first
+
+ if( tree )
+ {
+ //generate the filemap image
+ m_map.make( tree );
+
+ //this is the inner circle in the center
+ m_rootSegment = new Segment( tree, 0, 16*360 );
+
+ setMouseTracking( true );
+ }
+
+ m_tree = tree;
+
+ //tell rest of Filelight
+ emit created( tree );
+}
+
+void
+RadialMap::Widget::createFromCache( const Directory *tree )
+{
+ //no scan was necessary, use cached tree, however we MUST still emit invalidate
+ invalidate( false );
+ create( tree );
+}
+
+void
+RadialMap::Widget::sendFakeMouseEvent() //slot
+{
+ QMouseEvent me( QEvent::MouseMove, mapFromGlobal( QCursor::pos() ), Qt::NoButton, Qt::NoButton );
+ QApplication::sendEvent( this, &me );
+}
+
+void
+RadialMap::Widget::resizeTimeout() //slot
+{
+ // the segments are about to erased!
+ // this was a horrid bug, and proves the OO programming should be obeyed always!
+ m_focus = 0;
+ if( m_tree )
+ m_map.make( m_tree, true );
+ update();
+}
+
+void
+RadialMap::Widget::refresh( int filth )
+{
+ //TODO consider a more direct connection
+
+ if( !m_map.isNull() )
+ {
+ switch( filth )
+ {
+ case 1:
+ m_map.make( m_tree, true ); //true means refresh only
+ break;
+
+ case 2:
+ m_map.aaPaint();
+ break;
+
+ case 3:
+ m_map.colorise(); //FALL THROUGH!
+ case 4:
+ m_map.paint();
+
+ default:
+ break;
+ }
+
+ update();
+ }
+}
+
+void
+RadialMap::Widget::zoomIn() //slot
+{
+ if( m_map.m_visibleDepth > MIN_RING_DEPTH )
+ {
+ --m_map.m_visibleDepth;
+ m_map.make( m_tree );
+ Config::defaultRingDepth = m_map.m_visibleDepth;
+ update();
+ }
+}
+
+void
+RadialMap::Widget::zoomOut() //slot
+{
+ ++m_map.m_visibleDepth;
+ m_map.make( m_tree );
+ if( m_map.m_visibleDepth > Config::defaultRingDepth )
+ Config::defaultRingDepth = m_map.m_visibleDepth;
+ update();
+}
+
+
+RadialMap::Segment::~Segment()
+{
+ if( isFake() )
+ delete m_file; //created by us in Builder::build()
+}
+
+#include "widget.moc"
diff --git a/src/part/radialMap/widget.h b/src/part/radialMap/widget.h
new file mode 100644
index 0000000..6fdf0e2
--- /dev/null
+++ b/src/part/radialMap/widget.h
@@ -0,0 +1,114 @@
+//Author: Max Howell <max.howell@methylblue.com>, (C) 2004
+//Copyright: See COPYING file that comes with this distribution
+
+#ifndef WIDGET_H
+#define WIDGET_H
+
+#include <kurl.h>
+#include <qtimer.h>
+#include "segmentTip.h"
+
+template <class T> class Chain;
+class Directory;
+class File;
+namespace KIO { class Job; }
+class KURL;
+
+namespace RadialMap
+{
+ class Segment;
+
+ class Map : public KPixmap
+ {
+ public:
+ Map();
+ ~Map();
+
+ void make( const Directory *, bool = false );
+ bool resize( const QRect& );
+
+ bool isNull() const { return ( m_signature == 0 ); }
+ void invalidate( const bool );
+
+ friend class Builder;
+ friend class Widget;
+
+ private:
+ void paint( uint = 1 );
+ void aaPaint();
+ void colorise();
+ void setRingBreadth();
+
+ Chain<Segment> *m_signature;
+
+ QRect m_rect;
+ uint m_ringBreadth; ///ring breadth
+ uint m_innerRadius; ///radius of inner circle
+ uint m_visibleDepth; ///visible level depth of system
+ QString m_centerText;
+
+ uint MAP_2MARGIN;
+ };
+
+ class Widget : public QWidget
+ {
+ Q_OBJECT
+
+ public:
+ Widget( QWidget* = 0, const char* = 0 );
+ ~Widget() { delete m_tip; }
+
+ QString path() const;
+ KURL url( File const * const = 0 ) const;
+
+ bool isValid() const { return m_tree != 0; }
+
+ friend class Label; //FIXME badness
+
+ public slots:
+ void zoomIn();
+ void zoomOut();
+ void create( const Directory* );
+ void invalidate( const bool = true );
+ void refresh( int );
+
+ private slots:
+ void resizeTimeout();
+ void sendFakeMouseEvent();
+ void deleteJobFinished( KIO::Job* );
+ void createFromCache( const Directory* );
+
+ signals:
+ void activated( const KURL& );
+ void invalidated( const KURL& );
+ void created( const Directory* );
+ void mouseHover( const QString& );
+ void giveMeTreeFor( const KURL& );
+
+ protected:
+ virtual void paintEvent( QPaintEvent* );
+ virtual void resizeEvent( QResizeEvent* );
+ virtual void mouseMoveEvent( QMouseEvent* );
+ virtual void mousePressEvent( QMouseEvent* );
+ virtual void dragEnterEvent( QDragEnterEvent* );
+ virtual void dropEvent( QDropEvent* );
+
+ protected:
+ const Segment *segmentAt( QPoint& ) const; //FIXME const reference for a library others can use
+ const Segment *rootSegment() const { return m_rootSegment; } ///never == 0
+ const Segment *focusSegment() const { return m_focus; } ///0 == nothing in focus
+
+ private:
+ void paintExplodedLabels( QPainter& ) const;
+
+ const Directory *m_tree;
+ const Segment *m_focus;
+ QPoint m_offset;
+ QTimer m_timer;
+ Map m_map;
+ SegmentTip *m_tip;
+ Segment *m_rootSegment;
+ };
+}
+
+#endif
diff --git a/src/part/radialMap/widgetEvents.cpp b/src/part/radialMap/widgetEvents.cpp
new file mode 100644
index 0000000..71db1c0
--- /dev/null
+++ b/src/part/radialMap/widgetEvents.cpp
@@ -0,0 +1,275 @@
+//Author: Max Howell <max.howell@methylblue.com>, (C) 2003-4
+//Copyright: See COPYING file that comes with this distribution
+
+#include "fileTree.h"
+#include "radialMap.h" //class Segment
+#include "widget.h"
+
+#include <cmath> //::segmentAt()
+#include <kcursor.h> //::mouseMoveEvent()
+#include <kiconeffect.h> //::mousePressEvent()
+#include <kiconloader.h> //::mousePressEvent()
+#include <kio/job.h> //::mousePressEvent()
+#include <klocale.h>
+#include <kmessagebox.h> //::mousePressEvent()
+#include <kpopupmenu.h> //::mousePressEvent()
+#include <krun.h> //::mousePressEvent()
+#include <kurldrag.h>
+#include <qapplication.h>//QApplication::setOverrideCursor()
+#include <qclipboard.h>
+#include <qpainter.h>
+#include <qtimer.h> //::resizeEvent()
+
+
+
+void
+RadialMap::Widget::resizeEvent( QResizeEvent* )
+{
+ if( m_map.resize( rect() ) )
+ m_timer.start( 500, true ); //will cause signature to rebuild for new size
+
+ //always do these as they need to be initialised on creation
+ m_offset.rx() = (width() - m_map.width()) / 2;
+ m_offset.ry() = (height() - m_map.height()) / 2;
+}
+
+void
+RadialMap::Widget::paintEvent( QPaintEvent* )
+{
+ //bltBit for some Qt setups will bitBlt _after_ the labels are painted. Which buggers things up!
+ //shame as bitBlt is faster, possibly Qt bug? Should report the bug? - seems to be race condition
+ //bitBlt( this, m_offset, &m_map );
+
+ QPainter paint( this );
+
+ paint.drawPixmap( m_offset, m_map );
+
+ //vertical strips
+ if( m_map.width() < width() )
+ {
+ paint.eraseRect( 0, 0, m_offset.x(), height() );
+ paint.eraseRect( m_map.width() + m_offset.x(), 0, m_offset.x() + 1, height() );
+ }
+ //horizontal strips
+ if( m_map.height() < height() )
+ {
+ paint.eraseRect( 0, 0, width(), m_offset.y() );
+ paint.eraseRect( 0, m_map.height() + m_offset.y(), width(), m_offset.y() + 1 );
+ }
+
+ //exploded labels
+ if( !m_map.isNull() && !m_timer.isActive() )
+ paintExplodedLabels( paint );
+}
+
+const RadialMap::Segment*
+RadialMap::Widget::segmentAt( QPoint &e ) const
+{
+ //determine which segment QPoint e is above
+
+ e -= m_offset;
+
+ if( !m_map.m_signature )
+ return 0;
+
+ if( e.x() <= m_map.width() && e.y() <= m_map.height() )
+ {
+ //transform to cartesian coords
+ e.rx() -= m_map.width() / 2; //should be an int
+ e.ry() = m_map.height() / 2 - e.y();
+
+ double length = hypot( e.x(), e.y() );
+
+ if( length >= m_map.m_innerRadius ) //not hovering over inner circle
+ {
+ uint depth = ((int)length - m_map.m_innerRadius) / m_map.m_ringBreadth;
+
+ if( depth <= m_map.m_visibleDepth ) //**** do earlier since you can //** check not outside of range
+ {
+ //vector calculation, reduces to simple trigonometry
+ //cos angle = (aibi + ajbj) / albl
+ //ai = x, bi=1, aj=y, bj=0
+ //cos angle = x / (length)
+
+ uint a = (uint)(acos( (double)e.x() / length ) * 916.736); //916.7324722 = #radians in circle * 16
+
+ //acos only understands 0-180 degrees
+ if( e.y() < 0 ) a = 5760 - a;
+
+ #define ring (m_map.m_signature + depth)
+ for( ConstIterator<Segment> it = ring->constIterator(); it != ring->end(); ++it )
+ if( (*it)->intersects( a ) )
+ return *it;
+ #undef ring
+ }
+ }
+ else return m_rootSegment; //hovering over inner circle
+ }
+
+ return 0;
+}
+
+void
+RadialMap::Widget::mouseMoveEvent( QMouseEvent *e )
+{
+ //set m_focus to what we hover over, update UI if it's a new segment
+
+ Segment const * const oldFocus = m_focus;
+ QPoint p = e->pos();
+
+ m_focus = segmentAt( p ); //NOTE p is passed by non-const reference
+
+ if( m_focus && m_focus->file() != m_tree )
+ {
+ if( m_focus != oldFocus ) //if not same as last time
+ {
+ setCursor( KCursor::handCursor() );
+ m_tip->updateTip( m_focus->file(), m_tree );
+ emit mouseHover( m_focus->file()->fullPath() );
+
+ //repaint required to update labels now before transparency is generated
+ repaint( false );
+ }
+
+ m_tip->moveTo( e->globalPos(), *this, ( p.y() < 0 ) ); //updates tooltip psuedo-tranparent background
+ }
+ else if( oldFocus && oldFocus->file() != m_tree )
+ {
+ unsetCursor();
+ m_tip->hide();
+ update();
+
+ emit mouseHover( QString::null );
+ }
+}
+
+void
+RadialMap::Widget::mousePressEvent( QMouseEvent *e )
+{
+ //m_tip is hidden already by event filter
+ //m_focus is set correctly (I've been strict, I assure you it is correct!)
+
+ enum { Konqueror, Konsole, Center, Open, Copy, Delete };
+
+ if (m_focus && !m_focus->isFake())
+ {
+ const KURL url = Widget::url( m_focus->file() );
+ const bool isDir = m_focus->file()->isDirectory();
+
+ if( e->button() == Qt::RightButton )
+ {
+ KPopupMenu popup;
+ popup.insertTitle( m_focus->file()->fullPath( m_tree ) );
+
+ if (isDir) {
+ popup.insertItem( SmallIconSet( "konqueror" ), i18n( "Open &Konqueror Here" ), Konqueror );
+
+ if( url.protocol() == "file" )
+ popup.insertItem( SmallIconSet( "konsole" ), i18n( "Open &Konsole Here" ), Konsole );
+
+ if (m_focus->file() != m_tree) {
+ popup.insertSeparator();
+ popup.insertItem( SmallIconSet( "viewmag" ), i18n( "&Center Map Here" ), Center );
+ }
+ }
+ else
+ popup.insertItem( SmallIconSet( "fileopen" ), i18n( "&Open" ), Open );
+
+ popup.insertSeparator();
+ popup.insertItem( SmallIconSet( "editcopy" ), i18n( "&Copy to clipboard" ), Copy );
+
+ popup.insertSeparator();
+ popup.insertItem( SmallIconSet( "editdelete" ), i18n( "&Delete" ), Delete );
+
+ switch (popup.exec( e->globalPos(), 1 )) {
+ case Konqueror:
+ //KRun::runCommand will show an error message if there was trouble
+ KRun::runCommand( QString( "kfmclient openURL \"%1\"" ).arg( url.url() ) );
+ break;
+
+ case Konsole:
+ // --workdir only works for local file paths
+ KRun::runCommand( QString( "konsole --workdir \"%1\"" ).arg( url.path() ) );
+ break;
+
+ case Center:
+ case Open:
+ goto section_two;
+
+ case Copy:
+ QApplication::clipboard()->setData( new KURLDrag( KURL::List( url ) ) );
+ break;
+
+ case Delete:
+ {
+ const KURL url = Widget::url( m_focus->file() );
+ const QString message = m_focus->file()->isDirectory()
+ ? i18n( "<qt>The directory at <i>'%1'</i> will be <b>recursively</b> and <b>permanently</b> deleted." )
+ : i18n( "<qt><i>'%1'</i> will be <b>permanently</b> deleted." );
+ const int userIntention = KMessageBox::warningContinueCancel(
+ this, message.arg( url.prettyURL() ),
+ QString::null, KGuiItem( i18n("&Delete"), "editdelete" ) );
+
+ if (userIntention == KMessageBox::Continue) {
+ KIO::Job *job = KIO::del( url );
+ job->setWindow( this );
+ connect( job, SIGNAL(result( KIO::Job* )), SLOT(deleteJobFinished( KIO::Job* )) );
+ QApplication::setOverrideCursor( KCursor::workingCursor() );
+ }
+ }
+
+ default:
+ //ensure m_focus is set for new mouse position
+ sendFakeMouseEvent();
+ }
+ }
+ else { // not right mouse button
+
+ section_two:
+ const QRect rect( e->x() - 20, e->y() - 20, 40, 40 );
+
+ m_tip->hide(); // user expects this
+
+ if (!isDir || e->button() == Qt::MidButton) {
+ KIconEffect::visualActivate( this, rect );
+ new KRun( url, this, true ); //FIXME see above
+ }
+ else if (m_focus->file() != m_tree) { // is left click
+ KIconEffect::visualActivate( this, rect );
+ emit activated( url ); //activate first, this will cause UI to prepare itself
+ createFromCache( (Directory *)m_focus->file() );
+ }
+ else
+ emit giveMeTreeFor( url.upURL() );
+ }
+ }
+}
+
+void
+RadialMap::Widget::deleteJobFinished( KIO::Job *job )
+{
+ QApplication::restoreOverrideCursor();
+ if( !job->error() )
+ invalidate();
+ else
+ job->showErrorDialog( this );
+}
+
+#include "debug.h"
+void
+RadialMap::Widget::dropEvent( QDropEvent *e )
+{
+ DEBUG_ANNOUNCE
+
+ KURL::List urls;
+ if (KURLDrag::decode( e, urls ) && urls.count())
+ emit giveMeTreeFor( urls.first() );
+}
+
+void
+RadialMap::Widget::dragEnterEvent( QDragEnterEvent *e )
+{
+ DEBUG_ANNOUNCE
+
+ e->accept( KURLDrag::canDecode( e ) );
+}
diff --git a/src/part/remoteLister.cpp b/src/part/remoteLister.cpp
new file mode 100644
index 0000000..dcfbbee
--- /dev/null
+++ b/src/part/remoteLister.cpp
@@ -0,0 +1,160 @@
+//Author: Max Howell <max.howell@methylblue.com>, (C) 2003-4
+//Copyright: See COPYING file that comes with this distribution
+
+#include <debug.h>
+#include "fileTree.h"
+#include <qapplication.h>
+#include <qtimer.h>
+#include <qvaluelist.h>
+#include "remoteLister.h"
+#include "scan.h"
+
+namespace Filelight
+{
+ //you need to use a single DirLister
+ //one per directory breaks KIO (seemingly) and also uses un-godly amounts of memory!
+
+ //TODO delete all this stuff!
+
+ struct Store {
+
+ typedef QValueList<Store*> List;
+
+ /// location of the directory
+ const KURL url;
+ /// the directory on which we are operating
+ Directory *directory;
+ /// so we can reference the parent store
+ Store *parent;
+ /// directories in this directory that need to be scanned before we can propagate()
+ List stores;
+
+ Store()
+ : directory( 0 ), parent( 0 ) {}
+ Store( const KURL &u, const QString &name, Store *s )
+ : url( u ), directory( new Directory( name.local8Bit() + '/' ) ), parent( s ) {}
+
+
+ Store*
+ propagate()
+ {
+ /// returns the next store available for scanning
+
+ debug() << "propagate: " << url << endl;
+
+ if( parent ) {
+ parent->directory->append( directory );
+ if( parent->stores.isEmpty() ) {
+ return parent->propagate();
+ }
+ else
+ return parent;
+ }
+
+ //we reached the root, let's get our next directory scanned
+ return this;
+ }
+
+ private:
+ Store( Store& );
+ Store &operator=( const Store& );
+ };
+
+
+ RemoteLister::RemoteLister( const KURL &url, QWidget *parent )
+ : KDirLister( true /*don't fetch mimetypes*/ )
+ , m_root( new Store( url, url.url(), 0 ) )
+ , m_store( m_root )
+ {
+ setAutoUpdate( false ); //don't use KDirWatchers
+ setShowingDotFiles( true ); //stupid KDirLister API function names
+ setMainWindow( parent );
+
+ //use SIGNAL(result(KIO::Job*)) instead and then use Job::error()
+ connect( this, SIGNAL(completed()), SLOT(completed()) );
+ connect( this, SIGNAL(canceled()), SLOT(canceled()) );
+
+ //we do this non-recursively - it is the only way!
+ openURL( url );
+ }
+
+ RemoteLister::~RemoteLister()
+ {
+ Directory *tree = isFinished() ? m_store->directory : 0;
+
+ QCustomEvent *e = new QCustomEvent( 1000 );
+ e->setData( tree );
+ QApplication::postEvent( parent(), e );
+
+ delete m_root;
+ }
+
+ void
+ RemoteLister::completed()
+ {
+ debug() << "completed: " << url().prettyURL() << endl;
+
+ //as usual KDE documentation didn't suggest I needed to do this at all
+ //I had to figure it out myself
+ // -- avoid crash
+ QTimer::singleShot( 0, this, SLOT(_completed()) );
+ }
+
+ void
+ RemoteLister::canceled()
+ {
+ debug() << "canceled: " << url().prettyURL() << endl;
+
+ QTimer::singleShot( 0, this, SLOT(_completed()) );
+ }
+
+ void
+ RemoteLister::_completed()
+ {
+ //m_directory is set to the directory we should operate on
+
+ KFileItemList items = KDirLister::items();
+ for( KFileItemList::ConstIterator it = items.begin(), end = items.end(); it != end; ++it )
+ {
+ if( (*it)->isDir() )
+ m_store->stores += new Store( (*it)->url(), (*it)->name(), m_store );
+ else
+ m_store->directory->append( (*it)->name().local8Bit(), (*it)->size() / 1024 );
+
+ ScanManager::s_files++;
+ }
+
+
+ if( m_store->stores.isEmpty() )
+ //no directories to scan, so we need to append ourselves to the parent directory
+ //propagate() will return the next ancestor that has stores left to be scanned, or root if we are done
+ m_store = m_store->propagate();
+
+ if( !m_store->stores.isEmpty() )
+ {
+ Store::List::Iterator first = m_store->stores.begin();
+ const KURL url( (*first)->url );
+ Store *currentStore = m_store;
+
+ //we should operate with this store next time this function is called
+ m_store = *first;
+
+ //we don't want to handle this store again
+ currentStore->stores.remove( first );
+
+ //this returns _immediately_
+ debug() << "scanning: " << url << endl;
+ openURL( url );
+ }
+ else {
+
+ debug() << "I think we're done\n";
+
+ Q_ASSERT( m_root == m_store );
+
+ delete this;
+ }
+ }
+}
+
+#include "remoteLister.moc"
diff --git a/src/part/remoteLister.h b/src/part/remoteLister.h
new file mode 100644
index 0000000..4736dc1
--- /dev/null
+++ b/src/part/remoteLister.h
@@ -0,0 +1,28 @@
+//Author: Max Howell <max.howell@methylblue.com>, (C) 2003-4
+//Copyright: See COPYING file that comes with this distribution
+
+#ifndef REMOTELISTER_H
+#define REMOTELISTER_H
+
+#include <kdirlister.h>
+
+namespace Filelight
+{
+ class RemoteLister : public KDirLister
+ {
+ Q_OBJECT
+ public:
+ RemoteLister( const KURL &url, QWidget *parent );
+ ~RemoteLister();
+
+ private slots:
+ void completed();
+ void _completed();
+ void canceled();
+
+ private:
+ class Store *m_root, *m_store;
+ };
+}
+
+#endif
diff --git a/src/part/scan.cpp b/src/part/scan.cpp
new file mode 100644
index 0000000..2101624
--- /dev/null
+++ b/src/part/scan.cpp
@@ -0,0 +1,204 @@
+//Author: Max Howell <max.howell@methylblue.com>, (C) 2003-4
+//Copyright: See COPYING file that comes with this distribution
+
+#include "debug.h"
+#include "fileTree.h"
+#include <kcursor.h>
+#include "localLister.h"
+#include <qapplication.h>
+#include "remoteLister.h"
+#include "scan.h"
+
+
+namespace Filelight
+{
+ bool ScanManager::s_abort = false;
+ uint ScanManager::s_files = 0;
+
+ ScanManager::ScanManager( QObject *parent )
+ : QObject( parent )
+ , m_thread( 0 )
+ , m_cache( new Chain<Directory> )
+ {
+ Filelight::LocalLister::readMounts();
+ }
+
+ ScanManager::~ScanManager()
+ {
+ if( m_thread ) {
+ debug() << "Attempting to abort scan operation...\n";
+ s_abort = true;
+ m_thread->wait();
+ }
+
+ delete m_cache;
+
+ //RemoteListers are QObjects and get automatically deleted
+ }
+
+ bool
+ ScanManager::running() const
+ {
+ //FIXME not complete
+ return m_thread && m_thread->running();
+ }
+
+ bool
+ ScanManager::start( const KURL &url )
+ {
+ //url is guarenteed clean and safe
+
+ debug() << "Scan requested for: " << url.prettyURL() << endl;
+
+ if( running() ) {
+ //shouldn't happen, but lets prevent mega-disasters just in case eh?
+ kdWarning() << "Attempted to run 2 scans concurrently!\n";
+ //TODO give user an error
+ return false;
+ }
+
+ s_files = 0;
+ s_abort = false;
+
+ if( url.protocol() == "file" )
+ {
+ const QString path = url.path( 1 );
+
+ Chain<Directory> *trees = new Chain<Directory>;
+
+ /* CHECK CACHE
+ * user wants: /usr/local/
+ * cached: /usr/
+ *
+ * user wants: /usr/
+ * cached: /usr/local/, /usr/include/
+ */
+
+ for( Iterator<Directory> it = m_cache->iterator(); it != m_cache->end(); ++it )
+ {
+ QString cachePath = (*it)->name();
+
+ if( path.startsWith( cachePath ) ) //then whole tree already scanned
+ {
+ //find a pointer to the requested branch
+
+ debug() << "Cache-(a)hit: " << cachePath << endl;
+
+ QStringList split = QStringList::split( '/', path.mid( cachePath.length() ) );
+ Directory *d = *it;
+ Iterator<File> jt;
+
+ while( !split.isEmpty() && d != NULL ) //if NULL we have got lost so abort!!
+ {
+ jt = d->iterator();
+
+ const Link<File> *end = d->end();
+ QString s = split.first(); s += '/';
+
+ for( d = 0; jt != end; ++jt )
+ if( s == (*jt)->name() )
+ {
+ d = (Directory*)*jt;
+ break;
+ }
+
+ split.pop_front();
+ }
+
+ if( d )
+ {
+ delete trees;
+
+ //we found a completed tree, thus no need to scan
+ debug() << "Found cache-handle, generating map..\n";
+
+ //1001 indicates that this should not be cached
+ QCustomEvent *e = new QCustomEvent( 1001 );
+ e->setData( d );
+ QApplication::postEvent( this, e );
+
+ return true;
+ }
+ else
+ {
+ //something went wrong, we couldn't find the directory we were expecting
+ error() << "Didn't find " << path << " in the cache!\n";
+ delete it.remove(); //safest to get rid of it
+ break; //do a full scan
+ }
+ }
+ else if( cachePath.startsWith( path ) ) //then part of the requested tree is already scanned
+ {
+ debug() << "Cache-(b)hit: " << cachePath << endl;
+ it.transferTo( *trees );
+ }
+ }
+
+ m_url.setPath( path ); //FIXME stop switching between paths and KURLs all the time
+ QApplication::setOverrideCursor( KCursor::workingCursor() );
+ //starts listing by itself
+ m_thread = new Filelight::LocalLister( path, trees, this );
+ return true;
+ }
+
+ m_url = url;
+ QApplication::setOverrideCursor( KCursor::workingCursor() );
+ //will start listing straight away
+ QObject *o = new Filelight::RemoteLister( url, (QWidget*)parent() );
+ insertChild( o );
+ o->setName( "remote_lister" );
+ return true;
+ }
+
+ bool
+ ScanManager::abort()
+ {
+ s_abort = true;
+
+ delete child( "remote_lister" );
+
+ return m_thread && m_thread->running();
+ }
+
+ void
+ ScanManager::emptyCache()
+ {
+ s_abort = true;
+
+ if( m_thread && m_thread->running() )
+ m_thread->wait();
+
+ emit aboutToEmptyCache();
+
+ m_cache->empty();
+ }
+
+ void
+ ScanManager::customEvent( QCustomEvent *e )
+ {
+ Directory *tree = (Directory*)e->data();
+
+ if( m_thread ) {
+ m_thread->terminate();
+ m_thread->wait();
+ delete m_thread; //note the lister deletes itself
+ m_thread = 0;
+ }
+
+ emit completed( tree );
+
+ if( tree ) {
+ //we don't cache foreign stuff
+ //we don't recache stuff (thus only type 1000 events)
+ if( e->type() == 1000 && m_url.protocol() == "file" )
+ //TODO sanity check the cache
+ m_cache->append( tree );
+ }
+ else //scan failed
+ m_cache->empty(); //FIXME this is safe but annoying
+
+ QApplication::restoreOverrideCursor();
+ }
+}
+
+#include "scan.moc"
diff --git a/src/part/scan.h b/src/part/scan.h
new file mode 100644
index 0000000..c02b1d2
--- /dev/null
+++ b/src/part/scan.h
@@ -0,0 +1,52 @@
+//Author: Max Howell <max.howell@methylblue.com>, (C) 2003-4
+//Copyright: See COPYING file that comes with this distribution
+
+#ifndef SCAN_H
+#define SCAN_H
+
+#include <kurl.h>
+#include <qobject.h>
+
+class QThread;
+class Directory;
+template<class T> class Chain;
+
+namespace Filelight
+{
+ class ScanManager : public QObject
+ {
+ Q_OBJECT
+
+ friend class LocalLister;
+ friend class RemoteLister;
+
+ public:
+ ScanManager( QObject *parent );
+ virtual ~ScanManager();
+
+ bool start( const KURL& );
+ bool running() const;
+
+ static uint files() { return s_files; }
+
+ public slots:
+ bool abort();
+ void emptyCache();
+
+ signals:
+ void completed( Directory* );
+ void aboutToEmptyCache();
+
+ private:
+ static bool s_abort;
+ static uint s_files;
+
+ KURL m_url;
+ QThread *m_thread;
+ Chain<Directory> *m_cache;
+
+ virtual void customEvent( QCustomEvent* );
+ };
+}
+
+#endif
diff --git a/src/part/settingsDialog.cpp b/src/part/settingsDialog.cpp
new file mode 100644
index 0000000..508904a
--- /dev/null
+++ b/src/part/settingsDialog.cpp
@@ -0,0 +1,214 @@
+//Author: Max Howell <max.howell@methylblue.com>, (C) 2003-4
+//Copyright: See COPYING file that comes with this distribution
+
+#include <qapplication.h> //Getting desktop width
+#include <qcheckbox.h>
+#include <qpushbutton.h>
+#include <qradiobutton.h>
+#include <qslider.h>
+#include <qvbuttongroup.h>
+
+#include <kdirselectdialog.h>
+#include <kiconloader.h>
+#include <klocale.h>
+#include <kmessagebox.h>
+#include <knuminput.h>
+
+#include "settingsDialog.h"
+#include "Config.h"
+
+
+SettingsDialog::SettingsDialog( QWidget *parent, const char *name )
+ : Dialog( parent, name, false ) //3rd param => modal
+{
+ colourSchemeGroup->setFrameShape( QFrame::NoFrame );
+
+ colourSchemeGroup->insert( new QRadioButton( i18n("Rainbow"), colourSchemeGroup ), Filelight::Rainbow );
+ colourSchemeGroup->insert( new QRadioButton( i18n("KDE Colors"), colourSchemeGroup ), Filelight::KDE );
+ colourSchemeGroup->insert( new QRadioButton( i18n("High Contrast"), colourSchemeGroup ), Filelight::HighContrast );
+
+ //read in settings before you make all those nasty connections!
+ reset(); //makes dialog reflect global settings
+
+ connect( &m_timer, SIGNAL(timeout()), SIGNAL(mapIsInvalid()) );
+
+ connect( m_addButton, SIGNAL( clicked() ), SLOT( addDirectory() ) );
+ connect( m_removeButton, SIGNAL( clicked() ), SLOT( removeDirectory() ) );
+ connect( m_resetButton, SIGNAL( clicked() ), SLOT( reset() ) );
+ connect( m_closeButton, SIGNAL( clicked() ), SLOT( close() ) );
+
+ connect( colourSchemeGroup, SIGNAL(clicked( int )), SLOT(changeScheme( int )) );
+ connect( contrastSlider, SIGNAL(valueChanged( int )), SLOT(changeContrast( int )) );
+ connect( contrastSlider, SIGNAL(sliderReleased()), SLOT(slotSliderReleased()) );
+
+ connect( scanAcrossMounts, SIGNAL( toggled( bool ) ), SLOT( startTimer() ) );
+ connect( dontScanRemoteMounts, SIGNAL( toggled( bool ) ), SLOT( startTimer() ) );
+ connect( dontScanRemovableMedia, SIGNAL( toggled( bool ) ), SLOT( startTimer() ) );
+
+ connect( useAntialiasing, SIGNAL( toggled( bool ) ), SLOT( toggleUseAntialiasing( bool ) ) );
+ connect( varyLabelFontSizes, SIGNAL( toggled( bool ) ), SLOT( toggleVaryLabelFontSizes( bool ) ) );
+ connect( showSmallFiles, SIGNAL( toggled( bool ) ), SLOT( toggleShowSmallFiles( bool ) ) );
+
+ connect( minFontPitch, SIGNAL ( valueChanged( int ) ), SLOT( changeMinFontPitch( int ) ) );
+
+ m_addButton->setIconSet( SmallIcon( "fileopen" ) );
+ m_resetButton->setIconSet( SmallIcon( "undo" ) );
+ m_closeButton->setIconSet( SmallIcon( "fileclose" ) );
+}
+
+
+void SettingsDialog::closeEvent( QCloseEvent* )
+{
+ //if an invalidation is pending, force it now!
+ if( m_timer.isActive() ) m_timer.changeInterval( 0 );
+
+ Config::write();
+
+ deleteLater();
+}
+
+
+void SettingsDialog::reset()
+{
+ Config::read();
+
+ //tab 1
+ scanAcrossMounts->setChecked( Config::scanAcrossMounts );
+ dontScanRemoteMounts->setChecked( !Config::scanRemoteMounts );
+ dontScanRemovableMedia->setChecked( !Config::scanRemovableMedia );
+
+ dontScanRemoteMounts->setEnabled( Config::scanAcrossMounts );
+ // dontScanRemovableMedia.setEnabled( Config::scanAcrossMounts );
+
+ m_listBox->clear();
+ m_listBox->insertStringList( Config::skipList );
+ m_listBox->setSelected( 0, true );
+
+ m_removeButton->setEnabled( m_listBox->count() == 0 );
+
+ //tab 2
+ if( colourSchemeGroup->id( colourSchemeGroup->selected() ) != Config::scheme )
+ {
+ colourSchemeGroup->setButton( Config::scheme );
+ //setButton doesn't call a single QButtonGroup signal!
+ //so we need to call this ourselves (and hence the detection above)
+ changeScheme( Config::scheme );
+ }
+ contrastSlider->setValue( Config::contrast );
+
+ useAntialiasing->setChecked( (Config::antiAliasFactor > 1) ? true : false );
+
+ varyLabelFontSizes->setChecked( Config::varyLabelFontSizes );
+ minFontPitch->setEnabled( Config::varyLabelFontSizes );
+ minFontPitch->setValue( Config::minFontPitch );
+ showSmallFiles->setChecked( Config::showSmallFiles );
+}
+
+
+
+void SettingsDialog::toggleScanAcrossMounts( bool b )
+{
+ Config::scanAcrossMounts = b;
+
+ dontScanRemoteMounts->setEnabled( b );
+ //dontScanRemovableMedia.setEnabled( b );
+}
+
+void SettingsDialog::toggleDontScanRemoteMounts( bool b )
+{
+ Config::scanRemoteMounts = !b;
+}
+
+void SettingsDialog::toggleDontScanRemovableMedia( bool b )
+{
+ Config::scanRemovableMedia = !b;
+}
+
+
+
+void SettingsDialog::addDirectory()
+{
+ const KURL url = KDirSelectDialog::selectDirectory( "/", false, this );
+
+ //TODO error handling!
+ //TODO wrong protocol handling!
+
+ if( !url.isEmpty() )
+ {
+ const QString path = url.path( 1 );
+
+ if( !Config::skipList.contains( path ) )
+ {
+ Config::skipList.append( path );
+ m_listBox->insertItem( path );
+ m_removeButton->setEnabled( true );
+ }
+ else KMessageBox::sorry( this, i18n("That directory is already set to be excluded from scans") );
+ }
+}
+
+
+void SettingsDialog::removeDirectory()
+{
+ Config::skipList.remove( m_listBox->currentText() ); //removes all entries that match
+
+ //safest method to ensure consistency
+ m_listBox->clear();
+ m_listBox->insertStringList( Config::skipList );
+
+ m_removeButton->setEnabled( m_listBox->count() == 0 );
+}
+
+
+void SettingsDialog::startTimer()
+{
+ m_timer.start( TIMEOUT, true );
+}
+
+void SettingsDialog::changeScheme( int s )
+{
+ Config::scheme = (Filelight::MapScheme)s;
+ emit canvasIsDirty( 1 );
+}
+void SettingsDialog::changeContrast( int c )
+{
+ Config::contrast = c;
+ emit canvasIsDirty( 3 );
+}
+void SettingsDialog::toggleUseAntialiasing( bool b )
+{
+ Config::antiAliasFactor = b ? 2 : 1;
+ emit canvasIsDirty( 2 );
+}
+void SettingsDialog::toggleVaryLabelFontSizes( bool b )
+{
+ Config::varyLabelFontSizes = b;
+ minFontPitch->setEnabled( b );
+ emit canvasIsDirty( 0 );
+}
+void SettingsDialog::changeMinFontPitch( int p )
+{
+ Config::minFontPitch = p;
+ emit canvasIsDirty( 0 );
+}
+void SettingsDialog::toggleShowSmallFiles( bool b )
+{
+ Config::showSmallFiles = b;
+ emit canvasIsDirty( 1 );
+}
+
+
+void SettingsDialog::slotSliderReleased()
+{
+ emit canvasIsDirty( 2 );
+}
+
+
+void SettingsDialog::reject()
+{
+ //called when escape is pressed
+ reset();
+ QDialog::reject(); //**** doesn't change back scheme so far
+}
+
+#include "settingsDialog.moc"
diff --git a/src/part/settingsDialog.h b/src/part/settingsDialog.h
new file mode 100644
index 0000000..b3ed375
--- /dev/null
+++ b/src/part/settingsDialog.h
@@ -0,0 +1,48 @@
+//Author: Max Howell <max.howell@methylblue.com>, (C) 2003-4
+//Copyright: See COPYING file that comes with this distribution
+
+#ifndef SETTINGSDLG_H
+#define SETTINGSDLG_H
+
+#include "dialog.h" //generated by uic
+#include <qtimer.h>
+
+
+class SettingsDialog : public Dialog
+{
+Q_OBJECT
+
+public:
+ SettingsDialog( QWidget* =0, const char* =0 );
+
+protected:
+ virtual void closeEvent( QCloseEvent * );
+ virtual void reject();
+
+public slots:
+ void addDirectory();
+ void removeDirectory();
+ void toggleScanAcrossMounts( bool );
+ void toggleDontScanRemoteMounts( bool );
+ void toggleDontScanRemovableMedia( bool );
+ void reset();
+ void startTimer();
+ void toggleUseAntialiasing( bool = true );
+ void toggleVaryLabelFontSizes( bool );
+ void changeContrast( int );
+ void changeScheme( int );
+ void changeMinFontPitch( int );
+ void toggleShowSmallFiles( bool );
+ void slotSliderReleased();
+
+signals:
+ void mapIsInvalid();
+ void canvasIsDirty( int );
+
+private:
+ QTimer m_timer;
+
+ static const uint TIMEOUT=1000;
+};
+
+#endif
diff --git a/src/part/summaryWidget.cpp b/src/part/summaryWidget.cpp
new file mode 100644
index 0000000..0e3a140
--- /dev/null
+++ b/src/part/summaryWidget.cpp
@@ -0,0 +1,236 @@
+//Author: Max Howell <max.howell@methylblue.com>, (C) 2004
+//Copyright: See COPYING file that comes with this distribution
+
+#include "Config.h"
+#include "debug.h"
+#include "fileTree.h"
+#include <kcursor.h>
+#include <kiconeffect.h> //MyRadialMap::mousePressEvent()
+#include <kiconloader.h>
+#include <klocale.h>
+#include <qlabel.h>
+#include <qlayout.h>
+#include <qtextstream.h>
+#include <qvbox.h>
+#include "radialMap/radialMap.h"
+#include "radialMap/widget.h"
+#include "summaryWidget.h"
+#include "summaryWidget.moc"
+
+
+static Filelight::MapScheme oldScheme;
+
+
+struct Disk
+{
+ QString device;
+ QString type;
+ QString mount;
+ QString icon;
+
+ int size;
+ int used;
+ int free; //NOTE used+avail != size (clustersize!)
+
+ void guessIconName();
+};
+
+
+struct DiskList : QValueList<Disk>
+{
+ DiskList();
+};
+
+
+class MyRadialMap : public RadialMap::Widget
+{
+public:
+ MyRadialMap( QWidget *parent )
+ : RadialMap::Widget( parent )
+ {}
+
+ virtual void setCursor( const QCursor &c )
+ {
+ if( focusSegment() && focusSegment()->file()->name() == "Used" )
+ RadialMap::Widget::setCursor( c );
+ else
+ unsetCursor();
+ }
+
+ virtual void mousePressEvent( QMouseEvent *e )
+ {
+ const RadialMap::Segment *segment = focusSegment();
+
+ //we will allow right clicks to the center circle
+ if( segment == rootSegment() )
+ RadialMap::Widget::mousePressEvent( e );
+
+ //and clicks to the used segment
+ else if( segment && segment->file()->name() == "Used" ) {
+ const QRect rect( e->x() - 20, e->y() - 20, 40, 40 );
+ KIconEffect::visualActivate( this, rect );
+ emit activated( url() );
+ }
+ }
+};
+
+
+
+SummaryWidget::SummaryWidget( QWidget *parent, const char *name )
+ : QWidget( parent, name )
+{
+ qApp->setOverrideCursor( KCursor::waitCursor() );
+
+ setPaletteBackgroundColor( Qt::white );
+ (new QGridLayout( this, 1, 2 ))->setAutoAdd( true );
+
+ createDiskMaps();
+
+ qApp->restoreOverrideCursor();
+}
+
+SummaryWidget::~SummaryWidget()
+{
+ Config::scheme = oldScheme;
+}
+
+void
+SummaryWidget::createDiskMaps()
+{
+ DiskList disks;
+
+ const QCString free = i18n( "Free" ).local8Bit();
+ const QCString used = i18n( "Used" ).local8Bit();
+
+ KIconLoader loader;
+
+ oldScheme = Config::scheme;
+ Config::scheme = (Filelight::MapScheme)2000;
+
+ for (DiskList::ConstIterator it = disks.begin(), end = disks.end(); it != end; ++it)
+ {
+ Disk const &disk = *it;
+
+ if (disk.free == 0 && disk.used == 0)
+ continue;
+
+ QWidget *box = new QVBox( this );
+ RadialMap::Widget *map = new MyRadialMap( box );
+
+ QString text; QTextOStream( &text )
+ << "<img src='" << loader.iconPath( disk.icon, KIcon::Toolbar ) << "'>"
+ << " &nbsp;" << disk.mount << " "
+ << "<i>(" << disk.device << ")</i>";
+
+ QLabel *label = new QLabel( text, box );
+ label->setAlignment( Qt::AlignCenter );
+ label->setSizePolicy( QSizePolicy::Minimum, QSizePolicy::Maximum );
+
+ box->show(); // will show its children too
+
+ Directory *tree = new Directory( disk.mount.local8Bit() );
+ tree->append( free, disk.free );
+ tree->append( used, disk.used );
+
+ map->create( tree ); //must be done when visible
+
+ connect( map, SIGNAL(activated( const KURL& )), SIGNAL(activated( const KURL& )) );
+ }
+}
+
+
+#if defined(_OS_LINUX_)
+#define DF_ARGS "-kT"
+#else
+#define DF_ARGS "-k"
+#define NO_FS_TYPE
+#endif
+
+
+DiskList::DiskList()
+{
+ //FIXME bug prone
+ setenv( "LANG", "en_US", 1 );
+ setenv( "LC_ALL", "en_US", 1 );
+ setenv( "LC_MESSAGES", "en_US", 1 );
+ setenv( "LC_TYPE", "en_US", 1 );
+ setenv( "LANGUAGE", "en_US", 1 );
+
+ char buffer[4096];
+ FILE *df = popen( "env LC_ALL=POSIX df " DF_ARGS, "r" );
+ int const N = fread( (void*)buffer, sizeof(char), 4096, df );
+ buffer[ N ] = '\0';
+ pclose( df );
+
+ QString output = QString::fromLocal8Bit( buffer );
+ QTextStream t( &output, IO_ReadOnly );
+ QString const BLANK( QChar(' ') );
+
+ while (!t.atEnd()) {
+ QString s = t.readLine();
+ s = s.simplifyWhiteSpace();
+
+ if (s.isEmpty())
+ continue;
+
+ if (s.find( BLANK ) < 0) // devicename was too long, rest in next line
+ if (!t.eof()) { // just appends the next line
+ QString v = t.readLine();
+ s = s.append( v.latin1() );
+ s = s.simplifyWhiteSpace();
+ }
+
+ Disk disk;
+ disk.device = s.left( s.find( BLANK ) );
+ s = s.remove( 0, s.find( BLANK ) + 1 );
+
+ #ifndef NO_FS_TYPE
+ disk.type = s.left( s.find( BLANK ) );
+ s = s.remove( 0, s.find( BLANK ) + 1 );
+ #endif
+
+ int n = s.find( BLANK );
+ disk.size = s.left( n ).toInt();
+ s = s.remove( 0, n + 1 );
+
+ n = s.find( BLANK );
+ disk.used = s.left( n ).toInt();
+ s = s.remove( 0, n + 1 );
+
+ n = s.find( BLANK );
+ disk.free = s.left( n ).toInt();
+ s = s.remove( 0, n + 1 );
+
+ s = s.remove( 0, s.find( BLANK ) + 1 ); // delete the capacity 94%
+ disk.mount = s;
+
+ disk.guessIconName();
+
+ *this += disk;
+ }
+}
+
+
+void
+Disk::guessIconName()
+{
+ if( mount.contains( "cdrom", false ) ) icon = "cdrom";
+ else if( device.contains( "cdrom", false ) ) icon = "cdrom";
+ else if( mount.contains( "writer", false ) ) icon = "cdwriter";
+ else if( device.contains( "writer", false ) ) icon = "cdwriter";
+ else if( mount.contains( "mo", false ) ) icon = "mo";
+ else if( device.contains( "mo", false ) ) icon = "mo";
+ else if( device.contains( "fd", false ) ) {
+ if( device.contains( "360", false ) ) icon = "5floppy";
+ if( device.contains( "1200", false ) ) icon = "5floppy";
+ else
+ icon = "3floppy";
+ }
+ else if( mount.contains( "floppy", false ) ) icon = "3floppy";
+ else if( mount.contains( "zip", false ) ) icon = "zip";
+ else if( type.contains( "nfs", false ) ) icon = "nfs";
+ else
+ icon = "hdd";
+
+ icon += /*mounted() ? */"_mount"/* : "_unmount"*/;
+}
diff --git a/src/part/summaryWidget.h b/src/part/summaryWidget.h
new file mode 100644
index 0000000..7f20153
--- /dev/null
+++ b/src/part/summaryWidget.h
@@ -0,0 +1,25 @@
+//Author: Max Howell <max.howell@methylblue.com>, (C) 2004
+//Copyright: See COPYING file that comes with this distribution
+
+#ifndef FILELIGHTSUMMARY_H
+#define FILELIGHTSUMMARY_H
+
+#include <qwidget.h>
+
+
+class SummaryWidget : public QWidget
+{
+ Q_OBJECT
+
+public:
+ SummaryWidget( QWidget *parent, const char *name );
+ ~SummaryWidget();
+
+signals:
+ void activated( const KURL& );
+
+private:
+ void createDiskMaps();
+};
+
+#endif
diff --git a/stamp-h.in b/stamp-h.in
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/stamp-h.in
diff --git a/subdirs b/subdirs
new file mode 100644
index 0000000..a5b3a2a
--- /dev/null
+++ b/subdirs
@@ -0,0 +1,4 @@
+doc
+misc
+po
+src