summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSlávek Banko <slavek.banko@axis.cz>2015-10-01 17:05:29 +0200
committerSlávek Banko <slavek.banko@axis.cz>2015-10-01 17:05:29 +0200
commit39f2c6a84cd715b11fb3ffa82a86abf2fb9bcd70 (patch)
treed6bc97f38d36892b14703c788cef782f13ee2a4d
downloadkooldock-39f2c6a84cd715b11fb3ffa82a86abf2fb9bcd70.tar.gz
kooldock-39f2c6a84cd715b11fb3ffa82a86abf2fb9bcd70.zip
Initial import of kooldock 0.4.7
Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
-rw-r--r--AUTHORS6
-rw-r--r--COPYING340
-rw-r--r--ChangeLog90
-rw-r--r--Doxyfile283
-rw-r--r--INSTALL167
-rw-r--r--Makefile.am22
-rw-r--r--NEWS1
-rw-r--r--README21
-rw-r--r--TODO2
-rw-r--r--backgrounds/Makefile.am4
-rw-r--r--backgrounds/border-black/Makefile.am4
-rw-r--r--backgrounds/border-black/background-center.pngbin0 -> 339 bytes
-rw-r--r--backgrounds/border-black/background-left.pngbin0 -> 509 bytes
-rw-r--r--backgrounds/border-black/background-right.pngbin0 -> 518 bytes
-rw-r--r--backgrounds/border-white/Makefile.am4
-rw-r--r--backgrounds/border-white/background-center.pngbin0 -> 339 bytes
-rw-r--r--backgrounds/border-white/background-left.pngbin0 -> 490 bytes
-rw-r--r--backgrounds/border-white/background-right.pngbin0 -> 29237 bytes
-rw-r--r--backgrounds/crystal/Makefile.am4
-rw-r--r--backgrounds/crystal/background-center.pngbin0 -> 343 bytes
-rw-r--r--backgrounds/crystal/background-left.pngbin0 -> 626 bytes
-rw-r--r--backgrounds/crystal/background-right.pngbin0 -> 464 bytes
-rw-r--r--backgrounds/default/Makefile.am4
-rw-r--r--backgrounds/default/background-center.pngbin0 -> 2562 bytes
-rw-r--r--backgrounds/default/background-left.pngbin0 -> 917 bytes
-rw-r--r--backgrounds/default/background-right.pngbin0 -> 1099 bytes
-rw-r--r--backgrounds/fadeout/Makefile.am4
-rw-r--r--backgrounds/fadeout/background-center.pngbin0 -> 482 bytes
-rw-r--r--backgrounds/fadeout/background-left.pngbin0 -> 489 bytes
-rw-r--r--backgrounds/fadeout/background-right.pngbin0 -> 591 bytes
-rw-r--r--backgrounds/fadeout2/Makefile.am4
-rw-r--r--backgrounds/fadeout2/background-center.pngbin0 -> 798 bytes
-rw-r--r--backgrounds/fadeout2/background-left.pngbin0 -> 644 bytes
-rw-r--r--backgrounds/fadeout2/background-right.pngbin0 -> 764 bytes
-rw-r--r--backgrounds/fadeout3/Makefile.am4
-rw-r--r--backgrounds/fadeout3/background-center.pngbin0 -> 1937 bytes
-rw-r--r--backgrounds/fadeout3/background-left.pngbin0 -> 635 bytes
-rw-r--r--backgrounds/fadeout3/background-right.pngbin0 -> 771 bytes
-rw-r--r--backgrounds/osx/Makefile.am4
-rw-r--r--backgrounds/osx/background-center.pngbin0 -> 305 bytes
-rw-r--r--backgrounds/osx/background-left.pngbin0 -> 240 bytes
-rw-r--r--backgrounds/osx/background-right.pngbin0 -> 201 bytes
-rw-r--r--config.h.in244
-rw-r--r--configure.files2
-rw-r--r--configure.in.in6
-rw-r--r--doc/Makefile.am4
-rw-r--r--doc/en/Makefile.am4
-rw-r--r--icons/Makefile.am3
-rw-r--r--icons/cr128-app-kooldock.pngbin0 -> 74998 bytes
-rw-r--r--icons/cr16-app-kooldock.pngbin0 -> 40220 bytes
-rw-r--r--icons/cr32-app-kooldock.pngbin0 -> 43501 bytes
-rw-r--r--icons/cr64-app-kooldock.pngbin0 -> 51415 bytes
-rw-r--r--kooldock.kdevelop214
-rw-r--r--kooldock.lsm14
-rw-r--r--po/Makefile.am6
-rw-r--r--po/cs.po658
-rw-r--r--po/de.po664
-rw-r--r--po/es.po542
-rw-r--r--po/fr.po519
-rw-r--r--po/it.po617
-rw-r--r--po/kooldock.mobin0 -> 498 bytes
-rw-r--r--po/kooldock.pot783
-rw-r--r--po/nl.po617
-rw-r--r--po/pl.po544
-rw-r--r--po/sv.po517
-rw-r--r--src/Makefile.am64
-rw-r--r--src/appProp.ui264
-rw-r--r--src/apppropprg.cpp159
-rw-r--r--src/apppropprg.h45
-rw-r--r--src/clip.cpp47
-rw-r--r--src/clip.h29
-rw-r--r--src/dinfo.cpp56
-rw-r--r--src/dinfo.h42
-rw-r--r--src/item.cpp274
-rw-r--r--src/item.h84
-rw-r--r--src/kooldock.cpp3848
-rw-r--r--src/kooldock.h364
-rw-r--r--src/main.cpp114
-rw-r--r--src/setupdialog.ui1990
-rw-r--r--src/setupdialogprg.cpp702
-rw-r--r--src/setupdialogprg.h102
-rw-r--r--src/xosd.cpp226
-rw-r--r--src/xosd.h58
-rw-r--r--subdirs5
84 files changed, 15399 insertions, 0 deletions
diff --git a/AUTHORS b/AUTHORS
new file mode 100644
index 0000000..15d4699
--- /dev/null
+++ b/AUTHORS
@@ -0,0 +1,6 @@
+KoolDock team (to v0.3)
+Matias Fernandez <radix@kde.cl>
+Francisco Guidi <francisco@guidi.com>
+
+Developement after v0.3
+Blase Stanek <bisiek@op.pl> \ No newline at end of file
diff --git a/COPYING b/COPYING
new file mode 100644
index 0000000..5b6e7c6
--- /dev/null
+++ b/COPYING
@@ -0,0 +1,340 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 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/ChangeLog b/ChangeLog
new file mode 100644
index 0000000..8e1a1a4
--- /dev/null
+++ b/ChangeLog
@@ -0,0 +1,90 @@
+23/09/2007: KoolDock 0.4.7
+ - Improved icon positioning.
+ - Added 'Show only minimized' option.
+ - Disabled systray support.
+ - Improved drawing engine.
+ - Added speed control (modifies kooldock's animation time to make it closest to desired speed).
+ - Reduced CPU wakeups, when kooldock is inactive (should be 4-8 per second)
+ - Reorganised tabs in setting window.
+ - Added 'Apply' button in options window, improved settings applying speed.
+ - Added simple KBFX support (necessary kicker applet).
+ - Added automatic background refresh (on minimize/maximize/restore/activate window).
+ - Added similar task grouping.
+ - Minor fixes and improvements.
+
+16/02/2007: KoolDock 0.4.6
+ - Added choice of amount of big icons.
+ - Added choise of edge on which kooldock has to appear.
+ - Added option allowing to don't scroll while mouse is on the same icon (centred on it).
+ - Added Italian translation.
+
+16/02/2007: KoolDock 0.4.5
+ - Icon positioning improvments.
+ - Some optimizations.
+
+11/02/2007: KoolDock 0.4.4
+ - Added scrolling when kooldock need more size than desktop width.
+ - One-colour-background box now fits to icons.
+ - Improved xinerama support.
+ - Some stablity fixes.
+ - Added zooming speed choice.
+ - Improved 'Show after' option.
+
+20/01/2007: KoolDock 0.4.3
+ - Adeed: 'Move left/right' buttons for launcher icons
+ - Some stability improvments
+ - Fixed: beryl shadowcasting to kooldock's window
+
+15/01/2007: KoolDock 0.4.2
+ - Fixed sizing and getting background bugs.
+ - Fixed: Closing when desktop was changed.
+ - Speed up desktop changing (when is full of windows).
+ - Faster background themes scalling.
+ - Added simple command line support (-o --options, -k --kill)
+ - Fixed bug associated with quick opening and closing windows.
+ - Added possibility of changing kooldock position on screen edge
+
+01/01/2007: KoolDock 0.4.1
+ - Fixed: 'Show hidden' option.
+
+31/12/2006: KoolDock 0.4
+ - Fixed: Half openinig when any menu is expanded.
+ - Fixed: Quick showing and hiding on kooldock's window edges.
+ - Fixed: Some minor fixes and optimizations.
+ - Fixed: Program don't compile on autoconf v2.60 or newer.
+
+11/08/2004: KoolDock 0.3
+ - Added: Translation support (i18n): Spanish (complete), Swedish (complete), Polish (not fully up to date).
+ - Added: Mouse Wheel over Dock now switches Desktop.
+ - Added: Launcher icons can now be sorted through Launcher List.
+ - Added: Move to Desktop/Go To Desktop (Taskbar/Nav. Bar).
+ - Added: New option to Nav. Bar: Task List.
+ - Added: Theme support for KoolDock Background (5 themes).
+ - Added: Run launcher as different user.
+ - Added: It is now possible to tell KoolDock to manage all windows or those in the present Desktop.
+ - Added: Active window icon is now highlighted.
+ - Improved: Xinerama Support (user configurable screen resolution).
+ - Updated: About dialog information.
+ - Patches: Text Shadow Patch (thanks to William Ekholm).
+ - Fixed: KMenu and mousemove event: sigsegv (thanks to Jared Grubb).
+ - Fixed: Minor fixes and Optimizations.
+ - Experimental: Systray Support (do not use it unless you want to help us with this).
+
+
+19/05/2004: KoolDock 0.2
+ - Fixed separator issue, now it is drawed only when necessary.
+ - Fixed configuration - separator issue (now it is not disabled).
+ - Fixed setupdialog and appdialog resizing.
+ - Xinerama support (in preferences).
+ - Navigation Menu + clock (available through KoolDock menu).
+ - Screenshot of minimized windows (only through KoolDock menu).
+ - Added "Hide on click" (Hide KoolDock after clicking on an icon).
+ - Added "Show after"; how long the mouse must be at bottom of the
+ screen before showing the dock.
+ - Added "Run from Terminal" and "Keep Terminal Open" in the add
+ launcher dialog (useful for console applications, e.g: top, vim).
+ - Rewrote "Ignore List"; now it is possible to grab windows names.
+ - Proper tooltips in the "Preference Dialog"
+ - Optimization to the background drawing rutine.
+ - Major code clean-up (still needs more).
+ - Minor fixes.
diff --git a/Doxyfile b/Doxyfile
new file mode 100644
index 0000000..120a52d
--- /dev/null
+++ b/Doxyfile
@@ -0,0 +1,283 @@
+# Doxyfile 1.5.1-KDevelop
+
+#---------------------------------------------------------------------------
+# Project related configuration options
+#---------------------------------------------------------------------------
+PROJECT_NAME = kooldock
+PROJECT_NUMBER = 0.4.7
+OUTPUT_DIRECTORY =
+CREATE_SUBDIRS = NO
+OUTPUT_LANGUAGE = English
+USE_WINDOWS_ENCODING = NO
+BRIEF_MEMBER_DESC = YES
+REPEAT_BRIEF = YES
+ABBREVIATE_BRIEF = "The $name class" \
+ "The $name widget" \
+ "The $name file" \
+ is \
+ provides \
+ specifies \
+ contains \
+ represents \
+ a \
+ an \
+ the
+ALWAYS_DETAILED_SEC = NO
+INLINE_INHERITED_MEMB = NO
+FULL_PATH_NAMES = NO
+STRIP_FROM_PATH = /home/bisiek/
+STRIP_FROM_INC_PATH =
+SHORT_NAMES = NO
+JAVADOC_AUTOBRIEF = NO
+MULTILINE_CPP_IS_BRIEF = NO
+DETAILS_AT_TOP = NO
+INHERIT_DOCS = YES
+SEPARATE_MEMBER_PAGES = NO
+TAB_SIZE = 8
+ALIASES =
+OPTIMIZE_OUTPUT_FOR_C = NO
+OPTIMIZE_OUTPUT_JAVA = NO
+BUILTIN_STL_SUPPORT = NO
+DISTRIBUTE_GROUP_DOC = NO
+SUBGROUPING = YES
+#---------------------------------------------------------------------------
+# Build related configuration options
+#---------------------------------------------------------------------------
+EXTRACT_ALL = NO
+EXTRACT_PRIVATE = NO
+EXTRACT_STATIC = NO
+EXTRACT_LOCAL_CLASSES = YES
+EXTRACT_LOCAL_METHODS = NO
+HIDE_UNDOC_MEMBERS = NO
+HIDE_UNDOC_CLASSES = NO
+HIDE_FRIEND_COMPOUNDS = NO
+HIDE_IN_BODY_DOCS = NO
+INTERNAL_DOCS = NO
+CASE_SENSE_NAMES = YES
+HIDE_SCOPE_NAMES = NO
+SHOW_INCLUDE_FILES = YES
+INLINE_INFO = YES
+SORT_MEMBER_DOCS = YES
+SORT_BRIEF_DOCS = NO
+SORT_BY_SCOPE_NAME = NO
+GENERATE_TODOLIST = YES
+GENERATE_TESTLIST = YES
+GENERATE_BUGLIST = YES
+GENERATE_DEPRECATEDLIST= YES
+ENABLED_SECTIONS =
+MAX_INITIALIZER_LINES = 30
+SHOW_USED_FILES = YES
+SHOW_DIRECTORIES = NO
+FILE_VERSION_FILTER =
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+QUIET = NO
+WARNINGS = YES
+WARN_IF_UNDOCUMENTED = YES
+WARN_IF_DOC_ERROR = YES
+WARN_NO_PARAMDOC = NO
+WARN_FORMAT = "$file:$line: $text"
+WARN_LOGFILE =
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+INPUT = /home/bisiek/kooldock
+FILE_PATTERNS = *.c \
+ *.cc \
+ *.cxx \
+ *.cpp \
+ *.c++ \
+ *.d \
+ *.java \
+ *.ii \
+ *.ixx \
+ *.ipp \
+ *.i++ \
+ *.inl \
+ *.h \
+ *.hh \
+ *.hxx \
+ *.hpp \
+ *.h++ \
+ *.idl \
+ *.odl \
+ *.cs \
+ *.php \
+ *.php3 \
+ *.inc \
+ *.m \
+ *.mm \
+ *.dox \
+ *.py \
+ *.C \
+ *.CC \
+ *.C++ \
+ *.II \
+ *.I++ \
+ *.H \
+ *.HH \
+ *.H++ \
+ *.CS \
+ *.PHP \
+ *.PHP3 \
+ *.M \
+ *.MM \
+ *.PY \
+ *.C \
+ *.H \
+ *.tlh \
+ *.diff \
+ *.patch \
+ *.moc \
+ *.xpm \
+ *.dox
+RECURSIVE = yes
+EXCLUDE =
+EXCLUDE_SYMLINKS = NO
+EXCLUDE_PATTERNS =
+EXAMPLE_PATH =
+EXAMPLE_PATTERNS = *
+EXAMPLE_RECURSIVE = NO
+IMAGE_PATH =
+INPUT_FILTER =
+FILTER_PATTERNS =
+FILTER_SOURCE_FILES = NO
+#---------------------------------------------------------------------------
+# configuration options related to source browsing
+#---------------------------------------------------------------------------
+SOURCE_BROWSER = NO
+INLINE_SOURCES = NO
+STRIP_CODE_COMMENTS = YES
+REFERENCED_BY_RELATION = YES
+REFERENCES_RELATION = YES
+REFERENCES_LINK_SOURCE = YES
+USE_HTAGS = NO
+VERBATIM_HEADERS = YES
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+ALPHABETICAL_INDEX = NO
+COLS_IN_ALPHA_INDEX = 5
+IGNORE_PREFIX =
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+GENERATE_HTML = YES
+HTML_OUTPUT = html
+HTML_FILE_EXTENSION = .html
+HTML_HEADER =
+HTML_FOOTER =
+HTML_STYLESHEET =
+HTML_ALIGN_MEMBERS = YES
+GENERATE_HTMLHELP = NO
+CHM_FILE =
+HHC_LOCATION =
+GENERATE_CHI = NO
+BINARY_TOC = NO
+TOC_EXPAND = NO
+DISABLE_INDEX = NO
+ENUM_VALUES_PER_LINE = 4
+GENERATE_TREEVIEW = NO
+TREEVIEW_WIDTH = 250
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+GENERATE_LATEX = YES
+LATEX_OUTPUT = latex
+LATEX_CMD_NAME = latex
+MAKEINDEX_CMD_NAME = makeindex
+COMPACT_LATEX = NO
+PAPER_TYPE = a4wide
+EXTRA_PACKAGES =
+LATEX_HEADER =
+PDF_HYPERLINKS = NO
+USE_PDFLATEX = NO
+LATEX_BATCHMODE = NO
+LATEX_HIDE_INDICES = NO
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+GENERATE_RTF = NO
+RTF_OUTPUT = rtf
+COMPACT_RTF = NO
+RTF_HYPERLINKS = NO
+RTF_STYLESHEET_FILE =
+RTF_EXTENSIONS_FILE =
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+GENERATE_MAN = NO
+MAN_OUTPUT = man
+MAN_EXTENSION = .3
+MAN_LINKS = NO
+#---------------------------------------------------------------------------
+# configuration options related to the XML output
+#---------------------------------------------------------------------------
+GENERATE_XML = yes
+XML_OUTPUT = xml
+XML_SCHEMA =
+XML_DTD =
+XML_PROGRAMLISTING = YES
+#---------------------------------------------------------------------------
+# configuration options for the AutoGen Definitions output
+#---------------------------------------------------------------------------
+GENERATE_AUTOGEN_DEF = NO
+#---------------------------------------------------------------------------
+# configuration options related to the Perl module output
+#---------------------------------------------------------------------------
+GENERATE_PERLMOD = NO
+PERLMOD_LATEX = NO
+PERLMOD_PRETTY = YES
+PERLMOD_MAKEVAR_PREFIX =
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor
+#---------------------------------------------------------------------------
+ENABLE_PREPROCESSING = YES
+MACRO_EXPANSION = NO
+EXPAND_ONLY_PREDEF = NO
+SEARCH_INCLUDES = YES
+INCLUDE_PATH =
+INCLUDE_FILE_PATTERNS =
+PREDEFINED =
+EXPAND_AS_DEFINED =
+SKIP_FUNCTION_MACROS = YES
+#---------------------------------------------------------------------------
+# Configuration::additions related to external references
+#---------------------------------------------------------------------------
+TAGFILES =
+GENERATE_TAGFILE = kooldock.tag
+ALLEXTERNALS = NO
+EXTERNAL_GROUPS = YES
+PERL_PATH = /usr/bin/perl
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool
+#---------------------------------------------------------------------------
+CLASS_DIAGRAMS = YES
+HIDE_UNDOC_RELATIONS = YES
+HAVE_DOT = NO
+CLASS_GRAPH = YES
+COLLABORATION_GRAPH = YES
+GROUP_GRAPHS = YES
+UML_LOOK = NO
+TEMPLATE_RELATIONS = NO
+INCLUDE_GRAPH = YES
+INCLUDED_BY_GRAPH = YES
+CALL_GRAPH = NO
+CALLER_GRAPH = NO
+GRAPHICAL_HIERARCHY = YES
+DIRECTORY_GRAPH = YES
+DOT_IMAGE_FORMAT = png
+DOT_PATH =
+DOTFILE_DIRS =
+MAX_DOT_GRAPH_WIDTH = 1024
+MAX_DOT_GRAPH_HEIGHT = 1024
+MAX_DOT_GRAPH_DEPTH = 1000
+DOT_TRANSPARENT = NO
+DOT_MULTI_TARGETS = NO
+GENERATE_LEGEND = YES
+DOT_CLEANUP = YES
+#---------------------------------------------------------------------------
+# Configuration::additions related to the search engine
+#---------------------------------------------------------------------------
+SEARCHENGINE = NO
diff --git a/INSTALL b/INSTALL
new file mode 100644
index 0000000..02a4a07
--- /dev/null
+++ b/INSTALL
@@ -0,0 +1,167 @@
+Basic Installation
+==================
+
+ These are generic installation instructions.
+
+ The `configure' shell script attempts to guess correct values for
+various system-dependent variables used during compilation. It uses
+those values to create a `Makefile' in each directory of the package.
+It may also create one or more `.h' files containing system-dependent
+definitions. Finally, it creates a shell script `config.status' that
+you can run in the future to recreate the current configuration, a file
+`config.cache' that saves the results of its tests to speed up
+reconfiguring, and a file `config.log' containing compiler output
+(useful mainly for debugging `configure').
+
+ If you need to do unusual things to compile the package, please try
+to figure out how `configure' could check whether to do them, and mail
+diffs or instructions to the address given in the `README' so they can
+be considered for the next release. If at some point `config.cache'
+contains results you don't want to keep, you may remove or edit it.
+
+ The file `configure.in' is used to create `configure' by a program
+called `autoconf'. You only need `configure.in' if you want to change
+it or regenerate `configure' using a newer version of `autoconf'.
+
+The simplest way to compile this package is:
+
+ 1. `cd' to the directory containing the package's source code and type
+ `./configure' to configure the package for your system. If you're
+ using `csh' on an old version of System V, you might need to type
+ `sh ./configure' instead to prevent `csh' from trying to execute
+ `configure' itself.
+
+ Running `configure' takes a while. While running, it prints some
+ messages telling which features it is checking for.
+
+ 2. Type `make' to compile the package.
+
+ 3. Type `make install' to install the programs and any data files and
+ documentation.
+
+ 4. You can remove the program binaries and object files from the
+ source code directory by typing `make clean'.
+
+Compilers and Options
+=====================
+
+ Some systems require unusual options for compilation or linking that
+the `configure' script does not know about. You can give `configure'
+initial values for variables by setting them in the environment. Using
+a Bourne-compatible shell, you can do that on the command line like
+this:
+ CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
+
+Or on systems that have the `env' program, you can do it like this:
+ env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
+
+Compiling For Multiple Architectures
+====================================
+
+ You can compile the package for more than one kind of computer at the
+same time, by placing the object files for each architecture in their
+own directory. To do this, you must use a version of `make' that
+supports the `VPATH' variable, such as GNU `make'. `cd' to the
+directory where you want the object files and executables to go and run
+the `configure' script. `configure' automatically checks for the
+source code in the directory that `configure' is in and in `..'.
+
+ If you have to use a `make' that does not supports the `VPATH'
+variable, you have to compile the package for one architecture at a time
+in the source code directory. After you have installed the package for
+one architecture, use `make distclean' before reconfiguring for another
+architecture.
+
+Installation Names
+==================
+
+ By default, `make install' will install the package's files in
+`/usr/local/bin', `/usr/local/man', etc. You can specify an
+installation prefix other than `/usr/local' by giving `configure' the
+option `--prefix=PATH'.
+
+ You can specify separate installation prefixes for
+architecture-specific files and architecture-independent files. If you
+give `configure' the option `--exec-prefix=PATH', the package will use
+PATH as the prefix for installing programs and libraries.
+Documentation and other data files will still use the regular prefix.
+
+ If the package supports it, you can cause programs to be installed
+with an extra prefix or suffix on their names by giving `configure' the
+option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
+
+Optional Features
+=================
+
+ Some packages pay attention to `--enable-FEATURE' options to
+`configure', where FEATURE indicates an optional part of the package.
+They may also pay attention to `--with-PACKAGE' options, where PACKAGE
+is something like `gnu-as' or `x' (for the X Window System). The
+`README' should mention any `--enable-' and `--with-' options that the
+package recognizes.
+
+ For packages that use the X Window System, `configure' can usually
+find the X include and library files automatically, but if it doesn't,
+you can use the `configure' options `--x-includes=DIR' and
+`--x-libraries=DIR' to specify their locations.
+
+Specifying the System Type
+==========================
+
+ There may be some features `configure' can not figure out
+automatically, but needs to determine by the type of host the package
+will run on. Usually `configure' can figure that out, but if it prints
+a message saying it can not guess the host type, give it the
+`--host=TYPE' option. TYPE can either be a short name for the system
+type, such as `sun4', or a canonical name with three fields:
+ CPU-COMPANY-SYSTEM
+
+See the file `config.sub' for the possible values of each field. If
+`config.sub' isn't included in this package, then this package doesn't
+need to know the host type.
+
+ If you are building compiler tools for cross-compiling, you can also
+use the `--target=TYPE' option to select the type of system they will
+produce code for and the `--build=TYPE' option to select the type of
+system on which you are compiling the package.
+
+Sharing Defaults
+================
+
+ If you want to set default values for `configure' scripts to share,
+you can create a site shell script called `config.site' that gives
+default values for variables like `CC', `cache_file', and `prefix'.
+`configure' looks for `PREFIX/share/config.site' if it exists, then
+`PREFIX/etc/config.site' if it exists. Or, you can set the
+`CONFIG_SITE' environment variable to the location of the site script.
+A warning: not all `configure' scripts look for a site script.
+
+Operation Controls
+==================
+
+ `configure' recognizes the following options to control how it
+operates.
+
+`--cache-file=FILE'
+ Use and save the results of the tests in FILE instead of
+ `./config.cache'. Set FILE to `/dev/null' to disable caching, for
+ debugging `configure'.
+
+`--help'
+ Print a summary of the options to `configure', and exit.
+
+`--quiet'
+`--silent'
+`-q'
+ Do not print messages saying which checks are being made.
+
+`--srcdir=DIR'
+ Look for the package's source code in directory DIR. Usually
+ `configure' can determine that directory automatically.
+
+`--version'
+ Print the version of Autoconf used to generate the `configure'
+ script, and exit.
+
+`configure' also accepts some other, not widely useful, options.
+
diff --git a/Makefile.am b/Makefile.am
new file mode 100644
index 0000000..8a2284f
--- /dev/null
+++ b/Makefile.am
@@ -0,0 +1,22 @@
+SUBDIRS = $(TOPSUBDIRS)
+
+$(top_srcdir)/configure.in: configure.in.in $(top_srcdir)/subdirs
+ cd $(top_srcdir) && $(MAKE) -f admin/Makefile.common configure.in ;
+
+$(top_srcdir)/subdirs:
+ cd $(top_srcdir) && $(MAKE) -f admin/Makefile.common subdirs
+
+$(top_srcdir)/acinclude.m4: $(top_srcdir)/admin/acinclude.m4.in $(top_srcdir)/admin/libtool.m4.in
+ @cd $(top_srcdir) && cat admin/acinclude.m4.in admin/libtool.m4.in > acinclude.m4
+
+MAINTAINERCLEANFILES = subdirs configure.in acinclude.m4 configure.files
+
+package-messages:
+ cd $(top_srcdir) && $(MAKE) -f admin/Makefile.common package-messages
+ $(MAKE) -C po merge
+
+EXTRA_DIST = admin COPYING configure.in.in
+
+dist-hook:
+ cd $(top_distdir) && perl admin/am_edit -padmin
+ cd $(top_distdir) && $(MAKE) -f admin/Makefile.common subdirs
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..839f1e9
--- /dev/null
+++ b/README
@@ -0,0 +1,21 @@
+KoolDock is based upon the work of Dang Viet Dung, KSmoothDock 2.1.
+For the latest release of ksmoothdock, please visit
+http://www.kde-look.org/content/show.php?content=6585
+
+To compile in debugmode, before making run:
+$ CXXFLAGS="-D_ENABLE_DEBUG" ./configure --enable-debug=full
+It's also possible to do it in KDevelop.
+
+Normal compilation:
+Run in console
+./configure
+make; make install
+
+Compilation version from SVN
+make -f Makefile.cvs
+./configure
+make; make install
+
+make install - it installs compiled project into tour system, to do this you must have root privilages
+
+Warning: If you are using kooldock on gnome, without installed KDE, you should know, that's necessary to install KDEbase to have working launchers. \ No newline at end of file
diff --git a/TODO b/TODO
new file mode 100644
index 0000000..ffba206
--- /dev/null
+++ b/TODO
@@ -0,0 +1,2 @@
+- Plugins (clock, pager, etc) in the Dock.
+- i18n (translations).
diff --git a/backgrounds/Makefile.am b/backgrounds/Makefile.am
new file mode 100644
index 0000000..d4fd3a3
--- /dev/null
+++ b/backgrounds/Makefile.am
@@ -0,0 +1,4 @@
+
+METASOURCES = AUTO
+appbgdir = $(kde_datadir)/kooldock/backgrounds
+SUBDIRS = default border-white border-black crystal osx fadeout fadeout2 fadeout3
diff --git a/backgrounds/border-black/Makefile.am b/backgrounds/border-black/Makefile.am
new file mode 100644
index 0000000..579d047
--- /dev/null
+++ b/backgrounds/border-black/Makefile.am
@@ -0,0 +1,4 @@
+
+METASOURCES = AUTO
+borderblackbgdir = $(kde_datadir)/kooldock/backgrounds/border-black
+borderblackbg_DATA = background-center.png background-left.png background-right.png
diff --git a/backgrounds/border-black/background-center.png b/backgrounds/border-black/background-center.png
new file mode 100644
index 0000000..aac0687
--- /dev/null
+++ b/backgrounds/border-black/background-center.png
Binary files differ
diff --git a/backgrounds/border-black/background-left.png b/backgrounds/border-black/background-left.png
new file mode 100644
index 0000000..2d68b03
--- /dev/null
+++ b/backgrounds/border-black/background-left.png
Binary files differ
diff --git a/backgrounds/border-black/background-right.png b/backgrounds/border-black/background-right.png
new file mode 100644
index 0000000..baa9e10
--- /dev/null
+++ b/backgrounds/border-black/background-right.png
Binary files differ
diff --git a/backgrounds/border-white/Makefile.am b/backgrounds/border-white/Makefile.am
new file mode 100644
index 0000000..90e09d6
--- /dev/null
+++ b/backgrounds/border-white/Makefile.am
@@ -0,0 +1,4 @@
+
+METASOURCES = AUTO
+borderwhitebgdir = $(kde_datadir)/kooldock/backgrounds/border-white
+borderwhitebg_DATA = background-center.png background-left.png background-right.png
diff --git a/backgrounds/border-white/background-center.png b/backgrounds/border-white/background-center.png
new file mode 100644
index 0000000..7b54434
--- /dev/null
+++ b/backgrounds/border-white/background-center.png
Binary files differ
diff --git a/backgrounds/border-white/background-left.png b/backgrounds/border-white/background-left.png
new file mode 100644
index 0000000..9166e55
--- /dev/null
+++ b/backgrounds/border-white/background-left.png
Binary files differ
diff --git a/backgrounds/border-white/background-right.png b/backgrounds/border-white/background-right.png
new file mode 100644
index 0000000..cd1fbdd
--- /dev/null
+++ b/backgrounds/border-white/background-right.png
Binary files differ
diff --git a/backgrounds/crystal/Makefile.am b/backgrounds/crystal/Makefile.am
new file mode 100644
index 0000000..a4095e5
--- /dev/null
+++ b/backgrounds/crystal/Makefile.am
@@ -0,0 +1,4 @@
+
+METASOURCES = AUTO
+crystalbgdir = $(kde_datadir)/kooldock/backgrounds/crystal
+crystalbg_DATA = background-center.png background-left.png background-right.png
diff --git a/backgrounds/crystal/background-center.png b/backgrounds/crystal/background-center.png
new file mode 100644
index 0000000..fd679af
--- /dev/null
+++ b/backgrounds/crystal/background-center.png
Binary files differ
diff --git a/backgrounds/crystal/background-left.png b/backgrounds/crystal/background-left.png
new file mode 100644
index 0000000..63b78ab
--- /dev/null
+++ b/backgrounds/crystal/background-left.png
Binary files differ
diff --git a/backgrounds/crystal/background-right.png b/backgrounds/crystal/background-right.png
new file mode 100644
index 0000000..3ea5bbb
--- /dev/null
+++ b/backgrounds/crystal/background-right.png
Binary files differ
diff --git a/backgrounds/default/Makefile.am b/backgrounds/default/Makefile.am
new file mode 100644
index 0000000..8e3ed4b
--- /dev/null
+++ b/backgrounds/default/Makefile.am
@@ -0,0 +1,4 @@
+
+METASOURCES = AUTO
+defaultbgdir = $(kde_datadir)/kooldock/backgrounds/default
+defaultbg_DATA = background-center.png background-left.png background-right.png
diff --git a/backgrounds/default/background-center.png b/backgrounds/default/background-center.png
new file mode 100644
index 0000000..b56dd2a
--- /dev/null
+++ b/backgrounds/default/background-center.png
Binary files differ
diff --git a/backgrounds/default/background-left.png b/backgrounds/default/background-left.png
new file mode 100644
index 0000000..28ddba4
--- /dev/null
+++ b/backgrounds/default/background-left.png
Binary files differ
diff --git a/backgrounds/default/background-right.png b/backgrounds/default/background-right.png
new file mode 100644
index 0000000..1adbf22
--- /dev/null
+++ b/backgrounds/default/background-right.png
Binary files differ
diff --git a/backgrounds/fadeout/Makefile.am b/backgrounds/fadeout/Makefile.am
new file mode 100644
index 0000000..c19930e
--- /dev/null
+++ b/backgrounds/fadeout/Makefile.am
@@ -0,0 +1,4 @@
+
+METASOURCES = AUTO
+fadeoutdir = $(kde_datadir)/kooldock/backgrounds/fadeout
+fadeout_DATA = background-center.png background-left.png background-right.png
diff --git a/backgrounds/fadeout/background-center.png b/backgrounds/fadeout/background-center.png
new file mode 100644
index 0000000..5644d0b
--- /dev/null
+++ b/backgrounds/fadeout/background-center.png
Binary files differ
diff --git a/backgrounds/fadeout/background-left.png b/backgrounds/fadeout/background-left.png
new file mode 100644
index 0000000..02719ce
--- /dev/null
+++ b/backgrounds/fadeout/background-left.png
Binary files differ
diff --git a/backgrounds/fadeout/background-right.png b/backgrounds/fadeout/background-right.png
new file mode 100644
index 0000000..3843363
--- /dev/null
+++ b/backgrounds/fadeout/background-right.png
Binary files differ
diff --git a/backgrounds/fadeout2/Makefile.am b/backgrounds/fadeout2/Makefile.am
new file mode 100644
index 0000000..ced69a0
--- /dev/null
+++ b/backgrounds/fadeout2/Makefile.am
@@ -0,0 +1,4 @@
+
+METASOURCES = AUTO
+fadeoutdir = $(kde_datadir)/kooldock/backgrounds/fadeout2
+fadeout_DATA = background-center.png background-left.png background-right.png
diff --git a/backgrounds/fadeout2/background-center.png b/backgrounds/fadeout2/background-center.png
new file mode 100644
index 0000000..852296e
--- /dev/null
+++ b/backgrounds/fadeout2/background-center.png
Binary files differ
diff --git a/backgrounds/fadeout2/background-left.png b/backgrounds/fadeout2/background-left.png
new file mode 100644
index 0000000..6da445c
--- /dev/null
+++ b/backgrounds/fadeout2/background-left.png
Binary files differ
diff --git a/backgrounds/fadeout2/background-right.png b/backgrounds/fadeout2/background-right.png
new file mode 100644
index 0000000..cb8fde7
--- /dev/null
+++ b/backgrounds/fadeout2/background-right.png
Binary files differ
diff --git a/backgrounds/fadeout3/Makefile.am b/backgrounds/fadeout3/Makefile.am
new file mode 100644
index 0000000..3803fbe
--- /dev/null
+++ b/backgrounds/fadeout3/Makefile.am
@@ -0,0 +1,4 @@
+
+METASOURCES = AUTO
+fadeoutdir = $(kde_datadir)/kooldock/backgrounds/fadeout3
+fadeout_DATA = background-center.png background-left.png background-right.png
diff --git a/backgrounds/fadeout3/background-center.png b/backgrounds/fadeout3/background-center.png
new file mode 100644
index 0000000..15b3555
--- /dev/null
+++ b/backgrounds/fadeout3/background-center.png
Binary files differ
diff --git a/backgrounds/fadeout3/background-left.png b/backgrounds/fadeout3/background-left.png
new file mode 100644
index 0000000..a23dc2b
--- /dev/null
+++ b/backgrounds/fadeout3/background-left.png
Binary files differ
diff --git a/backgrounds/fadeout3/background-right.png b/backgrounds/fadeout3/background-right.png
new file mode 100644
index 0000000..2086082
--- /dev/null
+++ b/backgrounds/fadeout3/background-right.png
Binary files differ
diff --git a/backgrounds/osx/Makefile.am b/backgrounds/osx/Makefile.am
new file mode 100644
index 0000000..cede254
--- /dev/null
+++ b/backgrounds/osx/Makefile.am
@@ -0,0 +1,4 @@
+
+METASOURCES = AUTO
+osxbgdir = $(kde_datadir)/kooldock/backgrounds/osx
+osxbg_DATA = background-center.png background-left.png background-right.png
diff --git a/backgrounds/osx/background-center.png b/backgrounds/osx/background-center.png
new file mode 100644
index 0000000..ebb5849
--- /dev/null
+++ b/backgrounds/osx/background-center.png
Binary files differ
diff --git a/backgrounds/osx/background-left.png b/backgrounds/osx/background-left.png
new file mode 100644
index 0000000..b2f5611
--- /dev/null
+++ b/backgrounds/osx/background-left.png
Binary files differ
diff --git a/backgrounds/osx/background-right.png b/backgrounds/osx/background-right.png
new file mode 100644
index 0000000..7687cd5
--- /dev/null
+++ b/backgrounds/osx/background-right.png
Binary files differ
diff --git a/config.h.in b/config.h.in
new file mode 100644
index 0000000..055c089
--- /dev/null
+++ b/config.h.in
@@ -0,0 +1,244 @@
+/* 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
+
+/* Define a safe value for MAXPATHLEN */
+#undef KDEMAXPATHLEN
+
+/* 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
+
+/* Version number of package */
+#undef VERSION
+
+/* Defined if compiling without arts */
+#undef WITHOUT_ARTS
+
+/* Define to 1 if your processor stores words with the most significant byte
+ first (like Motorola and SPARC, unlike Intel and VAX). */
+#undef WORDS_BIGENDIAN
+
+/*
+ * 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.in b/configure.in.in
new file mode 100644
index 0000000..b9796d4
--- /dev/null
+++ b/configure.in.in
@@ -0,0 +1,6 @@
+#MIN_CONFIG(3.2.0)
+
+AM_INIT_AUTOMAKE(kooldock, 0.4.7)
+AC_C_BIGENDIAN
+AC_CHECK_KDEMAXPATHLEN
+
diff --git a/doc/Makefile.am b/doc/Makefile.am
new file mode 100644
index 0000000..271bd41
--- /dev/null
+++ b/doc/Makefile.am
@@ -0,0 +1,4 @@
+####### kdevelop will overwrite this part!!! (begin)##########
+
+
+####### kdevelop will overwrite this part!!! (end)############
diff --git a/doc/en/Makefile.am b/doc/en/Makefile.am
new file mode 100644
index 0000000..271bd41
--- /dev/null
+++ b/doc/en/Makefile.am
@@ -0,0 +1,4 @@
+####### kdevelop will overwrite this part!!! (begin)##########
+
+
+####### kdevelop will overwrite this part!!! (end)############
diff --git a/icons/Makefile.am b/icons/Makefile.am
new file mode 100644
index 0000000..9ff7784
--- /dev/null
+++ b/icons/Makefile.am
@@ -0,0 +1,3 @@
+KDE_ICON = AUTO
+appicondir = $(kde_datadir)/kooldock/icons
+appicon_ICON = AUTO \ No newline at end of file
diff --git a/icons/cr128-app-kooldock.png b/icons/cr128-app-kooldock.png
new file mode 100644
index 0000000..b1d22db
--- /dev/null
+++ b/icons/cr128-app-kooldock.png
Binary files differ
diff --git a/icons/cr16-app-kooldock.png b/icons/cr16-app-kooldock.png
new file mode 100644
index 0000000..0a33cfb
--- /dev/null
+++ b/icons/cr16-app-kooldock.png
Binary files differ
diff --git a/icons/cr32-app-kooldock.png b/icons/cr32-app-kooldock.png
new file mode 100644
index 0000000..aa39910
--- /dev/null
+++ b/icons/cr32-app-kooldock.png
Binary files differ
diff --git a/icons/cr64-app-kooldock.png b/icons/cr64-app-kooldock.png
new file mode 100644
index 0000000..07c4363
--- /dev/null
+++ b/icons/cr64-app-kooldock.png
Binary files differ
diff --git a/kooldock.kdevelop b/kooldock.kdevelop
new file mode 100644
index 0000000..f1d0eab
--- /dev/null
+++ b/kooldock.kdevelop
@@ -0,0 +1,214 @@
+<?xml version = '1.0'?>
+<kdevelop>
+ <general>
+ <author>bisiek</author>
+ <email>bisiek9@gmail.com</email>
+ <version>0.4.7</version>
+ <projectmanagement>KDevKDEAutoProject</projectmanagement>
+ <primarylanguage>C++</primarylanguage>
+ <keywords>
+ <keyword>C++</keyword>
+ <keyword>Code</keyword>
+ <keyword>Qt</keyword>
+ <keyword>KDE</keyword>
+ </keywords>
+ <ignoreparts/>
+ <projectname>kooldock</projectname>
+ <projectdirectory>.</projectdirectory>
+ <absoluteprojectpath>false</absoluteprojectpath>
+ <description/>
+ <defaultencoding/>
+ </general>
+ <kdevcppsupport>
+ <qt>
+ <version>3</version>
+ <used>true</used>
+ <includestyle>3</includestyle>
+ <designerintegration>EmbeddedKDevDesigner</designerintegration>
+ <root>/usr/lib/qt-3.3</root>
+ <qmake>/usr/lib/qt-3.3/bin/qmake</qmake>
+ <designer>/usr/lib/qt-3.3/bin/designer</designer>
+ <designerpluginpaths/>
+ </qt>
+ <references/>
+ <codecompletion>
+ <automaticCodeCompletion>false</automaticCodeCompletion>
+ <automaticArgumentsHint>true</automaticArgumentsHint>
+ <automaticHeaderCompletion>true</automaticHeaderCompletion>
+ <codeCompletionDelay>250</codeCompletionDelay>
+ <argumentsHintDelay>400</argumentsHintDelay>
+ <headerCompletionDelay>250</headerCompletionDelay>
+ <showOnlyAccessibleItems>false</showOnlyAccessibleItems>
+ <completionBoxItemOrder>0</completionBoxItemOrder>
+ <howEvaluationContextMenu>true</howEvaluationContextMenu>
+ <showCommentWithArgumentHint>true</showCommentWithArgumentHint>
+ <statusBarTypeEvaluation>false</statusBarTypeEvaluation>
+ <namespaceAliases>std=_GLIBCXX_STD;__gnu_cxx=std</namespaceAliases>
+ <processPrimaryTypes>true</processPrimaryTypes>
+ <processFunctionArguments>true</processFunctionArguments>
+ <preProcessAllHeaders>false</preProcessAllHeaders>
+ <parseMissingHeadersExperimental>false</parseMissingHeadersExperimental>
+ <resolveIncludePathsUsingMakeExperimental>false</resolveIncludePathsUsingMakeExperimental>
+ <alwaysParseInBackground>true</alwaysParseInBackground>
+ <usePermanentCaching>true</usePermanentCaching>
+ <alwaysIncludeNamespaces>true</alwaysIncludeNamespaces>
+ <includePaths>.;</includePaths>
+ </codecompletion>
+ <creategettersetter>
+ <prefixGet/>
+ <prefixSet>set</prefixSet>
+ <prefixVariable>m_,_</prefixVariable>
+ <parameterName>theValue</parameterName>
+ <inlineGet>true</inlineGet>
+ <inlineSet>true</inlineSet>
+ </creategettersetter>
+ <splitheadersource>
+ <enabled>false</enabled>
+ <synchronize>true</synchronize>
+ <orientation>Vertical</orientation>
+ </splitheadersource>
+ </kdevcppsupport>
+ <kdevautoproject>
+ <general>
+ <activetarget>src/kooldock</activetarget>
+ <useconfiguration>debug</useconfiguration>
+ </general>
+ <run>
+ <mainprogram>src/kooldock</mainprogram>
+ </run>
+ <configurations>
+ <optimized>
+ <builddir>optimized</builddir>
+ <ccompiler>kdevgccoptions</ccompiler>
+ <cxxcompiler>kdevgppoptions</cxxcompiler>
+ <f77compiler>kdevg77options</f77compiler>
+ <cxxflags>-O2 -g0</cxxflags>
+ </optimized>
+ <debug>
+ <configargs>--enable-debug=full</configargs>
+ <builddir>debug</builddir>
+ <ccompiler>kdevgccoptions</ccompiler>
+ <cxxcompiler>kdevgppoptions</cxxcompiler>
+ <f77compiler>kdevg77options</f77compiler>
+ <cxxflags>-O0 -g3 -D_ENABLE_DEBUG</cxxflags>
+ <envvars/>
+ <topsourcedir/>
+ <cppflags/>
+ <ldflags/>
+ <ccompilerbinary/>
+ <cxxcompilerbinary/>
+ <f77compilerbinary/>
+ <cflags/>
+ <f77flags/>
+ </debug>
+ </configurations>
+ <make>
+ <envvars>
+ <envvar value="1" name="WANT_AUTOCONF_2_5" />
+ <envvar value="1" name="WANT_AUTOMAKE_1_6" />
+ </envvars>
+ </make>
+ </kdevautoproject>
+ <kdevfileview>
+ <groups>
+ <group pattern="*.cpp;*.cxx;*.h" name="Sources" />
+ <group pattern="*.ui" name="User Interface" />
+ <group pattern="*.png" name="Icons" />
+ <group pattern="*.po;*.ts" name="Translations" />
+ <group pattern="*" name="Others" />
+ <hidenonprojectfiles>false</hidenonprojectfiles>
+ <hidenonlocation>false</hidenonlocation>
+ </groups>
+ <tree>
+ <hidepatterns>*.o,*.lo,CVS</hidepatterns>
+ <hidenonprojectfiles>false</hidenonprojectfiles>
+ </tree>
+ </kdevfileview>
+ <kdevdoctreeview>
+ <ignoretocs>
+ <toc>ada</toc>
+ <toc>ada_bugs_gcc</toc>
+ <toc>bash</toc>
+ <toc>bash_bugs</toc>
+ <toc>clanlib</toc>
+ <toc>w3c-dom-level2-html</toc>
+ <toc>fortran_bugs_gcc</toc>
+ <toc>gnome1</toc>
+ <toc>gnustep</toc>
+ <toc>gtk</toc>
+ <toc>gtk_bugs</toc>
+ <toc>haskell</toc>
+ <toc>haskell_bugs_ghc</toc>
+ <toc>java_bugs_gcc</toc>
+ <toc>java_bugs_sun</toc>
+ <toc>pascal_bugs_fp</toc>
+ <toc>php</toc>
+ <toc>php_bugs</toc>
+ <toc>perl</toc>
+ <toc>perl_bugs</toc>
+ <toc>python</toc>
+ <toc>python_bugs</toc>
+ <toc>ruby</toc>
+ <toc>ruby_bugs</toc>
+ <toc>sdl</toc>
+ <toc>w3c-svg</toc>
+ <toc>sw</toc>
+ <toc>w3c-uaag10</toc>
+ <toc>wxwidgets_bugs</toc>
+ </ignoretocs>
+ <ignoreqt_xml>
+ <toc>qmake User Guide</toc>
+ </ignoreqt_xml>
+ </kdevdoctreeview>
+ <kdevdebugger>
+ <general>
+ <dbgshell>libtool</dbgshell>
+ <gdbpath/>
+ <configGdbScript/>
+ <runShellScript/>
+ <runGdbScript/>
+ <breakonloadinglibs>true</breakonloadinglibs>
+ <separatetty>false</separatetty>
+ <floatingtoolbar>false</floatingtoolbar>
+ </general>
+ <display>
+ <staticmembers>false</staticmembers>
+ <demanglenames>true</demanglenames>
+ <outputradix>10</outputradix>
+ </display>
+ </kdevdebugger>
+ <kdevfilecreate>
+ <filetypes/>
+ <useglobaltypes>
+ <type ext="ui" />
+ <type ext="cpp" />
+ <type ext="h" />
+ </useglobaltypes>
+ </kdevfilecreate>
+ <kdevdocumentation>
+ <projectdoc>
+ <docsystem>Kolekcja dokumentacji programu Doxygen</docsystem>
+ <docurl>kooldock.tag</docurl>
+ <usermanualurl/>
+ </projectdoc>
+ </kdevdocumentation>
+ <substmap>
+ <APPNAME>kooldock</APPNAME>
+ <APPNAMELC>kooldock</APPNAMELC>
+ <APPNAMESC>Kooldock</APPNAMESC>
+ <APPNAMEUC>KOOLDOCK</APPNAMEUC>
+ <AUTHOR>bisiek</AUTHOR>
+ <EMAIL>bisiek9@gmail.com</EMAIL>
+ <LICENSE>GPL</LICENSE>
+ <LICENSEFILE>COPYING</LICENSEFILE>
+ <VERSION>0.4.7</VERSION>
+ <YEAR>2007</YEAR>
+ <dest>/home/bisiek/kooldock</dest>
+ </substmap>
+ <cppsupportpart>
+ <filetemplates>
+ <interfacesuffix>.h</interfacesuffix>
+ <implementationsuffix>.cpp</implementationsuffix>
+ </filetemplates>
+ </cppsupportpart>
+</kdevelop>
diff --git a/kooldock.lsm b/kooldock.lsm
new file mode 100644
index 0000000..59e61d7
--- /dev/null
+++ b/kooldock.lsm
@@ -0,0 +1,14 @@
+Begin3
+Title: KoolDock
+Version: 0.1
+Entered-date:
+Description:
+Keywords:
+Author: KoolDock team <radix@kde.cl>
+Maintained-by: KoolDock team <radix@kde.cl>
+Primary-site:
+Home-page: http://
+Original-site:
+Platforms: Linux and other Unices
+Copying-policy: GNU Public License
+End
diff --git a/po/Makefile.am b/po/Makefile.am
new file mode 100644
index 0000000..50aeed8
--- /dev/null
+++ b/po/Makefile.am
@@ -0,0 +1,6 @@
+####### kdevelop will overwrite this part!!! (begin)##########
+
+
+####### kdevelop will overwrite this part!!! (end)############
+POFILES = AUTO
+
diff --git a/po/cs.po b/po/cs.po
new file mode 100644
index 0000000..f2f03c8
--- /dev/null
+++ b/po/cs.po
@@ -0,0 +1,658 @@
+# translation of cs.po to čeština
+# Jakub Sen <kotyz.king@gmail.com>, 2007.
+msgid ""
+msgstr ""
+"Project-Id-Version: cs\n"
+"POT-Creation-Date: \n"
+"PO-Revision-Date: 2007-09-16 00:09+0200\n"
+"Last-Translator: Jakub Sen <kotyz.king@gmail.com>\n"
+"Language-Team: čeština <cs@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Poedit-KeywordsList: I18N_NOOP;i18n;tr2i18n\n"
+"X-Poedit-Basepath: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock\n"
+"X-Poedit-SearchPath-0: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock\n"
+"X-Generator: KBabel 1.11.4\n"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/kooldock.cpp:1018
+msgid "&About"
+msgstr "O pro&gramu"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/appProp.cpp:152
+msgid "&Add"
+msgstr "Přid&at"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/appProp.cpp:163
+msgid "&Browse"
+msgstr "&Procházet"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:665
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/appProp.cpp:150
+msgid "&Cancel"
+msgstr "Z&rušit"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/kooldock.cpp:1165
+msgid "&Close"
+msgstr "&Zavřít"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/kooldock.cpp:1101
+msgid "&Delete item"
+msgstr "&Odstranit položku"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/kooldock.cpp:1100
+msgid "&Edit item"
+msgstr "&Upravit položku"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/kooldock.cpp:1072
+msgid "&Go to Desktop"
+msgstr "&Jít na plochu"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/kooldock.cpp:1163
+msgid "&Move to Desktop"
+msgstr "Př&esunout na plochu"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:667
+msgid "&OK"
+msgstr "&OK"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/kooldock.cpp:1016
+msgid "&Reload configuration"
+msgstr "Znovunačí&st nastavení"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/kooldock.cpp:1159
+msgid "&Restore"
+msgstr "O&bnovit"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/kooldock.cpp:1073
+msgid "&Task List"
+msgstr "Seznam ú&loh"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/appProp.cpp:161
+msgid "<b>Command</b>"
+msgstr "<b>Příkaz</b>"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/appProp.cpp:162
+msgid "<b>Name</b>"
+msgstr "<b>Název</b>"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/main.cpp:49
+msgid "<center><b>KoolDock</b></center>A Kool Dock for KDE<br><br>KoolDock is based upon the original work of Dang Viet Dung, Ksmoothdock 2.1<br><br>"
+msgstr "<center><b>KoolDock</b></center>'Cool' panel pro KDE<br><br>KoolDock je založen na programu Ksmoothdock 2.1 od autora Dang Viet Dunga<br><br>"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/kooldock.cpp:1598
+msgid ""
+"<qt>Could not run <b>%1</b>.\n"
+"Please correct the command or URL and try again.</qt>"
+msgstr ""
+"<qt>Nelze spustit <b>%1</b>.\n"
+"Prosím, opravte příkaz nebo adresu a zkuste to znovu.</qt>"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/kooldock.cpp:1585
+msgid ""
+"<qt>The program name or command <b>%1</b>\n"
+"cannot be found. Please correct the command\n"
+"or URL and try again</qt>"
+msgstr ""
+"<qt>Název programu nebo příkaz <b>%1</b>\n"
+"nebyl nalezen. Prosím, opravte příkaz\n"
+"nebo adresu a zkuste to znovu</qt>"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:682
+msgid "Adds a clock into the Main Menu and a virtual desktop navigator."
+msgstr "Přidání hodin do hlavního menu a přepínače ploch."
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/appProp.cpp:154
+msgid "Advanced Options"
+msgstr "Pokročilá nastavení"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:714
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/appProp.cpp:153
+msgid "Alt+A"
+msgstr "Alt+A"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/appProp.cpp:164
+msgid "Alt+B"
+msgstr "Alt+B"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:707
+msgid "Amount of big icons:"
+msgstr "Počet velkých ikon:"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:718
+msgid "Application List"
+msgstr "Seznam aplikací"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:685
+msgid "Autohide"
+msgstr "Automaticky skrývat"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:745
+msgid "Background"
+msgstr "Pozadí"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:740
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:742
+msgid "Background Theme:"
+msgstr "Téma pozadí:"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:730
+msgid "Background color:"
+msgstr "Barva pozadí:"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:706
+msgid "Big icon size:"
+msgstr "Velikost velkých ikon:"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:700
+msgid "Bold"
+msgstr "Tučné"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:728
+msgid "Border color:"
+msgstr "Barva okraje:"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:758
+msgid "Bottom"
+msgstr "Dole"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:768
+msgid "CPU"
+msgstr "CPU"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:702
+msgid "Cleaner text (bigger memory and CPU usage)"
+msgstr "Hezčí text (větší zatížení procesoru a paměti)"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:721
+msgid ""
+"Click \"Grab Window\" and click over a Window, then click \"Add\" to append it to\n"
+"the ignore list; you may also manually type or edit the window's name in the\n"
+"box below. To stop grabbing just click \"Grabbing...\", \"Ok\" or \"Cancel\"."
+msgstr ""
+"Klikněte na \"Zachytit okno\" a klikněte na okno, potom klikněte na \"Přidat\", pro jeho přidání\n"
+"do seznamu ignorovaných; můžete také ručne vypsat nebo upravit názvy oken\n"
+"v poli dole. Pro přerušení zachytávání klikněte na \"Zachytávání...'\",\"OK\" nebo \"Zrušit\"."
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:715
+msgid "Click here to manually add an application to the Launcher"
+msgstr "Klikněte sem pokud chcete ručně přidat aplikaci do spouštěče"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:720
+msgid "Click here to start grabbing windows names; click Add for each window you click on"
+msgstr "Klikněte sem pro zahájení zachytávání názvů oken; klikněte na Přidat pro každé okno na které kliknete"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:771
+msgid "Clip desktop workspace"
+msgstr "Oříznutí oblasti plochy"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:772
+msgid "Clip icon area (DCOP)"
+msgstr "Oříznutí oblasti s ikonami (pomocí DCOP)"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/kooldock.cpp:1120
+msgid "Current Desktop &%1"
+msgstr "Současná plocha &%1"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:751
+msgid "Desired Monitor Height"
+msgstr "Požadovaná výška monitoru:"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:750
+msgid "Desired Monitor Width"
+msgstr "Požadovaná šířka monitoru:"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/kooldock.cpp:1047
+msgid "Desktop %1"
+msgstr "Plocha %1"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/kooldock.cpp:1030
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/kooldock.cpp:1132
+msgid "Desktop &%1"
+msgstr "Plocha &%1"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:770
+msgid "Desktop clipping"
+msgstr "Oříznutí prostoru plochy"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialogprg.cpp:465
+msgid "Do you want to remove "
+msgstr "Chcete odstranit "
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:729
+msgid "Dock opacity:"
+msgstr "Průhlednost docku:"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:741
+msgid "Don't allow wider background than screen"
+msgstr "Nedovolit širší pozadí než je šířka obrazovky"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/appProp.cpp:160
+msgid "Don't forget to chose an icon."
+msgstr "Nezapomeňte vybrat ikonu."
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:689
+msgid "Don't scroll while mouse is on the same icon"
+msgstr "Neposouvat ikony pokud je myš stále nad stejnou ikonou"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:712
+msgid "Drag an application to add it or"
+msgstr "Přetáhněte aplikaci pro její přidání"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:716
+msgid "Drag and Drop here any executable or desktop file for which you want an entry in KoolDock's Launcher"
+msgstr "Přetáhněte sem jakýkoliv spustitelný soubor nebo odkaz z plochy pro který chcete vytvořit položku ve spouštěči KoolDocku"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/kooldock.cpp:1020
+msgid "E&xit"
+msgstr "U&končit"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/kooldock.cpp:1015
+msgid "Edit &Preferences"
+msgstr "U&pravit nastavení"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/kooldock.cpp:1014
+msgid "Edit Quick Launch &Menu"
+msgstr "Upravit &menu rychlého spouštění"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:677
+msgid "Enable System Tray (Experimental!)"
+msgstr "Povolit systémový panel (Experimentální!)"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:675
+msgid "Enable Taskbar"
+msgstr "Povolit pruh úloh"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:670
+msgid "Enable Taskbar notification"
+msgstr "Povolit oznamování v pruhu úloh"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:732
+msgid "Enable a solid background for KoolDock, it may be transparent (dock opacity) and of any color you choose"
+msgstr "Povolit jednolité pozadí pro KoolDock, může být průhledné a mít barvu jakou vyberete"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:731
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:743
+msgid "Enabled"
+msgstr "Povoleno"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:678
+msgid "Enables KoolDock System Tray Support; it can be used instead of kicker's systray applet (its VERY experimental; do not use it unless you intend to help me get this working :P )"
+msgstr "Povolení systémového panelu KoolDocku; může být používán místo systémového panelu Kickeru (je ve velmi rané fázi vývoje; nepoužívejte ho pokud nechcete pomáhat s odhalováním chyb)"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:676
+msgid "Enables KoolDock taskbar; it can be used instead of Kicker's taskbar"
+msgstr "Povolení pruhu úloh KoolDocku; může být používán místo pruhu úloh Kickeru (panelu KDE)"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/apppropprg.cpp:47
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/apppropprg.cpp:52
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/apppropprg.cpp:57
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/apppropprg.cpp:62
+msgid "Error"
+msgstr "Chyba"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:696
+msgid "Font size:"
+msgstr "Velikost písma:"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:691
+msgid "General"
+msgstr "Základní"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:669
+msgid "General options:"
+msgstr "Základní nastavení:"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:719
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialogprg.cpp:131
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialogprg.cpp:295
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialogprg.cpp:540
+msgid "Grab Window"
+msgstr "Zachytit okno"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialogprg.cpp:534
+msgid "Grabbing..."
+msgstr "Zachytávání..."
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:688
+msgid "Hide KoolDock after clicking on a Launcher or Window icon."
+msgstr "Skrýt KoolDock po kliknutí na ikonu spouštěče nebo okna."
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:687
+msgid "Hide on click"
+msgstr "Skrýt při kliknutí"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/appProp.cpp:165
+msgid "Icon"
+msgstr "Ikona"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/main.cpp:74
+msgid "Icon and artwork"
+msgstr "Ikony a grafika"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:692
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:703
+msgid "Icon text"
+msgstr "Text ikony"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:749
+msgid "If you are using xinerama you should enable this option for proper behaviour."
+msgstr "Jestliže používáte Xineramu, měli byste povolit tuto volbu pro lepší chování programu."
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:726
+msgid "Ignore list"
+msgstr "Seznam ignorovaných"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:701
+msgid "Italic"
+msgstr "Kurzíva"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/kooldock.cpp:1098
+msgid "Item menu"
+msgstr "Menu položek"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/appProp.cpp:157
+msgid "Keep terminal open after exit"
+msgstr "Po ukončení programu nechat terminál otevřený"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/main.cpp:56
+msgid "Kills all processes called Kooldock"
+msgstr "Zabije všechny procesy s názvem Kooldock"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/main.cpp:67
+msgid "KoolDock"
+msgstr "KoolDock"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:661
+msgid "KoolDock Configuration"
+msgstr "Nastavení programu KoolDock"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/appProp.cpp:149
+msgid "Launcher Properties"
+msgstr "Nastavení spouštěče"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:755
+msgid "Left"
+msgstr "Vlevo"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/kooldock.cpp:1154
+msgid "Ma&ximize"
+msgstr "Ma&ximalizovat"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/kooldock.cpp:1013
+msgid "Main Menu"
+msgstr "Hlavní menu"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:713
+msgid "Manually &add Application"
+msgstr "Ručně přid&at aplikaci"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/kooldock.cpp:1151
+msgid "Mi&nimize"
+msgstr "Mi&nimalizovat"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/appProp.cpp:158
+msgid "Minimal Options"
+msgstr "Minimální volby"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:710
+msgid "Move Left"
+msgstr "Přesunout doleva"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:711
+msgid "Move Right"
+msgstr "Přesunout doprava"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:699
+msgid "Moving the mouse over KoolDock's launcher or TaskBar will show the window/launcher name on the screen"
+msgstr "Přejezd myši nad spouštěčem nebo pruhem úloh způsobí zobrazení názvu spouštěče nebo okna na obrazovce"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:681
+msgid "Navigation Menu"
+msgstr "Navigační menu"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/kooldock.cpp:1070
+msgid "Navigation: Desktop %1"
+msgstr "Navigace: Plocha %1"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:673
+msgid "Only Manage Current Desktop"
+msgstr "Spravovat pouze aktuální plochu"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:674
+msgid "Only show in KoolDock's taskbar windows in the current desktop"
+msgstr "Zobrazovat v pruhu úloh KoolDocku pouze okna z aktuální plochy"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/apppropprg.cpp:117
+msgid "Open File"
+msgstr "Otevřít soubor"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:773
+msgid "Other"
+msgstr "Ostatní"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:767
+msgid "Placement and speed"
+msgstr "Pozice a rychlost"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:752
+msgid "Previous Monitors Width"
+msgstr "Předchozí šířka monitoru:"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:769
+msgid "Priority (0=max, 19=min)"
+msgstr "Priorita (0=nejvyšší, 19=nejnižší):"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/main.cpp:73
+msgid "Project Webmaster"
+msgstr "Správce webu projektu"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialogprg.cpp:663
+msgid "Remove"
+msgstr "Odstranit"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialogprg.cpp:466
+msgid "Remove Launcher"
+msgstr "Odstranit spouštěč"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:756
+msgid "Right"
+msgstr "Vpravo"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:717
+msgid "Right click opens the icon menu."
+msgstr "Pravé kliknutí otevře menu ikony."
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/appProp.cpp:155
+msgid "Run From Terminal"
+msgstr "Spustit v terminálu"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/appProp.cpp:156
+msgid "Run as different User"
+msgstr "Spustit jako jiný uživatel"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:683
+msgid "Screenshot of minimized windows"
+msgstr "Snímky minimalizovaných oken"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:739
+msgid "Separator color:"
+msgstr "Barva oddělovače:"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:697
+msgid "Shadow color:"
+msgstr "Barva stínu:"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:694
+msgid "Shadow offset:"
+msgstr "Odsazení stínu:"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:679
+msgid "Show K Menu"
+msgstr "Zobrazovat K Menu"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:764
+msgid "Show after"
+msgstr "Zobrazit po dobu:"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:733
+msgid "Show borders"
+msgstr "Zobrazovat okraje"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/main.cpp:54
+msgid "Show configuration window on start"
+msgstr "Zobrazit konfigurační okno při startu"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:672
+msgid "Show only minimized"
+msgstr "Zobrazovat pouze minimalizované"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:698
+msgid "Show text over icons"
+msgstr "Zobrazovat text nad ikonami"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:680
+msgid "Shows the KDE Menu in KoolDock's launcher."
+msgstr "Zobrazovat menu KDE ve spouštěči KoolDocku."
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:704
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:709
+msgid "Sizes"
+msgstr "Velikosti"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:705
+msgid "Small icon size:"
+msgstr "Velikost malých ikon:"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:727
+msgid "Solid Background:"
+msgstr "Jednolité pozadí"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:736
+msgid "Solid background level of transparency (0 means fully transparent)"
+msgstr "Úroveň průhlednosti pro jednolité pozadí (0 znamená plnou průhlednost)"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:708
+msgid "Space between icons"
+msgstr "Mezera mezi ikonami:"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:759
+msgid "Speed"
+msgstr "Rychlost"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:686
+msgid "Start KoolDock hidden; if the mouse is not over KoolDock it will hide"
+msgstr "Spouštět KoolDock skrytý; pokud není myš nad KoolDockem, tak se skryje"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:690
+msgid "Stay below windows when not used"
+msgstr "Zůstávat pod okny pokud není používaný"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialogprg.cpp:662
+msgid "Swap with"
+msgstr "Prohodit s"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:737
+msgid "TaskBar Separator"
+msgstr "Oddělovač pruhu úloh"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:695
+msgid "Text color:"
+msgstr "Barva textu:"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:693
+msgid "Text font:"
+msgstr "Písmo textu:"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:738
+msgid "The separator is a line drawed between KoolDock's Launcher and Taskbar"
+msgstr "Oddělovač je čára vykreslovaná mezi spouštěčem KoolDocku a pruhem úloh"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:766
+msgid "Time before showing KoolDock if mouse reaches bottom of the screen"
+msgstr "Čas do objevení KoolDocku pokud myš dosáhne spodního okraje obrazovky"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:757
+msgid "Top"
+msgstr "Nahoře"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:744
+msgid "Use set of images instead of a Solid Background"
+msgstr "Použít sadu obrázků namísto jednolitého pozadí"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:684
+msgid "When a window is minimized a screenshot of the application will be use as an icon in KoolDock's Taskbar."
+msgstr "Když je okno minimalizované, snímek aplikace bude použit jako ikona v pruhu úloh KoolDocku."
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:734
+msgid "When using a Solid Background you may tell KoolDock to draw its borders (rectangle)"
+msgstr "Pokud používáte jednolité pozadí, můžete nastavit KoolDock aby vykresloval jeho okraje (obdélníková oblast)"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:671
+msgid "Window icon in KoolDock's taskbar will blink when something happens on the given application"
+msgstr "Ikona okna v pruhu úloh bliká pokud se něco děje v dané aplikaci"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:746
+msgid "Window placement"
+msgstr "Pozice okna"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:747
+msgid "Window position on edge (%):"
+msgstr "Pozice okna na okraji (%):"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:753
+msgid "Window position:"
+msgstr "Pozice okna:"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:748
+msgid "Xinerama Support"
+msgstr "Podpora Xineramy"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/kooldock.cpp:1560
+msgid "You have to enter a command to execute or a URL to be opened first."
+msgstr "Musíte nejprve zadat příkaz který se má provést a nebo adresu která se má otevřít."
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/apppropprg.cpp:57
+msgid "You must enter a command or path!"
+msgstr "Musíte zadat příkaz nebo cestu!"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/apppropprg.cpp:52
+msgid "You must enter a name!"
+msgstr "Musíte zadat název!"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/apppropprg.cpp:62
+msgid "You must provide a username!"
+msgstr "Musíte zadat uživatelské jméno!"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/apppropprg.cpp:47
+msgid "You must select an icon!"
+msgstr "Musíte vybrat ikonu!"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:760
+msgid "Zooming speed (ms)"
+msgstr "Rychlost zoomování (msek):"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/main.cpp:75
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr "kotyz.king@gmail.com"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/main.cpp:75
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr "Čeština: Jakub Šén"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/appProp.cpp:159
+msgid "checkBox1"
+msgstr "checkBox1"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:664
+msgid "checkBox11"
+msgstr "checkBox11"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:765
+msgid "msec"
+msgstr "msek"
+
diff --git a/po/de.po b/po/de.po
new file mode 100644
index 0000000..e4794e6
--- /dev/null
+++ b/po/de.po
@@ -0,0 +1,664 @@
+# translation of de.po to Deutsch
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Florian Sievert <kde@floriansievert.de>, 2007.
+msgid ""
+msgstr ""
+"Project-Id-Version: de\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2004-06-05 04:05-0400\n"
+"PO-Revision-Date: 2007-06-19 22:03+0100\n"
+"Last-Translator: \n"
+"Language-Team: Deutsch <de@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"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/kooldock.cpp:1018
+msgid "&About"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/appProp.cpp:152
+msgid "&Add"
+msgstr "&Hinzufügen"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/appProp.cpp:163
+msgid "&Browse"
+msgstr "&Durchsuchen"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:665
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/appProp.cpp:150
+msgid "&Cancel"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/kooldock.cpp:1165
+#, fuzzy
+msgid "&Close"
+msgstr "&Durchsuchen"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/kooldock.cpp:1101
+msgid "&Delete item"
+msgstr "Eintrag &entfernen"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/kooldock.cpp:1100
+msgid "&Edit item"
+msgstr "Eintrag &editieren"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/kooldock.cpp:1072
+msgid "&Go to Desktop"
+msgstr "&Gehe zu Arbeitsfläche"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/kooldock.cpp:1163
+msgid "&Move to Desktop"
+msgstr "&Verschiebe auf Arbeitsfläche"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:667
+msgid "&OK"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/kooldock.cpp:1016
+msgid "&Reload configuration"
+msgstr "&Konfiguration erneut laden"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/kooldock.cpp:1159
+msgid "&Restore"
+msgstr "&Wiederherstellen"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/kooldock.cpp:1073
+msgid "&Task List"
+msgstr "&Programme"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/appProp.cpp:161
+msgid "<b>Command</b>"
+msgstr "<b>Befehl:</b>"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/appProp.cpp:162
+msgid "<b>Name</b>"
+msgstr "<b>Name:</b>"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/main.cpp:49
+msgid "<center><b>KoolDock</b></center>A Kool Dock for KDE<br><br>KoolDock is based upon the original work of Dang Viet Dung, Ksmoothdock 2.1<br><br>"
+msgstr "<center><b>KoolDock</b></center>Eine Kool(e) Andockleiste für KDE<br><br>KoolDock basiert ursprünglich auf der Arbeit von Dang Viet Dung, Ksmoothdock 2.1<br><br>"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/kooldock.cpp:1598
+msgid ""
+"<qt>Could not run <b>%1</b>.\n"
+"Please correct the command or URL and try again.</qt>"
+msgstr ""
+"<qt>Die Ausführung von <b>%1</b> war nicht möglich.\n"
+" Bitte korrigieren Sie den Befehl oder die URL und versuchen es erneut.</qt>"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/kooldock.cpp:1585
+msgid ""
+"<qt>The program name or command <b>%1</b>\n"
+"cannot be found. Please correct the command\n"
+"or URL and try again</qt>"
+msgstr ""
+"<qt>Die Anwendung oder der Befehl <br>%1</b>\n"
+" konnte nicht gefunden werden. Bitte korrigieren Sie Ihre Angaben und versuchen es erneut</qt>"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:682
+msgid "Adds a clock into the Main Menu and a virtual desktop navigator."
+msgstr "Fügt eine Uhr und einen Navigator für Arbeitsflächen ins Hauptmenü von KoolDock."
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/appProp.cpp:154
+msgid "Advanced Options"
+msgstr "Erweiterte Optionen"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:714
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/appProp.cpp:153
+msgid "Alt+A"
+msgstr "ALT+H"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/appProp.cpp:164
+msgid "Alt+B"
+msgstr "ALT+D"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:707
+msgid "Amount of big icons:"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:718
+msgid "Application List"
+msgstr "Anwendungsliste"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:685
+msgid "Autohide"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:745
+msgid "Background"
+msgstr "Hintergrund"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:740
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:742
+msgid "Background Theme:"
+msgstr "Hintergrundbild:"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:730
+msgid "Background color:"
+msgstr "Hintergrundfarbe:"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:706
+msgid "Big icon size:"
+msgstr "Größe der großen Symbole:"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:700
+msgid "Bold"
+msgstr "Fett"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:728
+msgid "Border color:"
+msgstr "Rahmenfarbe:"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:758
+msgid "Bottom"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:768
+msgid "CPU"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:702
+msgid "Cleaner text (bigger memory and CPU usage)"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:721
+msgid ""
+"Click \"Grab Window\" and click over a Window, then click \"Add\" to append it to\n"
+"the ignore list; you may also manually type or edit the window's name in the\n"
+"box below. To stop grabbing just click \"Grabbing...\", \"Ok\" or \"Cancel\"."
+msgstr ""
+"Klicke auf \"Fenster schnappen\" und klicke auf ein Fenster. Danach klicke auf \"Hinzufügen\",\n"
+" um diese Anwendung auf die Aussparliste zu setzen. Sie können auch den Namen des\n"
+" Fensters im unteren Eingabefeld manuell eingebenoder nachträglich editieren. Um das Schnappen\n"
+" von Fenster zu beenden, klicke Sie auf \"Schnappen...\", \"OK\" oder \"Abbrechen\"."
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:715
+msgid "Click here to manually add an application to the Launcher"
+msgstr "Klicken Sie hierher um eine Anwendung manuell der Anwendungsliste hinzuzufügen."
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:720
+msgid "Click here to start grabbing windows names; click Add for each window you click on"
+msgstr "Klicken Sie hierher, um mit dem Schnappen nach einem Fenster zu beginnen. Sie müssen nach jeder Fensterauswahl auf \"Hinzufügen\" klicken, um dieses der Liste hinzuzufügen."
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:771
+msgid "Clip desktop workspace"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:772
+msgid "Clip icon area (DCOP)"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/kooldock.cpp:1120
+msgid "Current Desktop &%1"
+msgstr "Aktuelle Arbeitsfläche &%1"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:751
+msgid "Desired Monitor Height"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:750
+msgid "Desired Monitor Width"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/kooldock.cpp:1047
+msgid "Desktop %1"
+msgstr "Arbeitsfläche %1"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/kooldock.cpp:1030
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/kooldock.cpp:1132
+msgid "Desktop &%1"
+msgstr "Arbeitsfläche &%1"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:770
+#, fuzzy
+msgid "Desktop clipping"
+msgstr "Arbeitsfläche %1"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialogprg.cpp:465
+msgid "Do you want to remove "
+msgstr "Wollen Sie folgenden Eintrag entfernen:"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:729
+msgid "Dock opacity:"
+msgstr "Durchsichtigkeit des Dock:"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:741
+msgid "Don't allow wider background than screen"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/appProp.cpp:160
+msgid "Don't forget to chose an icon."
+msgstr "Bitte vergessen Sie nicht ein Symbol auszuwählen."
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:689
+msgid "Don't scroll while mouse is on the same icon"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:712
+msgid "Drag an application to add it or"
+msgstr "Ziehen Sie eine Anwendung herein um sie hinzuzufügen "
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:716
+msgid "Drag and Drop here any executable or desktop file for which you want an entry in KoolDock's Launcher"
+msgstr "Ziehen Sie ein beliebiges ausführbares Programm oder eine Desktop-Datei hier herein, um sie als Eintrag in KoolDock's Anwendungsliste hinzuzufügen."
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/kooldock.cpp:1020
+msgid "E&xit"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/kooldock.cpp:1015
+msgid "Edit &Preferences"
+msgstr "&Einstellungen editieren"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/kooldock.cpp:1014
+msgid "Edit Quick Launch &Menu"
+msgstr "Anwendungsliste editieren"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:677
+msgid "Enable System Tray (Experimental!)"
+msgstr "Kontrollleiste aktivieren (experimentell!)"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:675
+msgid "Enable Taskbar"
+msgstr "Programmleiste aktivieren"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:670
+msgid "Enable Taskbar notification"
+msgstr "Aktiviere Benachrichtigungen durch Programmleiste"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:732
+msgid "Enable a solid background for KoolDock, it may be transparent (dock opacity) and of any color you choose"
+msgstr "Aktiviert einen einfarbigen Hintergrund für KoolDock. Dieser kann transparent (durchsichtig) sein und jede beliebige Farbe annehmen"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:731
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:743
+msgid "Enabled"
+msgstr "Aktiviert"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:678
+msgid "Enables KoolDock System Tray Support; it can be used instead of kicker's systray applet (its VERY experimental; do not use it unless you intend to help me get this working :P )"
+msgstr "Aktiviert die Unterstützung für die Kontrollleiste von KoolDock. Diese kann anstatt der normalen KDE-Kontrollleiste verwendet werden. (Dies ist EXTREM experimentell! Bitte nutzen Sie dies nur dann, wenn Sie den Entwicklern bei Ihrer Arbeit helfen wollen :P)"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:676
+msgid "Enables KoolDock taskbar; it can be used instead of Kicker's taskbar"
+msgstr "Aktiviert die KoolDock-Programmleiste. Diese kann anstatt der Kicker-Programmleiste verwendet werden."
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/apppropprg.cpp:47
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/apppropprg.cpp:52
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/apppropprg.cpp:57
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/apppropprg.cpp:62
+msgid "Error"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:696
+msgid "Font size:"
+msgstr "Schriftgröße:"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:691
+msgid "General"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:669
+#, fuzzy
+msgid "General options:"
+msgstr "Sichtbare Optionen:"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:719
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialogprg.cpp:131
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialogprg.cpp:295
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialogprg.cpp:540
+msgid "Grab Window"
+msgstr "Fenster schnappen"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialogprg.cpp:534
+msgid "Grabbing..."
+msgstr "Schnappe ..."
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:688
+msgid "Hide KoolDock after clicking on a Launcher or Window icon."
+msgstr "KoolDock wird nach einem Mausklick auf den Starter oder einem Fenstersymbol verborgen."
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:687
+msgid "Hide on click"
+msgstr "Bei Klick verbergen"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/appProp.cpp:165
+msgid "Icon"
+msgstr "Symbol"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/main.cpp:74
+msgid "Icon and artwork"
+msgstr "Symbole und Gestaltung"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:692
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:703
+#, fuzzy
+msgid "Icon text"
+msgstr "Symbol"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:749
+msgid "If you are using xinerama you should enable this option for proper behaviour."
+msgstr "Wenn Sie Xinerama nutzen, sollten Sie diese Option für ein zweckmäßiges Verhalten aktivieren."
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:726
+msgid "Ignore list"
+msgstr "Aussparliste"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:701
+msgid "Italic"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/kooldock.cpp:1098
+msgid "Item menu"
+msgstr "Eintragmenü"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/appProp.cpp:157
+msgid "Keep terminal open after exit"
+msgstr "Nach Programmende geöffnet lassen"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/main.cpp:56
+msgid "Kills all processes called Kooldock"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/main.cpp:67
+msgid "KoolDock"
+msgstr "KoolDock"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:661
+msgid "KoolDock Configuration"
+msgstr "KoolDock einrichten"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/appProp.cpp:149
+msgid "Launcher Properties"
+msgstr "Eigenschaften des Eintrages"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:755
+msgid "Left"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/kooldock.cpp:1154
+msgid "Ma&ximize"
+msgstr "Ma&ximieren"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/kooldock.cpp:1013
+msgid "Main Menu"
+msgstr "Hauptmenü"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:713
+msgid "Manually &add Application"
+msgstr "Anwendung manuell &hinzufügen"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/kooldock.cpp:1151
+msgid "Mi&nimize"
+msgstr "&Minimieren"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/appProp.cpp:158
+msgid "Minimal Options"
+msgstr "Notwendige Optionen"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:710
+msgid "Move Left"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:711
+msgid "Move Right"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:699
+msgid "Moving the mouse over KoolDock's launcher or TaskBar will show the window/launcher name on the screen"
+msgstr "Wird der Mauszeiger über einen Eintrag von KoolDock oder der Programmleiste bewegt, wird der Name der Anwendung angezeigt"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:681
+msgid "Navigation Menu"
+msgstr "Navigationsmenü"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/kooldock.cpp:1070
+msgid "Navigation: Desktop %1"
+msgstr "Navigation: Arbeitsfläche %1"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:673
+msgid "Only Manage Current Desktop"
+msgstr "Verwalte nur die aktuelle Arbeitsfläche"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:674
+msgid "Only show in KoolDock's taskbar windows in the current desktop"
+msgstr "Zeige die Programmleiste von KoolDock nur auf der aktuellen Arbeitsfläche"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/apppropprg.cpp:117
+msgid "Open File"
+msgstr "Datei öffnen"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:773
+msgid "Other"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:767
+msgid "Placement and speed"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:752
+msgid "Previous Monitors Width"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:769
+msgid "Priority (0=max, 19=min)"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/main.cpp:73
+msgid "Project Webmaster"
+msgstr "Webmaster des Projektes"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialogprg.cpp:663
+msgid "Remove"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialogprg.cpp:466
+msgid "Remove Launcher"
+msgstr "Starter entfernen"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:756
+msgid "Right"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:717
+msgid "Right click opens the icon menu."
+msgstr "Ein Klick mit der rechten Maustaste öffnet das Symbolmenü."
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/appProp.cpp:155
+msgid "Run From Terminal"
+msgstr "In Terminal ausführen"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/appProp.cpp:156
+msgid "Run as different User"
+msgstr "Als anderer Nutzer ausführen"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:683
+msgid "Screenshot of minimized windows"
+msgstr "Bildschirmfoto von minimierten Fenstern"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:739
+msgid "Separator color:"
+msgstr "Farbe der Trennlinie:"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:697
+msgid "Shadow color:"
+msgstr "Schattenfarbe:"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:694
+msgid "Shadow offset:"
+msgstr "Versatz des Schattens:"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:679
+msgid "Show K Menu"
+msgstr "KDE Menü anzeigen"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:764
+msgid "Show after"
+msgstr "Zeige nach"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:733
+msgid "Show borders"
+msgstr "Rahmen anzeigen"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/main.cpp:54
+msgid "Show configuration window on start"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:672
+#, fuzzy
+msgid "Show only minimized"
+msgstr "Bildschirmfoto von minimierten Fenstern"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:698
+msgid "Show text over icons"
+msgstr "Zeige Text über Symbole"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:680
+msgid "Shows the KDE Menu in KoolDock's launcher."
+msgstr "Zeigt das KDE Menü in der Anwendungsliste von KoolDock."
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:704
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:709
+msgid "Sizes"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:705
+msgid "Small icon size:"
+msgstr "Größe der kleinen Symbole:"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:727
+msgid "Solid Background:"
+msgstr "Einfacher Hintergrund:"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:736
+msgid "Solid background level of transparency (0 means fully transparent)"
+msgstr "Transparenzlevel des einfarbigen Hintergrundes (0 bedeutet vollständig durchsichtig)"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:708
+msgid "Space between icons"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:759
+msgid "Speed"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:686
+msgid "Start KoolDock hidden; if the mouse is not over KoolDock it will hide"
+msgstr "KoolDock wird verborgen gestartet und erst sichtbar, wenn Sie sich mit dem Mauszeiger darüber befinden"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:690
+msgid "Stay below windows when not used"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialogprg.cpp:662
+msgid "Swap with"
+msgstr "Tausche mit"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:737
+msgid "TaskBar Separator"
+msgstr "Trennlinie zur Programmleisten"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:695
+msgid "Text color:"
+msgstr "Schriftfarbe:"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:693
+msgid "Text font:"
+msgstr "Schriftart:"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:738
+msgid "The separator is a line drawed between KoolDock's Launcher and Taskbar"
+msgstr "Die Trennlinie ist eine Linie, die zwischen KoolDock's Anwendungsleiste und der Programmleiste gezeichnet wird"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:766
+msgid "Time before showing KoolDock if mouse reaches bottom of the screen"
+msgstr "Zeitliche Verzögerung bevor KoolDock angezeigt wird, wenn der Mauszeiger den unteren Bereich des Bildschirmes erreicht hat."
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:757
+msgid "Top"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:744
+msgid "Use set of images instead of a Solid Background"
+msgstr "Benutze ein Bild anstelle eines einfarbigen Hintergrundes"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:684
+msgid "When a window is minimized a screenshot of the application will be use as an icon in KoolDock's Taskbar."
+msgstr "Wenn ein Fenster minimiert ist, dient ein Bildschirmfoto der Anwendung als Symbol innerhalb der Programmleiste von KoolDock."
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:734
+msgid "When using a Solid Background you may tell KoolDock to draw its borders (rectangle)"
+msgstr "Wenn Sie einen einfarbigen Hintergrund benutzen, können Sie KoolDock anweisen dessen Rahmen (Rechteck) zu zeichnen"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:671
+msgid "Window icon in KoolDock's taskbar will blink when something happens on the given application"
+msgstr "Das Symbol des Fensters wird in der Programmleiste von KoolDock blinken, sofern etwas mit der angegebenen Anwendung geschehen ist"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:746
+msgid "Window placement"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:747
+msgid "Window position on edge (%):"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:753
+msgid "Window position:"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:748
+msgid "Xinerama Support"
+msgstr "Xinerama-Unterstützung"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/kooldock.cpp:1560
+msgid "You have to enter a command to execute or a URL to be opened first."
+msgstr "Sie müssen zunächst einen ausführbaren Befehl oder eine URL eingeben, die geöffnet werden soll."
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/apppropprg.cpp:57
+msgid "You must enter a command or path!"
+msgstr "Sie müssen einen Befehl oder Pfad eingeben!"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/apppropprg.cpp:52
+msgid "You must enter a name!"
+msgstr "Sie müssen einen Namen eingeben!"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/apppropprg.cpp:62
+msgid "You must provide a username!"
+msgstr "Sie müssen einen Benutzernamen angeben!"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/apppropprg.cpp:47
+msgid "You must select an icon!"
+msgstr "Sie müssen ein Symbol auswählen!"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:760
+msgid "Zooming speed (ms)"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/main.cpp:75
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr "kde@floriansievert.de"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/main.cpp:75
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr "Florian Sievert"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/appProp.cpp:159
+msgid "checkBox1"
+msgstr "Ankreuzfeld1"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:664
+msgid "checkBox11"
+msgstr "Ankreuzfeld11"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:765
+msgid "msec"
+msgstr "msek"
+
diff --git a/po/es.po b/po/es.po
new file mode 100644
index 0000000..0026d89
--- /dev/null
+++ b/po/es.po
@@ -0,0 +1,542 @@
+# KoolDock (Traducción al Español).
+# Copyright (C) 2004, Francisco J. Guidi Moggia
+# This file is distributed under the same license as the KoolDock package.
+# Francisco J. Guidi Moggia <francisco@guidi.com>, 2004.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: es\n"
+"Report-Msgid-Bugs-To: francisco@guidi.com\n"
+"POT-Creation-Date: 2004-06-02 07:29-0400\n"
+"PO-Revision-Date: 2004-06-02 07:35-0400\n"
+"Last-Translator: Francisco J. Guidi Moggia <francisco@guidi.com>\n"
+"Language-Team: Francisco J. Guidi Moggia <francisco@guidi.com>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: kooldock.moc.cpp:34 kooldock.moc.cpp:42 main.cpp:59
+msgid "KoolDock"
+msgstr "KoolDock"
+
+#: _translatorinfo.cpp:1 main.cpp:67
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr "Francisco J. Guidi Moggia"
+
+#: _translatorinfo.cpp:3 main.cpp:67
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr "francisco@guidi.com"
+
+#: main.cpp:47
+msgid ""
+"<center><b>KoolDock</b></center>A Kool Dock for KDE<br><br>KoolDock is based "
+"upon the original work of Dang Viet Dung, Ksmoothdock 2.1<br><br>"
+msgstr ""
+"<center><b>KoolDock</b></center> Panel para KDE.<br><br>KoolDock está basado "
+"en el trabajo de Dang Viet Dung, Ksmoothdock 2.1<br><br>"
+
+#: main.cpp:65
+msgid "Project Webmaster"
+msgstr "Webmaster"
+
+#: main.cpp:66
+msgid "Icon and artwork"
+msgstr "Íconos y Artística"
+
+#: apppropprg.cpp:47
+msgid "You must select an icon!"
+msgstr "Debe seleccionar un ícono!"
+
+#: apppropprg.cpp:52
+msgid "You must enter a name!"
+msgstr "Debe ingresar un nombre!"
+
+#: apppropprg.cpp:57
+msgid "You must enter a command or path!"
+msgstr "Debe ingresar una ubicación/comando!"
+
+#: apppropprg.cpp:62
+msgid "You must provide a username!"
+msgstr "Debe proveer un nombre de usuario!"
+
+#: apppropprg.cpp:117
+msgid "Open File"
+msgstr "Abrir archivo"
+
+#: xosd.moc.cpp:34 xosd.moc.cpp:42
+msgid "xosd"
+msgstr "xosd"
+
+#: setupdialogprg.cpp:123 setupdialogprg.cpp:260 setupdialogprg.cpp:496
+#: setupdialog.cpp:433
+msgid "Grab Window"
+msgstr "Capturar Ventana"
+
+#: setupdialogprg.cpp:421
+msgid "Do you want to remove "
+msgstr "Está seguro que desea eliminar "
+
+#: setupdialogprg.cpp:422
+msgid "Remove Launcher"
+msgstr "Eliminar Lanzador"
+
+#: setupdialogprg.cpp:490
+msgid "Grabbing..."
+msgstr "Capturando..."
+
+#: setupdialogprg.cpp:600
+msgid "Swap with"
+msgstr "Intercambiar con"
+
+#: kooldock.cpp:633
+msgid "Main Menu"
+msgstr "Menú Principal"
+
+#: kooldock.cpp:634
+msgid "Edit Quick Launch &Menu"
+msgstr "Editar &Menú de Lanzadores"
+
+#: kooldock.cpp:635
+msgid "Edit &Preferences"
+msgstr "Editar &Preferencias"
+
+#: kooldock.cpp:636
+msgid "&Reload configuration"
+msgstr "&Recargar Configuración"
+
+#: kooldock.cpp:650 kooldock.cpp:752
+msgid "Desktop &%1"
+msgstr "Escritorio &%1"
+
+#: kooldock.cpp:667
+msgid "Desktop %1"
+msgstr "Escritorio %1"
+
+#: kooldock.cpp:690
+msgid "Navigation: Desktop %1"
+msgstr "Navegación: Escritorio %1"
+
+#: kooldock.cpp:692
+msgid "&Go to Desktop"
+msgstr "&Ir al Escritorio"
+
+#: kooldock.cpp:693
+msgid "&Task List"
+msgstr "&Lista de Ventanas"
+
+#: kooldock.cpp:718
+msgid "Item menu"
+msgstr "Menú de Lanzador"
+
+#: kooldock.cpp:720
+msgid "&Edit item"
+msgstr "&Editar Lanzador"
+
+#: kooldock.cpp:721
+msgid "&Delete item"
+msgstr "E&liminar Lanzador"
+
+#: kooldock.cpp:740
+msgid "Current Desktop &%1"
+msgstr "Escritorio Actual &%1"
+
+#: kooldock.cpp:771
+msgid "Mi&nimize"
+msgstr "Mi&nimizar"
+
+#: kooldock.cpp:774
+msgid "Ma&ximize"
+msgstr "Ma&ximizar"
+
+#: kooldock.cpp:779
+msgid "&Restore"
+msgstr "&Restaurar"
+
+#: kooldock.cpp:783
+msgid "&Move to Desktop"
+msgstr "&Mover al Escritorio"
+
+#: kooldock.cpp:1217
+msgid "You have to enter a command to execute or a URL to be opened first."
+msgstr "Debe ingresar un comando o una URL primero."
+
+#: kooldock.cpp:1242
+msgid ""
+"<qt>The program name or command <b>%1</b>\n"
+"cannot be found. Please correct the command\n"
+"or URL and try again</qt>"
+msgstr ""
+"<qt>El programa o comando <b>%1</b>\n"
+"no puede ser encontrado. Por favor corrija\n"
+"el comando o URL y reintente</qt>"
+
+#: kooldock.cpp:1255
+msgid ""
+"<qt>Could not run <b>%1</b>.\n"
+"Please correct the command or URL and try again.</qt>"
+msgstr ""
+"<qt>No se puede ejecutar <b>%1</b>.\n"
+"Por favor corrija el comando o URL y reintente</qt>"
+
+#: appProp.cpp:148
+msgid "Launcher Properties"
+msgstr "Propiedades del Lanzador"
+
+#: appProp.cpp:151
+msgid "&Add"
+msgstr "&Agregar"
+
+#: appProp.cpp:152 setupdialog.cpp:429
+msgid "Alt+A"
+msgstr "Alt+A"
+
+#: appProp.cpp:153
+msgid "Advanced Options"
+msgstr "Opciones Avanzadas"
+
+#: appProp.cpp:154
+msgid "Run From Terminal"
+msgstr "Ejecutar desde Terminal"
+
+#: appProp.cpp:155
+msgid "Run as different User"
+msgstr "Ejecutar como otro usuario"
+
+#: appProp.cpp:156
+msgid "Keep terminal open after exit"
+msgstr "Mantener terminal abierto"
+
+#: appProp.cpp:157
+msgid "Minimal Options"
+msgstr "Opciones Básicas"
+
+#: appProp.cpp:158
+msgid "checkBox1"
+msgstr "checkBox1"
+
+#: appProp.cpp:159
+msgid "Don't forget to chose an icon."
+msgstr "No olvide seleccionar un ícono."
+
+#: appProp.cpp:160
+msgid "<b>Command</b>"
+msgstr "<b>Comando</b>"
+
+#: appProp.cpp:161
+msgid "<b>Name</b>"
+msgstr "<b>Nombre</b>"
+
+#: appProp.cpp:162
+msgid "&Browse"
+msgstr "&Examinar"
+
+#: appProp.cpp:163
+msgid "Alt+B"
+msgstr "Alt+B"
+
+#: appProp.cpp:164
+msgid "Icon"
+msgstr "Ícono"
+
+#: setupdialog.cpp:386
+msgid "KoolDock Configuration"
+msgstr "Preferencias"
+
+#: setupdialog.cpp:389
+msgid "checkBox11"
+msgstr "checkBox11"
+
+#: setupdialog.cpp:390
+msgid "Visual options:"
+msgstr "Opciones Visuales"
+
+#: setupdialog.cpp:391
+msgid "Start hidden"
+msgstr "Iniciar oculto"
+
+#: setupdialog.cpp:392
+msgid "Start KoolDock hidden; if the mouse is not over KoolDock it will hide"
+msgstr "Iniciar panel oculto; si el mouse no está sobre el panel, KoolDock permanecerá oculto"
+
+#: setupdialog.cpp:393
+msgid "Hide on click"
+msgstr "Click Oculta el Panel"
+
+#: setupdialog.cpp:394
+msgid "Hide KoolDock after clicking on a Launcher or Window icon."
+msgstr "Ocultar KoolDock después de presionar un lanzador o ícono de ventana"
+
+#: setupdialog.cpp:395
+msgid "msec"
+msgstr "mseg"
+
+#: setupdialog.cpp:396
+msgid "Time before showing KoolDock if mouse reaches bottom of the screen"
+msgstr ""
+"Tiempo transcurrido antes de mostrar KoolDock cuando el puntero se encuentra"
+" en el extremo inferior de la pantalla"
+
+#: setupdialog.cpp:397
+msgid "Show text over icons"
+msgstr "Texto Sobre Iconos"
+
+#: setupdialog.cpp:398
+msgid ""
+"Moving the mouse over KoolDock's launcher or TaskBar will show the window/"
+"launcher name on the screen"
+msgstr ""
+"Al desplazar el puntero del ratón sobre los íconos se mostrará el nombre de "
+"la ventana/lanzador sobre el ícono"
+
+#: setupdialog.cpp:399
+msgid "Bold"
+msgstr "Negrita"
+
+#: setupdialog.cpp:400
+msgid "Show after"
+msgstr "Mostrar después de"
+
+#: setupdialog.cpp:401
+msgid "Show K Menu"
+msgstr "Mostrar Menú de KDE"
+
+#: setupdialog.cpp:402
+msgid "Shows the KDE Menu in KoolDock's launcher."
+msgstr "Agrega un ícono para acceder al menú de KDE desde KoolDock."
+
+#: setupdialog.cpp:403
+msgid "Enable System Tray (Experimental!)"
+msgstr "Habilitar Bandeja del Sistema"
+
+#: setupdialog.cpp:404
+msgid ""
+"Enables KoolDock System Tray Support; it can be used instead of kicker's "
+"systray applet (its VERY experimental; do not use it unless you intend to "
+"help me get this working :P )"
+msgstr ""
+"Habilita el soporte para la Bandeja del Sistema; puede ser utilizado en \n"
+"reemplazo del applet para Bandeja de Sistema (está en una etapa MUY \n"
+"experimental; NO UTILIZAR a menos que pretendan ayudarme a desarrollarlo :P ) "
+
+#: setupdialog.cpp:405
+msgid "Big icon size:"
+msgstr "Tamaño del Ícono (Zoom):"
+
+#: setupdialog.cpp:406
+msgid "Enable Taskbar notification"
+msgstr "Habilitar notificación"
+
+#: setupdialog.cpp:407
+msgid ""
+"Window icon in KoolDock's taskbar will blink when something happens on the "
+"given application"
+msgstr ""
+"Si ocurre algún evento en alguna de las ventanas de KDE, el ícono correspondiente "
+"parpadeará."
+
+#: setupdialog.cpp:408
+msgid "Small icon size:"
+msgstr "Tamaño del Icono (Normal):"
+
+#: setupdialog.cpp:409
+msgid "Shadow offset:"
+msgstr "Sombra Texto:"
+
+#: setupdialog.cpp:410
+msgid "Only Manage Current Desktop"
+msgstr "Sólo Escritorio Actual"
+
+#: setupdialog.cpp:411
+msgid "Only show in KoolDock's taskbar windows in the current desktop"
+msgstr "Mostrar en el Administrador de tareas sólo las ventanas del escritorio actual"
+
+#: setupdialog.cpp:412
+msgid "Navigation Menu"
+msgstr "Menú de Navegación"
+
+#: setupdialog.cpp:413
+msgid "Adds a clock into the Main Menu and a virtual desktop navigator."
+msgstr "Agrega un reloj en el Menú Principal de KoolDock y un navegador de escritorios."
+
+#: setupdialog.cpp:414
+msgid "Enable Taskbar"
+msgstr "Habilitar Administrador de Tareas"
+
+#: setupdialog.cpp:415
+msgid "Enables KoolDock taskbar; it can be used instead of Kicker's taskbar"
+msgstr ""
+"Habilita soporte para el Administrador de Tareas en KoolDock; puede \n"
+"ser utilizado en reemplazo del Kicker."
+
+#: setupdialog.cpp:416
+msgid "Screenshot of minimized windows"
+msgstr "Usar foto de ventana como ícono"
+
+#: setupdialog.cpp:417
+msgid ""
+"When a window is minimized a screenshot of the application will be use as an "
+"icon in KoolDock's Taskbar."
+msgstr ""
+"Cuando una ventana es minimizada se saca una foto de la aplicación para ser "
+"utilizada como ícono en el panel."
+
+#: setupdialog.cpp:418
+msgid "Xinerama Support"
+msgstr "Soporte para Xinerama"
+
+#: setupdialog.cpp:419
+msgid ""
+"If you are using xinerama you should enable this option for proper behaviour."
+msgstr "Si está utilizando xinerama debería activar esta opción."
+
+#: setupdialog.cpp:437
+msgid "Left Monitor Res"
+msgstr "Res. Monitor Izquierdo"
+
+#: setupdialog.cpp:421
+msgid "Shadow color:"
+msgstr "Color sombra:"
+
+#: setupdialog.cpp:422
+msgid "Text font:"
+msgstr "Fuente:"
+
+#: setupdialog.cpp:423
+msgid "Text color:"
+msgstr "Color de Fuente:"
+
+#: setupdialog.cpp:424
+msgid "Font size:"
+msgstr "Tamaño Fuente:"
+
+#: setupdialog.cpp:425
+msgid "Visual"
+msgstr "Visual"
+
+#: setupdialog.cpp:426
+msgid "Drag an application to add it or"
+msgstr "Arrastre una aplicación para agregarla o"
+
+#: setupdialog.cpp:427
+msgid "Right click opens the icon menu."
+msgstr "Click derecho sobre un ícono abre su menú."
+
+#: setupdialog.cpp:428
+msgid "Manually &add Application"
+msgstr "Agréguela Manualmente"
+
+#: setupdialog.cpp:430
+msgid "Click here to manually add an application to the Launcher"
+msgstr "Presione aquí para agregar una aplicación al Lanzador"
+
+#: setupdialog.cpp:431
+msgid ""
+"Drag and Drop here any executable or desktop file for which you want an "
+"entry in KoolDock's Launcher"
+msgstr ""
+"Arrastre un ejecutable o archivo de escritorio (desktop) para que sea "
+"agregado al lanzador de aplicaciones de KoolDock"
+
+#: setupdialog.cpp:432
+msgid "Application List"
+msgstr "Lista de Lanzadores"
+
+#: setupdialog.cpp:434
+msgid ""
+"Click here to start grabbing windows names; click Add for each window you "
+"click on"
+msgstr ""
+"Presione aquí para capturar nombres de ventanas; presione \"Agregar\" para "
+"cada ventana que capture"
+
+#: setupdialog.cpp:435
+msgid ""
+"Click \"Grab Window\" and click over a Window, then click \"Add\" to append "
+"it to\n"
+"the ignore list; you may also manually type or edit the window's name in "
+"the\n"
+"box below. To stop grabbing just click \"Grabbing...\", \"Ok\" or \"Cancel\"."
+msgstr ""
+"Presione \"Capturar Ventana\" y luego presione sobre una ventana; posteriormente \n"
+"presione \"Agregar\" para agregar el nombre a la lista; también puede ingresar o \n"
+"editar el nombre de la ventana manualmente. Para detener la captura presione \n"
+"\"Capturando...\", \"Aceptar\" o \"Cancelar\"."
+
+#: setupdialog.cpp:440
+msgid "Ignore list"
+msgstr "Lista de Ventanas Ignoradas"
+
+#: setupdialog.cpp:441 setupdialog.cpp:442
+msgid "Background Theme:"
+msgstr "Tema de Fondo:"
+
+#: setupdialog.cpp:443 setupdialog.cpp:452
+msgid "Enabled"
+msgstr "Habilitado"
+
+#: setupdialog.cpp:444
+msgid "Use set of images instead of a Solid Background"
+msgstr "Usar un conjunto de imágenes (tema) en vez de un fondo sólido"
+
+#: setupdialog.cpp:445
+msgid "TaskBar Separator"
+msgstr "Separador"
+
+#: setupdialog.cpp:446
+msgid "Separator color:"
+msgstr "Color del Separador:"
+
+#: setupdialog.cpp:447
+msgid "The separator is a line drawed between KoolDock's Launcher and Taskbar"
+msgstr ""
+"El separador es una línea vertical que se dibuja entre el Lanzador y "
+"el Administrador de Tareas"
+
+#: setupdialog.cpp:448
+msgid "Solid Background:"
+msgstr "Fondo Sólido:"
+
+#: setupdialog.cpp:449
+msgid "Border color:"
+msgstr "Color Borde:"
+
+#: setupdialog.cpp:450
+msgid "Dock opacity:"
+msgstr "Opacidad del Panel"
+
+#: setupdialog.cpp:451
+msgid "Background color:"
+msgstr "Color de Fondo:"
+
+#: setupdialog.cpp:453
+msgid ""
+"Enable a solid background for KoolDock, it may be transparent (dock opacity) "
+"and of any color you choose"
+msgstr ""
+"Habilitar un fondo sólido para KoolDock; puede ser transparente (nivel de "
+"opacidad) y/o de cualquier color que desee"
+
+#: setupdialog.cpp:454
+msgid "Show borders"
+msgstr "Dibujar Bordes"
+
+#: setupdialog.cpp:455
+msgid ""
+"When using a Solid Background you may tell KoolDock to draw its borders "
+"(rectangle)"
+msgstr ""
+"Cuando se utiliza un fondo sólido puede indicarle a KoolDock que dibuje "
+"bordes alrededor del Panel"
+
+#: setupdialog.cpp:456
+msgid "Solid background level of transparency (0 means fully transparent)"
+msgstr "Nivel de opacidad o transparencia (0 implica completamente transparente)"
+
+#: setupdialog.cpp:457
+msgid "Background"
+msgstr "Fondo"
diff --git a/po/fr.po b/po/fr.po
new file mode 100644
index 0000000..4e8bbb7
--- /dev/null
+++ b/po/fr.po
@@ -0,0 +1,519 @@
+# translation of fr.po to french
+# translation of kooldock.po to french
+# This file is distributed under the same license as the PACKAGE package.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER.
+# Alexandre Svetoslavsky <alexsvetos@altern.org>, 2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: fr\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2004-06-05 04:05-0400\n"
+"PO-Revision-Date: 2005-05-10 14:57+0200\n"
+"Last-Translator: Alexandre Svetoslavsky <alexsvetos@altern.org>\n"
+"Language-Team: french <fr@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"
+
+#: kooldock.moc.cpp:34 kooldock.moc.cpp:42 main.cpp:59
+msgid "KoolDock"
+msgstr "KoolDock"
+
+#: _translatorinfo.cpp:1 main.cpp:67
+#, fuzzy
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr "Alexandre Svetoslavsky"
+
+#: _translatorinfo.cpp:3 main.cpp:67
+#, fuzzy
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr "alexsvetos@altern.org"
+
+#: main.cpp:47
+msgid ""
+"<center><b>KoolDock</b></center>A Kool Dock for KDE<br><br>KoolDock is based "
+"upon the original work of Dang Viet Dung, Ksmoothdock 2.1<br><br>"
+msgstr "<center><b>KoolDock</b></center>Une barre d'applications pour KDE<br><br>KoolDock est basé sur le travail original de Dang Viet Dung, Ksmoothdock 2.1<br><br>"
+
+#: main.cpp:65
+msgid "Project Webmaster"
+msgstr "Webmaster du projet"
+
+#: main.cpp:66
+msgid "Icon and artwork"
+msgstr "Icône et graphisme"
+
+#: apppropprg.cpp:47
+msgid "You must select an icon!"
+msgstr "Vous devez sélectionner une icône!"
+
+#: apppropprg.cpp:52
+msgid "You must enter a name!"
+msgstr "Vous devez entrez un nom!"
+
+#: apppropprg.cpp:57
+msgid "You must enter a command or path!"
+msgstr "Vous devez entrez une commande ou un chemin!"
+
+#: apppropprg.cpp:62
+msgid "You must provide a username!"
+msgstr "Vous devez entrez un nom d'utilisateur!"
+
+#: apppropprg.cpp:117
+msgid "Open File"
+msgstr "Ouvrir un fichier"
+
+#: xosd.moc.cpp:34 xosd.moc.cpp:42
+msgid "xosd"
+msgstr "xosd"
+
+#: setupdialogprg.cpp:123 setupdialogprg.cpp:261 setupdialogprg.cpp:503
+#: setupdialog.cpp:446
+msgid "Grab Window"
+msgstr "Choisir une fenêtre"
+
+#: setupdialogprg.cpp:428
+msgid "Do you want to remove "
+msgstr "Voulez vous supprimez"
+
+#: setupdialogprg.cpp:429
+msgid "Remove Launcher"
+msgstr "Enlever le lanceur"
+
+#: setupdialogprg.cpp:497
+msgid "Grabbing..."
+msgstr "Grabbing..."
+
+#: setupdialogprg.cpp:607
+msgid "Swap with"
+msgstr "Echanger avec"
+
+#: kooldock.cpp:634
+msgid "Main Menu"
+msgstr "Menu Principal"
+
+#: kooldock.cpp:635
+msgid "Edit Quick Launch &Menu"
+msgstr "Modifier le &Menu de Lanceur Rapide"
+
+#: kooldock.cpp:636
+msgid "Edit &Preferences"
+msgstr "&Preferences"
+
+#: kooldock.cpp:637
+msgid "&Reload configuration"
+msgstr "&Relancer l'application"
+
+#: kooldock.cpp:651 kooldock.cpp:753
+msgid "Desktop &%1"
+msgstr "Bureau &%1"
+
+#: kooldock.cpp:668
+msgid "Desktop %1"
+msgstr "Bureau %1"
+
+#: kooldock.cpp:691
+msgid "Navigation: Desktop %1"
+msgstr "Naviguation: Bureau %1"
+
+#: kooldock.cpp:693
+msgid "&Go to Desktop"
+msgstr "Vers le &bureau"
+
+#: kooldock.cpp:694
+msgid "&Task List"
+msgstr "Liste des &Tâches"
+
+#: kooldock.cpp:719
+msgid "Item menu"
+msgstr "menu item"
+
+#: kooldock.cpp:721
+msgid "&Edit item"
+msgstr "Modifier l'élément"
+
+#: kooldock.cpp:722
+msgid "&Delete item"
+msgstr "Supprimer l'élément"
+
+#: kooldock.cpp:741
+msgid "Current Desktop &%1"
+msgstr "Bureau actuel &%1"
+
+#: kooldock.cpp:772
+msgid "Mi&nimize"
+msgstr "R&éduire"
+
+#: kooldock.cpp:775
+msgid "Ma&ximize"
+msgstr "Ma&ximiser"
+
+#: kooldock.cpp:780
+msgid "&Restore"
+msgstr "&Restaurer"
+
+#: kooldock.cpp:784
+msgid "&Move to Desktop"
+msgstr "Vers le &Bureau"
+
+#: kooldock.cpp:1218
+msgid "You have to enter a command to execute or a URL to be opened first."
+msgstr "Vous devez saisir une commande à exécuter ou une URL à ouvrir."
+
+#: kooldock.cpp:1243
+msgid ""
+"<qt>The program name or command <b>%1</b>\n"
+"cannot be found. Please correct the command\n"
+"or URL and try again</qt>"
+msgstr ""
+"<qt>Le programme ou la commande<b>%1</b>\n"
+"est introuvable. veuillez rectifiez sa valeur</qt>"
+
+#: kooldock.cpp:1256
+msgid ""
+"<qt>Could not run <b>%1</b>.\n"
+"Please correct the command or URL and try again.</qt>"
+msgstr ""
+"<qt>Le programme ou la commande<b>%1</b>\n"
+"est introuvable. veuillez rectifiez sa valeur</qt>"
+
+#: appProp.cpp:148
+msgid "Launcher Properties"
+msgstr "Propriétés du Lanceur"
+
+#: appProp.cpp:151
+msgid "&Add"
+msgstr "&Ajouter"
+
+#: appProp.cpp:152 setupdialog.cpp:442
+msgid "Alt+A"
+msgstr "Alt+A"
+
+#: appProp.cpp:153
+msgid "Advanced Options"
+msgstr "Options avancées"
+
+#: appProp.cpp:154
+msgid "Run From Terminal"
+msgstr "Exécuter dans un &terminal"
+
+#: appProp.cpp:155
+msgid "Run as different User"
+msgstr "Exécuter sous un autre nom d'utilisateur"
+
+#: appProp.cpp:156
+msgid "Keep terminal open after exit"
+msgstr "Ne pas fermer le terminal quand la commande se termine"
+
+#: appProp.cpp:157
+msgid "Minimal Options"
+msgstr "Options Minimales"
+
+#: appProp.cpp:158
+msgid "checkBox1"
+msgstr "case à cocher1"
+
+#: appProp.cpp:159
+msgid "Don't forget to chose an icon."
+msgstr "N'oubliez pas de choisir une îcone"
+
+#: appProp.cpp:160
+msgid "<b>Command</b>"
+msgstr "<b>Commande</b>"
+
+#: appProp.cpp:161
+msgid "<b>Name</b>"
+msgstr "<b>Nom</b>"
+
+#: appProp.cpp:162
+msgid "&Browse"
+msgstr "&Parcourir"
+
+#: appProp.cpp:163
+msgid "Alt+B"
+msgstr "Alt+B"
+
+#: appProp.cpp:164
+msgid "Icon"
+msgstr "&Icône"
+
+#: setupdialog.cpp:398
+msgid "KoolDock Configuration"
+msgstr "Configuration de KoolDock"
+
+#: setupdialog.cpp:401
+msgid "checkBox11"
+msgstr "Case à cocher11"
+
+#: setupdialog.cpp:402
+msgid "Visual options:"
+msgstr "Options d'affichage :"
+
+#: setupdialog.cpp:403
+msgid "Start hidden"
+msgstr "Démarrer masqué"
+
+#: setupdialog.cpp:404
+msgid "Start KoolDock hidden; if the mouse is not over KoolDock it will hide"
+msgstr "Démarre KoolDock masqué; si la souri n'est pas sur KoolDock il sera caché"
+
+#: setupdialog.cpp:405
+msgid "Hide on click"
+msgstr "Masquer lors d'un clic"
+
+#: setupdialog.cpp:406
+msgid "Hide KoolDock after clicking on a Launcher or Window icon."
+msgstr "Cache KoolDock lors d'un clic sur le Lanceur ou sur une îcone."
+
+#: setupdialog.cpp:407
+msgid "msec"
+msgstr "msec"
+
+#: setupdialog.cpp:408
+msgid "Time before showing KoolDock if mouse reaches bottom of the screen"
+msgstr "Délai d'apparition de KoolDock"
+
+#: setupdialog.cpp:409
+msgid "Show text over icons"
+msgstr "Afficher le texte au dessus des icônes"
+
+#: setupdialog.cpp:410
+msgid ""
+"Moving the mouse over KoolDock's launcher or TaskBar will show the window/"
+"launcher name on the screen"
+msgstr "Le nom de la fenêtre/du lanceur apparaît lorsque le curseur les survoles"
+
+#: setupdialog.cpp:411
+msgid "Bold"
+msgstr "Gras"
+
+#: setupdialog.cpp:412
+msgid "Show after"
+msgstr "Afficher après"
+
+#: setupdialog.cpp:413
+msgid "Big icon size:"
+msgstr "Taille des grandes icônes:"
+
+#: setupdialog.cpp:414
+msgid "Enable Taskbar notification"
+msgstr "Activer la notification de la barre des tâches"
+
+#: setupdialog.cpp:415
+msgid ""
+"Window icon in KoolDock's taskbar will blink when something happens on the "
+"given application"
+msgstr "L'icône de fenetre clignote lors d'un évenement sur l'application"
+
+#: setupdialog.cpp:416
+msgid "Small icon size:"
+msgstr "Taille des petites icônes:"
+
+#: setupdialog.cpp:417
+msgid "Shadow offset:"
+msgstr "Décalage des ombres:"
+
+#: setupdialog.cpp:418
+msgid "Only Manage Current Desktop"
+msgstr "Ne s'occuper que du bureau courant"
+
+#: setupdialog.cpp:419
+msgid "Only show in KoolDock's taskbar windows in the current desktop"
+msgstr "N'affiche que les fenêtres du bureau courant dans la barre des tâches de KoolDock"
+
+#: setupdialog.cpp:420
+msgid "Enable Taskbar"
+msgstr "Utiliser la barre des tâches"
+
+#: setupdialog.cpp:421
+msgid "Enables KoolDock taskbar; it can be used instead of Kicker's taskbar"
+msgstr "Permet d'utiliser la barre des taches de KoolDock; elle peut remplacer celle de Kicker "
+
+#: setupdialog.cpp:422
+msgid "Screenshot of minimized windows"
+msgstr "Capture d'écran des fenêtres minimisées"
+
+#: setupdialog.cpp:423
+msgid ""
+"When a window is minimized a screenshot of the application will be use as an "
+"icon in KoolDock's Taskbar."
+msgstr "Lorsqu'une fenêtre est minimisée un image miniature sera utilisée pour la représenter dans la barre des taches de KoolDock"
+
+#: setupdialog.cpp:425
+msgid "Shadow color:"
+msgstr "Couleur de l'ombre:"
+
+#: setupdialog.cpp:426
+msgid "Text font:"
+msgstr "Police du texte:"
+
+#: setupdialog.cpp:427
+msgid "Text color:"
+msgstr "Couleur du texte:"
+
+#: setupdialog.cpp:428
+msgid "Font size:"
+msgstr "Taille de la police:"
+
+#: setupdialog.cpp:429
+msgid "Show K Menu"
+msgstr "Afficher le Menu K"
+
+#: setupdialog.cpp:430
+msgid "Shows the KDE Menu in KoolDock's launcher."
+msgstr "Ajoute le Menu K dans le lanceur de KoolDock."
+
+#: setupdialog.cpp:431
+msgid "Navigation Menu"
+msgstr "Menu de navigation"
+
+#: setupdialog.cpp:432
+msgid "Adds a clock into the Main Menu and a virtual desktop navigator."
+msgstr "Ajoute une horloge dans le menu principal et un navigateur de bureaux virtuels"
+
+#: setupdialog.cpp:433
+msgid "Enable System Tray (Experimental!)"
+msgstr "Activer la boîte à miniatures (expérimental)"
+
+#: setupdialog.cpp:434
+msgid ""
+"Enables KoolDock System Tray Support; it can be used instead of kicker's "
+"systray applet (its VERY experimental; do not use it unless you intend to "
+"help me get this working :P )"
+msgstr "Active la boite à miniature de KoolDock; elle peut remplacer celle de kicker (attention: cette fonctionnalité est encore expérimentale, à utiliser seulement si vous compter m'aider à l'améliorer :P )"
+
+#: setupdialog.cpp:435
+msgid "Xinerama Support"
+msgstr "Support de &Xinerama :"
+
+#: setupdialog.cpp:436
+msgid "If you are using xinerama you should enable this option for proper behaviour."
+msgstr "Si vous utilisez Xinerama vous pouvez activer cette option pour avoir un meilleur fonctionnement."
+
+#: setupdialog.cpp:437
+msgid "Left Monitor Res"
+msgstr "Résolution de l'écran de gauche"
+
+#: setupdialog.cpp:438
+msgid "Visual"
+msgstr "Options visuelles"
+
+#: setupdialog.cpp:439
+msgid "Drag an application to add it or"
+msgstr "Glissez une application ici pour l'ajouter"
+
+#: setupdialog.cpp:440
+msgid "Right click opens the icon menu."
+msgstr "Un clic droit ouvre le menu des icônes."
+
+#: setupdialog.cpp:441
+msgid "Manually &add Application"
+msgstr "&Ajouter manuellement une application"
+
+#: setupdialog.cpp:443
+msgid "Click here to manually add an application to the Launcher"
+msgstr "Cliquer ici pour ajouter une application au lanceur"
+
+#: setupdialog.cpp:444
+msgid ""
+"Drag and Drop here any executable or desktop file for which you want an "
+"entry in KoolDock's Launcher"
+msgstr "Glissez/Déposez ici le lien/fichier desktop pour ajouter une icône dans le Lanceur de KoolDock."
+
+#: setupdialog.cpp:445
+msgid "Application List"
+msgstr "Liste des applications"
+
+#: setupdialog.cpp:447
+msgid ""
+"Click here to start grabbing windows names; click Add for each window you "
+"click on"
+msgstr ""
+"Click here to start grabbing windows names; click Add for each window you "
+"click on"
+
+#: setupdialog.cpp:448
+msgid ""
+"Click \"Grab Window\" and click over a Window, then click \"Add\" to append "
+"it to\n"
+"the ignore list; you may also manually type or edit the window's name in "
+"the\n"
+"box below. To stop grabbing just click \"Grabbing...\", \"Ok\" or \"Cancel\"."
+msgstr ""
+"Cliquez sur \"Choisir une fenêtre\" et cliquez sur une fenêtre, puis sur \"Ajouter\" pour l'ajouter à\n"
+"la liste des fenêtres ignorées; vous pouvez aussi taper manuellement ou modifier le nom de la fenêtre dans la boite ci-dessous."
+
+#: setupdialog.cpp:453
+msgid "Ignore list"
+msgstr "Applications ignorées"
+
+#: setupdialog.cpp:454 setupdialog.cpp:455
+msgid "Background Theme:"
+msgstr "Thème de fond"
+
+#: setupdialog.cpp:456 setupdialog.cpp:465
+msgid "Enabled"
+msgstr "Activé"
+
+#: setupdialog.cpp:457
+msgid "Use set of images instead of a Solid Background"
+msgstr "Utiliser une collection d'image plutôt qu'un fond unique."
+
+#: setupdialog.cpp:458
+msgid "TaskBar Separator"
+msgstr "Séparateur de la barre des tâches"
+
+#: setupdialog.cpp:459
+msgid "Separator color:"
+msgstr "Couleur du séparateur"
+
+#: setupdialog.cpp:460
+msgid "The separator is a line drawed between KoolDock's Launcher and Taskbar"
+msgstr "Le séparateur est une ligne dessinée entre le Lanceur et la barre des tâches"
+
+#: setupdialog.cpp:461
+msgid "Solid Background:"
+msgstr "Fond opaque:"
+
+#: setupdialog.cpp:462
+msgid "Border color:"
+msgstr "Couleur de la bordure:"
+
+#: setupdialog.cpp:463
+msgid "Dock opacity:"
+msgstr "Opacité :"
+
+#: setupdialog.cpp:464
+msgid "Background color:"
+msgstr "Couleur du fond:"
+
+#: setupdialog.cpp:466
+msgid ""
+"Enable a solid background for KoolDock, it may be transparent (dock opacity) "
+"and of any color you choose"
+msgstr "Active l'opacité de KoolDock; il peut être transparent (opacité) and de la couleur de votre choix"
+
+#: setupdialog.cpp:467
+msgid "Show borders"
+msgstr "Afficher les bordures"
+
+#: setupdialog.cpp:468
+msgid ""
+"When using a Solid Background you may tell KoolDock to draw its borders "
+"(rectangle)"
+msgstr "Lorsque vous utilisez un fond opaque vous pouvez demander à KoolDock de dessiner ses bordures"
+
+#: setupdialog.cpp:469
+msgid "Solid background level of transparency (0 means fully transparent)"
+msgstr "Niveau de transparence du fond (0 correspond à la transparence totale)"
+
+#: setupdialog.cpp:470
+msgid "Background"
+msgstr "Arrière plan"
+
diff --git a/po/it.po b/po/it.po
new file mode 100644
index 0000000..3d64135
--- /dev/null
+++ b/po/it.po
@@ -0,0 +1,617 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: KoolDock 0.4.6\n"
+"POT-Creation-Date: \n"
+"PO-Revision-Date: 2007-02-27 23:26+0100\n"
+"Last-Translator: Francesco Montefoschi <francesco.monte@gmail.com>\n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Poedit-Language: Italian\n"
+"X-Poedit-Country: ITALY\n"
+
+#: appProp.cpp:149
+msgid "Launcher Properties"
+msgstr "Proprietà del launcher"
+
+#: appProp.cpp:150
+#: setupdialog.cpp:582
+msgid "&Cancel"
+msgstr "&Annulla"
+
+#: appProp.cpp:152
+msgid "&Add"
+msgstr "&Aggiungi"
+
+#: appProp.cpp:153
+#: setupdialog.cpp:623
+msgid "Alt+A"
+msgstr ""
+
+#: appProp.cpp:154
+msgid "Advanced Options"
+msgstr "Opzioni avanzate:"
+
+#: appProp.cpp:155
+msgid "Run From Terminal"
+msgstr "Esegui dal terminale"
+
+#: appProp.cpp:156
+msgid "Run as different User"
+msgstr "Esegui come altro utente"
+
+#: appProp.cpp:157
+msgid "Keep terminal open after exit"
+msgstr "Non chiudere la console al termine"
+
+#: appProp.cpp:158
+msgid "Minimal Options"
+msgstr "Opzioni base"
+
+#: appProp.cpp:159
+msgid "checkBox1"
+msgstr ""
+
+#: appProp.cpp:160
+msgid "Don't forget to chose an icon."
+msgstr "Non dimenticare di scegliere un'icona."
+
+#: appProp.cpp:161
+msgid "<b>Command</b>"
+msgstr "<b>Comando</b>"
+
+#: appProp.cpp:162
+msgid "<b>Name</b>"
+msgstr "<b>Nome</b>"
+
+#: appProp.cpp:163
+msgid "&Browse"
+msgstr "&Sfoglia"
+
+#: appProp.cpp:164
+msgid "Alt+B"
+msgstr ""
+
+#: appProp.cpp:165
+msgid "Icon"
+msgstr "Icona"
+
+#: apppropprg.cpp:47
+msgid "You must select an icon!"
+msgstr "Devi selezionare un'icona!"
+
+#: apppropprg.cpp:47
+#: apppropprg.cpp:52
+#: apppropprg.cpp:57
+#: apppropprg.cpp:62
+msgid "Error"
+msgstr "Errore"
+
+#: apppropprg.cpp:52
+msgid "You must enter a name!"
+msgstr "Devi inserire un nome!"
+
+#: apppropprg.cpp:57
+msgid "You must enter a command or path!"
+msgstr "Devi inserire un comando o percorso!"
+
+#: apppropprg.cpp:62
+msgid "You must provide a username!"
+msgstr "Devi inserire un nome utente!"
+
+#: apppropprg.cpp:117
+msgid "Open File"
+msgstr "Apri file"
+
+#: kooldock.cpp:979
+msgid "Main Menu"
+msgstr "Menu principale"
+
+#: kooldock.cpp:980
+msgid "Edit Quick Launch &Menu"
+msgstr "Modifica &menu Avvio Veloce"
+
+#: kooldock.cpp:981
+msgid "Edit &Preferences"
+msgstr "Modifica &preferenze"
+
+#: kooldock.cpp:982
+msgid "&Reload configuration"
+msgstr "&Ricarica configurazione"
+
+#: kooldock.cpp:984
+msgid "&About"
+msgstr "&Informazioni su..."
+
+#: kooldock.cpp:986
+msgid "E&xit"
+msgstr "&Esci"
+
+#: kooldock.cpp:996
+#: kooldock.cpp:1098
+msgid "Desktop &%1"
+msgstr ""
+
+#: kooldock.cpp:1013
+msgid "Desktop %1"
+msgstr ""
+
+#: kooldock.cpp:1036
+msgid "Navigation: Desktop %1"
+msgstr "Navigazione: Desktop %1"
+
+#: kooldock.cpp:1038
+msgid "&Go to Desktop"
+msgstr "&Vai al desktop"
+
+#: kooldock.cpp:1039
+msgid "&Task List"
+msgstr "&Lista processi"
+
+#: kooldock.cpp:1064
+msgid "Item menu"
+msgstr "Menu elemento"
+
+#: kooldock.cpp:1066
+msgid "&Edit item"
+msgstr "&Modifica elemento"
+
+#: kooldock.cpp:1067
+msgid "&Delete item"
+msgstr "&Elimina elemento"
+
+#: kooldock.cpp:1086
+msgid "Current Desktop &%1"
+msgstr "Desktop attuale &%1"
+
+#: kooldock.cpp:1117
+msgid "Mi&nimize"
+msgstr "&Riduci a icona"
+
+#: kooldock.cpp:1120
+msgid "Ma&ximize"
+msgstr "&Ingrandisci"
+
+#: kooldock.cpp:1125
+msgid "&Restore"
+msgstr "&Ripristina"
+
+#: kooldock.cpp:1129
+msgid "&Move to Desktop"
+msgstr "&Sposta sul desktop"
+
+#: kooldock.cpp:1131
+msgid "&Close"
+msgstr "&Chiudi"
+
+#: kooldock.cpp:1510
+msgid "You have to enter a command to execute or a URL to be opened first."
+msgstr "Devi prima inserire un comando da eseguire o un URL da aprire."
+
+#: kooldock.cpp:1535
+msgid ""
+"<qt>The program name or command <b>%1</b>\n"
+"cannot be found. Please correct the command\n"
+"or URL and try again</qt>"
+msgstr ""
+"<qt>Il nome del programma o il comando <b>%1</b>\n"
+"non è stato trovato. Correggi il comando o indirizzo\n"
+"e prova di nuovo</qt>"
+
+#: kooldock.cpp:1548
+msgid ""
+"<qt>Could not run <b>%1</b>.\n"
+"Please correct the command or URL and try again.</qt>"
+msgstr ""
+"<qt>Impossibile eseguire <b>%1</b>.\n"
+"Correggi il comando/URL e riprova..</qt>\""
+
+#: kooldock.moc.cpp:34
+#: kooldock.moc.cpp:42
+#: main.cpp:66
+msgid "KoolDock"
+msgstr ""
+
+#: main.cpp:48
+msgid "<center><b>KoolDock</b></center>A Kool Dock for KDE<br><br>KoolDock is based upon the original work of Dang Viet Dung, Ksmoothdock 2.1<br><br>"
+msgstr "<center><b>KoolDock</b></center>Un dock figo per KDE<br><br>KoolDock è basato sul lavoro originale di Dang Viet Dung, Ksmoothdock 2.1<br><br>"
+
+#: main.cpp:53
+msgid "Show configuration window on start"
+msgstr "Mostra la configurazione all'avvio"
+
+#: main.cpp:55
+msgid "Kills all processes called Kooldock"
+msgstr "Uccidi tutti i processi chiamati Kooldock"
+
+#: main.cpp:72
+msgid "Project Webmaster"
+msgstr "Webmaster del progetto"
+
+#: main.cpp:73
+msgid "Icon and artwork"
+msgstr "Icone e grafica"
+
+#: main.cpp:74
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr "Francesco Montefoschi"
+
+#: main.cpp:74
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr "francesco.monte@gmail.com"
+
+#: setupdialog.cpp:578
+msgid "KoolDock Configuration"
+msgstr "Configurazione KoolDock"
+
+#: setupdialog.cpp:581
+msgid "checkBox11"
+msgstr ""
+
+#: setupdialog.cpp:584
+msgid "&OK"
+msgstr "&Ok"
+
+#: setupdialog.cpp:586
+msgid "Visual options:"
+msgstr "Opzioni:"
+
+#: setupdialog.cpp:587
+msgid "Bold"
+msgstr "Grassetto"
+
+#: setupdialog.cpp:588
+msgid "Shadow offset:"
+msgstr "Spostamento ombra:"
+
+#: setupdialog.cpp:589
+msgid "Italic"
+msgstr "Corsivo"
+
+#: setupdialog.cpp:590
+msgid "Shadow color:"
+msgstr "Colore ombra:"
+
+#: setupdialog.cpp:591
+msgid "Text font:"
+msgstr "Carattere testo:"
+
+#: setupdialog.cpp:592
+msgid "Text color:"
+msgstr "Colore testo:"
+
+#: setupdialog.cpp:593
+msgid "Font size:"
+msgstr "Dimensione testo:"
+
+#: setupdialog.cpp:594
+msgid "Big icon size:"
+msgstr "Dimensione icone grandi:"
+
+#: setupdialog.cpp:595
+msgid "Amount of big icons:"
+msgstr "Quantità di icone grandi:"
+
+#: setupdialog.cpp:596
+msgid "Small icon size:"
+msgstr "Dimensione icone piccole:"
+
+#: setupdialog.cpp:597
+msgid "Show K Menu"
+msgstr "Mostra menu K"
+
+#: setupdialog.cpp:598
+msgid "Shows the KDE Menu in KoolDock's launcher."
+msgstr "Mostra il menu di KDE nel launcher di KoolDock."
+
+#: setupdialog.cpp:599
+msgid "Navigation Menu"
+msgstr "Menu di navigazione"
+
+#: setupdialog.cpp:600
+msgid "Adds a clock into the Main Menu and a virtual desktop navigator."
+msgstr "Aggiunge un orologio nella finestra principale e un navigatore di desktop virtuali."
+
+#: setupdialog.cpp:601
+msgid "Only Manage Current Desktop"
+msgstr "Gestisci solo il desktop attuale"
+
+#: setupdialog.cpp:602
+msgid "Only show in KoolDock's taskbar windows in the current desktop"
+msgstr ""
+
+#: setupdialog.cpp:603
+msgid "Enable Taskbar"
+msgstr "Abilita la barra dei processi"
+
+#: setupdialog.cpp:604
+msgid "Enables KoolDock taskbar; it can be used instead of Kicker's taskbar"
+msgstr "Abilita la barra dei processi di KoolDock, che può essere usata al posto di quella di Kicker"
+
+#: setupdialog.cpp:605
+msgid "Start hidden"
+msgstr "Avvia nascosto"
+
+#: setupdialog.cpp:606
+msgid "Start KoolDock hidden; if the mouse is not over KoolDock it will hide"
+msgstr "Avvia KoolDock nascosto; se il mouse non è su KoolDock verrà nascosto"
+
+#: setupdialog.cpp:607
+msgid "Hide on click"
+msgstr "Nascondi al click"
+
+#: setupdialog.cpp:608
+msgid "Hide KoolDock after clicking on a Launcher or Window icon."
+msgstr "Nasconde KoolDock dopo aver cliccato il launcher o un icona nella barra dei processi."
+
+#: setupdialog.cpp:609
+msgid "Don't scroll while mouse is on the same icon"
+msgstr "Non scorrere mentre il mouse è sulla stessa icona"
+
+#: setupdialog.cpp:610
+msgid "Enable System Tray (Experimental!)"
+msgstr "Abilita vassoio di sistema (sperimentale!)"
+
+#: setupdialog.cpp:611
+msgid "Enables KoolDock System Tray Support; it can be used instead of kicker's systray applet (its VERY experimental; do not use it unless you intend to help me get this working :P )"
+msgstr "Abilita il supporto al vassoio di sistema, può essere usato al posto del vassoio fornito da Kicker. (nota: è DAVVERO sperimentale, non lo usare a meno che tu non voglia aiutarmi a farlo funzionare :P)"
+
+#: setupdialog.cpp:612
+msgid "Show text over icons"
+msgstr "Mostra testo sulle icone"
+
+#: setupdialog.cpp:613
+msgid "Moving the mouse over KoolDock's launcher or TaskBar will show the window/launcher name on the screen"
+msgstr "Spostando il mouse sul launcher di KoolDock o sulla barra dei processi, sarà mostrato il nome della finestra o del programma"
+
+#: setupdialog.cpp:614
+msgid "Screenshot of minimized windows"
+msgstr "Screenshot delle finestre ridotte"
+
+#: setupdialog.cpp:615
+msgid "When a window is minimized a screenshot of the application will be use as an icon in KoolDock's Taskbar."
+msgstr "Quando una finestra viene ridotta ad icona, verrà usato uno screenshot dell'applicazione come icona nella barra dei processi."
+
+#: setupdialog.cpp:616
+msgid "Enable Taskbar notification"
+msgstr "Abilita notifica barra dei processi"
+
+#: setupdialog.cpp:617
+msgid "Window icon in KoolDock's taskbar will blink when something happens on the given application"
+msgstr "Quando qualcosa succede in un'applicazione, l'icona relativa nella barra dei processi lampeggia"
+
+#: setupdialog.cpp:618
+msgid "Visual"
+msgstr "Visuale"
+
+#: setupdialog.cpp:619
+msgid "Move Left"
+msgstr "Sposta a sinistra"
+
+#: setupdialog.cpp:620
+msgid "Move Right"
+msgstr "Sposta a destra"
+
+#: setupdialog.cpp:621
+msgid "Drag an application to add it or"
+msgstr "Trascina un'applicazione per aggiungerla o"
+
+#: setupdialog.cpp:622
+msgid "Manually &add Application"
+msgstr "Aggiungi applicazione &manualmente"
+
+#: setupdialog.cpp:624
+msgid "Click here to manually add an application to the Launcher"
+msgstr "Clicca qui per aggiungere un applicazione al launcher manualmente"
+
+#: setupdialog.cpp:625
+msgid "Drag and Drop here any executable or desktop file for which you want an entry in KoolDock's Launcher"
+msgstr "Trascina e rilascia qui qualsiasi applicazione o file .desktop che vuoi aggiungere al launcher di KoolDock"
+
+#: setupdialog.cpp:626
+msgid "Right click opens the icon menu."
+msgstr "Il click destro apre il menu dell'icona."
+
+#: setupdialog.cpp:627
+msgid "Application List"
+msgstr "Lista applicazioni"
+
+#: setupdialog.cpp:628
+#: setupdialogprg.cpp:126
+#: setupdialogprg.cpp:278
+#: setupdialogprg.cpp:520
+msgid "Grab Window"
+msgstr "Intercetta finestra"
+
+#: setupdialog.cpp:629
+msgid "Click here to start grabbing windows names; click Add for each window you click on"
+msgstr "Clicca qui per iniziare ad intercettare i nomi delle finestre; clicca Aggiungi per ogni finestra sulla quale clicchi"
+
+#: setupdialog.cpp:630
+msgid ""
+"Click \"Grab Window\" and click over a Window, then click \"Add\" to append it to\n"
+"the ignore list; you may also manually type or edit the window's name in the\n"
+"box below. To stop grabbing just click \"Grabbing...\", \"Ok\" or \"Cancel\"."
+msgstr ""
+"Clicca \"Intercetta finestra\" e clicca su una finestra, clicca quindi \"Aggiungi\" per\n"
+"inserirla nella lista delle finestre ignorate; in alternativa puoi scrivere o modificare\n"
+"il nome della finestra nel box di seguito. Per terminare l'intercettazione, clicca\n"
+"semplicemente \"Intercettazione...\", \"Ok\" o \"Annulla\"."
+
+#: setupdialog.cpp:635
+msgid "Ignore list"
+msgstr "Lista ignorate"
+
+#: setupdialog.cpp:636
+msgid "Solid Background:"
+msgstr "Sfondo a tinta unita:"
+
+#: setupdialog.cpp:637
+msgid "Border color:"
+msgstr "Colore bordo:"
+
+#: setupdialog.cpp:638
+msgid "Dock opacity:"
+msgstr "Opacità dock:"
+
+#: setupdialog.cpp:639
+msgid "Background color:"
+msgstr "Colore di sfondo:"
+
+#: setupdialog.cpp:640
+#: setupdialog.cpp:651
+msgid "Enabled"
+msgstr "Abilitato"
+
+#: setupdialog.cpp:641
+msgid "Enable a solid background for KoolDock, it may be transparent (dock opacity) and of any color you choose"
+msgstr "Abilita uno sfondo a tinta unita per KoolDock, che può essere trasparente (opacità del dock) e di qualsiasi colore tu desideri"
+
+#: setupdialog.cpp:642
+msgid "Show borders"
+msgstr "Mostra bordi"
+
+#: setupdialog.cpp:643
+msgid "When using a Solid Background you may tell KoolDock to draw its borders (rectangle)"
+msgstr "Quando usi uno sfondo a tinta unita puoi dire a KoolDock di disegnare i suoi bordi rettangolari"
+
+#: setupdialog.cpp:645
+msgid "Solid background level of transparency (0 means fully transparent)"
+msgstr "Livello di trasparenza dello sfondo a tinta unita (0 significa totalmente trasparente)"
+
+#: setupdialog.cpp:646
+msgid "TaskBar Separator"
+msgstr "Separatore barra processi"
+
+#: setupdialog.cpp:647
+msgid "The separator is a line drawed between KoolDock's Launcher and Taskbar"
+msgstr "Il separatore è una linea disegnata tra il launcher di KoolDock e la barra dei processi"
+
+#: setupdialog.cpp:648
+msgid "Separator color:"
+msgstr "Colore separatore:"
+
+#: setupdialog.cpp:649
+#: setupdialog.cpp:650
+msgid "Background Theme:"
+msgstr "Tema per lo sfondo:"
+
+#: setupdialog.cpp:652
+msgid "Use set of images instead of a Solid Background"
+msgstr "Usa un set di immagini piuttosto che uno sfondo a tinta unita"
+
+#: setupdialog.cpp:653
+msgid "Background"
+msgstr "Sfondo"
+
+#: setupdialog.cpp:654
+msgid "Window placement"
+msgstr "Posizione della finestra"
+
+#: setupdialog.cpp:655
+msgid "Window position on edge (%):"
+msgstr "Posizione del dock (%):"
+
+#: setupdialog.cpp:656
+msgid "Xinerama Support"
+msgstr "Supporto Xinerama"
+
+#: setupdialog.cpp:657
+msgid "If you are using xinerama you should enable this option for proper behaviour."
+msgstr "Se stai usando xinerama, dovresti attivare quest'opzione per un comportamento corretto."
+
+#: setupdialog.cpp:658
+msgid "Desired Monitor Width"
+msgstr "Larghezza desiderata monitor"
+
+#: setupdialog.cpp:659
+msgid "Desired Monitor Height"
+msgstr "Altezza desiderata monitor"
+
+#: setupdialog.cpp:660
+msgid "Previous Monitors Width"
+msgstr "Larghezza monitor precedente"
+
+#: setupdialog.cpp:661
+msgid "Window position:"
+msgstr "Posizione della finestra:"
+
+#: setupdialog.cpp:663
+msgid "Left"
+msgstr "Sinistra"
+
+#: setupdialog.cpp:664
+msgid "Right"
+msgstr "Destra"
+
+#: setupdialog.cpp:665
+msgid "Top"
+msgstr "Alto"
+
+#: setupdialog.cpp:666
+msgid "Bottom"
+msgstr "Basso"
+
+#: setupdialog.cpp:667
+msgid "Speed"
+msgstr "Velocità"
+
+#: setupdialog.cpp:668
+msgid "Zooming speed (ms)"
+msgstr "Velocità di zoom (ms)"
+
+#: setupdialog.cpp:672
+msgid "Show after"
+msgstr "Mostra dopo"
+
+#: setupdialog.cpp:673
+msgid "msec"
+msgstr "ms"
+
+#: setupdialog.cpp:674
+msgid "Time before showing KoolDock if mouse reaches bottom of the screen"
+msgstr "Tempo prima di mostrare KoolDock se il mouse raggiunge il fondo dello schermo"
+
+#: setupdialog.cpp:675
+msgid "Placement and speed"
+msgstr "Posizione e velocità"
+
+#: setupdialog.cpp:676
+#: setupdialog.cpp:678
+msgid "CPU"
+msgstr "Processore"
+
+#: setupdialog.cpp:677
+msgid "Priority (0=max, 19=min)"
+msgstr "Priorità (0=max, 19=min)"
+
+#: setupdialogprg.cpp:445
+msgid "Do you want to remove "
+msgstr "Vuoi rimuovere "
+
+#: setupdialogprg.cpp:446
+msgid "Remove Launcher"
+msgstr "Rimuovi launcher"
+
+#: setupdialogprg.cpp:514
+msgid "Grabbing..."
+msgstr "Intercettazione..."
+
+#: setupdialogprg.cpp:642
+msgid "Swap with"
+msgstr "Scambia con"
+
+#: setupdialogprg.cpp:643
+msgid "Remove"
+msgstr "Rimuovi"
+
+#: xosd.moc.cpp:34
+#: xosd.moc.cpp:42
+msgid "xosd"
+msgstr ""
+
diff --git a/po/kooldock.mo b/po/kooldock.mo
new file mode 100644
index 0000000..334ba45
--- /dev/null
+++ b/po/kooldock.mo
Binary files differ
diff --git a/po/kooldock.pot b/po/kooldock.pot
new file mode 100644
index 0000000..a907498
--- /dev/null
+++ b/po/kooldock.pot
@@ -0,0 +1,783 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"POT-Creation-Date: \n"
+"PO-Revision-Date: 2007-09-23 10:38+0100\n"
+"Last-Translator: \n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Poedit-KeywordsList: I18N_NOOP;i18n;tr2i18n\n"
+"X-Poedit-Basepath: /home/bisiek/Desktop/k2/kooldock_1/src/\n"
+"X-Poedit-SearchPath-0: /home/bisiek/Desktop/k2/kooldock_1/src\n"
+"X-Poedit-SearchPath-1: /home/bisiek/Desktop/k2/kooldock_1/debug/src\n"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/src/kooldock.cpp:854
+msgid "&About"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/appProp.cpp:149
+msgid "&Add"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/appProp.cpp:159
+msgid "&Browse"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:748
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/appProp.cpp:147
+msgid "&Cancel"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/src/kooldock.cpp:3695
+msgid "&Close"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/src/kooldock.cpp:982
+msgid "&Close all"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/src/kooldock.cpp:905
+msgid "&Delete item"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/src/setupdialogprg.cpp:623
+#: /home/bisiek/Desktop/k2/kooldock_1/src/kooldock.cpp:904
+msgid "&Edit item"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/src/kooldock.cpp:845
+msgid "&Fullscreen"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/src/kooldock.cpp:875
+msgid "&Go to Desktop"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/src/kooldock.cpp:3672
+msgid "&Move"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/src/kooldock.cpp:3693
+msgid "&Move to Desktop"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:750
+msgid "&OK"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/src/kooldock.cpp:852
+msgid "&Reload configuration"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/src/kooldock.cpp:981
+msgid "&Restore all"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/src/kooldock.cpp:3686
+msgid "&Shade"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/src/kooldock.cpp:876
+msgid "&Task List"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/appProp.cpp:157
+msgid "<b>Command</b>"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/appProp.cpp:158
+msgid "<b>Name</b>"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/src/main.cpp:47
+msgid "<center><b>KoolDock</b></center>A Kool Dock for KDE<br><br>KoolDock is based upon the original work of Dang Viet Dung, Ksmoothdock 2.1<br><br>"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/src/kooldock.cpp:1469
+msgid ""
+"<qt>Could not run <b>%1</b>.\n"
+"Please correct the command or URL and try again.</qt>"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/src/kooldock.cpp:1457
+msgid ""
+"<qt>The program name or command <b>%1</b>\n"
+"cannot be found. Please correct the command\n"
+"or URL and try again</qt>"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/src/kooldock.cpp:3670
+msgid "Ad&vanced"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:769
+msgid "Adds a clock into the Main Menu and a virtual desktop navigator."
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/appProp.cpp:151
+msgid "Advanced Options"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/src/kooldock.cpp:924
+#: /home/bisiek/Desktop/k2/kooldock_1/src/kooldock.cpp:3743
+#: /home/bisiek/Desktop/k2/kooldock_1/src/kooldock.cpp:3788
+msgid "All desktops"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:804
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/appProp.cpp:150
+msgid "Alt+A"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/appProp.cpp:160
+msgid "Alt+B"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:798
+msgid "Amount of big icons:"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:812
+msgid "Application List"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:881
+msgid "Apply"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:756
+msgid "Autohide"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:839
+msgid "Background"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:832
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:835
+msgid "Background Theme:"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:824
+msgid "Background color:"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:797
+msgid "Big icon size:"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:790
+msgid "Bold"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:822
+msgid "Border color:"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:859
+msgid "Bottom"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:862
+msgid "CPU"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:789
+msgid "Cleaner text (bigger memory and CPU usage)"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:815
+msgid ""
+"Click \"Grab Window\" and click over a Window, then click \"Add\" to append it to\n"
+"the ignore list; you may also manually type or edit the window's name in the\n"
+"box below. To stop grabbing just click \"Grabbing...\", \"Ok\" or \"Cancel\"."
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:805
+msgid "Click here to manually add an application to the Launcher"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:814
+msgid "Click here to start grabbing windows names; click Add for each window you click on"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:865
+msgid "Clip desktop workspace"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:867
+msgid "Clip icon area (DCOP)"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:837
+msgid "Corner scale: free"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:838
+msgid "Corner scale: min"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/src/kooldock.cpp:926
+msgid "Current Desktop &%1"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:846
+msgid "Desired Monitor Height"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:845
+msgid "Desired Monitor Width"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/src/kooldock.cpp:3745
+#: /home/bisiek/Desktop/k2/kooldock_1/src/kooldock.cpp:3790
+msgid "Desktop %1"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/src/kooldock.cpp:865
+#: /home/bisiek/Desktop/k2/kooldock_1/src/kooldock.cpp:940
+msgid "Desktop &%1"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:864
+msgid "Desktop clipping"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:842
+msgid "Determines the position of expanded KoolDock's window on the selected screen edge."
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:874
+msgid "Determines the speen of zooming animation"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/src/setupdialogprg.cpp:424
+msgid "Do you want to remove "
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:823
+msgid "Dock opacity:"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:833
+msgid "Don't allow wider background than screen"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/appProp.cpp:156
+msgid "Don't forget to chose an icon."
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:766
+msgid "Don't scroll while mouse is on the same icon"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:802
+msgid "Drag an application to add it or"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:806
+msgid "Drag and Drop here any executable or desktop file for which you want an entry in KoolDock's Launcher"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/src/kooldock.cpp:856
+msgid "E&xit"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/src/kooldock.cpp:851
+msgid "Edit &Preferences"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/src/kooldock.cpp:850
+msgid "Edit Quick Launch &Menu"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:753
+msgid "Enable System Tray (Experimental!)"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:758
+msgid "Enable Taskbar"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:760
+msgid "Enable Taskbar notification"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:754
+msgid "Enables KoolDock System Tray Support; it can be used instead of kicker's systray applet (its VERY experimental; do not use it unless you intend to help me get this working :P )"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:759
+msgid "Enables KoolDock taskbar; it can be used instead of Kicker's taskbar"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:763
+msgid "Enables grouping similar task icons into one icon."
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/src/apppropprg.cpp:47
+#: /home/bisiek/Desktop/k2/kooldock_1/src/apppropprg.cpp:52
+#: /home/bisiek/Desktop/k2/kooldock_1/src/apppropprg.cpp:57
+#: /home/bisiek/Desktop/k2/kooldock_1/src/apppropprg.cpp:62
+msgid "Error"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:787
+msgid "Font size:"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:782
+msgid "General"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:755
+msgid "General options:"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/src/setupdialogprg.cpp:138
+#: /home/bisiek/Desktop/k2/kooldock_1/src/setupdialogprg.cpp:297
+#: /home/bisiek/Desktop/k2/kooldock_1/src/setupdialogprg.cpp:500
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:813
+msgid "Grab Window"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/src/setupdialogprg.cpp:494
+msgid "Grabbing..."
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:848
+msgid "Height of monitor on which kooldock should be shown."
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:779
+msgid "Hide KoolDock after clicking on a Launcher or Window icon."
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:778
+msgid "Hide on click"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/appProp.cpp:161
+msgid "Icon"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/src/main.cpp:69
+msgid "Icon and artwork"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:783
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:794
+msgid "Icon text"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:844
+msgid "If you are using xinerama you should enable this option for proper behaviour."
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:820
+msgid "Ignore list"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:793
+msgid "Italic"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/src/kooldock.cpp:902
+msgid "Item menu"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/src/kooldock.cpp:843
+msgid "Keep &Above Others"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/src/kooldock.cpp:844
+msgid "Keep &Below Others"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/appProp.cpp:154
+msgid "Keep terminal open after exit"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/src/main.cpp:54
+msgid "Kills all processes called Kooldock"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/src/main.cpp:62
+msgid "KoolDock"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:745
+msgid "KoolDock Configuration"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/appProp.cpp:146
+msgid "Launcher Properties"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:853
+msgid "Left"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/src/kooldock.cpp:3682
+msgid "Ma&ximize"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/src/kooldock.cpp:980
+msgid "Ma&ximize all"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/src/kooldock.cpp:849
+msgid "Main Menu"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:868
+msgid "Makes KDE desktop smaller, that KoolDock's window don't cover the icons."
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:866
+msgid "Makes desktop smaller that maximized windows don't cover KoolDock's window."
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:771
+msgid "Makes that KoolDock don't use KMenu, but uses alternative KBFX menu (widget is necessary)."
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:860
+msgid "Makes that KoolDock's window will appear on bottom screen edge."
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:854
+msgid "Makes that KoolDock's window will appear on left screen edge."
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:856
+msgid "Makes that KoolDock's window will appear on right screen edge."
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:858
+msgid "Makes that KoolDock's window will appear on top screen edge."
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:767
+msgid "Makes the scrolling not smooth, but automatically centered on current icon."
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:803
+msgid "Manually &add Application"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/src/kooldock.cpp:3678
+msgid "Mi&nimize"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/src/kooldock.cpp:979
+msgid "Mi&nimize all"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/appProp.cpp:155
+msgid "Minimal Options"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:834
+msgid "Mkaes that the background ends don't go over the screen edges."
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:807
+msgid "Move Left"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:809
+msgid "Move Right"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:808
+msgid "Moves selected item left"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:810
+msgid "Moves selected item right"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:792
+msgid "Moving the mouse over KoolDock's launcher or TaskBar will show the window/launcher name on the screen"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:768
+msgid "Navigation Menu"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/src/kooldock.cpp:873
+msgid "Navigation: Desktop %1"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:776
+msgid "Only Manage Current Desktop"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:777
+msgid "Only show in KoolDock's taskbar windows in the current desktop"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/src/apppropprg.cpp:116
+msgid "Open File"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:880
+msgid "Other"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:861
+msgid "Placement"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:850
+msgid "Previous Monitors Width"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:863
+msgid "Priority (0=max, 19=min)"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/src/main.cpp:68
+msgid "Project Webmaster"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/src/kooldock.cpp:3675
+msgid "Re&size"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/src/setupdialogprg.cpp:624
+msgid "Remove"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/src/setupdialogprg.cpp:425
+msgid "Remove Launcher"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:855
+msgid "Right"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:811
+msgid "Right click opens the icon menu."
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/appProp.cpp:152
+msgid "Run From Terminal"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/appProp.cpp:153
+msgid "Run as different User"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:774
+msgid "Screenshot of minimized windows"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:781
+msgid "Sends KoolDock before other windows, when it's collapsed."
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:831
+msgid "Separator color:"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:788
+msgid "Shadow color:"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:785
+msgid "Shadow offset:"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:764
+msgid "Show K Menu"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:875
+msgid "Show after"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:825
+msgid "Show borders"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/src/main.cpp:52
+msgid "Show configuration window on start"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:772
+msgid "Show only minimized"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:791
+msgid "Show text over icons"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:765
+msgid "Shows the KDE Menu in KoolDock's launcher."
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:762
+msgid "Similar windows grouping"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:795
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:801
+msgid "Sizes"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:796
+msgid "Small icon size:"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:821
+msgid "Solid Background:"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:828
+msgid "Solid background level of transparency (0 means fully transparent)"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:800
+msgid "Space between icons"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:869
+msgid "Speed"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:878
+msgid "Speed control"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:757
+msgid "Start KoolDock hidden; if the mouse is not over KoolDock it will hide"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:780
+msgid "Stay below windows when not used"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:849
+msgid "Sum of widths of monitors before the desired one."
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/src/setupdialogprg.cpp:622
+msgid "Swap with"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:829
+msgid "TaskBar Separator"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:786
+msgid "Text color:"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:784
+msgid "Text font:"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:773
+msgid "That makes kooldock shows only the minimized application icons, and hides the other."
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:830
+msgid "The separator is a line drawed between KoolDock's Launcher and Taskbar"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:799
+msgid "This box determines amout of zoomed icons."
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:877
+msgid "Time before showing KoolDock if mouse reaches bottom of the screen"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:857
+msgid "Top"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:770
+msgid "Use KBFX"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:775
+msgid "When a window is minimized a screenshot of the application will be use as an icon in KoolDock's Taskbar."
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:826
+msgid "When using a Solid Background you may tell KoolDock to draw its borders (rectangle)"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:847
+msgid "Width of monitor on which KoolDock should be shown."
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:761
+msgid "Window icon in KoolDock's taskbar will blink when something happens on the given application"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:840
+msgid "Window placement"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:841
+msgid "Window position on edge (%):"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:851
+msgid "Window position:"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:843
+msgid "Xinerama Support"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/src/kooldock.cpp:1425
+msgid "You have to enter a command to execute or a URL to be opened first."
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/src/apppropprg.cpp:57
+msgid "You must enter a command or path!"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/src/apppropprg.cpp:52
+msgid "You must enter a name!"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/src/apppropprg.cpp:62
+msgid "You must provide a username!"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/src/apppropprg.cpp:47
+msgid "You must select an icon!"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:870
+msgid "Zooming speed (ms)"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/src/main.cpp:70
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/src/main.cpp:70
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:752
+msgid "checkBox11"
+msgstr ""
+
+#: /home/bisiek/Desktop/k2/kooldock_1/debug/src/setupdialog.cpp:876
+msgid "msec"
+msgstr ""
+
diff --git a/po/nl.po b/po/nl.po
new file mode 100644
index 0000000..45d43f8
--- /dev/null
+++ b/po/nl.po
@@ -0,0 +1,617 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"POT-Creation-Date: \n"
+"PO-Revision-Date: 2007-05-07 12:00+0100\n"
+"Last-Translator: \n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Poedit-KeywordsList: I18N_NOOP;i18n;tr2i18n\n"
+"X-Poedit-Basepath: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock\n"
+"X-Poedit-SearchPath-0: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock\n"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/kooldock.cpp:1018
+msgid "&About"
+msgstr "&Over"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/appProp.cpp:152
+msgid "&Add"
+msgstr "&Nieuw"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:665
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/appProp.cpp:150
+msgid "&Cancel"
+msgstr "S&toppen"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/kooldock.cpp:1165
+msgid "&Close"
+msgstr "&Sluiten"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/kooldock.cpp:1101
+msgid "&Delete item"
+msgstr "&Verwijder item"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/kooldock.cpp:1100
+msgid "&Edit item"
+msgstr "Wijzig it&em"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/kooldock.cpp:1072
+msgid "&Go to Desktop"
+msgstr "&Naar Bureaublad"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/kooldock.cpp:1163
+msgid "&Move to Desktop"
+msgstr "&Verplaats naar Bureaublad"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/kooldock.cpp:1016
+msgid "&Reload configuration"
+msgstr "He&rladen configuratie"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/kooldock.cpp:1159
+msgid "&Restore"
+msgstr "He&rstel"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/kooldock.cpp:1073
+msgid "&Task List"
+msgstr "&Takenlijst"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/appProp.cpp:161
+msgid "<b>Command</b>"
+msgstr "<b>Opdracht</b>"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/appProp.cpp:162
+msgid "<b>Name</b>"
+msgstr "<b>Naam</b>"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/main.cpp:49
+msgid "<center><b>KoolDock</b></center>A Kool Dock for KDE<br><br>KoolDock is based upon the original work of Dang Viet Dung, Ksmoothdock 2.1<br><br>"
+msgstr "<center><b>KoolDock</b></center>een Kool Dock voor KDE<br><br>KoolDock is gebaseerd op het originele werk of Dang Viet Dung, Ksmoothdock 2.1<br><br>"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/kooldock.cpp:1598
+msgid ""
+"<qt>Could not run <b>%1</b>.\n"
+"Please correct the command or URL and try again.</qt>"
+msgstr "<qt> <b>%1</b> bleek niet uitvoerbaar. Corrigeer de opdracht en probeer het nog eens.</qt>"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/kooldock.cpp:1585
+msgid ""
+"<qt>The program name or command <b>%1</b>\n"
+"cannot be found. Please correct the command\n"
+"or URL and try again</qt>"
+msgstr "<qt>Programma blijkt niet te vinden. Corrigeer de opdracht en probeer het nog eens.</qt>"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:682
+msgid "Adds a clock into the Main Menu and a virtual desktop navigator."
+msgstr "Voegt een Klokje toe aan het hoofdmenu en een Bureaubladmanager."
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/appProp.cpp:154
+msgid "Advanced Options"
+msgstr "Extra opties"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:714
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/appProp.cpp:153
+msgid "Alt+A"
+msgstr "Alt+A"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/appProp.cpp:164
+msgid "Alt+B"
+msgstr "Alt+B"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:707
+msgid "Amount of big icons:"
+msgstr "Aantal grote ikonen"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:718
+msgid "Application List"
+msgstr "Toepassingenlijst"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:685
+msgid "Autohide"
+msgstr "Verberg automatisch"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:745
+msgid "Background"
+msgstr "Achtergrond"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:740
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:742
+msgid "Background Theme:"
+msgstr "Achtergrond-thema"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:730
+msgid "Background color:"
+msgstr "Achtergrondkleur"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:706
+msgid "Big icon size:"
+msgstr "Afm. groot ikoon"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:700
+msgid "Bold"
+msgstr "Vet"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:728
+msgid "Border color:"
+msgstr "Kaderkleur"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:758
+msgid "Bottom"
+msgstr "Beneden"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:702
+msgid "Cleaner text (bigger memory and CPU usage)"
+msgstr "Opschonen tekst"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:721
+msgid ""
+"Click \"Grab Window\" and click over a Window, then click \"Add\" to append it to\n"
+"the ignore list; you may also manually type or edit the window's name in the\n"
+"box below. To stop grabbing just click \"Grabbing...\", \"Ok\" or \"Cancel\"."
+msgstr "Klik \"Pak venster op\" en klik een venster aan, klik vervolgens \"Toevoegen\" om\n"
+"toe te voegen aan de lijst; je kunt ook handmatig een vensternaam toevoegen \n"
+"in het kader hieronder. Om te stoppen klik je \"Versleep...\", \"Ok\" of \"Stoppen\"."
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:715
+msgid "Click here to manually add an application to the Launcher"
+msgstr "Handmatig toevoegen van toepassing"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:720
+msgid "Click here to start grabbing windows names; click Add for each window you click on"
+msgstr "Klik hier om verslepen te starten."
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:771
+msgid "Clip desktop workspace"
+msgstr "Geen afdekking van KoolDock door Bureaublad"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:772
+msgid "Clip icon area (DCOP)"
+msgstr "Geen afdekking van Bureaublad door KoolDock (transparant)"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/kooldock.cpp:1120
+msgid "Current Desktop &%1"
+msgstr "Huidige Bureaublad &%1"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:751
+msgid "Desired Monitor Height"
+msgstr "Gewenste hoogte"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:750
+msgid "Desired Monitor Width"
+msgstr "Gewenste breedte"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:770
+msgid "Desktop clipping"
+msgstr "Niet-verborgen modus"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialogprg.cpp:465
+msgid "Do you want to remove "
+msgstr "Verwijderen van "
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:729
+msgid "Dock opacity:"
+msgstr "Transparantie"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:741
+msgid "Don't allow wider background than screen"
+msgstr "Achtergrond niet breder dan scherm"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/appProp.cpp:160
+msgid "Don't forget to chose an icon."
+msgstr "Kies een ikoontje."
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:689
+msgid "Don't scroll while mouse is on the same icon"
+msgstr "Niet verplaatsen zolang de muis op zelfde ikoon staat"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:712
+msgid "Drag an application to add it or"
+msgstr "Versleep een toepassing om toe te voegen."
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:716
+msgid "Drag and Drop here any executable or desktop file for which you want an entry in KoolDock's Launcher"
+msgstr "versleep en plaats hier de toepassingen die je in KoolDock wilt zien verschijnen."
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/kooldock.cpp:1015
+msgid "Edit &Preferences"
+msgstr "Wijzig voorke&uren"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/kooldock.cpp:1014
+msgid "Edit Quick Launch &Menu"
+msgstr "Wijzig Snelstart-&menu"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:677
+msgid "Enable System Tray (Experimental!)"
+msgstr "Activeer Systeemlade (experimenteel!)"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:675
+msgid "Enable Taskbar"
+msgstr "Activeer Taakbalk"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:670
+msgid "Enable Taskbar notification"
+msgstr "Activeer Taakbalk-kennisgeving"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:732
+msgid "Enable a solid background for KoolDock, it may be transparent (dock opacity) and of any color you choose"
+msgstr "Activeer een egale achtergrond voor KoolDock. Elke kleur of transparantie is ok."
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:731
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:743
+msgid "Enabled"
+msgstr "Actief"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:678
+msgid "Enables KoolDock System Tray Support; it can be used instead of kicker's systray applet (its VERY experimental; do not use it unless you intend to help me get this working :P )"
+msgstr "Activeert KoolDock's Systeembalk-ondersteuning; Je kunt dit gebruiken i.p.v. Kicker systray applets; (alleen debug-mode!)"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:676
+msgid "Enables KoolDock taskbar; it can be used instead of Kicker's taskbar"
+msgstr "Activeert KoolDock's Taakbalk; te gebruiken i.p.v. de Kicker taakbalk"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/apppropprg.cpp:47
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/apppropprg.cpp:52
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/apppropprg.cpp:57
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/apppropprg.cpp:62
+msgid "Error"
+msgstr "Fout"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:696
+msgid "Font size:"
+msgstr "Lettergrootte:"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:691
+msgid "General"
+msgstr "Algemeen"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:669
+msgid "General options:"
+msgstr "Algemene opties:"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:719
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialogprg.cpp:131
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialogprg.cpp:295
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialogprg.cpp:540
+msgid "Grab Window"
+msgstr "Pak venster op"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialogprg.cpp:534
+msgid "Grabbing..."
+msgstr "Oppakken..."
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:688
+msgid "Hide KoolDock after clicking on a Launcher or Window icon."
+msgstr "Verberg Kooldock na activeren van een toepassing"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:687
+msgid "Hide on click"
+msgstr "Verberg na aanklikken"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/appProp.cpp:165
+msgid "Icon"
+msgstr "Ikoon"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/main.cpp:74
+msgid "Icon and artwork"
+msgstr "Vormgeving"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:692
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:703
+msgid "Icon text"
+msgstr "Ikoon-tekst"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:749
+msgid "If you are using xinerama you should enable this option for proper behaviour."
+msgstr "Activeer dit bij gebruik van Xinerama voor correct gedrag."
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:726
+msgid "Ignore list"
+msgstr "'Links laten liggen'"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:701
+msgid "Italic"
+msgstr "Schuingedrukt"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/kooldock.cpp:1098
+msgid "Item menu"
+msgstr "Item-menu"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/appProp.cpp:157
+msgid "Keep terminal open after exit"
+msgstr "Terminal openhouden na uitvoer"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/main.cpp:56
+msgid "Kills all processes called Kooldock"
+msgstr "Stopt alle KoolDock-activiteiten"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:661
+msgid "KoolDock Configuration"
+msgstr "KoolDock configuratie"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/appProp.cpp:149
+msgid "Launcher Properties"
+msgstr "Launcher eigenschappen"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:755
+msgid "Left"
+msgstr "Links"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/kooldock.cpp:1154
+msgid "Ma&ximize"
+msgstr "Ma&ximaliseer"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/kooldock.cpp:1013
+msgid "Main Menu"
+msgstr "Hoofdmenu"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:713
+msgid "Manually &add Application"
+msgstr "H&andmatig toevoegen toepassing"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/kooldock.cpp:1151
+msgid "Mi&nimize"
+msgstr "Verklei&nen"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/appProp.cpp:158
+msgid "Minimal Options"
+msgstr "Basis-opties"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:710
+msgid "Move Left"
+msgstr "Linksaf..."
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:711
+msgid "Move Right"
+msgstr "Rechtsaf..."
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:699
+msgid "Moving the mouse over KoolDock's launcher or TaskBar will show the window/launcher name on the screen"
+msgstr "Als je de muis boven KoolDock beweegt wordt de naam van het bureaublad zichtbaar"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:681
+msgid "Navigation Menu"
+msgstr "Navigatiemenu"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/kooldock.cpp:1070
+msgid "Navigation: Desktop %1"
+msgstr "Navigatie: Bureaublad %1"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:673
+msgid "Only Manage Current Desktop"
+msgstr "Alleen beheersing actueel Bureaublad"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:674
+msgid "Only show in KoolDock's taskbar windows in the current desktop"
+msgstr "Alleen vensters in actueel Bureaublad tonen in de Taakbalk"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/apppropprg.cpp:117
+msgid "Open File"
+msgstr "Open bestand"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:773
+msgid "Other"
+msgstr "Overig"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:767
+msgid "Placement and speed"
+msgstr "Plaatsing en snelheid"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:752
+msgid "Previous Monitors Width"
+msgstr "Vorige breedte"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:769
+msgid "Priority (0=max, 19=min)"
+msgstr "Prioriteit (0=max, 19=min)"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/main.cpp:73
+msgid "Project Webmaster"
+msgstr "Project webmaster"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialogprg.cpp:663
+msgid "Remove"
+msgstr "Verwijder"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialogprg.cpp:466
+msgid "Remove Launcher"
+msgstr "Verwijder Launcher"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:756
+msgid "Right"
+msgstr "Rechts"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:717
+msgid "Right click opens the icon menu."
+msgstr "Rechts-klikken opent het ikonen-menu"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/appProp.cpp:155
+msgid "Run From Terminal"
+msgstr "Uitvoeren in Terminal"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/appProp.cpp:156
+msgid "Run as different User"
+msgstr "Uitvoeren als andere gebruiker"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:683
+msgid "Screenshot of minimized windows"
+msgstr "Schermafbeelding"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:739
+msgid "Separator color:"
+msgstr "Kleur scheidingsteken:"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:697
+msgid "Shadow color:"
+msgstr "Schaduwkleur:"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:694
+msgid "Shadow offset:"
+msgstr "Schaduw verschuiving:"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:679
+msgid "Show K Menu"
+msgstr "Toon K-Menu"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:764
+msgid "Show after"
+msgstr "Toon na"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:733
+msgid "Show borders"
+msgstr "Toon kaders"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/main.cpp:54
+msgid "Show configuration window on start"
+msgstr "Toon configuratie-menu bij opstarten"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:672
+msgid "Show only minimized"
+msgstr "Toon alleen geminimaliseerd"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:698
+msgid "Show text over icons"
+msgstr "Toon tekst boven ikonen"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:680
+msgid "Shows the KDE Menu in KoolDock's launcher."
+msgstr "KDE-Menu in KoolDock's Launcher"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:704
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:709
+msgid "Sizes"
+msgstr "Afmetingen"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:705
+msgid "Small icon size:"
+msgstr "Afm. klein ikoon"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:727
+msgid "Solid Background:"
+msgstr "Egale achtergrond:"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:736
+msgid "Solid background level of transparency (0 means fully transparent)"
+msgstr "Mate van transparantie (0=volledig)"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:708
+msgid "Space between icons"
+msgstr "Ruimte tussen ikonen"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:759
+msgid "Speed"
+msgstr "Snelheid"
+
+#: probeersel:
+msgid "Visual"
+msgstr "Vormgeving"
+
+#: idem:
+msgid "Visual options"
+msgstr "Vormgeving"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:684
+msgid "Start hidden"
+msgstr "Start verborgen"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:686
+msgid "Start KoolDock hidden; if the mouse is not over KoolDock it will hide"
+msgstr "Start KoolDock verborgen"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:690
+msgid "Stay below windows when not used"
+msgstr "Blijf verborgen indien niet gebruikt"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialogprg.cpp:662
+msgid "Swap with"
+msgstr "Verwissel met"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:737
+msgid "TaskBar Separator"
+msgstr "Taakbalk scheidingsteken"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:695
+msgid "Text color:"
+msgstr "Tekstkleur:"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:693
+msgid "Text font:"
+msgstr "Lettertype"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:738
+msgid "The separator is a line drawed between KoolDock's Launcher and Taskbar"
+msgstr "Scheidingsteken is een lijn tussen KoolDock en de Taakbalk"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:766
+msgid "Time before showing KoolDock if mouse reaches bottom of the screen"
+msgstr "Vertraging voordat KoolDock zichtbaar wordt."
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:757
+msgid "Top"
+msgstr "Boven"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:744
+msgid "Use set of images instead of a Solid Background"
+msgstr "Gebruik plaatje i.p.v. egale achtergrond"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:684
+msgid "When a window is minimized a screenshot of the application will be use as an icon in KoolDock's Taakbalk."
+msgstr "Bij verkleind venster gebruikt KoolDock een schermafbeelding als ikoon in de KoolDock Taakbalk."
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:734
+msgid "When using a Solid Background you may tell KoolDock to draw its borders (rectangle)"
+msgstr "Bij gebruik van een egale achtergrond kun je KoolDock kaders zichtbaar maken."
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:671
+msgid "Window icon in KoolDock's taakbalk will blink when something happens on the given application"
+msgstr "Venster-ikoon in KoolDock-taakbalk knippert als er iets gebeurt in die toepassing."
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:746
+msgid "Window placement"
+msgstr "Vensterplaatsing"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:747
+msgid "Window position on edge (%):"
+msgstr "Vensterpositie langs rand (%):"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:753
+msgid "Window position:"
+msgstr "Vensterpositie:"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/kooldock.cpp:1560
+msgid "You have to enter a command to execute or a URL to be opened first."
+msgstr "Je moet wel eerst een opdracht opgeven."
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/apppropprg.cpp:57
+msgid "You must enter a command or path!"
+msgstr "Graag een opdracht of pad opvoeren..."
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/apppropprg.cpp:52
+msgid "You must enter a name!"
+msgstr "Graag een naam opvoeren..."
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/apppropprg.cpp:62
+msgid "You must provide a username!"
+msgstr "Graag een gebruikersnaam opvoeren."
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/apppropprg.cpp:47
+msgid "You must select an icon!"
+msgstr "Wel een ikoontje selecteren..."
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/setupdialog.cpp:760
+msgid "Zooming speed (ms)"
+msgstr "Flits-snelheid (ms)"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/main.cpp:75
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr "_: EMAIL VERTALERS: \n"
+"pasinon@versatel.nl"
+
+#: /home/bisiek/Desktop/k2/kooldock_1/kooldock/kooldock/main.cpp:75
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr "_: VERTALERS: \n"
+"Peter A. Sinon"
diff --git a/po/pl.po b/po/pl.po
new file mode 100644
index 0000000..b24bd35
--- /dev/null
+++ b/po/pl.po
@@ -0,0 +1,544 @@
+# translation of pl.po to Polish
+# translation of kooldock.pot to Polish
+# This file is distributed under the same license as the PACKAGE package.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER.
+# Piotr Rybaltowski <dekoder@z.pl>, 2004.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: pl\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2004-05-26 04:01-0400\n"
+"PO-Revision-Date: 2005-08-27 09:37+0200\n"
+"Last-Translator: Piotr Maliński <riklaunim@gmail.com>\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.3\n"
+"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+
+#: kooldock.moc.cpp:34 kooldock.moc.cpp:42 main.cpp:59
+msgid "KoolDock"
+msgstr "KoolDock"
+
+#: _translatorinfo.cpp:1
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr "Polish: Piotr 'dekoder' Rybałtowski"
+
+#: _translatorinfo.cpp:3
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr "dekoder@z.pl"
+
+#: main.cpp:47
+msgid ""
+"<center><b>KoolDock</b></center>A Kool Dock for KDE<br><br>KoolDock is based "
+"upon the original work of Dang Viet Dung, Ksmoothdock 2.1<br><br>"
+msgstr "<center><b>KoolDock</b></center>Kool Dock dla KDE<br><br>KoolDock jest wzorowany na programie Ksmoothdock 2.1 autorstwa Dang Viet Dung'a<br><br>"
+
+#: main.cpp:65
+msgid "Project Webmaster"
+msgstr "Administrator projektu"
+
+#: main.cpp:66
+msgid "Icon and artwork"
+msgstr "Ikony i grafika"
+
+#: apppropprg.cpp:47
+msgid "You must select an icon!"
+msgstr "Musisz wybrać ikonę!"
+
+#: apppropprg.cpp:52
+msgid "You must enter a name!"
+msgstr "Musisz podać tytuł!"
+
+#: apppropprg.cpp:57
+msgid "You must enter a command or path!"
+msgstr "Musisz podać polecenie lub ścieżkę!"
+
+#: apppropprg.cpp:62
+msgid "You must provide a username!"
+msgstr "Musisz podać nazwę użytkownika!"
+
+#: apppropprg.cpp:103 setupdialogprg.cpp:379 setupdialogprg.cpp:385
+#: setupdialogprg.cpp:391
+msgid "Open File"
+msgstr "Otwórz plik"
+
+#: xosd.moc.cpp:34 xosd.moc.cpp:42
+msgid "xosd"
+msgstr "xosd"
+
+#: setupdialogprg.cpp:134 setupdialogprg.cpp:258 setupdialogprg.cpp:496
+#: setupdialog.cpp:456
+msgid "Grab Window"
+msgstr "Chwyć okno"
+
+#: setupdialogprg.cpp:445
+msgid "Do you want to remove "
+msgstr "Czy chcesz usunąć "
+
+#: setupdialogprg.cpp:446
+msgid "Remove Launcher"
+msgstr "Usuń Panel uruchamiania"
+
+#: setupdialogprg.cpp:490
+msgid "Grabbing..."
+msgstr "Chwytanie..."
+
+#: kooldock.cpp:632
+msgid "Main Menu"
+msgstr "Główne Menu"
+
+#: kooldock.cpp:633
+msgid "Edit Quick Launch &Menu"
+msgstr "Edytuj &Menu Szybkiego Uruchamiania"
+
+#: kooldock.cpp:634
+msgid "Edit &Preferences"
+msgstr "Edytuj Ustawienia"
+
+#: kooldock.cpp:635
+msgid "&Reload configuration"
+msgstr "&Przeładuj konfigurację"
+
+#: kooldock.cpp:649 kooldock.cpp:718
+msgid "Desktop &%1"
+msgstr "Pulpit &%1"
+
+#: kooldock.cpp:657
+msgid "Navigation: Desktop %1"
+msgstr "Nawigacja: Pulpit %1"
+
+#: kooldock.cpp:659
+msgid "&Go to Desktop"
+msgstr "&Idź do pulpitu"
+
+#: kooldock.cpp:684
+msgid "Item menu"
+msgstr "Menu elementów"
+
+#: kooldock.cpp:686
+msgid "&Edit item"
+msgstr "&Edytuj element"
+
+#: kooldock.cpp:687
+msgid "&Delete item"
+msgstr "&Usuń element"
+
+#: kooldock.cpp:706
+msgid "Current Desktop &%1"
+msgstr "Aktualny Pulpit &%1"
+
+#: kooldock.cpp:737
+msgid "Mi&nimize"
+msgstr "Mi&nimalizuj"
+
+#: kooldock.cpp:740
+msgid "Ma&ximize"
+msgstr "Ma&ksymalizuj"
+
+#: kooldock.cpp:745
+msgid "&Restore"
+msgstr "&Przywróć"
+
+#: kooldock.cpp:749
+msgid "&Move to Desktop"
+msgstr "P&rzenieś na Pulpit"
+
+#: kooldock.cpp:1182
+msgid "You have to enter a command to execute or a URL to be opened first."
+msgstr "Musisz wcześniej podać polecenie do wykonania lub URL do otwarcia."
+
+#: kooldock.cpp:1207
+msgid ""
+"<qt>The program name or command <b>%1</b>\n"
+"cannot be found. Please correct the command\n"
+"or URL and try again</qt>"
+msgstr ""
+"<qt>Nazwa programu lub polecenie <b>%1</b>\n"
+"nie zostało odnalezione. Popraw polecenie lub URL\n"
+"i spróbuj ponownie</qt>"
+
+#: kooldock.cpp:1220
+msgid ""
+"<qt>Could not run <b>%1</b>.\n"
+"Please correct the command or URL and try again.</qt>"
+msgstr ""
+"<qt>Nie udało się uruchomić <b>%1</b>.\n"
+"Popraw polecenie lub URL i spróbuj ponownie.</qt>"
+
+#: appProp.cpp:148
+msgid "Launcher Properties"
+msgstr "Ustawienia Panelu uruchamiania"
+
+#: appProp.cpp:151
+msgid "&Add"
+msgstr "&Dodaj"
+
+#: appProp.cpp:152 setupdialog.cpp:452
+msgid "Alt+A"
+msgstr "Alt+A"
+
+#: appProp.cpp:153
+msgid "Advanced Options"
+msgstr "Zaawansowane Opcje"
+
+#: appProp.cpp:154
+msgid "Run From Terminal"
+msgstr "Uruchom z Terminala"
+
+#: appProp.cpp:155
+msgid "Run as different User"
+msgstr "Uruchom jako inny użytkownik"
+
+#: appProp.cpp:156
+msgid "Keep terminal open after exit"
+msgstr "Pozostaw terminal uruchomiony po wyjściu"
+
+#: appProp.cpp:157
+msgid "Minimal Options"
+msgstr "Minimalne Opcje"
+
+#: appProp.cpp:158
+msgid "checkBox1"
+msgstr "checkBox1"
+
+#: appProp.cpp:159
+msgid "Don't forget to chose an icon."
+msgstr "Nie zapomnij wybrać ikony."
+
+#: appProp.cpp:160
+msgid "<b>Command</b>"
+msgstr "<b>Polecenie</b>"
+
+#: appProp.cpp:161
+msgid "<b>Name</b>"
+msgstr "<b>Tytuł</b>"
+
+#: appProp.cpp:162
+msgid "&Browse"
+msgstr "&Przeglądaj"
+
+#: appProp.cpp:163
+msgid "Alt+B"
+msgstr "Alt+B"
+
+#: appProp.cpp:164
+msgid "Icon"
+msgstr "Ikona"
+
+#: setupdialog.cpp:410
+msgid "KoolDock Configuration"
+msgstr "Konfiguracja KoolDock"
+
+#: setupdialog.cpp:413
+msgid "checkBox11"
+msgstr "checkBox11"
+
+#: setupdialog.cpp:414
+msgid "Visual options:"
+msgstr "Opcje widoku:"
+
+#: setupdialog.cpp:415
+msgid "Text font:"
+msgstr "Czcionka:"
+
+#: setupdialog.cpp:416
+msgid "Text color:"
+msgstr "Kolor tekstu:"
+
+#: setupdialog.cpp:417
+msgid "Big icon size:"
+msgstr "Rozmiar dużych ikon:"
+
+#: setupdialog.cpp:418
+msgid "Shadow offset:"
+msgstr "Wysunięcie cienia:"
+
+#: setupdialog.cpp:419
+msgid "Font size:"
+msgstr "Rozmiar czcionki:"
+
+#: setupdialog.cpp:420
+msgid "Small icon size:"
+msgstr "Rozmiar małej ikony:"
+
+#: setupdialog.cpp:421
+msgid "Start hidden"
+msgstr "Uruchom ukryty"
+
+#: setupdialog.cpp:422
+msgid "Start KoolDock hidden; if the mouse is not over KoolDock it will hide"
+msgstr "Uruchom KoolDock ukryty; jeżli mysz nie jest nad nim zostanie ukryty"
+
+#: setupdialog.cpp:423
+msgid "Hide on click"
+msgstr "Ukryj przy kliknięciu"
+
+#: setupdialog.cpp:424
+msgid "Hide KoolDock after clicking on a Launcher or Window icon."
+msgstr "Ukrywaj KoolDock przy kliknięciu ikony Launcher'a lub Okna."
+
+#: setupdialog.cpp:425
+msgid "msec"
+msgstr "msek"
+
+#: setupdialog.cpp:426
+msgid "Time before showing KoolDock if mouse reaches bottom of the screen"
+msgstr "Czas do pokazania KooDock jeżeli kursor jest na dole ekranu"
+
+#: setupdialog.cpp:427
+msgid "Show text over icons"
+msgstr "PokaĹź tekst nad ikonami"
+
+#: setupdialog.cpp:428
+msgid ""
+"Moving the mouse over KoolDock's launcher or TaskBar will show the window/"
+"launcher name on the screen"
+msgstr "Poruszanie kursora nad panelem uruchamiającym lub paskiem zadań spowoduje wyświetlenie nazwy okna/ikony na ekranie"
+
+#: setupdialog.cpp:430
+msgid "Bold"
+msgstr "Pogrubiony"
+
+#: setupdialog.cpp:431
+msgid "Show after"
+msgstr "Pokaż po"
+
+#: setupdialog.cpp:432
+msgid "Show K Menu"
+msgstr "Pokaż Menu K"
+
+#: setupdialog.cpp:433
+msgid "Shows the KDE Menu in KoolDock's launcher."
+msgstr "Pokazuje Menu KDE w panelu uruchamiającym programu KoolDock."
+
+#: setupdialog.cpp:434
+msgid "Navigation Menu"
+msgstr "Menu nawigacyjne"
+
+#: setupdialog.cpp:435
+msgid "Adds a clock into the Main Menu and a virtual desktop navigator."
+msgstr "Dodaje zegar do głównego menu oraz nawigatora wirtualnego pulpitu."
+
+#: setupdialog.cpp:436
+msgid "Xinerama Support"
+msgstr "Obsługa Xinerama"
+
+#: setupdialog.cpp:437
+msgid "If you are using xinerama you should enable this option for proper behaviour."
+msgstr "Jeśli korzystasz z xineramy powinieneś uruchomić tę opcję."
+
+#: setupdialog.cpp:438
+msgid "Screenshot of minimized windows"
+msgstr "Podgląd zminimalizowanych okien"
+
+#: setupdialog.cpp:439
+msgid ""
+"When a window is minimized a screenshot of the application will be use as an "
+"icon in KoolDock's Taskbar."
+msgstr "Gdy okno jest zminimalizowane zamiast ikony na pasku zadań pokaże się podgląd programu."
+
+#: setupdialog.cpp:440
+msgid "Enable Taskbar notification"
+msgstr "Włącz powiadamianie paska zadań"
+
+#: setupdialog.cpp:441
+msgid ""
+"Window icon in KoolDock's taskbar will blink when something happens on the "
+"given application"
+msgstr "Ikona okna w pasku zadań zacznie migać gdy coś się wydarzy w danej aplikacji"
+
+#: setupdialog.cpp:442
+msgid "Only Manage Current Desktop"
+msgstr "Zarządzaj tylko aktualnym pulpitem"
+
+#: setupdialog.cpp:443
+msgid "Only show in KoolDock's taskbar windows in the current desktop"
+msgstr "Pokazuj tylko w oknach paska zadań aktualnego pulpitu"
+
+#: setupdialog.cpp:444
+msgid "Enable Taskbar"
+msgstr "Włącz pasek zadań"
+
+#: setupdialog.cpp:445
+msgid "Enables KoolDock taskbar; it can be used instead of Kicker's taskbar"
+msgstr "Uruchom pasek zadań KoolDock; może on zastąpić pasek zadań Kicker'a"
+
+#: setupdialog.cpp:446
+msgid "Enable System Tray (Experimental!)"
+msgstr "Uruchom tackę systemową (Experymentalne!)"
+
+#: setupdialog.cpp:447
+msgid ""
+"Enables KoolDock System Tray Support; it can be used instead of kicker's "
+"systray applet (its VERY experimental; do not use it unless you intend to "
+"help me get this working :P )"
+msgstr "Uruchamia tackę systemową w oknie KoolDock; może ona zastąpić aplet tacki systemowej Kicker'a (jest jednak w fazie testów; nie należy używać chyba, że chcesz pomóc ją usprawnić)"
+
+#: setupdialog.cpp:448
+msgid "Visual"
+msgstr "Widok"
+
+#: setupdialog.cpp:449
+msgid "Drag an application to add it or"
+msgstr "Przeciągnij aplikację, aby ją dodać lub"
+
+#: setupdialog.cpp:450
+msgid ""
+"To remove an application place the mouse over the icon and press the left "
+"button."
+msgstr "Aby usunąć aplikację przenień kursor nad ikonę i naciśnij lewy przycisk myszy."
+
+#: setupdialog.cpp:451
+msgid "Manually &add Application"
+msgstr "Ręcznie &dodaj Aplikację"
+
+#: setupdialog.cpp:453
+msgid "Click here to manually add an application to the Launcher"
+msgstr "Kliknij tutaj, aby ręcznie dodać aplikację do Panelu uruchamiania"
+
+#: setupdialog.cpp:454
+msgid ""
+"Drag and Drop here any executable or desktop file for which you want an "
+"entry in KoolDock's Launcher"
+msgstr "Przeciągnij i upuść tutaj dowolny plik uruchomieniowy lub plik pulpitu (.desktop), aby go dodać do panelu KoolDock"
+
+#: setupdialog.cpp:455
+msgid "Application List"
+msgstr "Lista aplikacji"
+
+#: setupdialog.cpp:457
+msgid ""
+"Click here to start grabbing windows names; click Add for each window you "
+"click on"
+msgstr "Kliknij tu, aby przeciągnąć nazwy okien; kliknij Dodaj dla każdego okna, na które klikniesz"
+
+#: setupdialog.cpp:458
+msgid ""
+"Click \"Grab Window\" and click over a Window, then click \"Add\" to append "
+"it to\n"
+"the ignore list; you may also manually type or edit the window's name in "
+"the\n"
+"box below. To stop grabbing just click \"Grabbing...\", \"Ok\" or \"Cancel\"."
+msgstr ""
+"Kliknij \"Przeciągnij Okno\" i kliknij ponad Oknem, nastąpnie kliknij \"Dodaj\", aby dopisać je\n"
+"do listy ignorowanych; możesz także ręcznie wpisać lub edytowaę nazwy okien\n"
+"w polu poniĹźej. Aby przerwać przeciągnie kliknij \"Przeciągnie...'\",\"OK\" lub \"Anuluj\"."
+
+#: setupdialog.cpp:463
+msgid "Ignore list"
+msgstr "Lista ignorowanych"
+
+#: setupdialog.cpp:464
+msgid "Background image:"
+msgstr "Obrazek tła:"
+
+#: setupdialog.cpp:465
+msgid "Right side:"
+msgstr "Prawa strona:"
+
+#: setupdialog.cpp:466
+msgid "Left side:"
+msgstr "Lewa strona:"
+
+#: setupdialog.cpp:467
+msgid "Center:"
+msgstr "Środek:"
+
+#: setupdialog.cpp:468 setupdialog.cpp:469 setupdialog.cpp:470
+msgid "Select"
+msgstr "Wybór"
+
+#: setupdialog.cpp:471 setupdialog.cpp:480
+msgid "Enabled"
+msgstr "Włączony"
+
+#: setupdialog.cpp:472
+msgid "Use set of images instead of a Solid Background"
+msgstr "Użyj zestawu obrazków zamiast jednolitego tła"
+
+#: setupdialog.cpp:473
+msgid "TaskBar Separator"
+msgstr "Separator Paska Zadań"
+
+#: setupdialog.cpp:474
+msgid "Separator color:"
+msgstr "Kolor separatora:"
+
+#: setupdialog.cpp:475
+msgid "The separator is a line drawed between KoolDock's Launcher and Taskbar"
+msgstr "Separator to linia pomiędzy Panelem uruchamiania a Paskiem zadań"
+
+#: setupdialog.cpp:476
+msgid "Solid Background:"
+msgstr "Jednolite tło:"
+
+#: setupdialog.cpp:477
+msgid "Border color:"
+msgstr "Kolor ramki:"
+
+#: setupdialog.cpp:478
+msgid "Dock opacity:"
+msgstr "Nieprzezroczystość dokowania:"
+
+#: setupdialog.cpp:479
+msgid "Background color:"
+msgstr "Kolor tła:"
+
+#: setupdialog.cpp:481
+msgid ""
+"Enable a solid background for KoolDock, it may be transparent (dock opacity) "
+"and of any color you choose"
+msgstr "Włącz jednolite tło dla KoolDock, może być przezroczyste i dowolnego koloru"
+
+#: setupdialog.cpp:482
+msgid "Show borders"
+msgstr "Pokaż ramki"
+
+#: setupdialog.cpp:483
+msgid ""
+"When using a Solid Background you may tell KoolDock to draw its borders "
+"(rectangle)"
+msgstr "Gdy używasz jednolitego tła możesz włączyć ramki (prostokątne)"
+
+#: setupdialog.cpp:484
+msgid "Solid background level of transparency (0 means fully transparent)"
+msgstr "Poziom przezroczystości jednolitego tła (0 oznacza pełną przezroczystość)"
+
+#: setupdialog.cpp:485
+msgid "Background"
+msgstr "Tło"
+
+#: setupdialog.cpp:521
+msgid "Speed"
+msgstr "Szybkość"
+
+#: setupdialog.cpp:522
+msgid "Priority (0=max, 19=min)"
+msgstr "Prorytet (0=max, 19=min)"
+
+#: setupdialog.cpp:523
+msgid "Window placement"
+msgstr "Pozycja okna"
+
+#: setupdialog.cpp:524
+msgid "Window position on edge (%):"
+msgstr "Pozycja okna na krawędzi (%):"
+
+#: setupdialog.cpp:525
+msgid "Placement and speed"
+msgstr "Pozycja i szybkość"
+
+#: setupdialog.cpp:505
+msgid "Move Left"
+msgstr "Przenieś w lewo"
+
+#: setupdialog.cpp:506
+msgid "Move Right"
+msgstr "Przenieś w prawo"
diff --git a/po/sv.po b/po/sv.po
new file mode 100644
index 0000000..76f8de4
--- /dev/null
+++ b/po/sv.po
@@ -0,0 +1,517 @@
+# translation of sv.po to Swedish
+# translation of kooldock.po to Swedish
+# This file is distributed under the same license as the PACKAGE package.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER.
+# William Ekholm <zyk@linuxmail.org>, 2004.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: sv\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2004-06-05 04:05-0400\n"
+"PO-Revision-Date: 2004-07-18 22:28+0200\n"
+"Last-Translator: William Ekholm <zyk@linuxmail.org>\n"
+"Language-Team: Swedish\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"
+
+#: kooldock.moc.cpp:34 kooldock.moc.cpp:42 main.cpp:59
+msgid "KoolDock"
+msgstr "KoolDock"
+
+#: _translatorinfo.cpp:1 main.cpp:67
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr "William Ekholm"
+
+#: _translatorinfo.cpp:3 main.cpp:67
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr "zyk@linuxmail.org"
+
+#: main.cpp:47
+msgid ""
+"<center><b>KoolDock</b></center>A Kool Dock for KDE<br><br>KoolDock is based "
+"upon the original work of Dang Viet Dung, Ksmoothdock 2.1<br><br>"
+msgstr ""
+"<center><b>KoolDock</b></center>En \"Kool\" Docka för KDE<br><br>KoolDock är baserat "
+"på Ksmoothdock 2.1, gjort av Dang Viet Dung, <br><br>"
+
+#: main.cpp:65
+msgid "Project Webmaster"
+msgstr "Webmaster för projektet"
+
+#: main.cpp:66
+msgid "Icon and artwork"
+msgstr "Ikon och grafk"
+
+#: apppropprg.cpp:47
+msgid "You must select an icon!"
+msgstr "Du måste välja en ikon!"
+
+#: apppropprg.cpp:52
+msgid "You must enter a name!"
+msgstr "Du måste skriva ett namn!"
+
+#: apppropprg.cpp:57
+msgid "You must enter a command or path!"
+msgstr "Du måste skriva ett kommando eller en sökväg!"
+
+#: apppropprg.cpp:62
+msgid "You must provide a username!"
+msgstr "Du måste ange ett användarnamn!"
+
+#: apppropprg.cpp:117
+msgid "Open File"
+msgstr "Öppna fil"
+
+#: xosd.moc.cpp:34 xosd.moc.cpp:42
+msgid "xosd"
+msgstr "xosd"
+
+#: setupdialogprg.cpp:123 setupdialogprg.cpp:261 setupdialogprg.cpp:503
+#: setupdialog.cpp:446
+msgid "Grab Window"
+msgstr "Fånga fönster"
+
+#: setupdialogprg.cpp:428
+msgid "Do you want to remove "
+msgstr "Vill du ta bort "
+
+#: setupdialogprg.cpp:429
+msgid "Remove Launcher"
+msgstr "Ta bort startare"
+
+#: setupdialogprg.cpp:497
+msgid "Grabbing..."
+msgstr "Fångar..."
+
+#: setupdialogprg.cpp:607
+msgid "Swap with"
+msgstr "Byt med"
+
+#: kooldock.cpp:634
+msgid "Main Menu"
+msgstr "Huvudmeny"
+
+#: kooldock.cpp:635
+msgid "Edit Quick Launch &Menu"
+msgstr "Ändra snabbstartsmenyn"
+
+#: kooldock.cpp:636
+msgid "Edit &Preferences"
+msgstr "Inställningar"
+
+#: kooldock.cpp:637
+msgid "&Reload configuration"
+msgstr "Ladda om konfiguration"
+
+#: kooldock.cpp:651 kooldock.cpp:753
+msgid "Desktop &%1"
+msgstr "Skrivbord &%1"
+
+#: kooldock.cpp:668
+msgid "Desktop %1"
+msgstr "Skrivbord %1"
+
+#: kooldock.cpp:691
+msgid "Navigation: Desktop %1"
+msgstr "Navigering: Skrivbord %1"
+
+#: kooldock.cpp:693
+msgid "&Go to Desktop"
+msgstr "&Gå till skrivbord"
+
+#: kooldock.cpp:694
+msgid "&Task List"
+msgstr "Aktivitetsfält"
+
+#: kooldock.cpp:719
+msgid "Item menu"
+msgstr "Objektmeny"
+
+#: kooldock.cpp:721
+msgid "&Edit item"
+msgstr "Ändra objekt"
+
+#: kooldock.cpp:722
+msgid "&Delete item"
+msgstr "Ta bort objekt"
+
+#: kooldock.cpp:741
+msgid "Current Desktop &%1"
+msgstr "Nuvarande skrivbord &%1"
+
+#: kooldock.cpp:772
+msgid "Mi&nimize"
+msgstr "Minimera"
+
+#: kooldock.cpp:775
+msgid "Ma&ximize"
+msgstr "Maximera"
+
+#: kooldock.cpp:780
+msgid "&Restore"
+msgstr "Återställ"
+
+#: kooldock.cpp:784
+msgid "&Move to Desktop"
+msgstr "Flytta till skrivbord"
+
+#: kooldock.cpp:1218
+msgid "You have to enter a command to execute or a URL to be opened first."
+msgstr "Du måste skriva in ett kommando att köra eller en sökväg att öpnna först."
+
+#: kooldock.cpp:1243
+msgid ""
+"<qt>The program name or command <b>%1</b>\n"
+"cannot be found. Please correct the command\n"
+"or URL and try again</qt>"
+msgstr ""
+"<qt>Programmet eller kommandot <b>%1</b>\n"
+"kunde inte hittas. Ändra kommandot\neller sökvägen och försök igen</qt>"
+
+#: kooldock.cpp:1256
+msgid ""
+"<qt>Could not run <b>%1</b>.\n"
+"Please correct the command or URL and try again.</qt>"
+msgstr ""
+"<qt>Kunde inte köra <b>%1</b>.\n"
+"Ändra kommandot eller sökvägen och försök igen.</qt>"
+
+#: appProp.cpp:148
+msgid "Launcher Properties"
+msgstr "Startare egenskaper"
+
+#: appProp.cpp:151
+msgid "&Add"
+msgstr "Lägg till"
+
+#: appProp.cpp:152 setupdialog.cpp:442
+msgid "Alt+A"
+msgstr "Alt+A"
+
+#: appProp.cpp:153
+msgid "Advanced Options"
+msgstr "Avancerade inställningar"
+
+#: appProp.cpp:154
+msgid "Run From Terminal"
+msgstr "Kör från terminal"
+
+#: appProp.cpp:155
+msgid "Run as different User"
+msgstr "Kör som en annan användare"
+
+#: appProp.cpp:156
+msgid "Keep terminal open after exit"
+msgstr "Låt terminalfönstret vara öppet efter programmet har avslutats"
+
+#: appProp.cpp:157
+msgid "Minimal Options"
+msgstr "Minimala inställningar"
+
+#: appProp.cpp:158
+msgid "checkBox1"
+msgstr "checkBox1"
+
+#: appProp.cpp:159
+msgid "Don't forget to chose an icon."
+msgstr "Glöm inte att välja en ikon"
+
+#: appProp.cpp:160
+msgid "<b>Command</b>"
+msgstr "<b>Kommando</b>"
+
+#: appProp.cpp:161
+msgid "<b>Name</b>"
+msgstr "<b>Namn</b>"
+
+#: appProp.cpp:162
+msgid "&Browse"
+msgstr "&Bläddra"
+
+#: appProp.cpp:163
+msgid "Alt+B"
+msgstr "Alt+B"
+
+#: appProp.cpp:164
+msgid "Icon"
+msgstr "Ikon"
+
+#: setupdialog.cpp:398
+msgid "KoolDock Configuration"
+msgstr "KoolDock Konfiguration"
+
+#: setupdialog.cpp:401
+msgid "checkBox11"
+msgstr "checkBox11"
+
+#: setupdialog.cpp:402
+msgid "Visual options:"
+msgstr "Synliga inställningar:"
+
+#: setupdialog.cpp:403
+msgid "Start hidden"
+msgstr "Starta gömd"
+
+#: setupdialog.cpp:404
+msgid "Start KoolDock hidden; if the mouse is not over KoolDock it will hide"
+msgstr "Starta Kooldock gömt; Om musen inte är över KoolDock kommer KoolDock att gömma sig"
+
+#: setupdialog.cpp:405
+msgid "Hide on click"
+msgstr "Göm på klick"
+
+#: setupdialog.cpp:406
+msgid "Hide KoolDock after clicking on a Launcher or Window icon."
+msgstr "Göm KoolDock efter ha klickat på en Startare eller fönsterikon"
+
+#: setupdialog.cpp:407
+msgid "msec"
+msgstr "msek"
+
+#: setupdialog.cpp:408
+msgid "Time before showing KoolDock if mouse reaches bottom of the screen"
+msgstr "Tid före KoolDock visas när musen rör botten av skärmen"
+
+#: setupdialog.cpp:409
+msgid "Show text over icons"
+msgstr "Visa text över ikoner"
+
+#: setupdialog.cpp:410
+msgid ""
+"Moving the mouse over KoolDock's launcher or TaskBar will show the window/"
+"launcher name on the screen"
+msgstr "Genom att flytta musen över KoolDock's startare/aktivitetsfält för att visa fönster/startare namnet på skärmen"
+
+#: setupdialog.cpp:411
+msgid "Bold"
+msgstr "Fet"
+
+#: setupdialog.cpp:412
+msgid "Show after"
+msgstr "Visa efter"
+
+#: setupdialog.cpp:413
+msgid "Big icon size:"
+msgstr "Stor ikon storlek:"
+
+#: setupdialog.cpp:414
+msgid "Enable Taskbar notification"
+msgstr "Aktivera fönsternotifikation"
+
+#: setupdialog.cpp:415
+msgid ""
+"Window icon in KoolDock's taskbar will blink when something happens on the "
+"given application"
+msgstr "Fönsterikoner i KoolDocks aktivitetsfält kommer att blinka när något händer i det givna programmet"
+
+#: setupdialog.cpp:416
+msgid "Small icon size:"
+msgstr "Liten ikon storlek:"
+
+#: setupdialog.cpp:417
+msgid "Shadow offset:"
+msgstr "Skuggoffset:"
+
+#: setupdialog.cpp:418
+msgid "Only Manage Current Desktop"
+msgstr "Sköt endast om fönster på nuvarande skrivbord"
+
+#: setupdialog.cpp:419
+msgid "Only show in KoolDock's taskbar windows in the current desktop"
+msgstr "Visa endast i KoolDock's aktivitetsfält fönster inom det nuvarande skrivbordet"
+
+#: setupdialog.cpp:420
+msgid "Enable Taskbar"
+msgstr "Aktivera aktivitetsfält"
+
+#: setupdialog.cpp:421
+msgid "Enables KoolDock taskbar; it can be used instead of Kicker's taskbar"
+msgstr "Aktiverar KoolDocks aktivitetsfält; Det kan användas istället för Kickern's aktivitetsfält"
+
+#: setupdialog.cpp:422
+msgid "Screenshot of minimized windows"
+msgstr "Skärmdump över minimerade fönster"
+
+#: setupdialog.cpp:423
+msgid ""
+"When a window is minimized a screenshot of the application will be use as an "
+"icon in KoolDock's Taskbar."
+msgstr "När ett fönster är minimerat visas en skärmdump över programmet som ikon i KoolDock's aktivitetsfält."
+
+#: setupdialog.cpp:425
+msgid "Shadow color:"
+msgstr "Skuggfärg:"
+
+#: setupdialog.cpp:426
+msgid "Text font:"
+msgstr "Typsnitt:"
+
+#: setupdialog.cpp:427
+msgid "Text color:"
+msgstr "Text färg:"
+
+#: setupdialog.cpp:428
+msgid "Font size:"
+msgstr "Typsnittsstorlek:"
+
+#: setupdialog.cpp:429
+msgid "Show K Menu"
+msgstr "Visa K meny"
+
+#: setupdialog.cpp:430
+msgid "Shows the KDE Menu in KoolDock's launcher."
+msgstr "Visar KDE menyn i KoolDock's startarmeny"
+
+#: setupdialog.cpp:431
+msgid "Navigation Menu"
+msgstr "Navigeringsmeny"
+
+#: setupdialog.cpp:432
+msgid "Adds a clock into the Main Menu and a virtual desktop navigator."
+msgstr "Lägger till en klocka i Huvudmenyn och en virtuell skrivbordnavigerare"
+
+#: setupdialog.cpp:433
+msgid "Enable System Tray (Experimental!)"
+msgstr "Aktivera Systemfält (Ostabil!)"
+
+#: setupdialog.cpp:434
+msgid ""
+"Enables KoolDock System Tray Support; it can be used instead of kicker's "
+"systray applet (its VERY experimental; do not use it unless you intend to "
+"help me get this working :P )"
+msgstr "Aktiverar KoolDock Systemfält support; Det kan användas istället för kicker's systemfält's program. Använd det inte om du inte tänker hjälpa mig få det att fungera :P"
+
+#: setupdialog.cpp:435
+msgid "Xinerama Support"
+msgstr "Xinerama stöd"
+
+#: setupdialog.cpp:436
+msgid "If you are using xinerama you should enable this option for proper behaviour."
+msgstr "Om du använder xinerama så bör du aktivera detta för att det ska fungera bra"
+
+#: setupdialog.cpp:437
+msgid "Left Monitor Res"
+msgstr "Vänstra monitor res"
+
+#: setupdialog.cpp:438
+msgid "Visual"
+msgstr "Synlig"
+
+#: setupdialog.cpp:439
+msgid "Drag an application to add it or"
+msgstr "Dra ett program för att lägga till det eller"
+
+#: setupdialog.cpp:440
+msgid "Right click opens the icon menu."
+msgstr "Högerklicka öppnar ikonmenyn."
+
+#: setupdialog.cpp:441
+msgid "Manually &add Application"
+msgstr "Lägg till program manuellt"
+
+#: setupdialog.cpp:443
+msgid "Click here to manually add an application to the Launcher"
+msgstr "Klicka här för att manuellt lägga till ett program till startfältet"
+
+#: setupdialog.cpp:444
+msgid ""
+"Drag and Drop here any executable or desktop file for which you want an "
+"entry in KoolDock's Launcher"
+msgstr "Dra och släpp här körbara eller skrivbordsfiler som du vill ska finnas i KoolDock's startfält"
+
+#: setupdialog.cpp:445
+msgid "Application List"
+msgstr "Programlista"
+
+#: setupdialog.cpp:447
+msgid ""
+"Click here to start grabbing windows names; click Add for each window you "
+"click on"
+msgstr "Klicka här för att börja fånga fönsternamn. Tryck på lägg till för varje fönster du klickar på"
+
+#: setupdialog.cpp:448
+msgid ""
+"Click \"Grab Window\" and click over a Window, then click \"Add\" to append "
+"it to\n"
+"the ignore list; you may also manually type or edit the window's name in "
+"the\n"
+"box below. To stop grabbing just click \"Grabbing...\", \"Ok\" or \"Cancel\"."
+msgstr ""
+"Tryck på \"Fånga fönster\" och klicka på ett fönster, Sedan klickar du på \"Lägg till\" för att lägga till det till ignorera listan.\n "
+"Du kan också själv skriva in eller editera fönsternamn i fältet nedan. För att sluta fånga fönster, klicka på \"Fångar...\", \"Ok\" eller \"Avbryt\"."
+
+#: setupdialog.cpp:453
+msgid "Ignore list"
+msgstr "Ignoreralistan"
+
+#: setupdialog.cpp:454 setupdialog.cpp:455
+msgid "Background Theme:"
+msgstr "Bakgrundstema:"
+
+#: setupdialog.cpp:456 setupdialog.cpp:465
+msgid "Enabled"
+msgstr "Aktiverad"
+
+#: setupdialog.cpp:457
+msgid "Use set of images instead of a Solid Background"
+msgstr "Använd ett paket med bilder istället för en solid bakgrund"
+
+#: setupdialog.cpp:458
+msgid "TaskBar Separator"
+msgstr "Aktivitetsfält separerare"
+
+#: setupdialog.cpp:459
+msgid "Separator color:"
+msgstr "Separerarfärg:"
+
+#: setupdialog.cpp:460
+msgid "The separator is a line drawed between KoolDock's Launcher and Taskbar"
+msgstr "Separeraren är en linje dragen mellan KoolDock's startfält och aktivitetsfält"
+
+#: setupdialog.cpp:461
+msgid "Solid Background:"
+msgstr "Solid Bakgrund:"
+
+#: setupdialog.cpp:462
+msgid "Border color:"
+msgstr "Ram färg:"
+
+#: setupdialog.cpp:463
+msgid "Dock opacity:"
+msgstr "Genomskinlighet:"
+
+#: setupdialog.cpp:464
+msgid "Background color:"
+msgstr "Bakgrundsfärg:"
+
+#: setupdialog.cpp:466
+msgid ""
+"Enable a solid background for KoolDock, it may be transparent (dock opacity) "
+"and of any color you choose"
+msgstr "Aktivera en solid bakgrund för KoolDock, Den kan vara transparent (genomskinlighet) eller vilken färg som helst som du väljer"
+
+#: setupdialog.cpp:467
+msgid "Show borders"
+msgstr "Visa ram"
+
+#: setupdialog.cpp:468
+msgid ""
+"When using a Solid Background you may tell KoolDock to draw its borders "
+"(rectangle)"
+msgstr "Om du använder Solid Bakgrund kan du säga till KoolDock att rita en ram runt."
+
+#: setupdialog.cpp:469
+msgid "Solid background level of transparency (0 means fully transparent)"
+msgstr "Solid Bakgrunds genomskinlighetnivå (0 betyder full genomskinlighet)"
+
+#: setupdialog.cpp:470
+msgid "Background"
+msgstr "Bakgrund"
+
diff --git a/src/Makefile.am b/src/Makefile.am
new file mode 100644
index 0000000..703b7bf
--- /dev/null
+++ b/src/Makefile.am
@@ -0,0 +1,64 @@
+####### kdevelop will overwrite this part!!! (begin)##########
+bin_PROGRAMS = kooldock
+
+## INCLUDES were found outside kdevelop specific part
+
+kooldock_SOURCES = appProp.ui apppropprg.cpp clip.cpp dinfo.cpp item.cpp \
+ kooldock.cpp main.cpp setupdialog.ui setupdialogprg.cpp xosd.cpp
+kooldock_LDADD = $(LIB_KIO) $(LIB_KDEUI) $(LIB_KDECORE) $(LIB_QT) $(LIBSOCKET)
+
+
+EXTRA_DIST = main.cpp kooldock.cpp kooldock.h item.cpp item.h
+
+####### kdevelop will overwrite this part!!! (end)############
+# These paths are KDE specific. Use them:
+# kde_appsdir Where your application's menu entry (.desktop) should go to.
+# kde_icondir Where your icon should go to - better use KDE_ICON.
+# kde_sounddir Where your sounds should go to.
+# kde_htmldir Where your docs should go to. (contains lang subdirs)
+# kde_datadir Where you install application data. (Use a subdir)
+# kde_locale Where translation files should go to. (contains lang subdirs)
+# kde_cgidir Where cgi-bin executables should go to.
+# kde_confdir Where config files should go to (system-wide ones with default values).
+# kde_mimedir Where mimetypes .desktop files should go to.
+# kde_servicesdir Where services .desktop files should go to.
+# kde_servicetypesdir Where servicetypes .desktop files should go to.
+# kde_toolbardir Where general toolbar icons should go to (deprecated, use KDE_ICON).
+# kde_wallpaperdir Where general wallpapers should go to.
+# kde_templatesdir Where templates for the "New" menu (Konqueror/KDesktop) should go to.
+# kde_bindir Where executables should go to. Use bin_PROGRAMS or bin_SCRIPTS.
+# kde_libdir Where shared libraries should go to. Use lib_LTLIBRARIES.
+# kde_moduledir Where modules (e.g. parts) should go to. Use kde_module_LTLIBRARIES.
+# kde_styledir Where Qt/KDE widget styles should go to (new in KDE 3).
+# kde_designerdir Where Qt Designer plugins should go to (new in KDE 3).
+
+# set the include path for X, qt and KDE
+INCLUDES= $(all_includes)
+
+METASOURCES = AUTO
+
+# the library search path.
+kooldock_LDFLAGS = $(all_libraries) $(KDE_RPATH)
+
+# Uncomment the following two lines if you add a ui.rc file for your application to make use of
+# KDE?s XML GUI builing
+#rcdir = $(kde_datadir)/kooldock
+#rc_DATA = kooldockui.rc
+
+#WARNING: if you use a ui.rc file above, use:
+
+# messages: rc.cpp
+
+# instead of
+
+# messages:
+
+messages:
+ LIST=`find . -name \*.h -o -name \*.hh -o -name \*.H -o -name \*.hxx -o -name \*.hpp -o -name \*.cpp -o -name \*.cc -o -name \*.cxx -o -name \*.ecpp -o -name \*.C`; \
+ if test -n "$$LIST"; then \
+ $(XGETTEXT) $$LIST -o $(podir)/kooldock.pot; \
+ fi
+
+
+noinst_HEADERS = apppropprg.h clip.h dinfo.h setupdialogprg.h xosd.h
+
diff --git a/src/appProp.ui b/src/appProp.ui
new file mode 100644
index 0000000..38e732f
--- /dev/null
+++ b/src/appProp.ui
@@ -0,0 +1,264 @@
+<!DOCTYPE UI><UI version="3.3" stdsetdef="1">
+<class>appProp</class>
+<widget class="QDialog">
+ <property name="name">
+ <cstring>appProp</cstring>
+ </property>
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>421</width>
+ <height>259</height>
+ </rect>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>1</hsizetype>
+ <vsizetype>1</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </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="caption">
+ <string>Launcher Properties</string>
+ </property>
+ <property name="sizeGripEnabled">
+ <bool>true</bool>
+ </property>
+ <property name="modal">
+ <bool>true</bool>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QPushButton" row="2" column="2">
+ <property name="name">
+ <cstring>buttonCancel</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;Cancel</string>
+ </property>
+ <property name="accel">
+ <string></string>
+ </property>
+ <property name="autoDefault">
+ <bool>true</bool>
+ </property>
+ </widget>
+ <widget class="QPushButton" row="2" column="1">
+ <property name="name">
+ <cstring>buttonOk</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;Add</string>
+ </property>
+ <property name="accel">
+ <string>Alt+A</string>
+ </property>
+ <property name="autoDefault">
+ <bool>true</bool>
+ </property>
+ <property name="default">
+ <bool>true</bool>
+ </property>
+ </widget>
+ <spacer row="2" column="0">
+ <property name="name">
+ <cstring>Horizontal Spacing2</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>250</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ <widget class="QGroupBox" row="1" column="0" rowspan="1" colspan="3">
+ <property name="name">
+ <cstring>groupBox1</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>3</hsizetype>
+ <vsizetype>3</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="title">
+ <string>Advanced Options</string>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QCheckBox" row="0" column="0">
+ <property name="name">
+ <cstring>terminal</cstring>
+ </property>
+ <property name="text">
+ <string>Run From Terminal</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="1" column="0">
+ <property name="name">
+ <cstring>cuser</cstring>
+ </property>
+ <property name="text">
+ <string>Run as different User</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="0" column="1">
+ <property name="name">
+ <cstring>tclose</cstring>
+ </property>
+ <property name="text">
+ <string>Keep terminal open after exit</string>
+ </property>
+ </widget>
+ <widget class="QLineEdit" row="1" column="1">
+ <property name="name">
+ <cstring>user</cstring>
+ </property>
+ </widget>
+ </grid>
+ </widget>
+ <widget class="QGroupBox" row="0" column="0" rowspan="1" colspan="3">
+ <property name="name">
+ <cstring>groupBox2</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>3</hsizetype>
+ <vsizetype>3</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="title">
+ <string>Minimal Options</string>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLabel" row="0" column="0" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>textLabel3</cstring>
+ </property>
+ <property name="text">
+ <string>Don't forget to chose an icon.</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="2" column="0">
+ <property name="name">
+ <cstring>textLabel1</cstring>
+ </property>
+ <property name="text">
+ <string>&lt;b&gt;Command&lt;/b&gt;</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="1" column="0">
+ <property name="name">
+ <cstring>textLabel2</cstring>
+ </property>
+ <property name="text">
+ <string>&lt;b&gt;Name&lt;/b&gt;</string>
+ </property>
+ </widget>
+ <widget class="QPushButton" row="2" column="2">
+ <property name="name">
+ <cstring>cmdfile</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;Browse</string>
+ </property>
+ <property name="accel">
+ <string>Alt+B</string>
+ </property>
+ </widget>
+ <widget class="KIconButton" row="0" column="2" rowspan="2" colspan="1">
+ <property name="name">
+ <cstring>iconbutton</cstring>
+ </property>
+ <property name="text">
+ <string>Icon</string>
+ </property>
+ </widget>
+ <widget class="QLineEdit" row="1" column="1">
+ <property name="name">
+ <cstring>cmdname</cstring>
+ </property>
+ </widget>
+ <widget class="QLineEdit" row="2" column="1">
+ <property name="name">
+ <cstring>cmdpath</cstring>
+ </property>
+ </widget>
+ </grid>
+ </widget>
+ </grid>
+</widget>
+<connections>
+ <connection>
+ <sender>buttonOk</sender>
+ <signal>clicked()</signal>
+ <receiver>appProp</receiver>
+ <slot>accept()</slot>
+ </connection>
+ <connection>
+ <sender>buttonCancel</sender>
+ <signal>clicked()</signal>
+ <receiver>appProp</receiver>
+ <slot>reject()</slot>
+ </connection>
+ <connection>
+ <sender>cuser</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>appProp</receiver>
+ <slot>cuserchk()</slot>
+ </connection>
+ <connection>
+ <sender>terminal</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>appProp</receiver>
+ <slot>terminalchk()</slot>
+ </connection>
+ <connection>
+ <sender>cmdfile</sender>
+ <signal>clicked()</signal>
+ <receiver>appProp</receiver>
+ <slot>cmdfile_clicked()</slot>
+ </connection>
+</connections>
+<slots>
+ <slot>cuserchk(bool)</slot>
+ <slot>cuserchk()</slot>
+ <slot>terminalchk()</slot>
+ <slot>cmdfile_clicked()</slot>
+</slots>
+<layoutdefaults spacing="6" margin="11"/>
+<includehints>
+ <includehint>kicondialog.h</includehint>
+</includehints>
+</UI>
diff --git a/src/apppropprg.cpp b/src/apppropprg.cpp
new file mode 100644
index 0000000..b806b67
--- /dev/null
+++ b/src/apppropprg.cpp
@@ -0,0 +1,159 @@
+//
+// C++ Implementation: apppropprg
+//
+// Description:
+//
+//
+// Author: KoolDock team <radix@kde.cl>, (C) 2004
+//
+// Copyright: See COPYING file that comes with this distribution
+//
+//
+#include <kicondialog.h>
+#include <kfiledialog.h>
+#include <kmessagebox.h>
+#include <kstandarddirs.h>
+#include <klocale.h>
+
+#include "apppropprg.h"
+#include "appProp.h"
+#include "kooldock.h"
+
+appPropPrg::appPropPrg(QWidget *parent, const char *name)
+: appProp(parent, name)
+{
+
+}
+
+
+appPropPrg::~appPropPrg()
+{
+}
+
+void appPropPrg::accept()
+{
+ QString icon;
+ QString desktop;
+ QString path;
+ QString puser;
+
+ icon=iconbutton->icon();
+ desktop=cmdname->text();
+ path=cmdpath->text();
+ puser=user->text();
+
+ if(icon.length() == 0)
+ {
+ KMessageBox::sorry(0, i18n("You must select an icon!"), i18n("Error"), 1);
+ return;
+ }
+ if(desktop.length() == 0)
+ {
+ KMessageBox::sorry(0, i18n("You must enter a name!"), i18n("Error"), 1);
+ return;
+ }
+ if(path.length() == 0)
+ {
+ KMessageBox::sorry(0, i18n("You must enter a command or path!"), i18n("Error"), 1);
+ return;
+ }
+ if((cuser->isChecked()==true) && (puser.length()==0))
+ {
+ KMessageBox::sorry(0, i18n("You must provide a username!"), i18n("Error"), 1);
+ return;
+ }
+
+
+ // Now we modify desktop (lowercase, no spaces)
+ desktop.remove(" ", TRUE);
+ desktop=desktop.lower();
+ desktop.append(".desktop");
+
+ //To handle position
+ QString progPath = locateLocal("data", "kooldock");
+ QDir dir(progPath + QString("/menu/"));
+ QString preffix;
+ QStringList fileList = dir.entryList("*.desktop");
+
+ int pos=fileList.count();
+ if(pos<10) preffix=QString("0%1_").arg(pos);
+ if(pos>=10) preffix=QString("%1_").arg(pos);
+
+ desktop.prepend(preffix);
+ //End handling position
+
+ /* Here we add the .desktop file to the menuPath */
+ KoolDock::addFile(desktop, icon, cmdpath->text(), cmdname->text(), true, terminal->isChecked(), tclose->isChecked(), cuser->isChecked(), user->text());
+ user->setEnabled(false);
+ cuser->setChecked(false);
+ terminal->setChecked(false);
+ tclose->setChecked(false);
+ tclose->setEnabled(false);
+ this->hide();
+ emit apply();
+}
+
+void appPropPrg::reject()
+{
+ user->setEnabled(false);
+ cuser->setChecked(false);
+ terminal->setChecked(false);
+ tclose->setChecked(false);
+ tclose->setEnabled(false);
+ this->hide();
+}
+
+void appPropPrg::closeEvent( QCloseEvent *e )
+{
+ e->ignore();
+ reject();
+}
+
+void appPropPrg::cmdfile_clicked()
+{
+ QString tmp;
+
+ QString fileToOpen=KFileDialog::getOpenFileName(QDir::currentDirPath(), "*.*", this, i18n("Open File"));
+ if (!fileToOpen.isEmpty())
+ {
+ cmdpath->setText(fileToOpen);
+
+ //Lets set a default icon based on the program name
+ tmp=fileToOpen;
+ int pos=tmp.findRev("/", -1);
+ if(pos!=-1)
+ {
+ tmp.remove(1, pos);
+ tmp.remove("/", TRUE);
+ }
+ iconbutton->setIcon(tmp);
+ cmdname->setText(tmp);
+ }
+}
+
+void appPropPrg::cuserchk()
+{
+ if(cuser->isChecked()==true)
+ {
+ user->setEnabled(true);
+ }
+ else
+ {
+ user->setEnabled(false);
+ }
+}
+
+void appPropPrg::terminalchk()
+{
+ if(terminal->isChecked()==true)
+ {
+ tclose->setEnabled(true);
+ }
+ else
+ {
+ tclose->setChecked(false);
+ tclose->setEnabled(false);
+ }
+}
+
+#include "apppropprg.moc"
diff --git a/src/apppropprg.h b/src/apppropprg.h
new file mode 100644
index 0000000..cc8124f
--- /dev/null
+++ b/src/apppropprg.h
@@ -0,0 +1,45 @@
+//
+// C++ Interface: apppropprg
+//
+// Description:
+//
+//
+// Author: KoolDock team <radix@kde.cl>, (C) 2004
+//
+// Copyright: See COPYING file that comes with this distribution
+//
+//
+#ifndef APPPROPPRG_H
+#define APPPROPPRG_H
+
+#include <qwidget.h>
+#include "appProp.h"
+
+/**
+@author KoolDock team
+*/
+
+class appPropPrg : public appProp
+{
+Q_OBJECT
+
+ public:
+ appPropPrg(QWidget *parent = 0, const char *name = 0);
+ ~appPropPrg();
+
+ void addFile(QString filename, QString iconname, QString execname, QString name, bool notify);
+
+ public slots:
+ void accept();
+ void reject();
+ void cmdfile_clicked();
+ void cuserchk();
+ void terminalchk();
+ signals:
+ void apply();
+
+ protected:
+ void closeEvent( QCloseEvent* );
+};
+
+#endif
diff --git a/src/clip.cpp b/src/clip.cpp
new file mode 100644
index 0000000..de71d2b
--- /dev/null
+++ b/src/clip.cpp
@@ -0,0 +1,47 @@
+#include "clip.h"
+
+#include <qwidget.h>
+#include <qbitmap.h>
+#include <qpainter.h>
+#include <netwm.h>
+#include <netwm_def.h>
+#include <kwin.h>
+
+#include <kdebug.h>
+
+clip::clip(QWidget *parent, const char *name) : QWidget(parent, name, WStyle_Customize | WStyle_NoBorder | WNoAutoErase | WDestructiveClose | WMouseNoMask | WStyle_StaysOnTop)
+{
+ info = new NETWinInfo( qt_xdisplay(), winId(), qt_xrootwin(), NET::WMState);
+ info->setDesktop( NETWinInfo::OnAllDesktops );
+
+ info->setState(NETWinInfo::SkipTaskbar | NETWinInfo::SkipPager, NETWinInfo::SkipTaskbar | NETWinInfo::SkipPager);
+ hide();
+ setBackgroundMode(NoBackground);
+
+ KWin::setOnAllDesktops(winId(), true);
+ KWin::setState(winId(), NET::SkipTaskbar | NET::SkipPager);
+ KWin::setType(winId(), NET::Dock);
+
+ setCaption("kooldock clipping window");
+}
+
+clip::~clip()
+{
+}
+
+void clip::clipDesktop(int p1,int p2,int p3,int p4,int p5,int p6,int p7,int p8,int p9,int p10,int p11,int p12)
+{
+KWin::setExtendedStrut(winId(), p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12);
+}
+
+void clip::paintEvent(QPaintEvent *)
+{
+ QBitmap bm(size());
+ QPainter mp;
+
+ mp.begin(&bm, this);
+ mp.fillRect(rect(), Qt::black);
+ mp.end();
+
+ setMask(bm);
+}
diff --git a/src/clip.h b/src/clip.h
new file mode 100644
index 0000000..c14af10
--- /dev/null
+++ b/src/clip.h
@@ -0,0 +1,29 @@
+#ifndef clip_H_
+#define clip_H_
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include <qwidget.h>
+
+#include <netwm.h>
+#include <kwin.h>
+
+class clip : public QWidget
+{
+Q_OBJECT
+ public:
+ clip(QWidget* parent=0, const char *name=0);
+
+ virtual ~clip();
+ void clipDesktop(int,int,int,int,int,int,int,int,int,int,int,int);
+
+ private:
+ NETWinInfo *info;
+
+ protected:
+ void paintEvent(QPaintEvent *);
+
+};
+#endif // CLIP_H_
diff --git a/src/dinfo.cpp b/src/dinfo.cpp
new file mode 100644
index 0000000..f6cf476
--- /dev/null
+++ b/src/dinfo.cpp
@@ -0,0 +1,56 @@
+/***************************************************************************
+ * Copyright (C) 2007 by bisiek *
+ * bisiek9@gmail.com *
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
+ ***************************************************************************/
+#include "dinfo.h"
+
+dInfo::dInfo()
+{
+ mBool=false;
+ mInt=0;
+}
+
+
+dInfo::~dInfo()
+{
+}
+
+bool dInfo::gBool()
+{
+ return mBool;
+}
+
+void dInfo::sBool(bool nVal)
+{
+ mBool=nVal;
+}
+
+int dInfo::gInt()
+{
+ return mInt;
+}
+
+void dInfo::sInt(int nVal)
+{
+ mInt=nVal;
+}
+
+void dInfo::inc(int val)
+{
+ mInt+=val;
+}
diff --git a/src/dinfo.h b/src/dinfo.h
new file mode 100644
index 0000000..681f04d
--- /dev/null
+++ b/src/dinfo.h
@@ -0,0 +1,42 @@
+/***************************************************************************
+ * Copyright (C) 2007 by bisiek *
+ * bisiek9@gmail.com *
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
+ ***************************************************************************/
+#ifndef DINFO_H
+#define DINFO_H
+
+#include <kpopupmenu.h>
+/**
+ @author bisiek <bisiek9@gmail.com>
+*/
+class dInfo{
+public:
+ dInfo();
+ ~dInfo();
+ bool gBool();
+ void sBool(bool nVal);
+ int gInt();
+ void sInt(int nVal);
+ void inc(int val);
+private:
+ bool mBool;
+ int mInt;
+
+};
+
+#endif
diff --git a/src/item.cpp b/src/item.cpp
new file mode 100644
index 0000000..1de9cf7
--- /dev/null
+++ b/src/item.cpp
@@ -0,0 +1,274 @@
+/***************************************************************************
+ item.cpp - description
+ -------------------
+ begin : Fri May 23 2003
+ copyright : (C) 2003 by KoolDock team
+ email :
+ ***************************************************************************/
+
+/***************************************************************************
+ * *
+ * 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. *
+ * *
+ ***************************************************************************/
+
+#include <kglobal.h>
+#include <kicontheme.h>
+
+#include <qfile.h>
+#include <qimage.h>
+#include <qtextstream.h>
+
+#include "item.h"
+
+Item::Item(QString iconName, QString cmd, QString name, int minSize, int maxSize) {
+ iLoader = KGlobal::iconLoader();
+ command = cmd;
+ this->name = name;
+ mCount=0;
+ mIndex=0;
+ mMIndex=0;
+ mClass="";
+ this->minSize = minSize;
+ this->maxSize = maxSize;
+ this->iconName = iconName;
+
+ QImage icon(iLoader->loadIcon(iconName, KIcon::NoGroup, 64).convertToImage());
+ if (minSize <= maxSize)
+ {
+ int count = maxSize - minSize + 1;
+
+ icons.setAutoDelete(TRUE);
+
+ for(int i=0; i<count; i++)
+ {
+ if (i % SIZE_INC == 0)
+ {
+ icons.append(new QPixmap(icon.smoothScale(minSize + i, minSize + i)));
+ }
+ }
+ }
+
+ id = 0;
+ animed = FALSE;
+}
+
+
+Item::Item(QString fileName, int minSize, int maxSize)
+{
+ QString line;
+ QFile in(fileName);
+ in.open(IO_ReadOnly);
+ mCount=0;
+ mIndex=0;
+ mMIndex=0;
+ mClass="";
+ if(in.readLine(line, MAX_LEN) != -1)
+ {
+ if(line.contains("[Desktop Entry]", FALSE) > 0)
+ {
+ while (in.readLine(line, MAX_LEN) != -1)
+ {
+ if(line.startsWith("Exec="))
+ {
+ command = line.mid(5).stripWhiteSpace();
+ }
+ else if(line.startsWith("Icon="))
+ {
+ iconName = line.mid(5).stripWhiteSpace();
+ }
+ else if(line.startsWith("Name="))
+ {
+ name = line.mid(5).stripWhiteSpace();
+ }
+ }
+ }
+ }
+
+ in.close();
+
+ iLoader = KGlobal::iconLoader();
+ this->minSize = minSize;
+ this->maxSize = maxSize;
+ this->filename = fileName;
+ mCount=0;
+ mIndex=0;
+ mMIndex=0;
+ mClass="";
+ QImage icon(iLoader->loadIcon(iconName, KIcon::NoGroup, 64).convertToImage());
+ if (minSize <= maxSize)
+ {
+ int count = maxSize - minSize + 1;
+
+ icons.setAutoDelete(TRUE);
+
+ for(int i=0; i<count; i++)
+ {
+ if (i % SIZE_INC == 0)
+ {
+ icons.append(new QPixmap(icon.smoothScale(minSize + i, minSize + i)));
+ }
+ }
+ }
+
+ id = 0;
+ animed = FALSE;
+}
+
+Item::Item(QPixmap iconBig, WId id, QString name, int minSize, int maxSize, bool wi)
+{
+ setId(id);
+ this->name = name;
+ mCount=0;
+ mIndex=0;
+ mMIndex=0;
+ mClass="";
+ this->minSize = minSize;
+ this->maxSize = maxSize;
+ command = "";
+ wIcon=wi;
+ QImage icon(iconBig.convertToImage());
+ if(minSize <= maxSize)
+ {
+ int count = maxSize - minSize + 1;
+
+ icons.setAutoDelete(TRUE);
+
+ for(int i=0; i<count; i++)
+ {
+ if (i % SIZE_INC == 0)
+ {
+ if (wi)
+ {icons.append(new QPixmap(icon));}
+ else
+ {
+ icons.append(new QPixmap(icon.scale(minSize + i, minSize + i)));
+ }
+//moothS
+ }
+ }
+ }
+ animed = FALSE;
+}
+
+Item::~Item()
+{
+}
+
+QPixmap* Item::getIcon(int size)
+{
+ if ((size >= minSize) && (size <= maxSize))
+ {
+ int d = size - minSize;
+ return(icons.at(d / SIZE_INC));
+
+ //return(new QPixmap (icons.at(maxSize-minSize)->convertToImage().scale(size,size)));
+ }
+ else
+ {
+ return(0);
+ }
+}
+
+QString Item::getCommand()
+{
+ return(command);
+}
+
+QString Item::getName()
+{
+ return(name);
+}
+
+QCString Item::getClass()
+{
+ return(mClass);
+}
+
+int Item::getCount()
+{
+ return(mCount);
+}
+
+int Item::getIndex()
+{
+ return(mIndex);
+}
+
+int Item::getMIndex()
+{
+ return(mMIndex);
+}
+
+QString Item::getFilename()
+{
+ return(filename);
+}
+
+WId Item::getId()
+{
+ return(id);
+}
+
+void Item::setId(WId newId)
+{
+
+ info = KWin::windowInfo(newId, 0, NET::WM2AllowedActions);
+ id=newId;
+}
+
+void Item::setIcon(QPixmap iconBig)
+{
+ icons.clear();
+ QImage icon(iconBig.convertToImage());
+
+ int count = maxSize - minSize + 1;
+
+ icons.setAutoDelete(TRUE);
+
+ for (int i = 0; i < count; i++)
+ {
+ if (i % SIZE_INC == 0)
+ {
+ icons.append(new QPixmap(icon.smoothScale(minSize + i, minSize + i)));
+ }
+ }
+}
+
+void Item::setName(QString newName)
+{
+ name = newName;
+}
+
+void Item::setClass(QCString newClass)
+{
+ mClass = newClass;
+}
+
+void Item::setCount(int newCount)
+{
+ mCount = newCount;
+}
+
+void Item::setIndex(int newIndex)
+{
+ mIndex = newIndex;
+}
+
+void Item::setMIndex(int newIndex)
+{
+ mMIndex = newIndex;
+}
+
+bool Item::isAnimed()
+{
+ return(this->animed);
+}
+
+void Item::anim(bool param)
+{
+ this->animed=param;
+}
diff --git a/src/item.h b/src/item.h
new file mode 100644
index 0000000..27b22b9
--- /dev/null
+++ b/src/item.h
@@ -0,0 +1,84 @@
+/***************************************************************************
+ item.h - description
+ -------------------
+ begin : Fri May 23 2003
+ copyright : (C) 2003 by KoolDock team
+ email :
+ ***************************************************************************/
+
+/***************************************************************************
+ * *
+ * 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 ITEM_H
+#define ITEM_H
+
+#include <kiconloader.h>
+#include <kwin.h>
+
+#include <qstring.h>
+#include <qpixmap.h>
+#include <qptrlist.h>
+
+#include <vector>
+#include <qevent.h>
+#include <qnamespace.h>
+
+const int MAX_LEN = 256;
+const int SIZE_INC = 1;
+
+class Item
+{
+ public:
+ Item(QString iconName, QString cmd, QString name, int minSize, int maxSize);
+ Item(QString fileName, int minSize, int maxSize);
+ Item(QPixmap iconBig, WId id, QString name, int minSize, int maxSize, bool wi =FALSE);
+ ~Item();
+
+ void setIcon(QPixmap iconBig);
+
+ QPixmap* getIcon(int size);
+ QString getCommand();
+ QString getName();
+ QCString getClass();
+ int getCount();
+ int getIndex();
+ int getMIndex();
+ WId getId();
+ KWin::WindowInfo info;
+ void setId(WId newId);
+ QString getFilename();
+
+ void setName(QString newName);
+ void setClass(QCString newClass);
+ void setCount(int newCount);
+ void setIndex(int newIndex);
+ void setMIndex(int newIndex);
+ bool animed;
+ bool isAnimed();
+ void anim(bool param);
+ QPtrList<QPixmap> icons;
+ bool wIcon;
+
+ private:
+ KIconLoader *iLoader;
+
+ int minSize;
+ int maxSize;
+ QString command;
+ QString name;
+ QCString mClass;
+ int mCount;
+ int mIndex;
+ int mMIndex;
+ QString iconName;
+ QString filename;
+ WId id;
+};
+
+#endif
diff --git a/src/kooldock.cpp b/src/kooldock.cpp
new file mode 100644
index 0000000..58a0831
--- /dev/null
+++ b/src/kooldock.cpp
@@ -0,0 +1,3848 @@
+/**************************************************************************
+ kooldock.cpp - description
+ -------------------
+ begin : Tue Jun 10 22:18:34 BST 2003
+ copyright : (C) 2003 by KoolDock team
+ email :
+***************************************************************************/
+
+/***************************************************************************
+ * *
+ * 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. *
+ * *
+***************************************************************************/
+
+#include <stdlib.h>
+#include <math.h>
+
+#include <qpixmap.h>
+#include <qimage.h>
+#include <qpainter.h>
+#include <qcursor.h>
+#include <qdir.h>
+#include <qstringlist.h>
+#include <qvaluelist.h>
+#include <qtooltip.h>
+#include <qrect.h>
+#include <qfile.h>
+#include <qtextstream.h>
+#include <qbrush.h>
+#include <qpoint.h>
+#include <qfont.h>
+#include <qdatetime.h>
+
+#include <kwin.h>
+#include <kprocess.h>
+#include <netwm_def.h>
+#include <kmessagebox.h>
+#include <klocale.h>
+#include <kcmdlineargs.h>
+#include <krun.h>
+#include <kurifilter.h>
+#include <kpixmapio.h>
+#include <kstandarddirs.h>
+#include <kaboutapplication.h>
+#include <qlistbox.h>
+#include <keditlistbox.h>
+
+// for "renicing" the bar
+#include <sys/time.h>
+#include <sys/resource.h>
+
+
+#include "kooldock.h"
+
+#include <kconfig.h>
+#include <kdebug.h>
+#include "setupdialogprg.h"
+
+// macros
+
+#define min(a, b) (a < b) ? (a) : (b)
+#define max(a, b) (a > b) ? (a) : (b)
+
+// compiler issues
+#if __GNUC__ == 2 && __GNUC_MINOR__ <= 95
+# define _GCC295
+#endif
+#include <dcopclient.h>
+#include <iostream>
+#include <qdatastream.h>
+
+KoolDock::KoolDock(QWidget *parent, const char *name) : QWidget(parent, name, WStyle_Customize | WStyle_NoBorder | WNoAutoErase | WDestructiveClose | WStyle_StaysOnTop )//| WX11BypassWM)
+{
+ // Default configuration paths
+ progPath = locateLocal("data", "kooldock");
+ menuPath = progPath + QString("/menu/");
+ confFile = locateLocal("config", "kooldockrc");
+
+ noSet=false;
+ firstInit=true;
+ setupdlg = new SetupDialogPrg(); // create the setup dialog object.
+
+ connect (setupdlg, SIGNAL(apply()), SLOT(chkRestart()));
+ perf = new QTime();
+
+ reloadIcons=TRUE;
+
+ //Menu definitions
+ deskpopup=new KPopupMenu();
+ appMenu=new KPopupMenu();
+ godesk=new KPopupMenu;
+ tasklist=new KPopupMenu;
+ popup=new KPopupMenu;
+ advMenu=new KPopupMenu;
+
+ connect(popup, SIGNAL(aboutToShow()), SLOT(aboutToShow()));
+ connect(popup, SIGNAL(aboutToHide()), SLOT(aboutToHide()));
+ connect(appMenu, SIGNAL(aboutToShow()), SLOT(aboutToShow()));
+ connect(appMenu, SIGNAL(aboutToHide()), SLOT(aboutToHide()));
+ connect(deskpopup, SIGNAL(aboutToShow()), SLOT(menuShow()));
+ connect(appMenu, SIGNAL(highlighted(int)), this, SLOT(menuX(int)));
+ connect(godesk, SIGNAL(activated(int)), this, SLOT(goToDesktop(int)));
+ connect(tasklist, SIGNAL(activated(int)), this, SLOT(goToWindow(int)));
+ connect(deskpopup, SIGNAL(activated(int)), this, SLOT(sendToDesktop(int)));
+ menuCount=0;
+
+ init1();
+
+ QString welcomeMsg;
+ if (fFirstRun)
+ {
+ // Show welcome dialog.
+ welcomeMsg = QString("<center><B>Welcome</B></center>It appears to be the first time you run KoolDock.<br>"
+ "By default the dock is hidden at the botton of the screen, move your mouse"
+ " to the bottom edge of the screen and the dock will appear.<br>"
+ "Right click on the dock for a menu that allows you to configure it<br>"
+ "or run with <I>-o</I> parameter to have preferences window at start.<br>"
+ "We hope this software is usefull for you<br>-- The KoolDock Team");
+ KMessageBox::information(0L, i18n(welcomeMsg));
+ saveConf(); // create initial configuration.
+ }
+
+ init2();
+ firstInit=false;
+}
+KoolDock::~KoolDock()
+{
+ if (xosdw) delete(xosdw);
+ if (clipw) delete(clipw);
+ if (info) delete(info);
+ if (wm) delete(wm);
+ if (setupdlg) delete(setupdlg);
+ if (rootpix) delete(rootpix);
+ if (trackTimer) delete(trackTimer);
+ if (mTimer) delete(mTimer);
+ if (mkbigTimer) delete(mkbigTimer);
+ if (mksmallTimer) delete(mksmallTimer);
+ if (onChangeTimer) delete(onChangeTimer);
+ if (_filterData) delete(_filterData);
+}
+
+void KoolDock::mTimerEnd()
+{
+ if (menuCount>0) return;
+ QPoint pointer;
+ pointer = QCursor::pos();
+ lastXPos=pointer.x()-rx;
+ lastYPos=pointer.y()-ry;
+ int px,py,pw,ph,pt;
+ int mpx, mpy;
+ mpx=pointer.x();
+ mpy=pointer.y();
+
+ if (fExpanded && !mksmallTimer->isActive()) {px=x1;} else {px=x0;}
+ if ((fOrientation & 2)==2) py=0; else py=dh-h;
+ pw=w;
+ ph=h;
+ if ((fOrientation & 1)==1)
+ {
+ pt=px;px=py;py=pt;
+ pt=pw;pw=ph;ph=pt;
+ pt=mpx;mpx=mpy;mpy=pt;
+ }
+ if (xinerama==1) px+=XinPreviousWidth;
+
+ if (fHidden==1)
+ {
+ if (pointer.y() >= py && pointer.y() <= (py + ph) && pointer.x() >= px && pointer.x() <= (px + pw))
+ {
+ mMoveEvent(pointer.x()-rx,pointer.y()-ry);
+ }
+ else
+ {
+ debug(QString("mTimer1Leave: %1 %2 %3 %4 %5 %6").arg(pointer.x()).arg(pointer.y()).arg(dh-h).arg(ry).arg(rx).arg(x+w));
+ onleaveEvent(NULL);
+ }
+ }
+ else
+ {
+ if (pointer.y() >= py && pointer.y() <= (py + ph) && pointer.x() >= px && pointer.x() <= (px + pw))
+ {
+ if (fExpanded && !mksmallTimer->isActive())
+ {
+ mMoveEvent(pointer.x()-rx,pointer.y()-ry);
+ }
+ else
+ {
+ debug(QString("mTimer2EnterEv: %1 %2").arg(pointer.x()-rx).arg(pointer.y()-ry));
+ if (mpx>=firstX && mpx<=firstX+tmpw)
+ {
+ enterEvent(NULL);
+ }
+ }
+ }
+ else
+ {
+ if (fExpanded)
+ {
+ debug(QString("mTimer2Leave"));
+ onleaveEvent(NULL);
+ }
+ }
+ }
+ if (fSteppy==1) if (!mkbigTimer->isActive() || !mksmallTimer->isActive()) mMoveEvent(pointer.x()-rx, pointer.y()-ry);
+}
+
+
+void KoolDock::trackTimerEnd()
+{
+
+ QPoint pointer;
+ pointer = QCursor::pos();
+ int px, py;
+ if ((fOrientation & 1) == 1)
+ {
+ px = pointer.y();
+ py = pointer.x();
+ }
+ else
+ {
+ py = pointer.y();
+ px = pointer.x();
+ }
+ if ((fOrientation & 2) == 2) py = dh-py;
+ if (py+2 >= dh && px > x0 && px < x0+w0)
+ {
+ if(track2active==FALSE) QTimer::singleShot( hideTimer, this, SLOT(trackTimer2End()) );
+ track2active=true;
+ }
+}
+
+void KoolDock::trackTimer2End()
+{
+ QPoint pointer;
+ pointer = QCursor::pos();
+ int px, py;
+ if ((fOrientation & 1) == 1)
+ {
+ px = pointer.y();
+ py = pointer.x();
+ }
+ else
+ {
+ py = pointer.y();
+ px = pointer.x();
+ }
+ if ((fOrientation & 2) == 2) py = dh-py;
+ if (py+2 >= dh && px > x0 && px < x0+w0)
+ {
+ if(mksmallTimer->isActive()==TRUE) mksmallTimerstop();
+ move( 0, rdh);
+ raise();
+ trackTimer->stop();
+ getBottomBG();
+ if(h1 > h0) getTopBG();
+ debug(QString("tracktimer: grabWindow(%1, %2, %3, %4)").arg(x1).arg(dh - h1).arg(w1).arg(h1));
+ move2( x, dh - h);
+ resize2(w, h);
+ Ybase = iwBig2;
+ enterEvent(NULL);
+ }
+ track2active=FALSE;
+}
+
+void KoolDock::paintEvent(QPaintEvent *)
+{
+ // Draw backgound, icons, and all that stuff over the widget.
+ QPainter p;
+ if (initialization && ptPart==5) return;
+ p.begin (&offscr,this);
+
+ int i;
+ int ii;
+
+ debug(QString("painting"));
+
+ // draw background (new engine)
+ int bgY;
+ QImage TempBG;
+ QPixmap TempScaledLeft;
+ //QPixmap TempScaledCenter;
+ QPixmap TempScaledRight;
+ int p1,p2,p3,p4=0,p5=0,p6,p7,p8,p9,p10,pt;
+ if (w<dw) Offset=0;
+ if (fExpanded==FALSE)
+ {
+ bgY = 0;
+ }
+ else
+ {
+ bgY = h1 - h0 + Ybase;
+ }
+ lastX = cur_cx[items.count()-1] - iSize[items.count()-1]/2 + adjust;
+ lastX += iSize[items.count()-1];
+ if (ii_first == 0)
+ {
+ firstX = cur_cx[0] - iSize[0]/2 - iSpace/2 + adjust+soffset-eoffset+x;
+ }
+ else
+ {
+ firstX = cur_cx[0] - iSize[0]/2 - iSpace/2 + SPACE_W+x;
+ }
+ lastX +=soffset;
+ tmpw=lastX+x-firstX+iSpace/2;
+ if (ii_last < (int)items.count()-1)
+ {
+ tmpw+=eoffset;
+ }
+ if (ii_first==ii_last && ii_first>0) tmpw-=adjust;
+
+ p1=0;
+ p2=0;
+ KPixmapIO pixio;
+ if (!fLeftImg.isEmpty())
+ {
+ TempBG = pixio.convertToImage(LeftImg);
+ if ((fOrientation & 1)==1) {p1=LeftImg.height();} else {p1=LeftImg.width();}
+ p2=h0;
+ if ((fOrientation & 1)==1) {pt=p1; p1=p2; p2=pt;}
+ if (scaleMax)
+ {TempScaledLeft = QPixmap(TempBG.scale(p1, p2, QImage::ScaleMin));}
+ else
+ {TempScaledLeft = QPixmap(TempBG.scale(p1, p2));}
+ p2=0;
+ if ((fOrientation & 1)==1) {p1=TempScaledLeft.height();} else {p1=TempScaledLeft.width();}
+ }
+ if (!fRightImg.isEmpty())
+ {
+ TempBG = pixio.convertToImage(RightImg);
+ if ((fOrientation & 1)==1) {p2=RightImg.height();} else {p2=RightImg.width();}
+ p3=h0;
+ if ((fOrientation & 1)==1) {pt=p2; p2=p3; p3=pt;}
+ if (scaleMax)
+ {TempScaledRight = QPixmap(TempBG.scale(p2, p3, QImage::ScaleMin));}
+ else
+ {TempScaledRight = QPixmap(TempBG.scale(p2, p3));}
+ if ((fOrientation & 1)==1) {p2=TempScaledRight.height();} else {p2=TempScaledRight.width();}
+ }
+ if (oldtmpw<tmpw)
+ {
+ p10=oldfirstX-Offset-p1;
+ p8=oldtmpw+p1+p2;
+ }
+ else
+ {
+ p10=firstX-Offset-p1;
+ p8=tmpw+p1+p2;
+ }
+
+ oldfirstX=firstX;
+ oldtmpw=tmpw;
+
+ if (p10<0) p10=0;
+ if (p8+p10>dw) p8=dw-p10;
+
+ p1=p10;
+ p2=0;
+ p3=p8;
+ p4=h1 - h0;
+ p5=p10;
+ p6=h1 - h0;
+ p7=p8;
+ p8=h0;
+ p9=p10;
+ p10=0;
+ if ((fOrientation & 2)==2)
+ {
+ p6=0;
+ p2=h0;
+ }
+ if ((fOrientation & 1)==1)
+ {
+ pt=p1; p1=p2; p2=pt;
+ pt=p3; p3=p4; p4=pt;
+ pt=p5; p5=p6; p6=pt;
+ pt=p7; p7=p8; p8=pt;
+ pt=p9; p9=p10; p10=pt;
+ }
+ if((h1 - h0)>0) bitBlt(&offscr, p1, p2, &topBg, p9, p10, p3, p4); // put the top background
+ bitBlt(&offscr, p5, p6, &bottomBg, p5, p6, p7, p8); //put the rest of the background
+ if (dockOpacity>0)
+ {
+ p1=firstX-Offset;
+ if ((fOrientation & 2)==2) {p2=0;} else {p2=h1 - h0+Ybase;}
+ p3=tmpw;
+ p4=h0-Ybase;
+ if (p4>0)
+ {
+ if ((fOrientation & 1)==1)
+ {
+ pt=p1; p1=p2; p2=pt;
+ pt=p3; p3=p4; p4=pt;
+ }
+ bitBlt(&offscr, p1, p2, &bottomBgf, p1, p2, p3, p4);
+ }
+ }
+ // end drawing background
+
+// Left side image
+ p1=0;
+ p5=0;
+ p6=0;
+ if (!fLeftImg.isEmpty())
+ {
+ if ((fOrientation & 1)==1) {p1=TempScaledLeft.height();} else {p1=TempScaledLeft.width();}
+
+ p4=firstX-Offset-p1;
+ if (fNWideBg) if (p4<0) p4=0;
+ p5=p4+p1;
+ if ((fOrientation & 2)==2)
+ {if (fExpanded==1) {
+ p2=-Ybase;
+ } else {p2=0;}}
+ else
+ if (fExpanded==1) {p2=bgY;} else {p2=h1-h0;}
+ if ((fOrientation & 1)==1) {pt=p4; p4=p2; p2=pt;}
+ bitBlt(&offscr, p4, p2, &TempScaledLeft);
+ }
+// Right side image
+ if (!fRightImg.isEmpty())
+ {
+ if ((fOrientation & 1)==1) {p1=TempScaledRight.height();} else {p1=TempScaledRight.width();}
+
+ p2=firstX - Offset+tmpw;
+ if (fNWideBg) if (p2>dw-p1) p2=dw-p1;
+ p6=p2;
+ if ((fOrientation & 2)==2)
+ {
+ if (fExpanded==1) {p3=-Ybase;} else {p3=0;}
+ }
+ else
+ if (fExpanded==1) {p3=bgY;} else {p3=h1-h0;}
+ if ((fOrientation & 1)==1) {pt=p2; p2=p3; p3=pt;}
+ bitBlt(&offscr, p2, p3, &TempScaledRight);
+ }
+
+ //Center image
+ if (!fCenterImg.isEmpty())
+ {
+ TempBG = pixio.convertToImage(CenterImg);
+ // hack!! to optimize drawing speed, now it scales the background image only when it's
+ // necessary, I'd prefeer to use a bit more of memory instead of loosing speed.
+ // -- Matias
+ if ((fOrientation & 1)==1) {p1=TempScaledCenter.height();} else {p1=TempScaledCenter.width();}
+ if (p1 != (p6-p5))
+ {
+ p2=p6-p5;
+ p3=h0;
+ if ((fOrientation & 1)==1) {pt=p2; p2=p3; p3=pt;}
+ TempScaledCenter = QPixmap(TempBG.scale( p2, p3));
+ }
+ p1=p5;
+ if ((fOrientation & 2)==2)
+ {if (fExpanded) {p2=-Ybase;} else {p2=0;}}
+ else
+ {if (fExpanded==1) {p2=bgY;} else {p2=h1-h0;}}
+ if ((fOrientation & 1)==1) {pt=p1; p1=p2; p2=pt;}
+ bitBlt(&offscr, p1, p2, &TempScaledCenter);
+ }
+
+// End drawing the backgound
+
+
+ // draw borders
+ if (fShowBorders)
+ {
+ p1=firstX-Offset;
+ p3=SPACE_W;
+ p4=h0;
+ p5=tmpw;
+ p6=SPACE_W;
+ p7=tmpw - SPACE_W+firstX-Offset;
+ p2=h1 - h0+Ybase;
+ p8=p2;
+ p9=p1;
+ p10=p2;
+ if ((fOrientation & 2)==2)
+ {
+ p2=-Ybase;
+ p8=-Ybase;
+ p10=p4-Ybase-1;
+ }
+ if ((fOrientation & 1)==1)
+ {
+ pt=p1; p1=p2; p2=pt;
+ pt=p3; p3=p4; p4=pt;
+ pt=p5; p5=p6; p6=pt;
+ pt=p7; p7=p8; p8=pt;
+ pt=p9; p9=p10; p10=pt;
+ }
+ p.fillRect (QRect(p1, p2, p3, p4), QBrush(borderColor));
+ p.fillRect (QRect(p9, p10, p5, p6), QBrush(borderColor));
+ p.fillRect (QRect(p7, p8, p3, p4), QBrush(borderColor));
+ }
+ // end drawing borders
+
+ Item *item;
+ // new icon drawing engine
+ int Ypos; // Y position
+ int Xpos; // X position
+ KPixmap *currentIcon; // current icon pixmap
+ i=0;
+ for (i = 0; i < (int)items.count(); i++)
+ {
+ item = items.at(i);
+ // start setting the icon position
+ if(i < ii_first)
+ {
+ // left side icons
+ Xpos = cur_cx[i] - iwSmall/2 + SPACE_W-Offset;
+ }
+ else if(i >= ii_first && i <= ii_last)
+ {
+ // zoomed icons (center)
+ Xpos = cur_cx[i] - iSize[i]/2 + adjust - Offset+soffset-eoffset;
+ if (i==ii_first && i==(int)items.count()-1 && i>0) Xpos=cur_cx[i-1] + iwSmall/2 + SPACE_W-Offset + iSpace;
+ }
+ else if(i > ii_last)
+ {
+ // right side icons
+ Xpos = cur_cx[i] - iwSmall/2 + adjust + SPACE_W - 2 - Offset;
+ } // end getting icon positions
+ if ((fOrientation & 2)==2)
+ {Ypos = iy-Ybase;}
+ else
+ {Ypos = h1 - iy - iSize[i]+Ybase;}
+
+ // now, get the icon image
+ if (Xpos<dw && Xpos+iwBig2>0)
+ {
+ currentIcon = new KPixmap(*item->getIcon(iSize[i]));
+ if (items.at(i)->wIcon==TRUE)
+ {
+ for (ii=0;ii<(int)witems.count();ii++)
+ {
+ if (items.at(i)->getId()==witems.at(ii)->getId())
+ {
+ currentIcon = new KPixmap(*witems.at(ii)->getIcon(iSize[i]));
+ }
+ }
+ }
+
+ // misc icon effects and animations
+ if (iOnClick == i)
+ {
+ // highlight the clicked icon
+ KPixmapEffect::fade(*currentIcon, ((float)50)*0.01, QColor("#FFFFFF"));
+ QTimer::singleShot( 10*60, this, SLOT( unhighlight() ) ); // unhighlight the icon in 1 second
+ }
+
+ // notify animation
+ if (fShowNotification && item->isAnimed())
+ {
+ KPixmapEffect::fade(*currentIcon, ((float) animValue )*0.01, QColor("#FFFFFF"));
+ }
+
+ //Lets apply an effect to the active window in TaskBar
+ if(item->getId()==wm->activeWindow() && item->getId()!=0)
+ {
+ KPixmapEffect::fade(*currentIcon, ((float)60)*0.01, QColor("#FFFFFF"));
+ }
+
+ // End drawing icon effects
+ Xpos+=x;
+ if ((fOrientation & 1)==1) {ii=Xpos;Xpos=Ypos;Ypos=ii;}
+ // Draw the icon on the widget in its respective position
+ bitBlt(&offscr, Xpos, Ypos, currentIcon);
+ // Destroy the unused currentIcon pixmap.
+ delete currentIcon;
+ }
+ } // End drawing icons
+
+ // Draw the seperator between launcher and taskbar
+ if(fShowTaskbar && ((numLaunchers>0 && (int)items.count()>numLaunchers) || (fShowKMenu==1 && items.count()>1)))
+ {
+ i=numLaunchers-1;
+ if (i>=0 && i<(int)items.count()-1)
+ {
+ Xpos=xFromIndex(i)+xFromIndex(i+1)+iSize[i];
+ p1=Xpos/2 - Offset+x;
+ p3=SPACE_W;
+ p4=h0;
+ if (fExpanded==0)
+ {
+ p2=h1-h0;
+ if ((fOrientation & 2)==2) p2=0;
+ }
+ else if ( (signed)items.count() > numLaunchers)
+ {
+ p2=h1 - h0 + Ybase;
+ if ((fOrientation & 2)==2) p2=-Ybase;
+ }
+ if ((fOrientation & 1)==1)
+ {p.fillRect (QRect(p2, p1, p4, p3), QBrush(sepColor));}
+ else
+ {p.fillRect (QRect(p1, p2, p3, p4), QBrush(sepColor));}
+ }
+ }
+ if((fSystray==1) && (numSystray>0))
+ {
+ i=items.count()-numSystray-1;
+ if (i>=0 && i<(int)items.count()-1)
+ {
+ Xpos=xFromIndex(i)+xFromIndex(i+1)+iSize[i];
+ p1=Xpos/2 - Offset+x;
+ p3=SPACE_W;
+ p4=h0;
+ if(h == h0)
+ {
+ p2=h;
+ if ((fOrientation & 2)==2) p2=0;
+ }
+ else
+ {
+ p2=h1 - h0 + Ybase;
+ if ((fOrientation & 2)==2) p2=-Ybase;
+ }
+ if ((fOrientation &1)==1)
+ {p.fillRect (QRect(p2, p1, p4, p3), QBrush(sepColor));}
+ else
+ {p.fillRect (QRect(p1, p2, p3, p4), QBrush(sepColor));}
+ }
+ }
+ p.end();
+
+ // Finally update the widget
+ if ((fOrientation & 1)==1)
+ {bitBlt(this, 0, 0, &offscr, 0, 0, h1, dh, Qt::CopyROP);}
+ else
+ {bitBlt(this, 0, 0, &offscr, 0, 0, dw, h1, Qt::CopyROP);}
+
+ //return;
+ //Preparing mask
+ QBitmap bm(size(),true);
+ QPainter mp;
+
+ mp.begin(&bm, this);
+ mp.setPen( Qt::black );
+ mp.fillRect(rect(), Qt::black);
+ mp.fillRect(QRect(0, 0, 1, 1), Qt::white);
+ p1=0;
+ p2=0;
+ if (!fLeftImg.isEmpty())
+ if ((fOrientation & 1)==1) {p1=TempScaledLeft.height();} else {p1=TempScaledLeft.width();}
+ if (!fRightImg.isEmpty())
+ if ((fOrientation & 1)==1) {p2=TempScaledRight.height();} else {p2=TempScaledRight.width();}
+ p3=firstX-Offset-p1;
+ if ((fOrientation & 2)==2) {p4=0;} else {if (fExpanded) p4=0; else p4 = h1-h0;}
+ p5=tmpw+p1+p2;
+ if (fExpanded) p6=h1; else p6=h0;
+ if (p3<0) p3=0;
+ if (p5+p3>dw) p5=dw-p3;
+ if ((fOrientation & 1)==1)
+ {p6++;mp.fillRect(QRect(p4, p3, p6, p5), Qt::white);}
+ else
+ {mp.fillRect(QRect(p3, p4, p5, p6), Qt::white);}
+ if ((fOrientation & 2)==2)
+ {mp.fillRect(QRect(rw-1, rh-1, 1, 1), Qt::black);}
+ else
+ {
+ if ((fOrientation & 1)==1)
+ {mp.fillRect(QRect(0, rh-1, 1, 1), Qt::black);}
+ else
+ {mp.fillRect(QRect(rw-1, 0, 1, 1), Qt::black);}
+ }
+ if (initialization)
+ {
+ mp.fillRect(rect(), Qt::black);
+ mp.fillRect(QRect(0, 0, 1, 1), Qt::white);
+ }
+ mp.end();
+ setMask(bm);
+
+}
+
+
+void KoolDock::unhighlight()
+{
+ iOnClick = -1;
+ paintEvent(NULL);;
+}
+
+void KoolDock::mousePressEvent( QMouseEvent *e)
+{
+ mPress (e->x(), e->y(), e->button());
+}
+
+void KoolDock::mPress(int mx, int my, ButtonState srcButton)
+{
+ int i, j;
+ int iClicked;
+ Item *item;
+
+ if ((fOrientation & 1)==1)
+ {
+ i=mx;
+ mx=my;
+ my=i;
+ }
+ if ((fOrientation & 2)==2)
+ {my=h1-my;}
+ mx=mx-x1;
+
+ mx = mx+Offset;
+ iClicked=itemFromPoint(mx);
+
+ if (srcButton == Qt::LeftButton)
+ {
+ i=iClicked;
+
+ if ((my >= h1 - iy - iSize[i]) && (my <= h1 - iy))
+ {
+ if ((i >= 0) && (i < (int)items.count()))
+ {
+ items.at(i)->anim(FALSE);
+ WId id = items.at(i)->getId();
+ if (id == 0)
+ {
+ // if user clicked on a quick launcher, launch the app
+ // acknowledge on click
+ iOnClick = i;
+ paintEvent(NULL);
+
+ // run the app
+ debug(QString("clicked: %1").arg(items.at(i)->getName()));
+ if (items.at(i)->getName() == "KMenu")
+ {
+ // show K Menu
+ run(items.at(i)->getCommand());
+ }
+ else
+ {
+ // run the application with KDE feedback (loading icon)
+ // we need to run the .desktop file, since the command
+ // may be a url or another KIO stuff like 'system:/'
+ if (items.at(i)->getFilename()!="")
+ {
+ run(items.at(i)->getFilename());
+ }
+ else
+ {
+ run(items.at(i)->getCommand());
+ }
+ }
+ }
+ else
+ {
+ KWin::WindowInfo info;
+ KWin::WindowInfo winfo;
+ info = KWin::windowInfo(id,0,NET::WM2WindowClass);
+ QString name = info.visibleName();
+ QCString cls = info.windowClassClass();
+
+ if(i>=((int)items.count()-numSystray))
+ {
+ //KWin::forceActiveWindow(id);
+
+ KWin::deIconifyWindow(id);
+ kdDebug(0) << "Systray: " << id << " Name: " << name << " Estado: " << info.state() << endl;
+ //QMouseEvent me(e->type(), mapTo( topLevelWidget(), e->pos() ), e->globalPos(), e->button(), e->state() );
+
+ //QApplication::sendEvent(, &me);
+ }
+ else
+ {
+ // if user clicked on a running task's icon, activate it
+ cId = id;
+
+ if (fGrouping) //switches between windows when clicking on window group icon
+ {
+ //find currently focused window in witems list
+ int jl=-1,il;
+ bool getNext=false;
+ for (j=0, item = witems.at(0); item; j++, item = witems.next())
+ if (item->getId()==CurrentFocus) {jl=j;break;}
+
+ if (jl>=0)
+ {if(witems.at(jl)->getClass()==cls) getNext=true;}
+ else
+ {getNext=true;}
+
+ jl=-1;
+ if (getNext)
+ {
+ il=witems.count();
+ for (j=0, item = witems.at(0); item; j++, item = witems.next())
+ {
+ if (item->getIndex()<il)
+ {
+ if (item->getClass()==cls)
+ {
+ winfo = item->info;
+ if ((fMinimizedOnly==0 || winfo.isMinimized()) && (fCurrent==0 || winfo.isOnDesktop(KWin::currentDesktop())))
+ {jl=j;il=item->getIndex();}
+ }
+ }
+ }
+ }
+ else
+ {
+ il=-1;
+ for (j=0, item = witems.at(0); item; j++, item = witems.next())
+ {
+ if (item->getIndex()>il)
+ {
+ if (item->getClass()==cls)
+ {
+ winfo = item->info;
+ if ((fMinimizedOnly==0 || winfo.isMinimized()) && (fCurrent==0 || winfo.isOnDesktop(KWin::currentDesktop())))
+ {jl=j;il=item->getIndex();}
+ }
+ }
+ }
+ }
+ if (jl>=0) cId=witems.at(jl)->getId();
+ }
+
+ if (cId!=CurrentFocus)
+ {
+ //KWin::activateWindow(id);
+ activateApp();
+ }
+ else
+ {
+ minApp();
+ //KWin::iconifyWindow(id, true);
+ CurrentFocus = winId();
+ }
+ }
+ }
+ }
+ if(fHidden == 1 && fHideOnClick == 1) onleaveEvent(NULL); // it's configurable
+ }
+ }
+ else if(srcButton == Qt::RightButton)
+ {
+ // Right button.
+ i = iClicked;
+ advMenu->clear();
+ advMenu->insertItem(SmallIconSet("up"), i18n("Keep &Above Others"), this, SLOT(toggleAlwaysOnTop()),0,1);
+ advMenu->insertItem(SmallIconSet("down"), i18n("Keep &Below Others"), this, SLOT(toggleKeptBelowOthers()),0,2);
+ advMenu->insertItem(SmallIconSet("window_fullscreen"), i18n("&Fullscreen"), this, SLOT(toggleFullScreen()),0,3);
+
+ // Main KoolDock popup menu
+ popup->clear();
+ popup->insertTitle(i18n("Main Menu"));
+ popup->insertItem(SmallIcon("configure"), i18n("Edit Quick Launch &Menu"), this, SLOT(edit()));
+ popup->insertItem(SmallIcon("pencil"), i18n("Edit &Preferences"), this, SLOT(editPref()));
+ popup->insertItem(SmallIcon("redo"), i18n("&Reload configuration"), this, SLOT(restart()));
+ popup->insertSeparator();
+ popup->insertItem(SmallIcon("about_kde"), i18n("&About"), this, SLOT(about()));
+ popup->insertSeparator();
+ popup->insertItem(SmallIcon("exit"), i18n("E&xit"), this, SLOT(endProg()));
+ // End Main KoolDock Menu
+
+ if(fShowNav==1)
+ {
+ //Menu to be appended to MainMenu
+ godesk->clear();
+ for(int index=0; index<KWin::numberOfDesktops(); index++)
+ {
+ QString tmp=i18n("Desktop &%1").arg(index+1);
+ int menustate=godesk->insertItem(SmallIcon("forward"), tmp, index+1);
+ if(KWin::currentDesktop()==(index+1)) godesk->setItemEnabled(menustate, false);
+ }
+ //End godesk Menu
+
+ //Append Navigation Menu (godesk+Time)
+ QDateTime timeEntry=QDateTime::currentDateTime();
+ QString tmp=i18n("Navigation: Desktop %1").arg(KWin::currentDesktop());
+ popup->insertTitle(tmp);
+ popup->insertItem(SmallIcon("forward"), i18n("&Go to Desktop"), godesk);
+ popup->insertItem(SmallIcon("forward"), i18n("&Task List"), tasklist);
+ popup->insertSeparator();
+ popup->insertItem(SmallIcon("clock"), timeEntry.toString());
+ //End append Navigation Menu
+ }
+
+ if ((my >= h1 - iy - iSize[i]) && (my <= h1 - iy))
+ {
+ if ((i >= 0) && (i < (int)items.count()))
+ {
+ WId id = items.at(i)->getId();
+ if (id == 0)
+ {
+ // if user right clicked on a quick launch icon.
+ if (items.at(i)->getCommand() != "")
+ {
+ // Edit the .desktop file
+ if (i==0 && fShowKMenu)
+ {
+ // if user right clicked on the K menu, show the configuration menu.
+ popup->exec(QCursor::pos());
+ }
+ else
+ {
+ iGroup=false;
+ appMenu->clear();
+ appMenu->insertTitle(i18n("Item menu"));
+ iFilename = items.at(i)->getFilename();
+ appMenu->insertItem(SmallIcon("configure"), i18n("&Edit item"), this, SLOT(editItem()));
+ appMenu->insertItem(SmallIcon("fileclose"), i18n("&Delete item"), this, SLOT(removeItem()));
+ appMenu->insertSeparator();
+ appMenu->insertItem(SmallIcon("forward"), "&KoolDock", popup);
+ appMenu->exec(QCursor::pos());
+ }
+ }
+ }
+ else
+ {
+ // If user clicked on a running task icon, show the app menu.
+ // Pop-up menu for right-clicking on a taskbar icon.
+ cId = id;
+ KWin::WindowInfo winfo;
+ winfo = KWin::windowInfo(cId,0, NET::WM2WindowClass | NET::WM2AllowedActions);
+ int menustate;
+ //winfo.desktop() = -1 1 2 3 ...
+
+ //Begin Move to Desktop Menu
+ deskpopup->clear();
+ QString tmp=i18n("All desktops");
+ menustate=deskpopup->insertItem(SmallIcon("forward"), tmp, 0);
+ tmp=i18n("Current Desktop &%1").arg(KWin::currentDesktop());
+ menustate=deskpopup->insertItem(SmallIcon("forward"), tmp, KWin::currentDesktop());
+
+ deskpopup->insertSeparator();
+ for(int i=0; i<KWin::numberOfDesktops(); i++)
+ {
+ if(winfo.isOnDesktop(KWin::currentDesktop()) && (i+1)==KWin::currentDesktop())
+ {
+ continue;
+ }
+ else
+ {
+ if((i+1)!=KWin::currentDesktop())
+ {
+ QString tmpd=i18n("Desktop &%1").arg(i+1);
+ menustate=deskpopup->insertItem(SmallIcon("forward"), tmpd, i+1);
+ }
+ }
+ }
+ dIndex=winfo.desktop();
+ if(dIndex==-1) dIndex=0;
+ deskpopup->setItemChecked(dIndex, true);
+
+ //End Move to Desktop Menu
+
+ advMenu->setItemChecked(1,winfo.state() & NET::KeepAbove);
+ advMenu->setItemChecked(2,winfo.state() & NET::KeepBelow);
+ advMenu->setItemChecked(3,winfo.state() & NET::FullScreen);
+ advMenu->setItemEnabled(3,winfo.actionSupported(NET::ActionFullScreen));
+
+ appMenu->clear();
+ if (fGrouping && items.at(iClicked)->getCount()>0)
+ {
+ iGroup=true;
+ QCString cls = winfo.windowClassClass();
+ popups.clear();
+ for (j=0, item = witems.at(0); item; j++, item = witems.next())
+ {
+ if (item->getClass()==cls)
+ {
+ winfo = item->info;
+ if ((fMinimizedOnly==0 || winfo.isMinimized()) && (fCurrent==0 || winfo.isOnDesktop(KWin::currentDesktop())))
+ {
+ KPopupMenu *tmpMenu = new KPopupMenu;
+ createMenu(item->getId(), tmpMenu, &winfo);
+ connect(tmpMenu, SIGNAL(aboutToShow()), SLOT(menuShow()));
+ popups.append (tmpMenu);
+ appMenu->setItemParameter(appMenu->insertItem(*item->getIcon(iwBig2), item->getName(), tmpMenu), item->getId());
+ }
+ }
+ }
+ appMenu->insertSeparator();
+ appMenu->insertItem(SmallIcon("forward"), "&Move to Desktop", deskpopup);
+ appMenu->insertItem(i18n("Mi&nimize all"), this, SLOT(minAllApps()));
+ appMenu->insertItem(i18n("Ma&ximize all"), this, SLOT(maxAllApps()));
+ appMenu->insertItem(i18n("&Restore all"), this, SLOT(restAllApps()));
+ appMenu->insertItem(SmallIcon("fileclose"), i18n("&Close all"), this, SLOT(closeAllApps()));
+ }
+ else
+ {
+ iGroup=false;
+ createMenu(cId, appMenu, &winfo);
+ }
+ appMenu->insertSeparator();
+ appMenu->insertItem(SmallIcon("forward"), "KoolDock", popup);
+ appMenu->exec(QCursor::pos());
+ iGroup=false;
+ }
+ }
+ }
+ else
+ {
+ // Show the configuration popup menu if the user clicked on another place.
+ popup->exec(QCursor::pos());
+ }
+ deskpopup->clear();
+ godesk->clear();
+ //tasklist->clear();
+ popup->clear();
+ popups.clear();
+ appMenu->clear();
+ }
+
+}
+
+void KoolDock::mMoveEvent( int ex, int ey)
+{
+ if (!fExpanded) return;
+ unsigned int i;
+ int mx, my, dmx;
+ int dx;
+ unsigned int k;
+ int cur_cx_desk;
+ int p1=0,p2=0;
+
+ if ((fOrientation & 1)==1)
+ {
+ mx=ex;
+ ex=ey;
+ ey=mx;
+ }
+ if ((fOrientation & 2)==2)
+ {ey=h1-ey;}
+
+ if (w0>dw)
+ {
+ mx=w0*ex/dw;
+ }
+ else
+ {
+ mx = ex-x0;
+ }
+ dmx=abs(mx - last_mx);
+ last_mx = mx;
+ if (w1>dw)
+ {
+ Offset=(w1-dw)*mx/w0;
+ ex=ex+Offset;
+ }
+ else
+ {
+ Offset=0;
+ }
+
+ if (fSteppy==1) last_ncx=mx=(int)(last_ncx*0.7+cx[(ex - x0 - iSpace)/iDist]*0.3);
+
+ if (!mkbigTimer->isActive() && !mksmallTimer->isActive())
+ {
+ Ybase=0;
+ }
+ if (dmx >= UPDATE_DIST && fExpanded || mkbigTimer->isActive() || mksmallTimer->isActive())
+ {
+ ii_first = 0;
+ ii_last = items.count() - 1;
+ for (i = 0; i < items.count(); i++)
+ {
+ dx = abs(cx[i] - mx);
+ if (dx < funcW)
+ {
+ iSize[i] = func(dx);
+ }
+ else
+ {
+ iSize[i] = iwSmall;
+ if (cx[i] < mx)
+ {
+ ii_first = min(i + 1, items.count() - 1);
+ }
+ else if (ii_last == (int)items.count() - 1)
+ {
+ ii_last = max(i - 1, 0);
+ }
+ }
+ }
+
+ cur_cx[0] = iSpace + iSize[0]/2;
+
+ for(i=1; i < items.count() + 1; i++)
+ {
+ cur_cx[i] = cur_cx[i-1] + (iSize[i] + iSize[i-1])/2 + iSpace;
+ }
+ for(k=0; (k < items.count()-1) && (mx > cx[k]); k++);
+
+ cur_cx_desk = ((int)((iwBig2 - iwSmall)*0.6*fAmount) + iSpace*2)/2 + cx[k] + (int)((cx[k] - mx)*(func(0) + func(iDist) - 2*iwSmall)/(2*iDist));
+ adjust = cur_cx_desk - cur_cx[k];
+
+ if (w1<dw && (!mkbigTimer->isActive() || (zoomTicksB>1 && mkbigTimer->isActive())))
+ {
+ if (!initialization && menuCount==0)
+ {
+ if (mx < 0) onleaveEvent(NULL);
+ if (lastX>0) if (mx > tmpw+firstX-x1-(w1-w0)/2) onleaveEvent(NULL);
+ }
+ }
+ if (ii_last < (int)items.count() - 1)
+ {
+ cur_cx[items.count() - 1] = w1*zoomVal/fzoomSpeed + (eoffset-soffset+(w1+w0)/2)*(fzoomSpeed-zoomVal)/(fzoomSpeed) - iwSmall/2 - iSpace - adjust;
+ for (i = items.count() - 2; (int)i >= ii_last + 1; i--)
+ {
+ cur_cx[i] = cur_cx[i+1] - iDist;
+ }
+ if (ii_last == 0) cur_cx[0] = cur_cx[1] - iDist - (iSize[0] - iSize[1])/2;
+ }
+
+ for (i = 0; (int)i < ii_first; i++)
+ {
+ cur_cx[i]+=(int)((soffset-eoffset+(w1-w0)/2)*(fzoomSpeed-zoomVal)/fzoomSpeed);
+ }
+ paintEvent(NULL);
+ }
+
+ /*if (mx<0)
+ {
+ ii_first = 0;
+ ii_last = items.count() - 1;
+}*/
+ my = ey;
+ mx = ex-x1;
+
+ i=itemFromPoint(mx);
+ if ((int)i < numLaunchers)
+ {
+ mouseOnLauncher=true;
+ }
+ else
+ {
+ mouseOnLauncher=false;
+ }
+
+ if(showNames == 1 && iwBig == iwBig2 && dmx<10 )
+ {
+ // get the name of the item at the mouse position
+ if (!mksmallTimer->isActive() && !mkbigTimer->isActive())
+ {
+ QPoint pointer;
+ pointer = QCursor::pos();
+ if (i < MAX_ICONS+1)
+ {
+ if (((int)i >= 0) && (i < items.count()))
+ {
+ nom = items.at(i)->getName();
+ }
+ else
+ {nom = "";}
+ }
+
+ if(nom!=aux)
+ {
+ xosd_st=0;
+ }
+ if(xosd_st==0)
+ {
+ xosdw->setText(nom);
+ xosd_st=1;
+ }
+ aux = nom;
+ mx=mx-Offset;
+ if (fOrientation==0)
+ {
+ p1=mx+x1 - (xosdw->w/2);
+ p2=dh - h - xosdw->h;
+ }
+ if (fOrientation==1)
+ {
+ p1=dh-h1-xosdw->w;
+ p2=mx- xosdw->h/2+x1;
+ }
+ if (fOrientation==2)
+ {
+ p1=mx+x1 - (xosdw->w/2);
+ p2=h1;
+ }
+ if (fOrientation==3)
+ {
+ p1=h1;
+ p2=mx- xosdw->h/2+x1;
+ }
+ if ((fOrientation & 1)==0)
+ {
+ if (p1<0) p1=0;
+ if (p1+xosdw->w>dw) p1=dw-xosdw->w;
+ }
+ if (xinerama==1) p1+=XinPreviousWidth;
+ if (!initialization && (xosdw->pos().x()!=p1 || xosdw->pos().y()!=p2)) xosdw->move2(p1, p2);
+ }
+ }
+ if (dmx>=10)
+ {
+ xosdw->move2(0,rdh);
+ }
+
+}
+
+//Mouse Wheel now switches desktops (away from user desktop+1, towards user desktop-1)
+//-Francisco
+void KoolDock::wheelEvent(QWheelEvent *e)
+{
+ if(e->delta()==120 && (KWin::currentDesktop()<KWin::numberOfDesktops()))
+ {
+ KWin::setCurrentDesktop(KWin::currentDesktop()+1);
+ }
+ if((e->delta()==-120) && (KWin::currentDesktop()>0))
+ {
+ KWin::setCurrentDesktop(KWin::currentDesktop()-1);
+ }
+}
+
+
+void KoolDock::mkbigTimerDo()
+{
+ int timing;
+
+ zoomTicksB++;
+ iwBig = iwBig2*zoomVal/fzoomSpeed+iwSmall*(fzoomSpeed-zoomVal)/fzoomSpeed; // frames to grow up the dockbar
+ if (iwBig<iwSmall) iwBig=iwSmall;
+ zoomVal=zoomVal+zoomStepB;
+
+ if (fzoomSpeed<=zoomVal)
+ {
+ zoomVal=fzoomSpeed;
+ iwBig = iwBig2;
+ mkbigTimer->stop();
+ last_mx=-1;
+ debug(QString("Stopped mkbigTimer"));
+ if (zoomTicksB>=neededTicksB && fSpeed)
+ {
+ //performace check
+ timing =perf->elapsed();
+ zoomStepB=zoomStepB*timing/fzoomSpeed;
+ if (zoomStepB<=0) zoomStepB=1;
+ if (zoomStepB>200) zoomStepB=200;
+ neededTicksB=(int)((fzoomSpeed/zoomStep)-1)*zoomStep/zoomStepB;
+ }
+ zoomTicksB=0;
+ zoomTicksS=0;
+ if (initialization)
+ {
+ pTest();
+ }
+ else
+ {
+ if (fHidden==1)
+ {mTimer->start(fMouseTimer, FALSE);}
+ else
+ {mTimer->changeInterval(fMouseTimer);}
+ }
+ }
+ iy = (iDist - iwSmall) / 2;
+ funcH = iwBig - iwSmall;
+ if (fHidden == 1) Ybase = iwBig2*(fzoomSpeed-zoomVal)/fzoomSpeed;
+ mMoveEvent(QWidget::mapFromGlobal ( QCursor::pos() ).x(), QWidget::mapFromGlobal ( QCursor::pos() ).y());
+ paintEvent(NULL);
+}
+
+void KoolDock::mksmallTimerDo()
+{
+ zoomTicksS++;
+ iwBig = iwBig2*zoomVal/fzoomSpeed+iwSmall*(fzoomSpeed-zoomVal)/fzoomSpeed;
+ if (iwBig<iwSmall) iwBig=iwSmall;
+ if (0>zoomVal)
+ {
+ zoomVal=0;
+ mksmallTimerstop();
+ }
+ else
+ {
+ if (fHidden == 1) Ybase = iwBig2*(fzoomSpeed-zoomVal)/fzoomSpeed;
+ funcH = iwBig - iwSmall;
+ iy = (iDist - iwSmall) / 2;
+ mMoveEvent(lastXPos,lastYPos);
+ paintEvent(NULL);
+ }
+ zoomVal=zoomVal-zoomStepS;
+}
+
+void KoolDock::mksmallTimerstop()
+{
+ zoomVal=0;
+ if (fStayBelow==1 && fHidden==0) setDockBelow();
+ int i;
+ mksmallTimer->stop();
+ xosdw->move2(0,rdh);
+ fExpanded=FALSE;
+ debug(QString("Stopped mksmallTimer"));
+ if (!initialization)
+ {if (fHidden==0) {mTimer->changeInterval(250);} else {mTimer->stop();}}
+
+ w = w0;
+ x = x0;
+ h = h0;
+
+ // normalize the dock
+ for (i = 0; i < (int)items.count() + 1; i++)
+ {
+ iSize[i] = iwSmall;
+ cur_cx[i] = cx[i];
+ }
+
+ ii_first = 0;
+ ii_last = items.count() - 1;
+ ii_first = 0;
+ ii_last = items.count() - 1;
+ adjust = 0;
+ iwBig = iwBig2;
+ if (fHidden == 0)
+ {
+ move2( x, dh - h );
+ resize2(w, h);
+ }
+ else
+ {
+ move( 0, rdh);
+ resize2(w, h);
+ }
+ oldfirstX=x;
+ oldtmpw=w;
+ paintEvent(NULL);
+ if (zoomTicksS>=neededTicksS && fSpeed)
+ {
+ //performace check
+ int timing =perf->elapsed();
+ zoomStepS=zoomStepS*timing/fzoomSpeed;
+ if (zoomStepS<=0) zoomStepS=1;
+ if (zoomStepS>200) zoomStepS=200;
+ neededTicksS=(int)((fzoomSpeed/zoomStep)-1)*zoomStep/zoomStepS;
+ }
+ zoomTicksB=0;
+ zoomTicksS=0;
+ if (initialization) pTest();
+}
+
+void KoolDock::enterEvent(QEvent *)
+{
+ if (fExpanded==TRUE && !mksmallTimer->isActive() || mkbigTimer->isActive()) return;
+ if (fStayBelow==1 && fHidden==0) setDockAbove();
+ if (mksmallTimer->isActive()==TRUE) mksmallTimer->stop();
+
+ w=w1;
+ x=x1;
+ h=h1;
+
+ if (!fExpanded)
+ {
+ getTopBG();
+ if (dockOpacity > 0) {bitBlt(&bottomBgf,0,0,&bottomBg);KPixmapEffect::fade(bottomBgf, ((float)dockOpacity)*0.01, bgColor);}
+
+ adjust=x0-x1;
+ iwBig = iwSmall;
+ }
+
+ resize2(w,h);
+ move2(x,dh-h);
+
+ funcH = iwBig - iwSmall;
+ iy = (iDist - iwSmall) / 2;
+
+ fExpanded=TRUE;
+ oldfirstX=x;
+ oldtmpw=w;
+ paintEvent(NULL);
+ debug("enterEvent");
+ zoomTicksB=0;
+ zoomTicksS=0;
+
+ perf->start();
+ mkbigTimer->start(zoomStep, FALSE);
+}
+
+void KoolDock::onleaveEvent(QEvent *)
+{
+ if (menuCount>0) return;
+ if (mksmallTimer->isActive()==TRUE) return;
+ zoomTicksB=0;
+ zoomTicksS=0;
+ perf->start();
+ debug("onleaveEvent");
+ lastXPos = QWidget::mapFromGlobal ( QCursor::pos() ).x();
+ lastYPos = QWidget::mapFromGlobal ( QCursor::pos() ).y();
+ if (mkbigTimer->isActive())
+ {
+ mkbigTimer->stop();
+ }
+ mksmallTimer->start(zoomStep, FALSE);
+
+ if(showNames==1)
+ {
+ xosdw->move2(0,rdh);
+ xosd_st=0;
+ }
+ if(fHidden==1)
+ {
+ trackTimer->start(250, FALSE);
+ }
+}
+
+
+void KoolDock::edit()
+{
+ editPref();
+ setupdlg->tabWidget->setCurrentPage(3);
+}
+
+
+void KoolDock::run(QString command)
+{
+
+ QString exec;
+
+ kapp->propagateSessionManager();
+
+ _filterData->setData( command.stripWhiteSpace() );
+ QStringList filters;
+ filters << "kurisearchfilter" << "kshorturifilter";
+ KURIFilter::self()->filterURI( *(_filterData), filters );
+
+ QString cmd = (_filterData->uri().isLocalFile() ? _filterData->uri().path():_filterData->uri().url());
+ // Nothing interesting. Quit!
+ if(cmd.isEmpty())
+ {
+ KMessageBox::sorry(0L, i18n("You have to enter a command to execute or a URL to be opened first."));
+ return;
+ }
+ else
+ {
+ switch( _filterData->uriType() )
+ {
+ case KURIFilterData::LOCAL_FILE:
+ case KURIFilterData::LOCAL_DIR:
+ case KURIFilterData::NET_PROTOCOL:
+ case KURIFilterData::HELP:
+ {
+ if (useList)
+ {
+ KApplication::startServiceByDesktopPath (command, lstDrop, &QString(0) ,&QCString(0) ,0 , "" ,true);
+ }
+ else
+ {
+ (void) new KRun( _filterData->uri() );
+ }
+ return;
+ }
+ case KURIFilterData::EXECUTABLE:
+ case KURIFilterData::SHELL:
+ {
+ exec = cmd;
+ if( _filterData->hasArgsAndOptions() ) cmd += _filterData->argsAndOptions();
+ break;
+ }
+ case KURIFilterData::UNKNOWN:
+ case KURIFilterData::ERROR:
+ default:
+ KMessageBox::sorry( 0, i18n("<qt>The program name or command <b>%1</b>\n"
+ "cannot be found. Please correct the command\n"
+ "or URL and try again</qt>").arg( cmd ) );
+ return;
+ }
+ }
+ if(KRun::runCommand( cmd, exec, "" ))
+ {
+ return;
+ }
+ else
+ {
+ KMessageBox::sorry( 0, i18n("<qt>Could not run <b>%1</b>.\nPlease correct"
+ " the command or URL and try again.</qt>").arg( cmd ) );
+ return;
+ }
+}
+
+
+// Parabolic function
+int KoolDock::func(int x)
+{
+ int res = iwBig - (int)((x*x*funcH)/(funcW*funcW));
+ return res;
+}
+int KoolDock::func2(int x)
+{
+ int res;
+ if (x<funcW)
+ {res = iwBig - (int)((x*x*funcH)/(funcW*funcW));}
+ else
+ {res=iwSmall;}
+ return res;
+}
+
+//Here we add windows to the taskbar
+void KoolDock::addWindows()
+{
+ // Show task bar
+ int index;
+ if(fShowTaskbar)
+ {
+ KWin::WindowInfo info;
+ QValueList<WId>::ConstIterator it;
+ int i;
+ Item *item;
+
+ //First we removed every taskbar item
+ int count=items.count()-numSystray;
+
+ for (i=0, item = witems.at(0); item; i++, item = witems.next())
+ {
+ item->setCount(0);
+ }
+ for(i=count; i>=numLaunchers; i--)
+ {
+ items.remove(i);
+ }
+
+ //Lets go through all the windows
+ if(firstTime)
+ {
+ for (it=wm->windows().begin(); it != wm->windows().end(); ++it)
+ {
+ addwTask(*it);
+ }
+ firstTime=false;
+ }
+
+ for (i=0, item = witems.at(0); item; i++, item = witems.next())
+ {
+ item->setId(item->getId());
+ info=item->info;
+ index=info.desktop();
+ //If it belongs to the current desktop, lets add it
+ if (info.valid())
+ {
+ if(fCurrent==0 || index==KWin::currentDesktop() || index==-1)
+ {
+ addTask(item->getId(), i);
+ }
+ }
+ }
+ for (i=0, item = witems.at(0); item; i++, item = witems.next())
+ if (!item->info.valid()) witems.remove(i);
+ doUpdateGeometry();
+ }
+ CurrentFocus=wm->activeWindow();
+
+ updTaskList();
+}
+
+void KoolDock::workAreaChanged()
+{
+ int mdw,mdh,mdt;
+ if (xinerama==0)
+ {
+ mdw=QApplication::desktop()->width();
+ mdh = QApplication::desktop()->height();
+ }
+ else
+ {
+ mdw=leftRes;
+ mdh=XinDesiredHeight;
+ }
+ if ((fOrientation & 1)==1)
+ {
+ mdt=mdw;mdw=mdh;mdh=mdt;
+ }
+ if (dw!=mdw || dh!=mdh) reload();
+}
+
+//What happens when we change desktops
+void KoolDock::currentDesktopChanged(int)
+{
+ if (initialization) return;
+ funcH = iwBig2 - iwSmall;
+ iwBig = iwBig2;
+ addWindows();
+ doUpdateGeometry();
+ move(0,rdh);
+ getTopBG();
+ if (fExpanded) move2(x1,dh-h1);
+ if (fHidden==0 && !fExpanded) move2(x0,dh-h0);
+ xosdw->move2(0,rdh);
+ oldDesktop=KWin::currentDesktop();
+}
+
+void KoolDock::windowAdded(WId id)
+{
+ if (initialization) return;
+ if (fShowNav)
+ {
+ addToTaskList(id);
+ }
+ if (!fShowTaskbar) return;
+ KWin::WindowInfo info;
+ info = KWin::windowInfo(id);
+ QString name = info.name();
+ if (name == "kooldock xosd window")
+ {
+ debug("Not adding OSD window to taskbar.");
+ return;
+ }
+ if (name == "kooldock")
+ {
+ debug("Not adding ourselves.");
+ return;
+ }
+
+ debug(QString("windowAdded(%1)").arg(name));
+
+ if (addwTask(id)) addToTaskList(id);
+ addTask(id);
+ doUpdateGeometry();
+
+}
+
+void KoolDock::windowRemoved(WId id)
+{
+ if (initialization) return;
+ if (fShowNav)
+ {
+ rmFromTaskList(id);
+ }
+ if (!fShowTaskbar) return;
+ unsigned int i;
+ Item *item;
+ debug(QString("windowRemoved(%1)").arg(id));
+
+ KWin::WindowInfo info;
+ info = KWin::windowInfo(id);
+ QString name = info.name();
+
+ if (name == "kooldock xosd window")
+ {
+ debug("Not removing OSD window from taskbar.");
+ return;
+ }
+ for (i=0; i < witems.count(); i++ )
+ {
+ item = witems.at(i);
+ if(item->getId() == id)
+ {
+ rmTask(id,i);
+ rmwTask(i);
+ rmFromTaskList(id);
+ break;
+ }
+ }
+ doUpdateGeometry();
+}
+
+void KoolDock::windowChanged(WId id, unsigned int properties)
+{
+ if (initialization) return;
+ if (fShowNav)
+ {
+ rmFromTaskList(id);
+ addToTaskList(id);
+ }
+ if (!fShowTaskbar) return;
+ Item *item;
+ bool iconChanged, nameChanged;
+ int i;
+ bool toRepaint = FALSE;
+ bool hasfound=FALSE;
+ int iFound;
+
+ KWin::WindowInfo winfo;
+ winfo = KWin::windowInfo(id);
+
+ iconChanged = (properties & NET::WMIcon);
+ nameChanged = ((properties & NET::WMName) | (properties & NET::WMVisibleName));
+
+ properties = 0;
+
+ if (id != winId() ) //not add kooldock window
+ {
+ if (ignored(winfo.name()) == false)
+ {
+ for (i=0, item = witems.at(0); item; i++, item = witems.next())
+ {
+ //find item in witem (window item) list
+ if (item->getId()==id)
+ {
+ hasfound=true; //remember whether item was found, and its index
+ iFound=i;
+
+ //Handle icon/name changes
+ if (iconChanged) {item->setIcon(KWin::icon(id, iwBig2, iwBig2, TRUE));toRepaint=true;}
+ // FIXME: on gcc2.95 item->setName() falls on a loop and gets a segfault. (?)
+#ifndef _GCC295
+ if (nameChanged) item->setName(winfo.name());
+#endif
+ if ((fShowNotification) && (id != wm->activeWindow()))
+ {
+ debug(QString("windowChanged (inactive window changed)"));
+ // An inactive window's title changed
+ // notify user
+ item->anim(TRUE);
+ if(onChangeTimer == NULL)
+ {
+ onChangeTimer = new QTimer(this);
+ connect( onChangeTimer, SIGNAL(timeout()), this, SLOT(onChangeTimerTicked()));
+ onChangeTimer->start( ON_CHANGE_ANIM_INTERVAL, FALSE );
+ }
+ }
+ item->setId(id);
+ break;
+ }
+ }
+ //If window is on window list, and user haven't changed desktop recently...
+ if (hasfound && oldDesktop==KWin::currentDesktop())
+ {
+ if (witems.at(iFound)->getCount()==0) //window icon is not visible on kooldock
+ {
+ //... check whether it can be added
+ if ((fCurrent==0 || winfo.isOnDesktop(KWin::currentDesktop())) && (fMinimizedOnly==0 || winfo.isMinimized())) {toRepaint|=addTask(id);}
+ }
+ else
+ {
+ //... check whether it can be removed
+ if ((fCurrent==1 && !winfo.isOnDesktop(KWin::currentDesktop())) || (fMinimizedOnly==1 && !winfo.isMinimized())) {toRepaint|=rmTask(id, iFound);}
+ }
+ rmFromTaskList(id);
+ addToTaskList(id);
+ }
+ if(toRepaint) {doUpdateGeometry();paintEvent(NULL);}
+ }
+ }
+}
+
+void KoolDock::systemTrayWindowAdded(WId id)
+{
+ if (initialization) return;
+ if(fSystray==1)
+ {
+ KWin::WindowInfo info;
+ info = KWin::windowInfo(id);
+ QString name = info.visibleName();
+
+ if (ignored(info.name()) == false)
+ {
+ QPixmap pix = KWin::icon(id, iwBig2, iwBig2, TRUE);
+ numSystray++;
+ items.append(new Item(pix, id, name, iwSmall, iwBig2));
+ debug(QString("addSystem Tray(%1)").arg(info.visibleName()));
+ doUpdateGeometry();
+ }
+ }
+}
+
+void KoolDock::systemTrayWindowRemoved(WId id)
+{
+ if (initialization) return;
+ if(fSystray==1)
+ {
+ numSystray--;
+ if(numSystray<0) numSystray=0;
+ windowRemoved(id);
+ }
+}
+
+void KoolDock::activeWindowChanged(WId id)
+{
+ if (initialization) return;
+ if (id != winId()) CurrentFocus = id;
+
+ // end notify animation
+ unsigned int i;
+ for (i=0; i<=items.count()-1; i++)
+ {
+ if (items.at(i)->getId() == id)
+ {
+ items.at(i)->anim(FALSE);
+ }
+ }
+
+ bool toDelete = TRUE;
+ for (i=0; i<=items.count()-1; i++)
+ {
+ if (items.at(i)->isAnimed()) toDelete = FALSE;
+ }
+
+ if (toDelete && onChangeTimer != NULL)
+ {
+ delete(onChangeTimer);
+ onChangeTimer = NULL;
+ debug("Deleted onChangeTimer");
+ }
+ if (fGrouping) movetoback(id);
+ paintEvent(NULL);
+}
+
+void KoolDock::doUpdateGeometry()
+{
+ int dw1, dw0;
+ unsigned int i;
+ iwBig=iwBig2;
+ for (i=0;i<items.count();i++)
+ {
+ cx[i] = iSpace + i*iDist + iwSmall/2;
+ iSize[i]=iwSmall;
+ if (!fExpanded) cur_cx[i]=cx[i];
+ }
+ w0 = 2*iSpace + (items.count()-1)*iDist +iwSmall+soffset*2-eoffset*2;
+ w = w0;
+ w1 = w0 + (int)((iwBig - iwSmall)*0.6*fAmount) + iSpace*2;
+ x1 = (dw - w1) * fpercentPos / 100;
+ if (w1>dw) {x1=0;}
+ if (w1>dw) {dw1=dw;} else {dw1=w1;}
+ if (w0>dw) {dw0=dw;} else {dw0=w0;}
+ x0 = (dw1 - dw0)/2 + x1;
+ //x0 = (dw - w0) * fpercentPos / 100;
+ //if(xinerama==1) {if (fOrientation && 1)==0) {x0=x0+XinPreviousWidth; x1=x1+XinPreviousWidth;}}
+ x = x0;
+ h0 = 2*iy + iwSmall;
+ h = h0;
+ h1 = 2*iy + iwBig;
+
+ adjust = 0;
+
+ if(fHidden == 0)
+ {
+ resize2(w, h);
+ move2( x, dh - h );
+ }
+
+ //if ((fOrientation & 1)==1) {offscr = QPixmap(h1, w1);} else {offscr = QPixmap(w1, h1);}
+
+ ii_first = 0;
+ ii_last = items.count() - 1;
+ ii_first = 0;
+ ii_last = ii_last;
+
+ if (fExpanded==TRUE)
+ {
+ w=w1;
+ h=h1;
+ x=x1;
+ funcH = iwBig2 - iwSmall;
+ iy = (iDist - iwSmall) / 2;
+ if(fHidden==1)
+ {
+ move(0,rdh);
+ getBottomBG();
+ getTopBG();
+ //move(rx,ry);
+ }
+ resize2(w, h);
+ move2( x, dh - h );
+ }
+ else if (fHidden==1)
+ {
+ move(0,rdh);
+ }
+ debug(QString("w1: %1").arg(w1));
+ debug(QString("x1: %1").arg(x1));
+ if (fExpanded) {last_mx=-10; mMoveEvent(lastXPos,lastYPos);}
+ oldfirstX=x;
+ oldtmpw=w;
+ paintEvent(NULL);
+ xosdw->move2(0,rdh);
+
+}
+
+bool KoolDock::rmTask(WId id, int iFound)
+{
+ Item *item, *witem, *fitem;
+ int i, j;
+ int miFound;
+ bool hasfound;
+ hasfound=false;
+ miFound=iFound;
+ QCString cls;
+
+ if (miFound==-1)
+ {
+ for (i=0, item = witems.at(0); item; i++, item = witems.next())
+ {
+ if (item->getId()==id)
+ {hasfound=true;miFound=i;break;}
+ }
+ }
+ else
+ {
+ hasfound=true;
+ }
+ if (hasfound)
+ {
+ fitem=witems.at(miFound);
+ if (fitem->getId()==id)
+ {
+ if (fitem->getCount()==1)
+ {
+ cls=fitem->getClass();
+ //Removing item
+ for (i=numLaunchers, item = items.at(numLaunchers); item; i++, item = items.next())
+ {
+ if (fGrouping)
+ {
+ if (cls==item->getClass())
+ {
+ int cnt=item->getCount();
+ //KMessageBox::information(0,QString("%1").arg(cnt));
+ fitem->setCount(0);
+ if (cnt==0)
+ {
+ items.remove(i);
+ return true;
+ }
+ else
+ {
+ int ir, il=-1, im=-1;
+ int jl=-1,jm=-1;
+ ir=fitem->getIndex();
+ for (j=0, witem = witems.at(0); witem; j++, witem = witems.next())
+ {
+ if (witem->getClass()==cls)
+ {
+ if (witem->getIndex()<ir && witem->getIndex()>il)
+ {il=witem->getIndex(); jl=witem->getId();}
+ if (witem->getIndex()>im)
+ {im=witem->getIndex(); jm=witem->getId();}
+ }
+ }
+ item->setCount(cnt-1);
+ if (jl>=0) {item->setId(jl);return true;}
+ if (jm>=0) {item->setId(jm);}
+ return true;
+ }
+ }
+ }
+ else
+ {
+ if (item->getId()==id)
+ {
+ items.remove(i);
+ witems.at(miFound)->setCount(0);
+ return true;
+ }
+ }
+ }
+ }
+ }
+ }
+ return false;
+}
+
+void KoolDock::rmwTask(int iFound)
+{
+ int i, ind;
+ Item *item;
+
+ ind=witems.at(iFound)->getIndex();
+ for (i=0, item = witems.at(0); item; i++, item = witems.next())
+ {
+ if (item->getIndex()>ind) item->setIndex(item->getIndex()-1);
+ }
+ witems.remove(iFound);
+}
+
+bool KoolDock::addTask(WId id, int iFound)
+{
+ Item *item;
+ int i ;
+ int miFound;
+ bool hasfound;
+ hasfound=false;
+ miFound=iFound;
+
+ KWin::WindowInfo info;
+ info = KWin::windowInfo(id,0,NET::WM2WindowClass);
+ const int SUPPORTED_WINDOW_TYPES = NET::NormalMask | NET::DesktopMask | NET::DockMask | NET::ToolbarMask | NET::MenuMask | NET::DialogMask | NET::OverrideMask | NET::TopMenuMask | NET::UtilityMask | NET::SplashMask;
+ QString name = info.visibleName();
+ QCString cls = info.windowClassClass();
+ if (info.windowType(SUPPORTED_WINDOW_TYPES) == NET::Normal || info.windowType(SUPPORTED_WINDOW_TYPES) == NET::Override || info.windowType(SUPPORTED_WINDOW_TYPES) == NET::Dialog || info.windowType(SUPPORTED_WINDOW_TYPES) == NET::Unknown)
+ {
+ if (info.isMinimized() || fMinimizedOnly==0)
+ if (fCurrent==0 || info.isOnDesktop(KWin::currentDesktop()))
+ if ((info.state() & NET::SkipTaskbar) == 0)
+ if (ignored(info.name()) == false)
+ {
+ if (miFound==-1)
+ {
+ for (i=0, item = witems.at(0); item; i++, item = witems.next())
+ {
+ if (item->getId()==id)
+ {hasfound=true;miFound=i;break;}
+ }
+ }
+ else
+ {
+ hasfound=true;
+ }
+
+ if (hasfound)
+ {
+ if (witems.at(miFound)->getId()==id)
+ {
+ if (witems.at(miFound)->getCount()==0)
+ {
+ witems.at(miFound)->setCount(1);
+ if (fGrouping)
+ {
+ hasfound=false;
+ for (i=numLaunchers, item = items.at(numLaunchers); item; i++, item = items.next())
+ {
+ if (item->getClass()==cls)
+ {
+ item->setCount(item->getCount()+1);
+ return true;
+ }
+ }
+ }
+ QPixmap pix;
+ items.insert(items.count()-numSystray, new Item(pix, id, name, iwSmall, iwBig2, TRUE));
+ items.at(items.count()-1)->setClass(cls);
+ debug(QString("addTask(%1)").arg(info.visibleName()));
+ return true;
+ }
+ }
+ }
+ }
+ }
+ return false;
+}
+
+bool KoolDock::addwTask(WId id)
+{
+ KWin::WindowInfo info;
+ info = KWin::windowInfo(id,0,NET::WM2WindowClass);
+ const int SUPPORTED_WINDOW_TYPES = NET::NormalMask | NET::DesktopMask | NET::DockMask | NET::ToolbarMask | NET::MenuMask | NET::DialogMask | NET::OverrideMask | NET::TopMenuMask | NET::UtilityMask | NET::SplashMask;
+ QString name = info.visibleName();
+ QCString cls = info.windowClassClass();
+
+ if (info.windowType(SUPPORTED_WINDOW_TYPES) == NET::Normal || info.windowType(SUPPORTED_WINDOW_TYPES) == NET::Override || info.windowType(SUPPORTED_WINDOW_TYPES) == NET::Dialog || info.windowType(SUPPORTED_WINDOW_TYPES) == NET::Unknown)
+ {
+ if ((info.state() & NET::SkipTaskbar) == 0)
+ {
+ if (ignored(info.name()) == false)
+ {
+ QPixmap pix = KWin::icon(id, iwBig2, iwBig2, TRUE);
+ witems.append(new Item(pix, id, name, iwSmall, iwBig2));
+ witems.at(witems.count()-1)->setClass(cls);
+ witems.at(witems.count()-1)->setIndex(witems.count()-1);
+ return true;
+ }
+ }
+ }
+ return false;
+}
+
+void KoolDock::loadConf()
+{
+ KConfig *config = KGlobal::config();
+
+ config->setGroup("kooldock");
+ fShowTaskbar = config->readNumEntry("ShowTaskbar", 0);
+ fMinimizedOnly = config->readNumEntry("MinimizedOnly", 0);
+ fShowNotification = config->readNumEntry("ShowNotification", 0);
+ showNames = config->readNumEntry("showNames", 1);
+ fCleaner = config->readNumEntry("Cleaner", 0);
+ xosdFont = config->readEntry("xosdFont", "Tahoma");
+ xosdColor = config->readEntry("xosdColor", "#f1f1f1");
+ xosdShadowColor = config->readEntry("xosdShadowColor", "#000000");
+ xosdSize = config->readNumEntry("xosdSize", 17);
+ xosdShadowOffset = config->readNumEntry("xosdShadowOffset", 2);
+ fShowBorders = config->readNumEntry("ShowBorders", 0);
+ borderColor = QColor(config->readEntry("BorderColor", "#b1c4de"));
+ iwSmall = config->readNumEntry("SmallIconSize", 32);
+ iwBig = config->readNumEntry("BigIconSize", 90);
+ fAmount = config->readNumEntry("BigIconAmount", 5);
+ if (fAmount>10) fAmount=10;
+ if (fAmount<4) fAmount=4;
+ fShowKMenu = config->readNumEntry("ShowKMenu", 0);
+ fUseKBFX = config->readNumEntry("KBFX", 0);
+ dockOpacity = config->readNumEntry("DockOpacity", 0);
+ iSpace = config->readNumEntry("iSpace", 10);
+ if (dockOpacity < 0)
+ {
+ dockOpacity = 0;
+ }
+ else if (dockOpacity > 100)
+ {
+ dockOpacity = 100;
+ }
+ bgColor = QColor(config->readEntry("BackgroundColor", "#ccccff"));
+ sepColor = QColor(config->readEntry("SeparatorColor", "#000000"));
+ fPriority = config->readNumEntry("Priority", 3);
+ fMouseTimer = config->readNumEntry("MouseTimer", 25);
+ fClipping = config->readNumEntry("Clipping", 0);
+ fClipIcons = config->readNumEntry("ClipIconArea", 0);
+ fpercentPos = config->readNumEntry("percentPos", 50);
+ fOrientation = config->readNumEntry("fOrientation", 0);
+ if (fOrientation<0 || fOrientation>3) fOrientation=0;
+ fzoomSpeed = config->readNumEntry("zoomSpeed", 20);
+ fSpeed = config->readNumEntry("speedControl", 0)==1;
+ //fSpeed=true;
+ if (fzoomSpeed>10)
+ {
+ if (fzoomSpeed>100)
+ {zoomStep=10;}
+ else
+ {zoomStep=fzoomSpeed/10;}
+ }
+ else
+ {zoomStep=1;}
+ if (fSpeed)
+ {
+ zoomStepB=200;
+ zoomStepS=200;
+ neededTicksB=1;
+ neededTicksS=1;
+ }
+ else
+ {
+ zoomStepB=zoomStep;
+ zoomStepS=zoomStep;
+ neededTicksB=(int)(fzoomSpeed/zoomStep)-1;
+ neededTicksS=(int)(fzoomSpeed/zoomStep)-1;
+ }
+
+ if (neededTicksB==0) neededTicksB=1;
+ if (neededTicksS==0) neededTicksS=1;
+
+ if (fpercentPos<0) fpercentPos=0;
+ if (fpercentPos>100) fpercentPos=100;
+ fHidden = config->readNumEntry("Hidden", 1);
+ fHighLightTime = config->readNumEntry("HighLightTime", 2);
+ fHideOnClick = config->readNumEntry("HideOnClick", 0);
+ fStayBelow = config->readNumEntry("StayBelow", 0);
+ fSteppy = config->readNumEntry("fSteppy", 0);
+ fLeftImg = config->readEntry("LeftImg");
+ fRightImg = config->readEntry("RightImg");
+ fCenterImg = config->readEntry("CenterImg");
+ fNWideBg = config->readBoolEntry("nWideBg", TRUE);
+ scaleMax = config->readBoolEntry("scaleMax", FALSE);
+ fFirstRun = config->readBoolEntry("FirstRun", TRUE);
+ xinerama = config->readNumEntry("Xinerama", 0);
+ leftRes=config->readNumEntry("leftRes", QApplication::desktop()->width());
+ XinDesiredHeight=config->readNumEntry("XinDesiredHeight", QApplication::desktop()->height());
+ XinPreviousWidth=config->readNumEntry("XinPreviousWidth", 0);
+ hideTimer = config->readNumEntry("hideTimer", 125);
+ Solid = config->readNumEntry("Solid", 1);
+ fShowShot = config->readBoolEntry("ShowSShot", false);
+ fGrouping = config->readBoolEntry("iconGrouping", false);
+ fShowNav=config->readNumEntry("Navigator", 1);
+ fSystray=0;//config->readNumEntry("Systray", 0);
+ fCurrent=config->readNumEntry("currentDesktop", 0);
+ curTheme=config->readEntry("Theme");
+
+ if(config->readNumEntry("xosdBold", 1) == 0)
+ {
+ xosdBold = false;
+ }
+ else
+ {
+ xosdBold = true;
+ }
+
+ if(config->readNumEntry("xosdItalic", 1) == 0)
+ {
+ xosdItalic = false;
+ }
+ else
+ {
+ xosdItalic = true;
+ }
+
+ if (iwSmall > iwBig)
+ {
+ iwSmall = 32;
+ iwBig = 90;
+ }
+ if (!fShowTaskbar)
+ {
+ fShowNotification = 0;
+ }
+ if (fHidden!=1 && fHidden!=0) fHidden = 1;
+ if (fStayBelow!=1 && fStayBelow!=0) fStayBelow = 0;
+}
+
+
+void KoolDock::loadIgnore()
+{
+ QString line;
+
+ // read the ignorelist into 'ignoreList'
+ QFile in(QString(progPath + "/ignorelist.conf"));
+
+ //clear de ignoreList and the KEditListBox (ignoreBox)
+ ignoreList.clear();
+ setupdlg->ignoreBox->clear();
+ if (in.open(IO_ReadOnly))
+ {
+ while (in.readLine(line, MAX_LEN) != -1)
+ {
+ //append the item and strip the last char (new line)
+ ignoreList.append(line.mid(0, line.length()-1));
+ }
+ in.close();
+ if(!ignoreList.isEmpty()) setupdlg->ignoreBox->insertStringList(ignoreList);
+ }
+}
+
+
+void KoolDock::saveConf()
+{
+ KConfig *config = KGlobal::config();
+
+ config->setGroup("kooldock");
+ config->writeEntry("ShowTaskbar", fShowTaskbar);
+ config->writeEntry("MinimizedOnly", fMinimizedOnly);
+ config->writeEntry("ShowNotification", fShowNotification);
+ config->writeEntry("ShowBorders", fShowBorders);
+ config->writeEntry("BorderColor", borderColor.name());
+ config->writeEntry("SmallIconSize", iwSmall);
+ config->writeEntry("BigIconSize", iwBig2);
+ config->writeEntry("BigIconAmount", fAmount);
+ config->writeEntry("DockOpacity", dockOpacity);
+ config->writeEntry("BackgroundColor", bgColor.name());
+ config->writeEntry("SeparatorColor", sepColor.name());
+ config->writeEntry("ShowKMenu", fShowKMenu);
+ config->writeEntry("KBFX", fUseKBFX);
+ config->writeEntry("Priority", fPriority);
+ config->writeEntry("MouseTimer", fMouseTimer);
+ config->writeEntry("Clipping", fClipping);
+ config->writeEntry("ClipIconArea", fClipIcons);
+ config->writeEntry("percentPos", fpercentPos);
+ config->writeEntry("zoomSpeed", fzoomSpeed);
+ config->writeEntry("speedControl", fSpeed);
+ config->writeEntry("Hidden", fHidden);
+ config->writeEntry("StayBelow", fStayBelow);
+ config->writeEntry("fOrientation", fOrientation);
+ config->writeEntry("showNames", showNames);
+ config->writeEntry("Cleaner", fCleaner);
+ config->writeEntry("xosdFont", xosdFont);
+ config->writeEntry("xosdColor", xosdColor);
+ config->writeEntry("xosdShadowColor", xosdShadowColor);
+ config->writeEntry("xosdSize", xosdSize);
+ config->writeEntry("HideOnClick", fHideOnClick);
+ config->writeEntry("fSteppy", fSteppy);
+ config->writeEntry("HighLightTime", fHighLightTime);
+ config->writeEntry("iSpace", iSpace);
+ config->writeEntry("FirstRun", FALSE);
+ config->writeEntry("Xinerama", xinerama);
+ config->writeEntry("hideTimer", hideTimer);
+ config->writeEntry("Solid", Solid);
+ config->writeEntry("ShowSShot", fShowShot);
+ config->writeEntry("iconGrouping", fGrouping);
+ config->writeEntry("Navigator", fShowNav);
+ config->writeEntry("Systray", fSystray);
+ config->writeEntry("currentDesktop", fCurrent);
+
+ if (xosdBold == true)
+ {
+ config->writeEntry("xosdBold", 1);
+ }
+ else
+ {
+ config->writeEntry("xosdBold", 0);
+ }
+
+ if (xosdItalic == true)
+ {
+ config->writeEntry("xosdItalic", 1);
+ }
+ else
+ {
+ config->writeEntry("xosdItalic", 0);
+ }
+
+ config->sync();
+}
+
+
+void KoolDock::editPref()
+{
+ bool tmp; //to save some code
+
+ // open up the configuration dialog
+
+ // Fill dialog with values from configuration
+ tmp=fHidden==1;
+
+ setupdlg->chk1->setChecked(tmp);
+ setupdlg->hideTimer->setEnabled(tmp);
+ setupdlg->hideOnClick->setEnabled(tmp);
+ setupdlg->cbStayBelow->setEnabled(!tmp);
+ setupdlg->cbStayBelow->setChecked(fStayBelow==1);
+
+ tmp=fShowTaskbar==1;
+
+ setupdlg->chk6->setEnabled(tmp);
+ setupdlg->cbMinimizedOnly->setEnabled(tmp);
+ setupdlg->chkSshot->setEnabled(tmp);
+ setupdlg->chkGrouping->setEnabled(tmp);
+ setupdlg->currentDesk->setEnabled(tmp);
+
+ setupdlg->systray->setChecked(fSystray==1);
+
+ setupdlg->currentDesk->setChecked(fCurrent==1);
+
+ //Even if start Hidden is disabled we load the stored value
+ setupdlg->hideTimer->setValue(hideTimer);
+ setupdlg->hideOnClick->setChecked(fHideOnClick == 1);
+ setupdlg->Steppy->setChecked(fSteppy == 1);
+ setupdlg->cbCleaner->setChecked(fCleaner == 1);
+
+ tmp=showNames==1;
+
+ setupdlg->chk2->setChecked(tmp);
+ setupdlg->xosdBold->setEnabled(tmp);
+ setupdlg->xosdItalic->setEnabled(tmp);
+ setupdlg->xosdSize->setEnabled(tmp);
+ setupdlg->spinBox2->setEnabled(tmp);
+ setupdlg->kColorCombo1->setEnabled(tmp);
+ setupdlg->kColorCombo_shadow->setEnabled(tmp);
+ setupdlg->xosdFont->setEnabled(tmp);
+ setupdlg->cbCleaner->setEnabled(tmp);
+
+ if(Solid==1)
+ {
+ setupdlg->chkSolid->setChecked(true);
+ setupdlg->chkSolidSlot();
+ }
+ else
+ {
+ if(!curTheme.isEmpty()) setupdlg->theme->setCurrentText(curTheme);
+ setupdlg->chkImg->setChecked(true);
+ setupdlg->chkSolidSlot();
+ }
+ setupdlg->chk4->setChecked(fShowBorders == 1);
+ setupdlg->kColorCombo1->setColor(xosdColor);
+ setupdlg->kColorCombo_shadow->setColor(xosdShadowColor);
+ setupdlg->xosdFont->setCurrentFont(xosdFont);
+ setupdlg->kColorCombo2->setColor(bgColor.name());
+ setupdlg->kColorCombo3->setColor(borderColor.name());
+ setupdlg->kColorCombo4->setColor(sepColor.name());
+ setupdlg->spinBox1->setValue(dockOpacity);
+ setupdlg->xosdSize->setValue(xosdSize);
+ setupdlg->spinBox2->setValue(xosdShadowOffset);
+ setupdlg->chk5->setChecked(fShowTaskbar == 1);
+ setupdlg->cbMinimizedOnly->setChecked(fMinimizedOnly == 1);
+ setupdlg->chk6->setChecked(fShowNotification == 1);
+ setupdlg->chk7->setChecked(fShowKMenu == 1);
+ setupdlg->chkUseKBFX->setChecked(fUseKBFX == 1);
+ setupdlg->iwSmall->setValue(iwSmall);
+ setupdlg->iwBig->setValue(iwBig2);
+ setupdlg->fAmount->setValue(fAmount);
+ setupdlg->sbSpace->setValue(iSpace);
+ setupdlg->nWideBg->setChecked(fNWideBg);
+ if (scaleMax) {setupdlg->opScale2->setChecked(true);} else {setupdlg->opScale1->setChecked(true);}
+ setupdlg->xosdBold->setChecked(xosdBold);
+ setupdlg->xosdItalic->setChecked(xosdItalic);
+ if (xinerama==1)
+ {
+ setupdlg->xrma->setChecked(true);
+ setupdlg->SleftRes->setEnabled(true);
+ setupdlg->SHeight->setEnabled(true);
+ setupdlg->PWidth->setEnabled(true);
+ setupdlg->SleftRes->setValue(leftRes);
+ setupdlg->SHeight->setValue(XinDesiredHeight);
+ setupdlg->PWidth->setValue(XinPreviousWidth);
+ }
+ else
+ {
+ setupdlg->SleftRes->setEnabled(false);
+ setupdlg->SHeight->setEnabled(false);
+ setupdlg->PWidth->setEnabled(false);
+ setupdlg->xrma->setChecked(false);
+ setupdlg->SleftRes->setValue(QApplication::desktop()->width());
+ setupdlg->SHeight->setValue(QApplication::desktop()->height());
+ }
+ setupdlg->nav->setChecked(fShowNav==1);
+ setupdlg->chkSshot->setChecked(fShowShot);
+ setupdlg->chkGrouping->setChecked(fGrouping);
+ setupdlg->Priority->setValue(fPriority);
+ //setupdlg->cbMouseTimer->setValue(fMouseTimer);
+ setupdlg->chClipping->setChecked(fClipping==1);
+ setupdlg->chClipIcons->setChecked(fClipIcons==1);
+ setupdlg->zoomSpeed->setValue(fzoomSpeed);
+ setupdlg->chkSpeed->setChecked(fSpeed);
+ setupdlg->percentPos->setValue(fpercentPos);
+ if (fOrientation==0) setupdlg->op0->setChecked(true);
+ if (fOrientation==1) setupdlg->op1->setChecked(true);
+ if (fOrientation==2) setupdlg->op2->setChecked(true);
+ if (fOrientation==3) setupdlg->op3->setChecked(true);
+ loadIgnore(); //Load Ignore List
+
+ if (!setupdlg->isVisible()) if (!noSet) setupdlg->tabWidget->setCurrentPage(0);
+ setupdlg->toReloadIcons->setChecked(FALSE);
+
+ setupdlg->show();
+ KWin::WindowInfo winfo;
+ winfo = KWin::windowInfo(setupdlg->winId());
+
+ if (winfo.desktop()!=-1) KWin::setOnDesktop(setupdlg->winId(), KWin::currentDesktop());
+ KWin::activateWindow(setupdlg->winId());
+
+}
+
+void KoolDock::loadMenu()
+{
+ QDir homeDir = QDir::home();
+ if (homeDir.exists(menuPath))
+ {
+ QDir dir(menuPath);
+ //First we make sure every index is correct!
+ //Lets update the launchers index
+ QString preffix;
+ QStringList fileListRemove=dir.entryList("*.desktop");
+ QStringList fileListRemove2=fileListRemove;
+
+ //Not really sure why I couldn't do this within the other for, something like fileListRemove[i].remove(0,2).prepend(preffix), but hell it works
+ for(unsigned int i=0; i<fileListRemove2.count(); i++)
+ {
+ fileListRemove2[i].remove(0,2);
+ }
+
+ //Rename the files so they reflect their new position
+ for(unsigned int i=0; i<fileListRemove.count(); i++)
+ {
+ if(i<10) preffix=QString("0%1").arg(i);
+ if(i>=10) preffix=QString("%1").arg(i);
+
+ dir.rename(fileListRemove[i], QString("%1%2").arg(preffix).arg(fileListRemove2[i]));
+ }
+ //End updating launchers index
+
+ QStringList fileList = dir.entryList( "*.desktop");
+ if(!fileList.isEmpty())
+ {
+ for ( QStringList::Iterator it = fileList.begin(); it != fileList.end(); ++it )
+ {
+ if ( ((*it) != ".") && ((*it) != "..") )
+ {
+ items.append(new Item(menuPath + (*it), iwSmall, iwBig2));
+ }
+ }
+ }
+ }
+ else
+ {
+ debug("Config directory doesn't exits");
+ QDir progPathDir(progPath);
+ progPathDir.mkdir(progPath);
+ QDir menuPathDir(menuPath);
+ menuPathDir.mkdir(menuPath);
+ debug("Created item directory");
+
+ // create initial entries.
+ addFile(QString("00_konqueror.desktop"), QString("konqueror"), QString("kfmclient openProfile webbrowsing"), QString("Konqueror Web Browser"), true, false, false, false, QString("na"));
+ addFile(QString("01_home.desktop"), QString("kfm_home"), QString("kfmclient openProfile filemanagement"), QString("Home directory"), true, false, false, false, QString("na"));
+ addFile(QString("02_kmail.desktop"), QString("kmail"), QString("kmail"), QString("KMail"), true, false, false, false, QString("na"));
+ addFile(QString("03_kate.desktop"), QString("kate"), QString("kate"), QString("Kate"), true, false, false, false, QString("na"));
+ addFile(QString("04_konsole.desktop"), QString("konsole"), QString("konsole"), QString("Konsole"), true, false, false, false, QString("na"));
+ addFile(QString("05_kcontrol.desktop"), QString("kcontrol"), QString("kcontrol"), QString("Control Center"), true, false, false, false, QString("na"));
+
+ loadMenu();
+ }
+ numLaunchers = items.count();
+}
+
+
+void KoolDock::about()
+{
+ KAboutApplication about(this, 0, false);
+ about.exec();
+}
+
+
+void KoolDock::onChangeTimerTicked()
+{
+ if (animValue > 70) animState = FALSE;
+ if (animValue < 5) animState = TRUE;
+
+ if (animState == TRUE)
+ {
+ animValue = animValue + 5;
+ }
+ else
+ {
+ animValue = animValue - 5;
+ }
+ paintEvent(NULL);
+}
+
+
+void KoolDock::updateBackground(const QPixmap& pix)
+{
+ if (pix.width()==1 && pix.height()==1)
+ {
+ if (fHidden == 0)
+ {
+ if ((fOrientation & 1)==1) {bottomBg = QPixmap(h1, dw);} else {bottomBg = QPixmap(dw, h1);}
+ bottomBg.fill (pix.convertToImage().pixel(0,0));
+ }
+ if (dockOpacity > 0) {bitBlt(&bottomBgf,0,0,&bottomBg);KPixmapEffect::fade(bottomBgf, ((float)dockOpacity)*0.01, bgColor);}
+ }
+ else
+ {
+ if (fHidden == 0) bottomBg = QPixmap(pix);
+ if (dockOpacity > 0) {bitBlt(&bottomBgf,0,0,&bottomBg);KPixmapEffect::fade(bottomBgf, ((float)dockOpacity)*0.01, bgColor);}
+ }
+ uw=w;
+ paintEvent(NULL);
+
+}
+
+void KoolDock::toggleAlwaysOnTop()
+{
+ KWin::WindowInfo info=KWin::windowInfo(cId);
+
+ if (info.state() & NET::KeepAbove)
+ {
+ KWin::clearState(cId,NET::KeepAbove);
+ }
+ else
+ {
+ KWin::setState(cId,NET::KeepAbove);
+ KWin::raiseWindow(cId);
+ }
+}
+
+void KoolDock::toggleKeptBelowOthers()
+{
+ KWin::WindowInfo info=KWin::windowInfo(cId);
+
+ if (info.state() & NET::KeepBelow)
+ {
+ KWin::clearState(cId,NET::KeepBelow);
+ }
+ else
+ {
+ KWin::setState(cId,NET::KeepBelow);
+ KWin::lowerWindow(cId);
+ }
+}
+
+void KoolDock::toggleFullScreen()
+{
+ KWin::WindowInfo info=KWin::windowInfo(cId);
+
+ if (info.state() & NET::FullScreen)
+ {
+ KWin::clearState(cId,NET::FullScreen);
+ }
+ else
+ {
+ KWin::setState(cId,NET::FullScreen);
+ }
+}
+
+void KoolDock::moveApp()
+{
+ KWin::WindowInfo info=KWin::windowInfo(cId);
+ activateApp();
+
+ QCursor::setPos(info.geometry().center());
+
+ NETRootInfo ri(qt_xdisplay(), NET::WMMoveResize);
+ ri.moveResizeRequest(cId, info.geometry().center().x(), info.geometry().center().y(), NET::Move);
+}
+
+void KoolDock::resizeApp()
+{
+ KWin::WindowInfo info=KWin::windowInfo(cId);
+ activateApp();
+
+ QCursor::setPos(info.geometry().bottomRight());
+
+ NETRootInfo ri(qt_xdisplay(), NET::WMMoveResize);
+ ri.moveResizeRequest(cId, info.geometry().bottomRight().x(),
+ info.geometry().bottomRight().y(), NET::BottomRight);
+}
+
+void KoolDock::minApp()
+{
+ Item *item;
+ int i;
+ QPixmap shot;
+ QImage tmpImg;
+ KWin::WindowInfo info=KWin::windowInfo(cId);
+
+ if (info.isMinimized())
+ {
+ for (i=0, item = witems.at(0); item; i++, item = witems.next())
+ {
+ if(item->getId() == cId)
+ {
+ // set default's item icon
+ item->setIcon(KWin::icon(cId, iwBig2, iwBig2, TRUE));
+ }
+ }
+ KWin::deIconifyWindow(cId, true);
+ KWin::activateWindow(cId);
+ }
+ else
+ {
+ if (fShowShot == TRUE)
+ {
+ for (i=0, item = witems.at(0); item; i++, item = witems.next())
+ {
+ if(item->getId() == cId)
+ {
+ // take the screenshot
+ shot = QPixmap::grabWindow(cId);
+ // scale the screenshot
+ tmpImg = shot.convertToImage();
+ tmpImg.scale(iwBig2, iwBig2);
+ shot.convertFromImage(tmpImg);
+ // set the new item's icon
+ item->setIcon(shot);
+ }
+ }
+ paintEvent(NULL);
+ }
+ KWin::iconifyWindow(cId, true);
+ }
+ hide();
+ QTimer::singleShot( 100, this, SLOT(refreshBackground()) );
+}
+
+
+void KoolDock::maxApp()
+{
+ Item *item;
+ int i;
+ KWin::WindowInfo info=KWin::windowInfo(cId);
+
+ if (fShowShot == TRUE)
+ {
+ for (i=0, item = witems.at(0); item; i++, item = witems.next())
+ {
+ if(item->getId() == cId)
+ {
+ // set default's item icon
+ item->setIcon(KWin::icon(cId, iwBig2, iwBig2, TRUE));
+ }
+ }
+ }
+ if (info.isMinimized())
+ {
+ KWin::deIconifyWindow(cId, true);
+ }
+ else
+ {
+ if (info.state() & NET::Max)
+ {
+ KWin::clearState(cId, NET::Max);
+ }
+ else
+ {
+ KWin::setState(cId, NET::Max);
+ }
+ }
+ KWin::activateWindow(cId);
+ hide();
+ QTimer::singleShot( 100, this, SLOT(refreshBackground()) );
+}
+
+void KoolDock::restApp()
+{
+ Item *item;
+ int i;
+ KWin::WindowInfo info=KWin::windowInfo(cId);
+
+ if (fShowShot == TRUE)
+ {
+ for (i=0, item = witems.at(0); item; i++, item = witems.next())
+ {
+ if(item->getId() == cId)
+ {
+ // set default's item icon
+ item->setIcon(KWin::icon(cId, iwBig2, iwBig2, TRUE));
+ }
+ }
+ }
+
+ KWin::clearState(cId, NET::MaxVert + NET::MaxHoriz);
+ KWin::deIconifyWindow(cId, true);
+ KWin::activateWindow(cId);
+ hide();
+ QTimer::singleShot( 100, this, SLOT(refreshBackground()) );
+}
+
+void KoolDock::minAllApps()
+{
+ int i;
+ Item *item;
+ KWin::WindowInfo info=KWin::windowInfo(cId,0,NET::WM2WindowClass);
+ QCString cls=info.windowClassClass();
+ for (i=0, item = witems.at(0); item; i++, item = witems.next())
+ {
+ if (!item->info.isMinimized())
+ {
+ if ((fMinimizedOnly==0 || item->info.isMinimized()) || (fCurrent==0 || item->info.isOnDesktop(info.desktop())))
+ {
+ if (cls==item->getClass())
+ {
+ KWin::iconifyWindow(item->getId(), true);
+ }
+ }
+ }
+ }
+
+}
+
+void KoolDock::maxAllApps()
+{
+ int i;
+ Item *item;
+ KWin::WindowInfo info=KWin::windowInfo(cId,0,NET::WM2WindowClass);
+ QCString cls=info.windowClassClass();
+ for (i=0, item = witems.at(0); item; i++, item = witems.next())
+ {
+ if (!(item->info.state() & NET::Max) || item->info.isMinimized())
+ {
+ if ((fMinimizedOnly==0 || item->info.isMinimized()) || (fCurrent==0 || item->info.isOnDesktop(info.desktop())))
+ {
+ if (cls==item->getClass())
+ {
+ if (item->info.isMinimized()) KWin::deIconifyWindow(item->getId(),true);
+ KWin::setState(item->getId(), NET::Max);
+ }
+ }
+ }
+ }
+}
+
+void KoolDock::restAllApps()
+{
+ int i;
+ Item *item;
+ KWin::WindowInfo info=KWin::windowInfo(cId,0,NET::WM2WindowClass);
+ QCString cls=info.windowClassClass();
+ for (i=0, item = witems.at(0); item; i++, item = witems.next())
+ {
+ if (item->info.state() & NET::Max || item->info.isMinimized())
+ {
+ if ((fMinimizedOnly==0 || item->info.isMinimized()) || (fCurrent==0 || item->info.isOnDesktop(info.desktop())))
+ {
+ if (cls==item->getClass())
+ {
+ if (item->info.isMinimized())
+ {
+ KWin::deIconifyWindow(item->getId(),true);
+ }
+ else
+ {
+ KWin::clearState(item->getId(), NET::Max);
+ }
+ }
+ }
+ }
+ }
+}
+
+void KoolDock::closeAllApps()
+{
+ int i;
+ Item *item;
+ KWin::WindowInfo info=KWin::windowInfo(cId,0,NET::WM2WindowClass);
+ QCString cls=info.windowClassClass();
+ for (i=0, item = witems.at(0); item; i++, item = witems.next())
+ {
+ if ((fMinimizedOnly==0 || item->info.isMinimized()) || (fCurrent==0 || item->info.isOnDesktop(info.desktop())))
+ {
+ if (cls==item->getClass())
+ {
+ NETRootInfo app(qt_xdisplay(), NET::CloseWindow);
+ app.closeWindowRequest(item->getId());
+ }
+ }
+ }
+}
+
+void KoolDock::shadeApp()
+{
+ KWin::WindowInfo info=KWin::windowInfo(cId);
+
+ if (info.state() & NET::Shaded)
+ {
+ KWin::clearState(cId, NET::Shaded);
+ }
+ else
+ {
+ KWin::setState(cId, NET::Shaded);
+ }
+
+ hide();
+ QTimer::singleShot( 100, this, SLOT(refreshBackground()) );
+}
+
+void KoolDock::activateApp()
+{
+ Item *item;
+ int i;
+ KWin::WindowInfo info = KWin::windowInfo(cId);
+
+ if (fShowShot == TRUE)
+ {
+ for (i=0, item = witems.at(0); item; i++, item = witems.next())
+ {
+ if(item->getId() == cId)
+ {
+ // set default's item icon
+ item->setIcon(KWin::icon(cId, iwBig2, iwBig2, TRUE));
+ }
+ }
+ }
+
+ if (info.desktop()!=-1 && info.desktop()!=KWin::currentDesktop())
+ {
+ goToDesktop(info.desktop());
+ }
+ if (info.isMinimized()) KWin::deIconifyWindow(cId, true);
+ KWin::activateWindow(cId);
+ hide();
+ QTimer::singleShot( 100, this, SLOT(refreshBackground()) );
+}
+
+void KoolDock::closeApp()
+{
+ NETRootInfo app(qt_xdisplay(), NET::CloseWindow);
+ app.closeWindowRequest(cId);
+ debug(QString("Closed: %1").arg(cId));
+}
+
+
+void KoolDock::editItem()
+{
+ run(QString("kfmclient openProperties ") + iFilename);
+}
+
+
+void KoolDock::sendToDesktop(int desktop)
+{
+ if (desktop==0) desktop=-1;
+ if (iGroup && allApps)
+ {
+ int i;
+ Item *item;
+ KWin::WindowInfo info=KWin::windowInfo(cId,0,NET::WM2WindowClass);
+ QCString cls=info.windowClassClass();
+ for (i=0, item = witems.at(0); item; i++, item = witems.next())
+ {
+ if ((fMinimizedOnly==0 || item->info.isMinimized()) || (fCurrent==0 || item->info.isOnDesktop(info.desktop())))
+ {
+ if (cls==item->getClass())
+ {
+ KWin::setOnDesktop(item->getId(), desktop);
+ }
+ }
+ }
+ return;
+ }
+ KWin::setOnDesktop(cId, desktop);
+}
+
+
+void KoolDock::goToDesktop(int desktop)
+{
+ KWin::setCurrentDesktop(desktop);
+}
+
+
+void KoolDock::goToWindow(int win)
+{
+ cId=(WId)win;
+ activateApp();
+}
+
+
+void KoolDock::removeItem()
+{
+ QFile::remove(iFilename);
+ restart();
+}
+
+
+void KoolDock::addFile(QString filename, QString iconname, QString execname, QString name, bool notify, bool terminal, bool tclose, bool cuser, QString puser)
+{
+ QString progPath = locateLocal("data", "kooldock");
+ QString menuPath = progPath + QString("/menu/");
+ QString confFile = locateLocal("config", "kooldockrc");
+
+ QFile out(QString(menuPath + filename));
+ if (out.open(IO_WriteOnly))
+ {
+ QTextStream out_s(&out);
+ out_s << "[Desktop Entry]" << endl;
+ out_s << "Comment=" << endl;
+ out_s << "Encoding=UTF-8" << endl;
+ out_s << "Exec=" << execname << endl;
+ out_s << "GenericName=" << endl;
+ out_s << "Icon=" << iconname << endl;
+ out_s << "MimeType=" << endl;
+ out_s << "Name=" << name << endl;
+ out_s << "Path=" << endl;
+ out_s << "ServiceTypes=" << endl;
+ out_s << "SwallowExec=" << endl;
+ out_s << "SwallowTitle=" << endl;
+ out_s << "Terminal=false" << endl;
+ out_s << "TerminalOptions=" << endl;
+ out_s << "Type=Application" << endl;
+ if(notify == true)
+ {
+ out_s << "X-KDE-StartupNotify=true" << endl;
+ }
+ else
+ {
+ out_s << "X-KDE-StartupNotify=false" << endl;
+ }
+ if(cuser==true)
+ {
+ out_s << "X-KDE-SubstituteUID=true" << endl;
+ out_s << "X-KDE-Username=" << puser << endl;
+ }
+ else
+ {
+ out_s << "X-KDE-SubstituteUID=false" << endl;
+ out_s << "X-KDE-Username=" << endl;
+ }
+ if(terminal==true)
+ {
+ out_s << "Terminal=true" << endl;
+ }
+ else
+ {
+ out_s << "Terminal=false" << endl;
+ }
+ if(tclose==true)
+ {
+ out_s << "TerminalOptions=\\s--noclose" << endl;
+ }
+ else
+ {
+ out_s << "TerminalOptions=" << endl;
+ }
+ out.close();
+ }
+}
+
+
+bool KoolDock::ignored(QString appname)
+{
+ if(ignoreList.count()>0)
+ {
+ for(unsigned int i=0; i<ignoreList.count(); i++)
+ {
+ if(ignoreList[i]==appname)
+ return(true);
+
+ }
+ }
+ return(false);
+}
+
+
+#ifdef _ENABLE_DEBUG
+void KoolDock::debug(QString message)
+{
+ // debugging function (show messages to stdout)
+ kdDebug(0) << "DEBUG: " << message << endl;
+}
+#endif
+#ifndef _ENABLE_DEBUG
+void KoolDock::debug(QString)
+{
+}
+#endif
+
+void KoolDock::endProg()
+{
+ if (fHidden==0 && fClipping==1)
+ {
+ if ((fOrientation & 1)==1)
+ {
+ setDesktopIconsArea(0,0,dh,dw);
+ }
+ else
+ {
+ setDesktopIconsArea(0,0,dw,dh);
+ }
+ }
+ debug("Clean exit.");
+ exit(0);
+}
+
+void KoolDock::restart()
+{
+ QString cmd;
+ cmd = mainPath + " &";
+ kdDebug(0) << "mainPath: " << mainPath << endl;
+ debug("Restarting...");
+ system(cmd.latin1());
+ endProg();
+}
+
+void KoolDock::reload()
+{
+ setupdlg->setEnabled(FALSE);
+
+ hide();
+ if (wm) delete(wm);
+ trackTimer->stop();
+ mkbigTimer->stop();
+ mksmallTimer->stop();
+ mTimer->stop();
+ if (onChangeTimer != NULL) onChangeTimer->stop();
+
+ if (trackTimer) delete(trackTimer);
+ if (mTimer) delete(mTimer);
+ if (mkbigTimer) delete(mkbigTimer);
+ if (mksmallTimer) delete(mksmallTimer);
+ if (onChangeTimer != NULL) delete(onChangeTimer);
+ if (_filterData) delete(_filterData);
+
+ if (rootpix) delete(rootpix);
+ if (xosdw) delete(xosdw);
+ if (clipw) delete(clipw);
+ if (info) delete(info);
+
+ if (reloadIcons)
+ {
+ items.clear();
+ witems.clear();
+ }
+ init1();
+ init2();
+ if (setupdlg->isVisible())
+ {
+ noSet=true;
+ editPref();
+ if (reloadIcons)
+ {
+ setupdlg->appClear();
+ setupdlg->appFill();
+ }
+ noSet=false;
+ }
+}
+
+void KoolDock::chkRestart()
+{
+ if (initialization) return;
+ if (!setupdlg ) return;
+ // this function is called by a timer to check if the dock should be restarted
+ // or not, depending on what was done in the configuration dialog.
+ reloadIcons=setupdlg->toReloadIcons->isChecked();
+ reload();
+ reloadIcons=false;
+ setupdlg->toReloadIcons->setChecked(FALSE);
+}
+
+
+void KoolDock::setMainPath(QString path)
+{
+ mainPath = path;
+}
+
+void KoolDock::setArgs(QString params)
+{
+ args = params;
+ if (args=="-options" || args=="-o") editPref();
+
+}
+
+void KoolDock::move2(int nx, int ny)
+{
+ int cx, cy, tmp, xn=0;
+ if (xinerama==1) {xn=XinPreviousWidth;}
+
+ cx=0;
+ if ((fOrientation & 2) == 2) {ny=0; cy=0;} else {ny=dh-h1; cy=dh-h0;}
+ if ((fOrientation & 1) == 1)
+ {rx=ny; ry=nx;
+ tmp=cx;cx=cy;cy=tmp;}
+ else
+ {rx=nx; ry=ny;}
+ //if (fHidden==0) clipw->move(cx,cy);
+ if (rx==x0 && ry==dh-h0 && fExpanded==FALSE && w1>dw)
+ {
+ if (w0>dw)
+ {
+ Offset=(w1-dw)*lastXPos/dw - rx;
+ if ((fOrientation & 1) == 1) ry=0;
+ move(xn,ry);
+ }
+ else
+ {
+ Offset=0;
+ if ((fOrientation & 1) == 1) {ry=0;} else {rx=0;}
+ move(rx+xn,ry);
+ }
+ }
+ else
+ {
+ if ((fOrientation & 1) == 1) {ry=0;} else {rx=0;}
+ move(rx+xn,ry);
+ }
+ rx+=xn;
+ //clipw->lower();
+}
+
+void KoolDock::resize2(int nw, int nh)
+{
+ int mw, mh;
+ //if (w1>dw && nw>w1)
+ nw=dw;
+ nh=h1;
+ if ((fOrientation & 1) == 1) {rw=nh; rh=nw;} else {rw=nw; rh=nh;}
+ if (w1<dw) Offset=0;
+ resize(rw,rh);
+ nw=dw;
+ nh=h0;
+ if ((fOrientation & 1) == 1) {mw=nh; mh=nw;} else {mw=nw; mh=nh;}
+ //clipw->resize(200, 200);
+ //clipw->lower();
+}
+void KoolDock::getBottomBG()
+{
+ if (fHidden==0) return;
+ int p1,p2,p3,p4,pt;
+ p1=0;
+ if ((fOrientation & 2)==2) {p2=0;} else {p2=dh - h1;}
+ p3=dw;
+ p4=h1;
+ if ((fOrientation & 1)==1)
+ {
+ pt=p1; p1=p2; p2=pt;
+ pt=p3; p3=p4; p4=pt;
+ }
+ if (xinerama==1) p1+=XinPreviousWidth;
+ bottomBg = QPixmap::grabWindow(qt_xrootwin(), p1, p2, p3, p4);
+ //bottomBg = QPixmap::grabWindow(qt_xrootwin(), x1, dh - h1, w1, h1);
+}
+
+void KoolDock::getTopBG()
+{
+ int p1,p2,p3,p4,pt;
+ p1=0;
+ if ((fOrientation & 2)==2) {p2=h0;} else {p2=dh - h1;}
+ p3=dw;
+ p4=h1 - h0;
+ if ((fOrientation & 1)==1)
+ {
+ pt=p1; p1=p2; p2=pt;
+ pt=p3; p3=p4; p4=pt;
+ }
+ if (xinerama==1) p1+=XinPreviousWidth;
+ topBg = QPixmap::grabWindow(qt_xrootwin(), p1, p2, p3, p4);
+ //topBg = QPixmap::grabWindow(qt_xrootwin(), x1, dh - h1, w1, h1 - h0);
+}
+
+void KoolDock::setDesktopIconsArea(int left, int top, int width, int height)
+{
+ if (fClipIcons==0) return;
+ DCOPClient* client = KApplication::dcopClient();
+ if (!client->isAttached()) {
+ client->attach();
+ client->registerAs("KoolDock");
+ }
+
+ for (int i = 0; i < KWin::numberOfDesktops(); i++) {
+ QByteArray data;
+ QDataStream args(data, IO_WriteOnly);
+ args << left << top << width << height << i;
+ client->send("kdesktop", "KDesktopIface", "desktopIconsAreaChanged(QRect, int)", data);
+ }
+}
+
+void KoolDock::setDockAbove() {
+ KWin::setState(winId(), NET::KeepAbove);
+ raise();
+}
+
+void KoolDock::setDockBelow() {
+ KWin::setState(winId(), NET::KeepBelow);
+ lower();
+}
+
+void KoolDock::menuShow()
+{
+ allApps=false;
+ int tcId;
+ if (iGroup && menuCount!=0)
+ {
+ tcId=appMenu->itemParameter(currMenu);
+
+ if (tcId==currMenu && menuCount==1)
+ {
+ allApps=true;
+ deskpopup->setItemChecked(dIndex,false);
+ return;
+ }
+ cId=tcId;
+ KWin::WindowInfo info=KWin::windowInfo(cId,0,NET::WM2AllowedActions);
+ deskpopup->setItemChecked(dIndex,false);
+ dIndex=info.desktop();
+ if (dIndex==-1) dIndex=0;
+ deskpopup->setItemChecked(dIndex,true);
+ advMenu->setItemChecked(1,info.state() & NET::KeepAbove);
+ advMenu->setItemChecked(2,info.state() & NET::KeepBelow);
+ advMenu->setItemChecked(3,info.state() & NET::FullScreen);
+ advMenu->setItemEnabled(3,info.actionSupported(NET::ActionFullScreen));
+ }
+}
+
+void KoolDock::menuX(int num)
+{
+ if (iGroup && menuCount!=0)
+ {
+ currMenu=num;
+ }
+}
+
+void KoolDock::init1()
+{
+ initialization=true;
+ ptPart=5;
+ // Load the configuration
+ loadConf();
+
+ if (fStayBelow==0 || fHidden==1)
+ {
+ reparent (0, getWFlags() | WX11BypassWM, pos(),FALSE);
+ }
+ else
+ {
+ reparent (0, getWFlags() & !WX11BypassWM, pos(),FALSE);
+ }
+ hide();
+
+ // Lets initialize the systray counter
+ if (reloadIcons) numSystray=0;
+
+ // first, we set our "nice" priority
+ if (fPriority > 19) fPriority = DEF_PRIORITY;
+ if (fPriority < 0) fPriority = DEF_PRIORITY;
+ setpriority(0, 0, fPriority);
+ debug(QString("Priority: %1").arg(fPriority));
+
+ iwBig2 = iwBig;
+
+ lastX=0;
+
+ iDist = iwSmall + iSpace;
+ funcW = (int)(iDist*fAmount/2);
+ funcH = iwBig - iwSmall;
+ iy = iSpace/ 2;
+
+
+ KWin::setOnAllDesktops(winId(), true);
+ KWin::setState(winId(), NET::SkipTaskbar | NET::SkipPager);
+ KWin::setType(winId(), NET::Dock);
+
+ items.setAutoDelete(TRUE);
+ popups.setAutoDelete(TRUE);
+ desks.setAutoDelete(TRUE);
+
+ if(fShowKMenu==1)
+ {
+ if (fUseKBFX==1)
+ {
+ if (reloadIcons) items.append(new Item("kmenu", "dcop kicker KBFXInterface showMenu", "KMenu", iwSmall, iwBig2));
+ }
+ else
+ {
+ if (reloadIcons) items.append(new Item("kmenu", "dcop kicker kicker popupKMenu 0", "KMenu", iwSmall, iwBig2));
+ }
+ }
+
+
+ //Lets load the menu entries
+ if (reloadIcons) loadMenu();
+ if (items.count()==0)
+ {
+ items.append(new Item("kooldock", "kooldock -k; kooldock -o" , "K", iwSmall, iwBig2));
+ }
+ // Create the "xosd" widget
+ xosdw = new xosd();
+ rdh=QApplication::desktop()->height();
+ xosdw->move(0,rdh);
+
+ wm = new KWinModule();
+
+ info = new NETWinInfo( qt_xdisplay(), winId(), qt_xrootwin(), NET::WMState);
+ info->setDesktop( NETWinInfo::OnAllDesktops );
+ info->setState(NETWinInfo::SkipTaskbar | NETWinInfo::SkipPager, NETWinInfo::SkipTaskbar | NETWinInfo::SkipPager);
+ setBackgroundMode(NoBackground);
+
+ // Load the ignore List
+ loadIgnore();
+
+ xosd_st = 0;
+ xosdw->setFont(xosdFont);
+ if (xosdItalic == true) xosdw->setItalic();
+ if (xosdBold == true) xosdw->setBold();
+ xosdw->setSize(xosdSize);
+ xosdw->setShadowOffset(xosdShadowOffset);
+ xosdw->setColor(xosdColor);
+ xosdw->setShadowColor(xosdShadowColor);
+
+ // Show task bar
+ if (fShowTaskbar)
+ {
+ //Lets add the necesary windows
+ if (reloadIcons) {firstTime=true;addWindows();}
+ connect(wm, SIGNAL(activeWindowChanged(WId)), SLOT(activeWindowChanged(WId)));
+
+ }
+ connect(wm, SIGNAL(windowAdded(WId)), SLOT(windowAdded(WId)));
+ connect(wm, SIGNAL(windowRemoved(WId)), SLOT(windowRemoved(WId)));
+ connect(wm, SIGNAL(windowChanged(WId, unsigned int)), SLOT(windowChanged(WId, unsigned int)));
+ if (fSystray)
+ {
+ /* System Tray implementation (hope this works - Francisco) */
+ connect(wm, SIGNAL(systemTrayWindowAdded(WId)), SLOT(systemTrayWindowAdded(WId)));
+ connect(wm, SIGNAL(systemTrayWindowRemoved(WId)), SLOT(systemTrayWindowRemoved(WId)));
+
+ QCString screenstr;
+ screenstr.setNum(qt_xscreen());
+ QCString trayatom = "_NET_SYSTEM_TRAY_S" + screenstr;
+
+ Display *display = qt_xdisplay();
+
+ net_system_tray_selection = XInternAtom(display, trayatom, false);
+ net_system_tray_opcode = XInternAtom(display, "_NET_SYSTEM_TRAY_OPCODE", false);
+
+ // Acquire system tray
+ XSetSelectionOwner(display, net_system_tray_selection, winId(), CurrentTime);
+
+ //WId root = qt_xrootwin();
+
+ if (XGetSelectionOwner (display, net_system_tray_selection) == winId())
+ {
+ XClientMessageEvent xev;
+
+ xev.type = ClientMessage;
+ //xev.window = root;
+
+ xev.message_type = XInternAtom (display, "MANAGER", False);
+ xev.format = 32;
+ xev.data.l[0] = CurrentTime;
+ xev.data.l[1] = net_system_tray_selection;
+ xev.data.l[2] = winId();
+ xev.data.l[3] = 0;
+ xev.data.l[4] = 0;
+
+ //XSendEvent (display, root, False, StructureNotifyMask, (XEvent *)&xev);
+ }
+ }
+ connect(wm, SIGNAL(currentDesktopChanged(int)), SLOT(currentDesktopChanged(int)));
+ connect(wm, SIGNAL(workAreaChanged()), SLOT(workAreaChanged()));
+
+ // Pseudo-Transparency code
+ rootpix = new KRootPixmap(this);
+ rootpix->setCustomPainting(TRUE);
+ connect(rootpix, SIGNAL(backgroundUpdated (const QPixmap &)), SLOT(updateBackground(const QPixmap &)));
+ rootpix->start();
+
+ debug(QString("Items loaded: %1").arg(items.count()));
+
+ //Simple work around to support xinerama (user defined)
+ if(xinerama==0)
+ {
+ dw=QApplication::desktop()->width();
+ dh = QApplication::desktop()->height();
+ }
+ else
+ {
+ dw=leftRes;
+ dh=XinDesiredHeight;
+ }
+
+ xosdw->setClear(fCleaner);
+ xosdw->setOrientation(fOrientation & 1, dw, rdh);
+
+ // All icons to small size
+ unsigned int i;
+ for (i=0; i < items.count() + 1; i++)
+ {
+ iSize[i] = iwSmall;
+ }
+ for (i=0; i < items.count() + 1; i++)
+ {
+ cx[i] = iSpace + i*iDist + iwSmall/2;
+ cur_cx[i] = cx[i];
+ }
+ if ((fOrientation & 1)==1)
+ {
+ int tmpdw;
+ tmpdw=dw;
+ dw=dh;
+ dh=tmpdw;
+ }
+ if (fOrientation==2 || fOrientation==1)
+ {
+ QString tmpstr;
+ tmpstr=fLeftImg;
+ fLeftImg=fRightImg;
+ fRightImg=tmpstr;
+ }
+
+ Offset=0;
+
+ xosdw->move2(0,rdh);
+ xosdw->show();
+ //setMouseTracking(TRUE);
+ fExpanded=FALSE;
+ // Timer to track the mouse position
+ // When the mouse pointer reaches the bottom of the screen, the bar should popup in a userdefined time (int hideTimer)
+
+ track2active=FALSE;
+ trackTimer = new QTimer(this);
+ connect(trackTimer, SIGNAL(timeout()), this, SLOT(trackTimerEnd()));
+
+ ii_first = 0;
+ ii_last = items.count() - 1;
+
+ iOnClick = -1;
+ onChangeTimer = NULL;
+ Ybase = 0;
+ soffset=0;
+ eoffset=0;
+ last_ncx=0;
+
+ /* For the the onscreen text (icon names) */
+ nom = "";
+ aux = "";
+
+ mTimer = new QTimer(this);
+ connect(mTimer, SIGNAL(timeout()), this, SLOT(mTimerEnd()));
+
+ _filterData = new KURIFilterData();
+
+ mkbigTimer = new QTimer(this);
+ connect(mkbigTimer, SIGNAL(timeout()), this, SLOT(mkbigTimerDo()));
+
+ mksmallTimer = new QTimer(this);
+ connect(mksmallTimer, SIGNAL(timeout()), this, SLOT(mksmallTimerDo()));
+
+ QWMatrix m;
+ m.rotate( -90*fOrientation );
+ if (!fLeftImg.isEmpty())
+ {
+ LeftImg.load(fLeftImg);
+ LeftImg = LeftImg.xForm( m );
+ }
+ if (!fRightImg.isEmpty())
+ {
+ RightImg.load(fRightImg);
+ RightImg = RightImg.xForm( m );
+ }
+ if (!fCenterImg.isEmpty())
+ {
+ CenterImg.load(fCenterImg);
+ CenterImg = CenterImg.xForm( m );
+ }
+
+ if (fHidden==1)
+ {
+ move (0,rdh);
+ }
+ debug("Kooldock has started");
+
+ doUpdateGeometry();
+ if ((fOrientation & 1)==1) {offscr = QPixmap(h1, dw); bottomBgf = QPixmap(h1, dw);} else {offscr = QPixmap(dw, h1); bottomBgf = QPixmap(dw, h1);}
+
+ soffset = iwSmall/2 + func2(abs(1-funcW)) + func2(abs(iDist+1-funcW)) + func2(abs(2*iDist+1-funcW)) + func2(abs(3*iDist +1-funcW))/2 - ((int)((iwBig - iwSmall)*0.6*fAmount) + iSpace*2)/2 - 4*iwSmall - (int)((3*iDist+1-funcW)*(func(0) + func(iDist) - 2*iwSmall)/(2*iDist))+1;
+ eoffset=(int)((iwBig2-iwSmall)*fAmount/100);
+ doUpdateGeometry();
+
+}
+
+void KoolDock::init2()
+{
+ clipw = new clip();
+
+ if (fHidden==1)
+ {
+ clipw->resize(0,0);
+ clipw->move(-10,-10);
+ }
+ else
+ {
+ int cx, cy;
+ cx=0;
+ if ((fOrientation & 2) == 2) {cy=0;} else {cy=dh-h0;}
+ if ((fOrientation & 1) == 1)
+ {clipw->move(cy,cx);clipw->resize(h0,dw);}
+ else
+ {clipw->move(cx,cy);clipw->resize(dw,h0);}
+ }
+ KWin::setOnAllDesktops(clipw->winId(), true);
+ KWin::setState(clipw->winId(), NET::KeepBelow);
+ clipw->lower();
+ clipw->show();
+
+ animValue = 0;
+ animState = TRUE;
+
+ if (fHidden==0)
+ {
+ resize2(w0,h0);
+ rootpix->repaint(true);
+ }
+ //Create desktop clipper widget
+
+ if (fHidden==0 && fClipping==1)
+ {
+ //clipping desktop
+ if (fOrientation==0) {clipw->clipDesktop(0, 0, 0, 0, 0, 0, 0, 0, 0, h0, 0, dh);setDesktopIconsArea(0,0,dw,dh-h0);}
+ if (fOrientation==1) {clipw->clipDesktop(0, 0, 0, h0, 0, dh, 0, 0, 0, 0, 0, 0);setDesktopIconsArea(0,0,dh-h0,dw);}
+ if (fOrientation==2) {clipw->clipDesktop(0, 0, 0, 0, 0, 0, h0, 0, dh, 0, 0, 0);setDesktopIconsArea(0,h0,dw,dh);}
+ if (fOrientation==3) {clipw->clipDesktop(h0, 0, dh, 0, 0, 0, 0, 0, 0, 0, 0, 0);setDesktopIconsArea(h0,0,dh,dw);}
+ }
+ if (fStayBelow==1 && fHidden==0) setDockBelow();
+ setAcceptDrops(TRUE);
+ useList=false;
+ if (fSpeed) ptPart=0; else ptPart=1;
+ if (fHidden==0) paintEvent(NULL);
+ if (ptPart==0)
+ enterEvent(NULL);
+ else
+ pTest();
+}
+
+void KoolDock::pTest()
+{
+
+ if (ptPart==0)
+ {
+ onleaveEvent(NULL); ptPart=1;
+ return;
+ }
+
+ //Finalize initialization
+ if(fHidden==1)
+ {
+ trackTimer->start(250, FALSE);
+ }
+ else
+ {
+ mTimer->start(250, FALSE);
+ }
+ oldDesktop=KWin::currentDesktop();
+ initialization=false;
+ if (fShowTaskbar) addWindows();
+ show();
+ if (fHidden==0) paintEvent(NULL);
+ setupdlg->setEnabled(TRUE);
+ if (fFirstRun) editPref();
+ updTaskList();
+}
+
+void KoolDock::refreshBackground()
+{
+ getBottomBG();
+ getTopBG();
+ if (dockOpacity > 0) {bitBlt(&bottomBgf,0,0,&bottomBg);KPixmapEffect::fade(bottomBgf, ((float)dockOpacity)*0.01, bgColor);}
+ show();
+ paintEvent(NULL);
+}
+
+void KoolDock::dragMoveEvent(QDragMoveEvent* event)
+{
+ if (mouseOnLauncher && QTextDrag::canDecode(event))
+ {
+ event->accept();
+ }
+ else
+ {
+ event->ignore();
+ }
+}
+
+void KoolDock::dropEvent(QDropEvent* event)
+{
+ QString strDrop;
+ QPoint pointer;
+ pointer = QCursor::pos();
+ int px, py;
+
+ px = pointer.x()-pos().x();
+ py = pointer.y()-pos().y();
+
+ QTextDrag::decode(event, strDrop);
+ lstDrop=QStringList::split(QString("\n"),strDrop,false);
+
+ useList=true;
+ mPress (px, py, Qt::LeftButton);
+ useList=false;
+}
+
+void KoolDock::movetoback(WId id)
+{
+ int i;
+ Item *item;
+ int ic=-1,jc;
+ QCString cls;
+
+ //find clicked item in witems list
+ for (i=0, item = witems.at(0); item; i++, item = witems.next())
+ if (item->getId()==id) {ic=i;break;}
+
+ if (ic>=0)
+ {
+ jc=witems.at(ic)->getIndex(); //get item stack index
+ for (i=0, item = witems.at(0); item; i++, item = witems.next())
+ {
+ if (item->getIndex()>jc) item->setIndex(item->getIndex()-1);
+ }
+ //move clicked item to last position in the stack
+ witems.at(ic)->setIndex(witems.count()-1);
+ cls = witems.at(ic)->getClass();
+ for (i=numLaunchers, item = items.at(numLaunchers); item; i++, item = items.next())
+ {
+ if (item->getClass()==cls)
+ {
+ item->setId(witems.at(ic)->getId());
+ item->setName(witems.at(ic)->getName());
+ break;
+ }
+ }
+ }
+}
+
+int KoolDock::itemFromPoint(int x)
+{
+ int i, Xpos=-1;
+ for (i=0; i<(int)items.count(); i++)
+ {
+ Xpos=xFromIndex(i);
+ if ((x+iSpace/2)>Xpos && (x-iSpace)<(Xpos+iSize[i])) break;
+ }
+ currXPos=Xpos;
+ return i;
+}
+
+int KoolDock::xFromIndex(int i)
+{
+ int Xpos;
+ if(i < ii_first){Xpos = cur_cx[i] - iwSmall/2 + SPACE_W;}
+ else if(i >= ii_first && i <= ii_last){Xpos = cur_cx[i] - iSize[i]/2 + adjust+soffset;}
+ else if(i > ii_last){Xpos = cur_cx[i] - iwSmall/2 + adjust + SPACE_W - 3+soffset*0;}
+ return Xpos;
+}
+
+void KoolDock::aboutToShow()
+{
+ menuCount++;
+}
+
+void KoolDock::aboutToHide()
+{
+ menuCount--;
+}
+
+void KoolDock::createMenu(WId id, KPopupMenu* tmpMenu, KWin::WindowInfo * info)
+{
+ QString appTitle;
+ int menustate;
+ appTitle = info->visibleName();
+ appTitle.truncate(30);
+
+ tmpMenu->insertTitle(appTitle);
+
+ tmpMenu->insertItem(i18n("Ad&vanced"), advMenu);
+
+ menustate = tmpMenu->insertItem(SmallIcon("move"), i18n("&Move"), this, SLOT(moveApp()));
+ tmpMenu->setItemEnabled(menustate, info->actionSupported(NET::ActionMove));
+
+ menustate = tmpMenu->insertItem(i18n("Re&size"), this, SLOT(resizeApp()));
+ tmpMenu->setItemEnabled(menustate, info->actionSupported(NET::ActionMove));
+
+ menustate = tmpMenu->insertItem(i18n("Mi&nimize"), this, SLOT(minApp()));
+ if (info->isMinimized()) tmpMenu->setItemChecked(menustate, true);
+ tmpMenu->setItemEnabled(menustate, info->actionSupported(NET::ActionMinimize));
+
+ menustate = tmpMenu->insertItem(i18n("Ma&ximize"), this, SLOT(maxApp()));
+ if ((info->state() & NET::Max) && !info->isMinimized()) tmpMenu->setItemChecked(menustate, true);
+ tmpMenu->setItemEnabled(menustate, info->actionSupported(NET::ActionMax));
+
+ menustate = tmpMenu->insertItem(i18n("&Shade"), this, SLOT(shadeApp()));
+ if (info->state() & NET::Shaded) tmpMenu->setItemChecked(menustate, true);
+ tmpMenu->setItemEnabled(menustate, info->actionSupported(NET::ActionShade));
+
+ //menustate = tmpMenu->insertItem(i18n("&Restore"), this, SLOT(restApp()));
+ //if (!info->isMinimized() && info->state() != NET::Max) tmpMenu->setItemEnabled(menustate, false);
+
+ tmpMenu->insertItem(SmallIcon("forward"), i18n("&Move to Desktop"), deskpopup);
+ tmpMenu->insertSeparator();
+ tmpMenu->insertItem(SmallIcon("fileclose"), i18n("&Close"), this, SLOT(closeApp()));
+}
+
+void KoolDock::updTaskList()
+{
+
+ if (!fShowNav) return;
+
+ desks.setAutoDelete (true);
+
+ //tasklist; menu to access every window throught navigation menu
+ int j, index, incr, nDesks;
+ KWin::WindowInfo tmpinfo;
+
+ nDesks=KWin::numberOfDesktops();
+
+ tasklist->clear();
+ desks.clear();
+
+ for(index=0; index<=nDesks; index++)
+ {
+ desks.append (new dInfo);
+ }
+
+ KWin::WindowInfo info;
+ QValueList<WId>::ConstIterator it;
+ for (it=wm->windows().begin(); it != wm->windows().end(); ++it)
+ {
+ tmpinfo=KWin::windowInfo(*it);
+
+ const int SUPPORTED_WINDOW_TYPES = NET::NormalMask | NET::DesktopMask | NET::DockMask | NET::ToolbarMask | NET::MenuMask | NET::DialogMask | NET::OverrideMask | NET::TopMenuMask | NET::UtilityMask | NET::SplashMask;
+ QString name = tmpinfo.visibleName();
+
+ if (tmpinfo.windowType(SUPPORTED_WINDOW_TYPES) == NET::Normal || tmpinfo.windowType(SUPPORTED_WINDOW_TYPES) == NET::Override || tmpinfo.windowType(SUPPORTED_WINDOW_TYPES) == NET::Dialog || tmpinfo.windowType(SUPPORTED_WINDOW_TYPES) == NET::Unknown)
+ {
+ if ((tmpinfo.state() & NET::SkipTaskbar) == 0)
+ {
+ if (ignored(tmpinfo.name()) == false)
+ {
+ index=tmpinfo.desktop();
+ if (index==-1) index=0;
+
+ incr=0;
+
+ if (!desks.at(index)->gBool())
+ {
+ desks.current()->sBool(true);
+ if (index==0)
+ {tasklist->insertTitle(i18n("All desktops"),-1,desks.current()->gInt());}
+ else
+ {tasklist->insertTitle(i18n("Desktop %1").arg(index),-1,desks.current()->gInt());}
+ incr++;
+ }
+ tasklist->insertItem(KWin::icon(*it), tmpinfo.visibleName(), *it, desks.current()->gInt()+incr);
+ incr++;
+ for(j=index; j<=nDesks; j++)
+ {
+ desks.at(j)->inc(incr);
+ }
+ }
+ }
+ }
+ }
+}
+
+void KoolDock::addToTaskList(WId id)
+{
+ int i;
+ Item *item;
+ int index, rIndex, j, incr=0, decr=0;
+ KWin::WindowInfo tmpinfo;
+ tmpinfo=KWin::windowInfo(id);
+ nDesks=KWin::numberOfDesktops();
+ rIndex = tmpinfo.desktop();
+
+ const int SUPPORTED_WINDOW_TYPES = NET::NormalMask | NET::DesktopMask | NET::DockMask | NET::ToolbarMask | NET::MenuMask | NET::DialogMask | NET::OverrideMask | NET::TopMenuMask | NET::UtilityMask | NET::SplashMask;
+ QString name = tmpinfo.visibleName();
+
+ if (tmpinfo.windowType(SUPPORTED_WINDOW_TYPES) == NET::Normal || tmpinfo.windowType(SUPPORTED_WINDOW_TYPES) == NET::Override || tmpinfo.windowType(SUPPORTED_WINDOW_TYPES) == NET::Dialog || tmpinfo.windowType(SUPPORTED_WINDOW_TYPES) == NET::Unknown)
+ {
+ if ((tmpinfo.state() & NET::SkipTaskbar) == 0)
+ {
+ if (ignored(tmpinfo.name()) == false)
+ {
+
+ if (rIndex==0) return;
+ index=rIndex;
+ if (index==-1) index=0;
+
+ if (!desks.at(index)->gBool())
+ {
+ desks.at(index)->sBool(true);
+ if (index==0)
+ {tasklist->insertTitle(i18n("All desktops"),-1,desks.at(index)->gInt());}
+ else
+ {tasklist->insertTitle(i18n("Desktop %1").arg(index),-1,desks.at(index)->gInt());}
+ incr++;
+ }
+ else
+ {
+ if (fShowTaskbar)
+ {
+ for (i=witems.count(), item = witems.at(i); item; i--, item = witems.prev())
+ {
+ if (item->getId()==id) break;
+ if (item->info.desktop()==rIndex) decr++;
+ }
+ }
+ }
+ tasklist->insertItem(KWin::icon(id), tmpinfo.visibleName(), id, desks.at(index)->gInt()+incr-decr);
+ incr++;
+ for(j=index; j<=nDesks; j++)
+ {
+ desks.at(j)->inc(incr);
+ }
+ }
+ }
+ }
+}
+
+void KoolDock::rmFromTaskList(WId id)
+{
+ nDesks=KWin::numberOfDesktops();
+ int i, j, k, dec=0;
+ int index=0;
+ i=tasklist->indexOf(id);
+ index=tasklist->idAt(i);
+ if (index==id)
+ {
+ tasklist->removeItem(id);
+ dec--;
+ for(j=0; j<=nDesks; j++)
+ {
+ if (desks.at(j)->gBool() && desks.at(j)->gInt()>=i+1)
+ {
+ if (desks.at(j)->gInt()==i+1)
+ {
+ if (tasklist->text(tasklist->idAt(i-1)).isNull() && tasklist->text(tasklist->idAt(i)).isNull())
+ {
+ dec--;
+ desks.at(j)->sBool(false);
+ tasklist->removeItemAt(i-1);
+ }
+ }
+ for(k=j; k<=nDesks; k++)
+ {
+ desks.at(k)->inc(dec);
+ }
+ break;
+ }
+ }
+ }
+}
+
diff --git a/src/kooldock.h b/src/kooldock.h
new file mode 100644
index 0000000..af196bd
--- /dev/null
+++ b/src/kooldock.h
@@ -0,0 +1,364 @@
+/***************************************************************************
+ kooldock.h - description
+ -------------------
+ begin : Tue Jun 10 22:18:34 BST 2003
+ copyright : (C) 2003 by KoolDock team
+ email :
+ ***************************************************************************/
+
+/***************************************************************************
+ * *
+ * 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 KOOLDOCK_H
+#define KOOLDOCK_H
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include <kapp.h>
+#include <kpopupmenu.h>
+#include <kwinmodule.h>
+#include <kaboutdialog.h>
+#include <krootpixmap.h>
+#include <kpixmap.h>
+#include <kurifilter.h>
+
+#include <qwidget.h>
+#include <qptrlist.h>
+#include <qtimer.h>
+#include <qcolor.h>
+
+#include <netwm.h>
+
+#include <qdatetime.h>
+
+#include "item.h"
+#include "xosd.h"
+#include "clip.h"
+#include "setupdialogprg.h"
+#include "dinfo.h"
+
+const int MAX_ICONS = 150; // max number of icons
+const int UPDATE_DIST = 1; // update when x - last_x <= UPDATE_DIST
+const int DEF_SMALL_SIZE = 32; // default small icon size
+const int DEF_BIG_SIZE = 90; // default big icon size
+const int DEF_DOCK_OPACITY = 50; // default dock opacity
+const int DEF_PRIORITY = 5;
+const int DEF_HIDDEN = 1; // default hidden priority
+const int ANIM_TOTAL_STEP = 6; // not in use yet
+
+const int SPACE_W = 1; // space between quick launchers and tasks (the seperator)
+
+const int ON_CHANGE_ANIM_INTERVAL = 50; // animation's interval
+
+/** KoolDock is the base class of the project */
+class KoolDock : public QWidget
+{
+ Q_OBJECT
+ public:
+ /** construtor */
+ KoolDock(QWidget* parent=0, const char *name=0);
+ /** destructor */
+ ~KoolDock();
+
+ //static bool writeIgnoreList(QString text);
+ void setMainPath(QString path);
+ void setArgs(QString param);
+ clip *clipw;
+
+ private:
+ QTime *perf;
+ // configuration variables
+ int fShowTaskbar; // show-taskbar flag
+ int fMinimizedOnly; // show only minimized icons flag
+ int fShowNotification; // show-notification flag
+ int fShowBorders; // show-borders flag
+ int fShowKMenu; // show the K menu
+ int fUseKBFX;
+ int fPriority; // "nice" priority
+ int fMouseTimer; // Mouse timer interval
+ int fClipping; //window area clippig
+ int fClipIcons; //icon area clipping
+ long int fzoomSpeed, zoomStep, zoomStepB, zoomStepS, zoomVal; //speed of show/hide animation
+ int zoomTicksB, zoomTicksS; //counts timer ticks
+ int neededTicksB,neededTicksS; //sets how many ticks is necessary to calculate new speed
+ bool fSpeed;
+ QColor borderColor;
+ int fHidden; // hidden dockbar
+ int fStayBelow;
+ int fOrientation; //bottom/left/top/right
+ int fHideOnClick;
+ int fSteppy;
+ int fShowFrames; // frames to show the dock "growing from bottom"
+ int fGrowFrames; // frames to grow the icon when the mouse is over it.
+ int fHighLightTime;
+ bool fFirstRun;
+ bool fShowShot;
+ bool fGrouping;
+ int fRepaintInterval;
+ int xinerama; //whether we want xinerama
+ int hideTimer; //user define time to show dock
+ int Solid; //whether using backgroung Image or not (for preference controls)
+ int fShowNav; //whether we want the navigation menu (clock + desktop chooser) in kooldocks main menu
+ int numSystray; //for systray control
+ int fSystray; //whether we want the systray or not
+ int fCurrent; //whether to only show windows on current desktop
+ int oldDesktop; //number of previous desktop
+ bool firstTime; //to control certain things
+ QString curTheme; //for the background theme (to preserve changes)
+ int leftRes; //Left monitor resolution
+ int XinDesiredHeight;
+ int XinPreviousWidth;
+ int fpercentPos;
+
+ bool noSet;
+ bool firstInit;
+ bool reloadIcons;
+ bool initialization;
+ int ptPart;
+
+ bool mouseOnLauncher;
+ QStringList lstDrop;
+ bool useList;
+
+ Atom net_system_tray_selection;
+ Atom net_system_tray_opcode;
+
+ QString fLeftImg;
+ QString fRightImg;
+ QString fCenterImg;
+ bool fNWideBg;
+ bool scaleMax;
+
+ QPixmap LeftImg;
+ QPixmap RightImg;
+ QPixmap CenterImg;
+ QPixmap TempScaledCenter;
+ QPixmap TestPix;
+ QImage TestIm;
+
+ unsigned int oLeft, oRight;
+
+ int iwSmall;
+ int iwBig;
+ int iwBig2;
+
+ int firstX, tmpw;
+ int oldfirstX, oldtmpw;
+ int lastX;
+
+ int dockOpacity;
+ QColor bgColor;
+
+ QColor sepColor; // separator bar's color
+
+ int Ybase;
+
+ // normal variables
+
+ QString progPath;
+ QString menuPath;
+ QString confFile;
+ QString iFilename; // right clicked item filename
+ QString mainPath;
+ QString args;
+
+ QStringList ignoreList;
+
+
+ NETWinInfo *info;
+ KWinModule *wm;
+ SetupDialog *setupdlg;
+
+ int Offset;
+ int numLaunchers; // number of quick launcher items
+ int x, y, w, h, h0, h1, w0, x0, w1, x1;
+ int rx, ry, rw, rh, uw; //current position
+ int ix, iy, iDist, iSpace;
+ int dw, dh, rdh;
+ int funcW, funcH;
+ int ii_first, ii_last;
+ int soffset, eoffset; //used in icon positioning
+ int sx, sw;
+ int adjust;
+ int fAmount;
+ int last_mx;
+ int last_ncx;
+
+ QPtrList<Item> items;//currently visible items
+ QPtrList<Item> witems;//all windows on all desktops
+ int iSize[MAX_ICONS + 1];//icon sizes
+ int cx[MAX_ICONS + 1];//positions of small icons
+ int cur_cx[MAX_ICONS + 1];//positions of visible icons
+ QPixmap offscr;//drawing buffer
+
+ KRootPixmap *rootpix;
+ KPixmap bottomBg;
+ KPixmap bottomBgf;
+ QPixmap topBg;
+
+ KAboutDialog *aboutDlg;
+ QTimer *mkbigTimer; //zoom animation timers
+ QTimer *mksmallTimer;
+ QTimer *mTimer; //mouse move emulator (can't use normal event instead)
+ QTimer *onChangeTimer; // used when a window has changed and we need to notify user
+ QTimer *trackTimer; //checks whether mouse touches screen edge
+
+ int animStep; // animation step, not in use yet
+ int iOnClick; // index of the quick launcher being clicked
+ WId cId; // id of the application (used in the right click menu over the taskbar)
+ QString cClass;
+ WId CurrentFocus;
+ int onChangeAnimStep;
+ KPopupMenu *deskpopup;
+ KPopupMenu *appMenu;
+ KPopupMenu *godesk;
+ KPopupMenu *tasklist;
+ KPopupMenu *popup;
+ KPopupMenu *advMenu;
+ int menuCount, currMenu;
+ bool allApps;
+ QPtrList<KPopupMenu> popups;
+ bool iGroup;
+ int dIndex, nDesks;
+ QPtrList<dInfo> desks;
+
+ bool fExpanded;
+ bool track2active;
+ /*Xosd Section */
+ QString nom;
+ QString aux;
+ //xosd *osd;
+ int xosd_st;
+ int showNames;
+ int fCleaner;
+ int xosdShadowOffset;
+ QString xosdFont;
+ QString xosdColor;
+ QString xosdShadowColor;
+ bool xosdBold;
+ bool xosdItalic;
+ int xosdSize;
+ KURIFilterData *_filterData;
+ xosd *xosdw;
+ int animValue;
+ int animState;
+
+ void run(QString cmd);
+ int func(int x);
+ int func2(int x);
+ void doUpdateGeometry();
+ bool addTask(WId id, int iFound=-1);
+ bool rmTask(WId id, int iFound=-1);
+ void rmwTask(int iFound);
+ bool addwTask(WId id);
+ void movetoback(WId id);
+ void loadConf();
+ void loadIgnore();
+ void saveConf();
+ void loadMenu();
+ void addWindows();
+ int itemFromPoint(int x);
+ int xFromIndex(int i);
+ void createMenu(WId id, KPopupMenu* tmpMenu, KWin::WindowInfo* info);
+ void updTaskList();
+ void addToTaskList(WId id);
+ void rmFromTaskList(WId id);
+ bool doRepaint;
+ int currXPos;
+ int lastXPos;
+ int lastYPos;
+ void init1();
+ void init2();
+
+ protected:
+ void paintEvent(QPaintEvent *);
+ void mousePressEvent( QMouseEvent * );
+ void mMoveEvent( int ex, int ey);
+ void mPress( int mx, int my, ButtonState srcButton);
+ void wheelEvent(QWheelEvent *);
+ void enterEvent(QEvent*);
+ void onleaveEvent(QEvent*);
+ void mksmallTimerstop();
+ void dragMoveEvent(QDragMoveEvent* event);
+ void dropEvent(QDropEvent* event);
+
+ public slots:
+ void edit();
+ void editPref();
+ void about();
+ void windowAdded(WId id);
+ void windowRemoved(WId id);
+ void windowChanged(WId id, unsigned int properties);
+ void activeWindowChanged(WId id);
+ void workAreaChanged();
+ void currentDesktopChanged(int);
+ void onChangeTimerTicked();
+ void updateBackground(const QPixmap&);
+ void moveApp();
+ void resizeApp();
+ void minApp();
+ void maxApp();
+ void restApp();
+ void minAllApps();
+ void maxAllApps();
+ void restAllApps();
+ void closeAllApps();
+ void shadeApp();
+ void activateApp();
+ void closeApp();
+ void editItem();
+ void removeItem();
+ void sendToDesktop(int);
+ void goToDesktop(int);
+ void goToWindow(int);
+ /* Systray support */
+ void systemTrayWindowAdded(WId id);
+ void systemTrayWindowRemoved(WId id);
+ void aboutToShow();
+ void aboutToHide();
+
+ void toggleAlwaysOnTop();
+ void toggleKeptBelowOthers();
+ void toggleFullScreen();
+
+ static void addFile(QString filename, QString iconname, QString execname, QString name, bool notify, bool terminal, bool tclose, bool, QString);
+ bool ignored(QString appname);
+
+ #ifdef _ENABLE_DEBUG
+ static void debug(QString message);
+ #endif
+ #ifndef _ENABLE_DEBUG
+ static void debug(QString);
+ #endif
+ void mkbigTimerDo();
+ void mksmallTimerDo();
+ void endProg();
+ void mTimerEnd();
+ void trackTimerEnd();
+ void trackTimer2End();
+ void restart();
+ void reload();
+ void chkRestart();
+ void refreshBackground();
+ void unhighlight();
+ void move2(int nx, int ny);
+ void resize2(int nw, int nh);
+ void getBottomBG();
+ void getTopBG();
+ void setDesktopIconsArea(int, int, int, int);
+ void setDockAbove();
+ void setDockBelow();
+ void menuX(int num);
+ void menuShow();
+ void pTest();
+};
+
+#endif
diff --git a/src/main.cpp b/src/main.cpp
new file mode 100644
index 0000000..411fad6
--- /dev/null
+++ b/src/main.cpp
@@ -0,0 +1,114 @@
+/***************************************************************************
+ main.cpp - description
+ -------------------
+ begin : Thu Jun 19 14:43:55 BST 2003
+ copyright : (C) 2003 by KoolDock team
+ email :
+ ***************************************************************************/
+
+/***************************************************************************
+ * *
+ * 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. *
+ * *
+ ***************************************************************************/
+
+#include <kcmdlineargs.h>
+#include <kaboutdata.h>
+#include <klocale.h>
+#include <kcrash.h>
+#include <kdebug.h>
+#include <kuniqueapplication.h>
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <kmessagebox.h>
+
+#include "kooldock.h"
+
+#define KOOLDOCK_VERSION "0.4.7"
+QString argv0;
+
+#ifndef _ENABLE_DEBUG
+extern "C"
+{
+ static void crashHandler(int /*signal*/)
+ {
+ char cmd[1024];
+ fprintf(stderr, "kooldock: crashHandler called\n");
+ snprintf(cmd, 1025, "%s &", argv0.ascii());
+ system(cmd); // try to restart according to argv[0]
+ }
+}
+#endif
+
+static const char *description = I18N_NOOP("<center><b>KoolDock</b></center>A Kool Dock for KDE<br><br>KoolDock is based upon the original work of Dang Viet Dung, Ksmoothdock 2.1<br><br>");
+
+static KCmdLineOptions options[] =
+{
+ { "o", 0, 0 },
+ { "options", I18N_NOOP("Show configuration window on start"), 0 },
+ { "k", 0, 0 },
+ { "kill", I18N_NOOP("Kills all processes called Kooldock"), 0 },
+ {0, 0, 0}
+};
+
+int main(int argc, char *argv[])
+{
+ argv0=QString("%1").arg(argv[0]);
+
+ KAboutData aboutData( "kooldock", I18N_NOOP("KoolDock"),
+ KOOLDOCK_VERSION, description, KAboutData::License_GPL,
+ "(c) 2003, 2006 - KoolDock team", 0, "http://ktown.kde.cl/kooldock", "kooldock-devel@lists.kde.cl");
+ aboutData.addAuthor("Matias Fernandez",0, "radix@kde.cl");
+ aboutData.addAuthor("Francisco Guidi",0, "francisco@guidi.com", "http://francisco.guidi.com");
+ aboutData.addAuthor("Blase Stanek", 0, "bisiek@op.pl");
+ aboutData.addCredit("Mauricio Bahamonde", I18N_NOOP("Project Webmaster"), "elkrammer@kde.cl", "http://ktown.kde.cl/~elkrammer/");
+ aboutData.addCredit("Sebastian Sariego Benitez", I18N_NOOP("Icon and artwork"), "segfault@powers.cl", "http://segfault.kde.cl");
+ aboutData.setTranslator(I18N_NOOP("_: NAME OF TRANSLATORS\nYour names"), I18N_NOOP("_: EMAIL OF TRANSLATORS\nYour emails"));
+ KCmdLineArgs::init( argc, argv, &aboutData );
+ KCmdLineArgs::addCmdLineOptions( options ); // Add our own options.
+
+ #ifdef _ENABLE_DEBUG
+ KApplication::addCmdLineOptions();
+ #endif
+ #ifndef _ENABLE_DEBUG
+ KUniqueApplication::addCmdLineOptions();
+ #endif
+ if (QString("%1").arg(argv[1])=="-kill" || QString("%1").arg(argv[1])=="-k")
+ {
+ system("killall kooldock");
+ exit(0);
+ }
+
+ #ifndef _ENABLE_DEBUG
+ if (!KUniqueApplication::start())
+ {
+ fprintf(stderr, "Kooldock is already running!\n");
+ exit(0);
+ }
+ #endif
+
+ #ifndef _ENABLE_DEBUG
+ KUniqueApplication a;
+ #endif
+ #ifdef _ENABLE_DEBUG
+ KApplication a;
+ #endif
+ KoolDock *kooldock = new KoolDock();
+ a.setMainWidget(kooldock);
+
+ #ifndef _ENABLE_DEBUG
+ if(KCrash::crashHandler()!=0)
+ {
+ kdDebug(0) << "Installing crash handler" << endl;
+ KCrash::setEmergencySaveFunction(crashHandler); // Try to restart on crash
+ }
+ #endif
+
+ kooldock->setMainPath(argv0);
+ kooldock->setArgs(QString("%1").arg(argv[1]));
+ return a.exec();
+}
diff --git a/src/setupdialog.ui b/src/setupdialog.ui
new file mode 100644
index 0000000..f23cbaf
--- /dev/null
+++ b/src/setupdialog.ui
@@ -0,0 +1,1990 @@
+<!DOCTYPE UI><UI version="3.3" stdsetdef="1">
+<class>SetupDialog</class>
+<widget class="QDialog">
+ <property name="name">
+ <cstring>SetupDialog</cstring>
+ </property>
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>545</width>
+ <height>475</height>
+ </rect>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>1024</width>
+ <height>768</height>
+ </size>
+ </property>
+ <property name="baseSize">
+ <size>
+ <width>0</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="caption">
+ <string>KoolDock Configuration</string>
+ </property>
+ <property name="sizeGripEnabled">
+ <bool>true</bool>
+ </property>
+ <property name="modal">
+ <bool>false</bool>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string></string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string></string>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QPushButton" row="1" column="3">
+ <property name="name">
+ <cstring>buttonCancel</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;Cancel</string>
+ </property>
+ <property name="accel">
+ <string></string>
+ </property>
+ <property name="autoDefault">
+ <bool>true</bool>
+ </property>
+ </widget>
+ <widget class="QPushButton" row="1" column="2">
+ <property name="name">
+ <cstring>buttonOk</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;OK</string>
+ </property>
+ <property name="accel">
+ <string></string>
+ </property>
+ <property name="autoDefault">
+ <bool>true</bool>
+ </property>
+ <property name="default">
+ <bool>true</bool>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="0" column="0">
+ <property name="name">
+ <cstring>toReloadIcons</cstring>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>0</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="text">
+ <string>checkBox11</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="0" column="0">
+ <property name="name">
+ <cstring>systray</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>0</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>0</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="text">
+ <string>Enable System Tray (Experimental!)</string>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>Enables KoolDock System Tray Support; it can be used instead of kicker's systray applet (its VERY experimental; do not use it unless you intend to help me get this working :P )</string>
+ </property>
+ </widget>
+ <widget class="QTabWidget" row="0" column="0" rowspan="1" colspan="4">
+ <property name="name">
+ <cstring>tabWidget</cstring>
+ </property>
+ <widget class="QWidget">
+ <property name="name">
+ <cstring>Widget2</cstring>
+ </property>
+ <attribute name="title">
+ <string>General</string>
+ </attribute>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QGroupBox" row="0" column="0">
+ <property name="name">
+ <cstring>groupBox3</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>1</hsizetype>
+ <vsizetype>5</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="title">
+ <string>General options:</string>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="Line" row="2" column="0" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>line15</cstring>
+ </property>
+ <property name="frameShape">
+ <enum>HLine</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>Sunken</enum>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ </widget>
+ <widget class="Line" row="6" column="0" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>line1_3</cstring>
+ </property>
+ <property name="frameShape">
+ <enum>HLine</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>Sunken</enum>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ </widget>
+ <widget class="Line" row="8" column="0" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>line1_3_2</cstring>
+ </property>
+ <property name="frameShape">
+ <enum>HLine</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>Sunken</enum>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="0" column="0">
+ <property name="name">
+ <cstring>chk1</cstring>
+ </property>
+ <property name="text">
+ <string>Autohide</string>
+ </property>
+ <property name="checked">
+ <bool>false</bool>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>Start KoolDock hidden; if the mouse is not over KoolDock it will hide</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="3" column="0">
+ <property name="name">
+ <cstring>chk5</cstring>
+ </property>
+ <property name="text">
+ <string>Enable Taskbar</string>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>Enables KoolDock taskbar; it can be used instead of Kicker's taskbar</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="4" column="0">
+ <property name="name">
+ <cstring>chk6</cstring>
+ </property>
+ <property name="text">
+ <string>Enable Taskbar notification</string>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>Window icon in KoolDock's taskbar will blink when something happens on the given application</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="5" column="0">
+ <property name="name">
+ <cstring>chkGrouping</cstring>
+ </property>
+ <property name="text">
+ <string>Similar windows grouping</string>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>Enables grouping similar task icons into one icon.</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="7" column="0">
+ <property name="name">
+ <cstring>chk7</cstring>
+ </property>
+ <property name="text">
+ <string>Show K Menu</string>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>Shows the KDE Menu in KoolDock's launcher.</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="9" column="0" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>Steppy</cstring>
+ </property>
+ <property name="text">
+ <string>Don't scroll while mouse is on the same icon</string>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>Makes the scrolling not smooth, but automatically centered on current icon.</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="10" column="0" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>nav</cstring>
+ </property>
+ <property name="text">
+ <string>Navigation Menu</string>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>Adds a clock into the Main Menu and a virtual desktop navigator.</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="7" column="1">
+ <property name="name">
+ <cstring>chkUseKBFX</cstring>
+ </property>
+ <property name="text">
+ <string>Use KBFX</string>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>Makes that KoolDock don't use KMenu, but uses alternative KBFX menu (widget is necessary).</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="5" column="1">
+ <property name="name">
+ <cstring>cbMinimizedOnly</cstring>
+ </property>
+ <property name="text">
+ <string>Show only minimized</string>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>That makes kooldock shows only the minimized application icons, and hides the other.</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="4" column="1">
+ <property name="name">
+ <cstring>chkSshot</cstring>
+ </property>
+ <property name="text">
+ <string>Screenshot of minimized windows</string>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>When a window is minimized a screenshot of the application will be use as an icon in KoolDock's Taskbar.</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="3" column="1">
+ <property name="name">
+ <cstring>currentDesk</cstring>
+ </property>
+ <property name="text">
+ <string>Only Manage Current Desktop</string>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>Only show in KoolDock's taskbar windows in the current desktop</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="0" column="1">
+ <property name="name">
+ <cstring>hideOnClick</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>1</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Hide on click</string>
+ </property>
+ <property name="checked">
+ <bool>false</bool>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>Hide KoolDock after clicking on a Launcher or Window icon.</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="1" column="0" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>cbStayBelow</cstring>
+ </property>
+ <property name="text">
+ <string>Stay below windows when not used</string>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>Sends KoolDock before other windows, when it's collapsed.</string>
+ </property>
+ </widget>
+ </grid>
+ </widget>
+ </grid>
+ </widget>
+ <widget class="QWidget">
+ <property name="name">
+ <cstring>TabPage</cstring>
+ </property>
+ <attribute name="title">
+ <string>Icon text</string>
+ </attribute>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QGroupBox" row="0" column="0">
+ <property name="name">
+ <cstring>groupBox10</cstring>
+ </property>
+ <property name="title">
+ <string>Icon text</string>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLabel" row="2" column="0">
+ <property name="name">
+ <cstring>textLabel1_4</cstring>
+ </property>
+ <property name="text">
+ <string>Text font:</string>
+ </property>
+ </widget>
+ <widget class="KFontCombo" row="2" column="1">
+ <property name="name">
+ <cstring>xosdFont</cstring>
+ </property>
+ </widget>
+ <widget class="QLabel" row="5" column="0">
+ <property name="name">
+ <cstring>textLabel1_2</cstring>
+ </property>
+ <property name="text">
+ <string>Shadow offset:</string>
+ </property>
+ </widget>
+ <widget class="QSpinBox" row="5" column="1">
+ <property name="name">
+ <cstring>spinBox2</cstring>
+ </property>
+ <property name="maxValue">
+ <number>4</number>
+ </property>
+ <property name="minValue">
+ <number>0</number>
+ </property>
+ </widget>
+ <widget class="QLabel" row="4" column="0">
+ <property name="name">
+ <cstring>textLabel1</cstring>
+ </property>
+ <property name="text">
+ <string>Text color:</string>
+ </property>
+ </widget>
+ <widget class="KColorCombo" row="4" column="1">
+ <property name="name">
+ <cstring>kColorCombo1</cstring>
+ </property>
+ </widget>
+ <widget class="QSpinBox" row="3" column="1">
+ <property name="name">
+ <cstring>xosdSize</cstring>
+ </property>
+ <property name="maxValue">
+ <number>99</number>
+ </property>
+ <property name="minValue">
+ <number>1</number>
+ </property>
+ </widget>
+ <widget class="QLabel" row="3" column="0">
+ <property name="name">
+ <cstring>textLabel1_2_2</cstring>
+ </property>
+ <property name="text">
+ <string>Font size:</string>
+ </property>
+ </widget>
+ <widget class="KColorCombo" row="6" column="1">
+ <property name="name">
+ <cstring>kColorCombo_shadow</cstring>
+ </property>
+ </widget>
+ <widget class="QLabel" row="6" column="0">
+ <property name="name">
+ <cstring>textLabel1_8</cstring>
+ </property>
+ <property name="text">
+ <string>Shadow color:</string>
+ </property>
+ </widget>
+ <widget class="Line" row="1" column="0" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>line9</cstring>
+ </property>
+ <property name="frameShape">
+ <enum>HLine</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>Sunken</enum>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="7" column="0" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>cbCleaner</cstring>
+ </property>
+ <property name="text">
+ <string>Cleaner text (bigger memory and CPU usage)</string>
+ </property>
+ </widget>
+ <widget class="QFrame" row="0" column="0" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>frame3</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>7</hsizetype>
+ <vsizetype>1</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="frameShape">
+ <enum>NoFrame</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>Raised</enum>
+ </property>
+ <property name="lineWidth">
+ <number>0</number>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QCheckBox" row="0" column="2">
+ <property name="name">
+ <cstring>xosdBold</cstring>
+ </property>
+ <property name="text">
+ <string>Bold</string>
+ </property>
+ <property name="checked">
+ <bool>false</bool>
+ </property>
+ </widget>
+ <spacer row="0" column="1">
+ <property name="name">
+ <cstring>spacer10</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>16</width>
+ <height>21</height>
+ </size>
+ </property>
+ </spacer>
+ <widget class="QCheckBox" row="0" column="0">
+ <property name="name">
+ <cstring>chk2</cstring>
+ </property>
+ <property name="text">
+ <string>Show text over icons</string>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>Moving the mouse over KoolDock's launcher or TaskBar will show the window/launcher name on the screen</string>
+ </property>
+ </widget>
+ <spacer row="0" column="3">
+ <property name="name">
+ <cstring>spacer11</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>16</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ <widget class="QCheckBox" row="0" column="4">
+ <property name="name">
+ <cstring>xosdItalic</cstring>
+ </property>
+ <property name="text">
+ <string>Italic</string>
+ </property>
+ <property name="checked">
+ <bool>false</bool>
+ </property>
+ </widget>
+ <spacer row="0" column="5">
+ <property name="name">
+ <cstring>spacer12</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>81</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </grid>
+ </widget>
+ </grid>
+ </widget>
+ </grid>
+ </widget>
+ <widget class="QWidget">
+ <property name="name">
+ <cstring>TabPage</cstring>
+ </property>
+ <attribute name="title">
+ <string>Sizes</string>
+ </attribute>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QGroupBox" row="0" column="0">
+ <property name="name">
+ <cstring>groupBox9</cstring>
+ </property>
+ <property name="title">
+ <string>Sizes</string>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLabel" row="0" column="0">
+ <property name="name">
+ <cstring>textLabel2</cstring>
+ </property>
+ <property name="text">
+ <string>Small icon size:</string>
+ </property>
+ </widget>
+ <widget class="QSpinBox" row="0" column="1">
+ <property name="name">
+ <cstring>iwSmall</cstring>
+ </property>
+ </widget>
+ <widget class="QLabel" row="0" column="2">
+ <property name="name">
+ <cstring>textLabel2_2</cstring>
+ </property>
+ <property name="text">
+ <string>Big icon size:</string>
+ </property>
+ </widget>
+ <widget class="QSpinBox" row="0" column="3">
+ <property name="name">
+ <cstring>iwBig</cstring>
+ </property>
+ <property name="maxValue">
+ <number>160</number>
+ </property>
+ </widget>
+ <widget class="QLabel" row="1" column="0" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>textLabel1_13</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>0</hsizetype>
+ <vsizetype>5</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Amount of big icons:</string>
+ </property>
+ </widget>
+ <widget class="QSpinBox" row="1" column="2" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>fAmount</cstring>
+ </property>
+ <property name="maxValue">
+ <number>10</number>
+ </property>
+ <property name="minValue">
+ <number>4</number>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>This box determines amout of zoomed icons.</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="2" column="0" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>textLabel1_6</cstring>
+ </property>
+ <property name="text">
+ <string>Space between icons</string>
+ </property>
+ </widget>
+ <widget class="QSpinBox" row="2" column="2" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>sbSpace</cstring>
+ </property>
+ </widget>
+ </grid>
+ </widget>
+ </grid>
+ </widget>
+ <widget class="QWidget">
+ <property name="name">
+ <cstring>TabPage</cstring>
+ </property>
+ <attribute name="title">
+ <string>Application List</string>
+ </attribute>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLabel" row="0" column="0" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>textLabel1_3</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>3</hsizetype>
+ <vsizetype>5</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Drag an application to add it or</string>
+ </property>
+ </widget>
+ <widget class="QPushButton" row="0" column="2" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>buttonadd</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>5</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Manually &amp;add Application</string>
+ </property>
+ <property name="accel">
+ <string>Alt+A</string>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>Click here to manually add an application to the Launcher</string>
+ </property>
+ </widget>
+ <widget class="KIconView" row="1" column="0" rowspan="1" colspan="4">
+ <property name="name">
+ <cstring>applist</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>3</hsizetype>
+ <vsizetype>7</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="mode">
+ <enum>Select</enum>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>Drag and Drop here any executable or desktop file for which you want an entry in KoolDock's Launcher</string>
+ </property>
+ </widget>
+ <widget class="QPushButton" row="2" column="0">
+ <property name="name">
+ <cstring>mLeft</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>0</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Move Left</string>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>Moves selected item left</string>
+ </property>
+ </widget>
+ <widget class="QPushButton" row="2" column="3">
+ <property name="name">
+ <cstring>mRight</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>0</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Move Right</string>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>Moves selected item right</string>
+ </property>
+ </widget>
+ <spacer row="2" column="1" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>spacer7</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>181</width>
+ <height>21</height>
+ </size>
+ </property>
+ </spacer>
+ <widget class="QLabel" row="3" column="0" rowspan="1" colspan="4">
+ <property name="name">
+ <cstring>textLabel1_5</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>3</hsizetype>
+ <vsizetype>5</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Right click opens the icon menu.</string>
+ </property>
+ </widget>
+ </grid>
+ </widget>
+ <widget class="QWidget">
+ <property name="name">
+ <cstring>TabPage</cstring>
+ </property>
+ <attribute name="title">
+ <string>Ignore list</string>
+ </attribute>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QPushButton" row="0" column="0">
+ <property name="name">
+ <cstring>grabWin</cstring>
+ </property>
+ <property name="text">
+ <string>Grab Window</string>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>Click here to start grabbing windows names; click Add for each window you click on</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="1" column="0">
+ <property name="name">
+ <cstring>textLabel1_7</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>3</hsizetype>
+ <vsizetype>5</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Click "Grab Window" and click over a Window, then click "Add" to append it to
+the ignore list; you may also manually type or edit the window's name in the
+box below. To stop grabbing just click "Grabbing...", "Ok" or "Cancel".</string>
+ </property>
+ </widget>
+ <widget class="KEditListBox" row="2" column="0">
+ <property name="name">
+ <cstring>ignoreBox</cstring>
+ </property>
+ <property name="title">
+ <string></string>
+ </property>
+ <property name="flat">
+ <bool>true</bool>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string></string>
+ </property>
+ </widget>
+ </grid>
+ </widget>
+ <widget class="QWidget">
+ <property name="name">
+ <cstring>TabPage</cstring>
+ </property>
+ <attribute name="title">
+ <string>Background</string>
+ </attribute>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QGroupBox" row="1" column="0">
+ <property name="name">
+ <cstring>chkSolid</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>1</hsizetype>
+ <vsizetype>1</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="title">
+ <string>Solid Background:</string>
+ </property>
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLabel" row="3" column="0">
+ <property name="name">
+ <cstring>textLabel1_3_2_2</cstring>
+ </property>
+ <property name="text">
+ <string>Border color:</string>
+ </property>
+ </widget>
+ <widget class="KColorCombo" row="3" column="1">
+ <property name="name">
+ <cstring>kColorCombo3</cstring>
+ </property>
+ </widget>
+ <widget class="QLabel" row="4" column="0">
+ <property name="name">
+ <cstring>textLabel1_3_3</cstring>
+ </property>
+ <property name="text">
+ <string>Dock opacity:</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="1" column="0">
+ <property name="name">
+ <cstring>textLabel1_3_2</cstring>
+ </property>
+ <property name="text">
+ <string>Background color:</string>
+ </property>
+ </widget>
+ <widget class="KColorCombo" row="1" column="1">
+ <property name="name">
+ <cstring>kColorCombo2</cstring>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="2" column="0">
+ <property name="name">
+ <cstring>chk4</cstring>
+ </property>
+ <property name="text">
+ <string>Show borders</string>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>When using a Solid Background you may tell KoolDock to draw its borders (rectangle)</string>
+ </property>
+ </widget>
+ <widget class="QSpinBox" row="4" column="1">
+ <property name="name">
+ <cstring>spinBox1</cstring>
+ </property>
+ <property name="specialValueText">
+ <string></string>
+ </property>
+ <property name="maxValue">
+ <number>100</number>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>Solid background level of transparency (0 means fully transparent)</string>
+ </property>
+ </widget>
+ </grid>
+ </widget>
+ <widget class="QGroupBox" row="0" column="0">
+ <property name="name">
+ <cstring>groupBox6</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>1</hsizetype>
+ <vsizetype>1</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="frameShadow">
+ <enum>Sunken</enum>
+ </property>
+ <property name="lineWidth">
+ <number>1</number>
+ </property>
+ <property name="midLineWidth">
+ <number>0</number>
+ </property>
+ <property name="title">
+ <string>TaskBar Separator</string>
+ </property>
+ <property name="flat">
+ <bool>false</bool>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="KColorCombo" row="0" column="1">
+ <property name="name">
+ <cstring>kColorCombo4</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>1</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>The separator is a line drawed between KoolDock's Launcher and Taskbar</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="0" column="0">
+ <property name="name">
+ <cstring>textLabel1_3_2_2_2</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>5</hsizetype>
+ <vsizetype>5</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Separator color:</string>
+ </property>
+ </widget>
+ </grid>
+ </widget>
+ <widget class="QGroupBox" row="2" column="0">
+ <property name="name">
+ <cstring>chkImg</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>1</hsizetype>
+ <vsizetype>1</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="title">
+ <string>Background Theme:</string>
+ </property>
+ <property name="flat">
+ <bool>false</bool>
+ </property>
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ <property name="checked">
+ <bool>false</bool>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QCheckBox" row="2" column="0" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>nWideBg</cstring>
+ </property>
+ <property name="text">
+ <string>Don't allow wider background than screen</string>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>Mkaes that the background ends don't go over the screen edges.</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="1" column="0">
+ <property name="name">
+ <cstring>textLabel1_9</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>1</hsizetype>
+ <vsizetype>5</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Background Theme:</string>
+ </property>
+ </widget>
+ <widget class="QComboBox" row="1" column="1">
+ <property name="name">
+ <cstring>theme</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>7</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ <widget class="QButtonGroup" row="3" column="0" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>buttonGroup2_2</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>5</hsizetype>
+ <vsizetype>1</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="frameShape">
+ <enum>NoFrame</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>Plain</enum>
+ </property>
+ <property name="lineWidth">
+ <number>0</number>
+ </property>
+ <property name="title">
+ <string></string>
+ </property>
+ <property name="flat">
+ <bool>false</bool>
+ </property>
+ <property name="checkable">
+ <bool>false</bool>
+ </property>
+ <property name="checked">
+ <bool>false</bool>
+ </property>
+ <property name="exclusive">
+ <bool>false</bool>
+ </property>
+ <property name="radioButtonExclusive">
+ <bool>true</bool>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QRadioButton" row="0" column="0">
+ <property name="name">
+ <cstring>opScale1</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>1</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Corner scale: free</string>
+ </property>
+ </widget>
+ <spacer row="0" column="1">
+ <property name="name">
+ <cstring>spacer8</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>146</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ <widget class="QRadioButton" row="0" column="2">
+ <property name="name">
+ <cstring>opScale2</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>3</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Corner scale: min</string>
+ </property>
+ </widget>
+ <spacer row="0" column="3">
+ <property name="name">
+ <cstring>spacer9</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>40</width>
+ <height>21</height>
+ </size>
+ </property>
+ </spacer>
+ </grid>
+ </widget>
+ </grid>
+ </widget>
+ </grid>
+ </widget>
+ <widget class="QWidget">
+ <property name="name">
+ <cstring>TabPage</cstring>
+ </property>
+ <attribute name="title">
+ <string>Placement</string>
+ </attribute>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QGroupBox" row="0" column="0">
+ <property name="name">
+ <cstring>groupBox5</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>3</hsizetype>
+ <vsizetype>3</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="title">
+ <string>Window placement</string>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLabel" row="0" column="0">
+ <property name="name">
+ <cstring>textLabel1_11</cstring>
+ </property>
+ <property name="text">
+ <string>Window position on edge (%):</string>
+ </property>
+ </widget>
+ <widget class="QSpinBox" row="0" column="1">
+ <property name="name">
+ <cstring>percentPos</cstring>
+ </property>
+ <property name="maxValue">
+ <number>100</number>
+ </property>
+ <property name="lineStep">
+ <number>5</number>
+ </property>
+ <property name="value">
+ <number>50</number>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>Determines the position of expanded KoolDock's window on the selected screen edge.</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="2" column="0">
+ <property name="name">
+ <cstring>xrma</cstring>
+ </property>
+ <property name="text">
+ <string>Xinerama Support</string>
+ </property>
+ <property name="checked">
+ <bool>false</bool>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>If you are using xinerama you should enable this option for proper behaviour.</string>
+ </property>
+ </widget>
+ <widget class="Line" row="1" column="0" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>line4</cstring>
+ </property>
+ <property name="frameShape">
+ <enum>HLine</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>Sunken</enum>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ </widget>
+ <widget class="QLabel" row="3" column="0">
+ <property name="name">
+ <cstring>textLabel1_10</cstring>
+ </property>
+ <property name="text">
+ <string>Desired Monitor Width</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="4" column="0">
+ <property name="name">
+ <cstring>textLabel1_12</cstring>
+ </property>
+ <property name="text">
+ <string>Desired Monitor Height</string>
+ </property>
+ </widget>
+ <widget class="QSpinBox" row="3" column="1">
+ <property name="name">
+ <cstring>SleftRes</cstring>
+ </property>
+ <property name="maxValue">
+ <number>32768</number>
+ </property>
+ <property name="minValue">
+ <number>0</number>
+ </property>
+ <property name="value">
+ <number>1</number>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>Width of monitor on which KoolDock should be shown.</string>
+ </property>
+ </widget>
+ <widget class="QSpinBox" row="4" column="1">
+ <property name="name">
+ <cstring>SHeight</cstring>
+ </property>
+ <property name="maxValue">
+ <number>32767</number>
+ </property>
+ <property name="minValue">
+ <number>200</number>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>Height of monitor on which kooldock should be shown.</string>
+ </property>
+ </widget>
+ <widget class="QSpinBox" row="5" column="1">
+ <property name="name">
+ <cstring>PWidth</cstring>
+ </property>
+ <property name="maxValue">
+ <number>32768</number>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>Sum of widths of monitors before the desired one.</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="5" column="0">
+ <property name="name">
+ <cstring>textLabel2_4</cstring>
+ </property>
+ <property name="text">
+ <string>Previous Monitors Width</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="6" column="0">
+ <property name="name">
+ <cstring>textLabel2_5</cstring>
+ </property>
+ <property name="text">
+ <string>Window position:</string>
+ </property>
+ </widget>
+ <widget class="QButtonGroup" row="6" column="1">
+ <property name="name">
+ <cstring>buttonGroup2</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>1</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="frameShape">
+ <enum>GroupBoxPanel</enum>
+ </property>
+ <property name="title">
+ <string></string>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <spacer row="0" column="2">
+ <property name="name">
+ <cstring>spacer3</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>31</width>
+ <height>21</height>
+ </size>
+ </property>
+ </spacer>
+ <widget class="QRadioButton" row="1" column="0">
+ <property name="name">
+ <cstring>op3</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>0</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="autoMask">
+ <bool>false</bool>
+ </property>
+ <property name="text">
+ <string>Left</string>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>Makes that KoolDock's window will appear on left screen edge.</string>
+ </property>
+ </widget>
+ <widget class="QRadioButton" row="1" column="2">
+ <property name="name">
+ <cstring>op1</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>0</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="autoMask">
+ <bool>false</bool>
+ </property>
+ <property name="text">
+ <string>Right</string>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>Makes that KoolDock's window will appear on right screen edge.</string>
+ </property>
+ </widget>
+ <spacer row="1" column="1">
+ <property name="name">
+ <cstring>spacer6</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>41</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ <spacer row="2" column="2">
+ <property name="name">
+ <cstring>spacer5</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>21</width>
+ <height>21</height>
+ </size>
+ </property>
+ </spacer>
+ <widget class="QRadioButton" row="0" column="1">
+ <property name="name">
+ <cstring>op2</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>0</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="autoMask">
+ <bool>false</bool>
+ </property>
+ <property name="text">
+ <string>Top</string>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>Makes that KoolDock's window will appear on top screen edge.</string>
+ </property>
+ </widget>
+ <widget class="QRadioButton" row="2" column="1">
+ <property name="name">
+ <cstring>op0</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>0</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="autoMask">
+ <bool>false</bool>
+ </property>
+ <property name="text">
+ <string>Bottom</string>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>Makes that KoolDock's window will appear on bottom screen edge.</string>
+ </property>
+ </widget>
+ <spacer row="0" column="0">
+ <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>31</width>
+ <height>21</height>
+ </size>
+ </property>
+ </spacer>
+ <spacer row="2" column="0">
+ <property name="name">
+ <cstring>spacer4</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>21</width>
+ <height>21</height>
+ </size>
+ </property>
+ </spacer>
+ </grid>
+ </widget>
+ </grid>
+ </widget>
+ </grid>
+ </widget>
+ <widget class="QWidget">
+ <property name="name">
+ <cstring>TabPage</cstring>
+ </property>
+ <attribute name="title">
+ <string>Other</string>
+ </attribute>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QGroupBox" row="0" column="0">
+ <property name="name">
+ <cstring>groupBox7</cstring>
+ </property>
+ <property name="title">
+ <string>CPU</string>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLabel" row="0" column="0">
+ <property name="name">
+ <cstring>textLabel2_3</cstring>
+ </property>
+ <property name="text">
+ <string>Priority (0=max, 19=min)</string>
+ </property>
+ </widget>
+ <widget class="QSpinBox" row="0" column="1">
+ <property name="name">
+ <cstring>Priority</cstring>
+ </property>
+ <property name="maxValue">
+ <number>19</number>
+ </property>
+ <property name="minValue">
+ <number>0</number>
+ </property>
+ <property name="value">
+ <number>5</number>
+ </property>
+ </widget>
+ </grid>
+ </widget>
+ <widget class="QGroupBox" row="1" column="0">
+ <property name="name">
+ <cstring>groupBox8</cstring>
+ </property>
+ <property name="title">
+ <string>Desktop clipping</string>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QCheckBox" row="0" column="0">
+ <property name="name">
+ <cstring>chClipping</cstring>
+ </property>
+ <property name="text">
+ <string>Clip desktop workspace</string>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>Makes desktop smaller that maximized windows don't cover KoolDock's window.</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="1" column="0">
+ <property name="name">
+ <cstring>chClipIcons</cstring>
+ </property>
+ <property name="text">
+ <string>Clip icon area (DCOP)</string>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>Makes KDE desktop smaller, that KoolDock's window don't cover the icons.</string>
+ </property>
+ </widget>
+ </grid>
+ </widget>
+ <widget class="QGroupBox" row="2" column="0">
+ <property name="name">
+ <cstring>groupBox6_2</cstring>
+ </property>
+ <property name="title">
+ <string>Speed</string>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLabel" row="0" column="0">
+ <property name="name">
+ <cstring>sejtanwodbycie</cstring>
+ </property>
+ <property name="text">
+ <string>Zooming speed (ms)</string>
+ </property>
+ </widget>
+ <widget class="QSpinBox" row="0" column="1">
+ <property name="name">
+ <cstring>zoomSpeed</cstring>
+ </property>
+ <property name="prefix">
+ <string></string>
+ </property>
+ <property name="suffix">
+ <string></string>
+ </property>
+ <property name="specialValueText">
+ <string></string>
+ </property>
+ <property name="wrapping">
+ <bool>false</bool>
+ </property>
+ <property name="buttonSymbols">
+ <enum>UpDownArrows</enum>
+ </property>
+ <property name="maxValue">
+ <number>1000</number>
+ </property>
+ <property name="minValue">
+ <number>1</number>
+ </property>
+ <property name="value">
+ <number>100</number>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>Determines the speen of zooming animation</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="1" column="0">
+ <property name="name">
+ <cstring>textLabel1_6_2</cstring>
+ </property>
+ <property name="text">
+ <string>Show after</string>
+ </property>
+ </widget>
+ <widget class="QSpinBox" row="1" column="1">
+ <property name="name">
+ <cstring>hideTimer</cstring>
+ </property>
+ <property name="suffix">
+ <string>msec</string>
+ </property>
+ <property name="maxValue">
+ <number>5000</number>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>Time before showing KoolDock if mouse reaches bottom of the screen</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="2" column="0">
+ <property name="name">
+ <cstring>chkSpeed</cstring>
+ </property>
+ <property name="text">
+ <string>Speed control</string>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string></string>
+ </property>
+ </widget>
+ </grid>
+ </widget>
+ </grid>
+ </widget>
+ </widget>
+ <spacer row="1" column="1">
+ <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>300</width>
+ <height>21</height>
+ </size>
+ </property>
+ </spacer>
+ <widget class="QPushButton" row="1" column="0">
+ <property name="name">
+ <cstring>btnApply</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>1</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Apply</string>
+ </property>
+ </widget>
+ </grid>
+</widget>
+<connections>
+ <connection>
+ <sender>applist</sender>
+ <signal>dropped(QDropEvent*,const QValueList&lt;QIconDragItem&gt;&amp;)</signal>
+ <receiver>SetupDialog</receiver>
+ <slot>applist_dropped(QDropEvent*,const QValueList&lt;QIconDragItem&gt;&amp;)</slot>
+ </connection>
+ <connection>
+ <sender>buttonadd</sender>
+ <signal>clicked()</signal>
+ <receiver>SetupDialog</receiver>
+ <slot>buttonadd_clicked()</slot>
+ </connection>
+ <connection>
+ <sender>buttonOk</sender>
+ <signal>clicked()</signal>
+ <receiver>SetupDialog</receiver>
+ <slot>configOK()</slot>
+ </connection>
+ <connection>
+ <sender>buttonCancel</sender>
+ <signal>clicked()</signal>
+ <receiver>SetupDialog</receiver>
+ <slot>configCancel()</slot>
+ </connection>
+ <connection>
+ <sender>grabWin</sender>
+ <signal>clicked()</signal>
+ <receiver>SetupDialog</receiver>
+ <slot>grabWin_clicked()</slot>
+ </connection>
+ <connection>
+ <sender>applist</sender>
+ <signal>contextMenuRequested(QIconViewItem*,const QPoint&amp;)</signal>
+ <receiver>SetupDialog</receiver>
+ <slot>applist_contextMenuRequested(QIconViewItem*,const QPoint&amp;)</slot>
+ </connection>
+ <connection>
+ <sender>mLeft</sender>
+ <signal>clicked()</signal>
+ <receiver>SetupDialog</receiver>
+ <slot>left()</slot>
+ </connection>
+ <connection>
+ <sender>mRight</sender>
+ <signal>clicked()</signal>
+ <receiver>SetupDialog</receiver>
+ <slot>right()</slot>
+ </connection>
+ <connection>
+ <sender>applist</sender>
+ <signal>clicked(QIconViewItem*,const QPoint&amp;)</signal>
+ <receiver>SetupDialog</receiver>
+ <slot>applist_clicked(QIconViewItem*,const QPoint&amp;)</slot>
+ </connection>
+ <connection>
+ <sender>xrma</sender>
+ <signal>clicked()</signal>
+ <receiver>SetupDialog</receiver>
+ <slot>xrma_clicked()</slot>
+ </connection>
+ <connection>
+ <sender>chk1</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>SetupDialog</receiver>
+ <slot>chkHidden()</slot>
+ </connection>
+ <connection>
+ <sender>chk5</sender>
+ <signal>clicked()</signal>
+ <receiver>SetupDialog</receiver>
+ <slot>chkTask()</slot>
+ </connection>
+ <connection>
+ <sender>btnApply</sender>
+ <signal>clicked()</signal>
+ <receiver>SetupDialog</receiver>
+ <slot>configApply()</slot>
+ </connection>
+ <connection>
+ <sender>cbMinimizedOnly</sender>
+ <signal>clicked()</signal>
+ <receiver>SetupDialog</receiver>
+ <slot>iconsChanged()</slot>
+ </connection>
+ <connection>
+ <sender>currentDesk</sender>
+ <signal>clicked()</signal>
+ <receiver>SetupDialog</receiver>
+ <slot>iconsChanged()</slot>
+ </connection>
+ <connection>
+ <sender>chk6</sender>
+ <signal>clicked()</signal>
+ <receiver>SetupDialog</receiver>
+ <slot>iconsChanged()</slot>
+ </connection>
+ <connection>
+ <sender>chk7</sender>
+ <signal>clicked()</signal>
+ <receiver>SetupDialog</receiver>
+ <slot>iconsChanged()</slot>
+ </connection>
+ <connection>
+ <sender>iwSmall</sender>
+ <signal>valueChanged(int)</signal>
+ <receiver>SetupDialog</receiver>
+ <slot>iconsChanged()</slot>
+ </connection>
+ <connection>
+ <sender>iwBig</sender>
+ <signal>valueChanged(int)</signal>
+ <receiver>SetupDialog</receiver>
+ <slot>iconsChanged()</slot>
+ </connection>
+ <connection>
+ <sender>ignoreBox</sender>
+ <signal>changed()</signal>
+ <receiver>SetupDialog</receiver>
+ <slot>iconsChanged()</slot>
+ </connection>
+ <connection>
+ <sender>chkUseKBFX</sender>
+ <signal>clicked()</signal>
+ <receiver>SetupDialog</receiver>
+ <slot>iconsChanged()</slot>
+ </connection>
+ <connection>
+ <sender>chkGrouping</sender>
+ <signal>clicked()</signal>
+ <receiver>SetupDialog</receiver>
+ <slot>iconsChanged()</slot>
+ </connection>
+ <connection>
+ <sender>chkImg</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>SetupDialog</receiver>
+ <slot>chkImgSlot()</slot>
+ </connection>
+ <connection>
+ <sender>chkSolid</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>SetupDialog</receiver>
+ <slot>chkSolidSlot()</slot>
+ </connection>
+</connections>
+<includes>
+ <include location="global" impldecl="in declaration">kiconview.h</include>
+</includes>
+<slots>
+ <slot>configOK()</slot>
+ <slot>configCancel()</slot>
+ <slot>chooseFont()</slot>
+ <slot>SelectLeftClicked()</slot>
+ <slot>SelectCenterClicked()</slot>
+ <slot>SelectRightClicked()</slot>
+ <slot>applist_dropped( QDropEvent *, const QValueList&lt;QIconDragItem&gt; &amp; )</slot>
+ <slot>applist_clicked( QIconViewItem *, const QPoint &amp; )</slot>
+ <slot>buttonadd_clicked()</slot>
+ <slot>chk1_toggled( bool )</slot>
+ <slot>chkHidden( bool )</slot>
+ <slot>chkHidden()</slot>
+ <slot>buttonDefault_clicked()</slot>
+ <slot>configDefault()</slot>
+ <slot>chkFont()</slot>
+ <slot>chkTask()</slot>
+ <slot>grabWin_clicked()</slot>
+ <slot>applist_contextMenuRequested( QIconViewItem *, const QPoint &amp; )</slot>
+ <slot>xrma_clicked()</slot>
+ <slot>groupBox7_destroyed( QObject * )</slot>
+ <slot>left()</slot>
+ <slot>right()</slot>
+ <slot>configApply()</slot>
+ <slot>iconsChanged()</slot>
+ <slot>appClear()</slot>
+ <slot>appFill()</slot>
+ <slot>chkImgSlot()</slot>
+ <slot>chkSolidSlot()</slot>
+</slots>
+<layoutdefaults spacing="6" margin="11"/>
+<includehints>
+ <includehint>kfontcombo.h</includehint>
+ <includehint>klineedit.h</includehint>
+ <includehint>kcolorcombo.h</includehint>
+ <includehint>kcolorcombo.h</includehint>
+ <includehint>kiconview.h</includehint>
+ <includehint>keditlistbox.h</includehint>
+ <includehint>klineedit.h</includehint>
+ <includehint>kcolorcombo.h</includehint>
+ <includehint>kcolorcombo.h</includehint>
+ <includehint>kcolorcombo.h</includehint>
+</includehints>
+</UI>
diff --git a/src/setupdialogprg.cpp b/src/setupdialogprg.cpp
new file mode 100644
index 0000000..e2b9c39
--- /dev/null
+++ b/src/setupdialogprg.cpp
@@ -0,0 +1,702 @@
+//
+// C++ Implementation: setupdialogprg
+//
+// Description:
+//
+//
+// Author: KoolDock team <radix@kde.cl>, (C) 2004
+//
+// Copyright: See COPYING file that comes with this distribution
+//
+//
+#include <kfiledialog.h>
+#include <kimageio.h>
+#include <kicondialog.h>
+#include <klocale.h>
+#include <ksimpleconfig.h>
+#include <kmessagebox.h>
+#include <kstandarddirs.h>
+#include <kpushbutton.h>
+#include <keditlistbox.h>
+#include <klineedit.h>
+#include <qlistbox.h>
+#include <krun.h>
+
+#include <qiconview.h>
+#include <qdir.h>
+#include <qstringlist.h>
+#include <qtabwidget.h>
+
+#include "setupdialog.h"
+#include "setupdialogprg.h"
+#include "apppropprg.h"
+#include "appProp.h"
+#include "kooldock.h"
+
+SetupDialogPrg::SetupDialogPrg(QWidget *parent, const char *name)
+ : SetupDialog(parent, name)
+{
+ //Ignore list handlers
+ grabbing=0;
+ gwm=new KWinModule();
+ connect(gwm, SIGNAL(activeWindowChanged(WId)), SLOT(activeWindowChanged(WId)));
+ gwm->blockSignals(true);
+ in=ignoreBox->lineEdit();
+ //Remove useless buttons from widget
+ up=ignoreBox->upButton();
+ down=ignoreBox->downButton();
+ up->hide();
+ down->hide();
+ //End ignore list handlers
+
+ // some configuration variables
+ progPath = locateLocal("data", "kooldock");
+ menuPath = progPath + QString("/menu/");
+
+ KConfig *config = KGlobal::config();
+ config->setGroup("kooldock");
+
+ appdlg=new appPropPrg();
+ appdlg->user->setEnabled(false);
+ appdlg->cuser->setChecked(false);
+ appdlg->terminal->setChecked(false);
+ appdlg->tclose->setChecked(false);
+ appdlg->tclose->setEnabled(false);
+ connect(appdlg, SIGNAL(apply()), SLOT(appRestart()));
+
+ //Lets load the theme List
+ KStandardDirs sys;
+ QStringList bgPath = sys.findDirs("data", "kooldock/backgrounds");
+ for(unsigned int i=0; i<bgPath.count();i++)
+ {
+ QDir tmpdir(bgPath[i]);
+ QStringList theme_tmp(tmpdir.entryList(QDir::Dirs, QDir::Name));
+ //We do it like this to avoid showing "." and ".." instead of copying QDir::entryList directly into "theme"
+ for(unsigned int j=2; j<theme_tmp.count(); j++) theme->insertItem(theme_tmp[j]);
+ }
+}
+
+
+void SetupDialogPrg::appRestart()
+{
+ if(!appdlg) return;
+ iconsChanged();
+ kdDebug(0) << "Refresh applist" << endl;
+ appClear();
+ appFill();
+}
+
+
+SetupDialogPrg::~SetupDialogPrg()
+{
+ if(appdlg) delete(appdlg);
+ if(in) delete(in);
+ kdDebug(0) << "Destroying..." << endl;
+}
+
+
+// Setup dialog implementation
+void SetupDialogPrg::iconsChanged()
+{
+ toReloadIcons->setChecked(TRUE);
+}
+void SetupDialogPrg::configOK()
+{
+ this->hide();
+ configApply();
+}
+
+void SetupDialogPrg::configApply()
+{
+ int fShowTaskbar=0;
+ int fMinimizedOnly=0;
+ int fShowNotification=0;
+ int fShowBorders=0;
+ int fShowKMenu=0;
+ int fUseKBFX=0;
+ int fHidden=0;
+ int showNames=0;
+ int fCleaner=0;
+ int fHideOnClick=0;
+ int fStayBelow = 0;
+ int fSteppy=0;
+ int xinerama=0;
+ int fhideTimer=5;
+ int fShowNav=0;
+ int fSystray=0;
+ int fCurrent=0;
+ int fPriority=0;
+ int fpercentPos=0;
+ int fOrientation=0;
+ int fClipping=0;
+ int fClipIcons=0;
+ int fSpeed=0;
+
+ //Stop grabbing window
+ gwm->blockSignals(true);
+ grabbing=0;
+ grabWin->setText(i18n("Grab Window"));
+
+ if (chk5->isChecked() == true) fShowTaskbar = 1;
+ if (cbMinimizedOnly->isChecked() == true) fMinimizedOnly = 1;
+ if (chk6->isChecked() == true) fShowNotification = 1;
+ if (chk4->isChecked() == true) fShowBorders = 1;
+ if (chk7->isChecked() == true) fShowKMenu = 1;
+ if (chkUseKBFX->isChecked() == true) fUseKBFX = 1;
+ if (chk1->isChecked() == true)
+ {
+ fHidden = 1;
+ }
+ fhideTimer = hideTimer->value();
+ if (chk2->isChecked() == true) showNames = 1;
+ if (cbCleaner->isChecked() == true) fCleaner = 1;
+ if (hideOnClick->isChecked() == true) fHideOnClick = 1;
+ if (cbStayBelow->isChecked() == true) fStayBelow = 1;
+ if (Steppy->isChecked() == true) fSteppy = 1;
+ if (xrma->isChecked() == true) xinerama=1;
+ if (nav->isChecked()==true) fShowNav=1;
+ if (systray->isChecked()==true) fSystray=1;
+ if (currentDesk->isChecked()==true) fCurrent=1;
+ if (chClipping->isChecked()==true) fClipping=1;
+ if (chClipIcons->isChecked()==true) fClipIcons=1;
+ if (chkSpeed->isChecked()==true) fSpeed=1;
+ fPriority=Priority->value();
+ fpercentPos=percentPos->value();
+
+ kdDebug(0) << "Saving preferences..." << endl;
+ KConfig *config = KGlobal::config();
+ config->setGroup("kooldock");
+ config->writeEntry("ShowTaskbar", fShowTaskbar);
+ config->writeEntry("MinimizedOnly", fMinimizedOnly);
+ config->writeEntry("ShowNotification", fShowNotification);
+ config->writeEntry("BorderColor", kColorCombo3->color().name());
+ config->writeEntry("SmallIconSize", iwSmall->value());
+ config->writeEntry("BigIconSize", iwBig->value());
+ config->writeEntry("BigIconAmount", fAmount->value());
+ config->writeEntry("iSpace", sbSpace->value());
+ config->writeEntry("BackgroundColor", kColorCombo2->color().name());
+ config->writeEntry("SeparatorColor", kColorCombo4->color().name());
+ config->writeEntry("ShowKMenu", fShowKMenu);
+ config->writeEntry("KBFX", fUseKBFX);
+ config->writeEntry("Hidden", fHidden);
+ config->writeEntry("HideOnClick", fHideOnClick);
+ config->writeEntry("StayBelow", fStayBelow);
+ config->writeEntry("fSteppy", fSteppy);
+ config->writeEntry("Xinerama", xinerama);
+ config->writeEntry("nWideBg", nWideBg->isChecked());
+ config->writeEntry("scaleMax", opScale2->isChecked());
+ if(xinerama==1) {config->writeEntry("leftRes", SleftRes->value()); config->writeEntry("XinDesiredHeight", SHeight->value()); config->writeEntry("XinPreviousWidth", PWidth->value());}
+ config->writeEntry("hideTimer", fhideTimer);
+ config->writeEntry("Navigator", fShowNav);
+ config->writeEntry("Systray", fSystray);
+ config->writeEntry("currentDesktop", fCurrent);
+
+ config->writeEntry("Priority", fPriority);
+ config->writeEntry("Clipping", fClipping);
+ config->writeEntry("ClipIconArea", fClipIcons);
+ config->writeEntry("percentPos", fpercentPos);
+ if (op1->isChecked()) fOrientation=1;
+ if (op2->isChecked()) fOrientation=2;
+ if (op3->isChecked()) fOrientation=3;
+ config->writeEntry("fOrientation", fOrientation);
+ config->writeEntry("zoomSpeed", zoomSpeed->value());
+ config->writeEntry("speedControl", fSpeed);
+
+ // kosd config
+ config->writeEntry("showNames", showNames);
+ config->writeEntry("Cleaner", fCleaner);
+ config->writeEntry("xosdFont", xosdFont->currentText());
+ config->writeEntry("xosdColor", kColorCombo1->color().name());
+ config->writeEntry("xosdShadowColor", kColorCombo_shadow->color().name());
+ config->writeEntry("xosdShadowOffset", spinBox2->value());
+ config->writeEntry("xosdSize", xosdSize->value());
+ if (xosdBold->isChecked())
+ {
+ config->writeEntry("xosdBold", 1);
+ }
+ else
+ {
+ config->writeEntry("xosdBold", 0);
+ }
+ if (xosdItalic->isChecked())
+ {
+ config->writeEntry("xosdItalic", 1);
+ }
+ else
+ {
+ config->writeEntry("xosdItalic", 0);
+ }
+
+ config->writeEntry("ShowSShot", chkSshot->isChecked());
+ config->writeEntry("iconGrouping", chkGrouping->isChecked());
+
+ // save background configurations
+ if (chkImg->isChecked())
+ {
+ //Lets find exactly where the selected theme is
+ KStandardDirs sys;
+ QString theme_dir="kooldock/backgrounds/"+theme->currentText();
+ QStringList bgPath = sys.findDirs("data", theme_dir);
+
+ //Lets set the images and write the config
+ QString LeftImg=(QString)bgPath[0]+"background-left.png";
+ QString CenterImg=(QString)bgPath[0]+"background-center.png";
+ QString RightImg=(QString)bgPath[0]+"background-right.png";
+
+ // background image enabled
+ config->writeEntry("Solid", 0);
+ config->writeEntry("Theme", theme->currentText());
+ config->writeEntry("LeftImg", LeftImg);
+ config->writeEntry("RightImg", RightImg);
+ config->writeEntry("CenterImg", CenterImg);
+ config->writeEntry("ShowBorders", 0);
+ config->writeEntry("DockOpacity", 0);
+ }
+ else
+ {
+ // background image disabled
+ config->writeEntry("Solid", 1);
+ config->writeEntry("Theme", "");
+ config->writeEntry("LeftImg", "");
+ config->writeEntry("RightImg", "");
+ config->writeEntry("CenterImg", "");
+ config->writeEntry("ShowBorders", fShowBorders);
+ config->writeEntry("DockOpacity", spinBox1->value());
+ }
+
+ config->sync();
+
+ // write ignore list to file
+ QString progPath = locateLocal("data", "kooldock");
+ QString menuPath = progPath + QString("/menu/");
+ filepath = QString(progPath + "/ignorelist.conf");
+ if(ignoreBox->count()>0)
+ {
+ QFile out(filepath);
+ if (out.open(IO_WriteOnly))
+ {
+ QTextStream out_s(&out);
+ for(int i=0; i<ignoreBox->count(); i++)
+ {
+ out_s << ignoreBox->text(i) << "\n";
+ }
+ out.close();
+ }
+ }
+ else
+ {
+ QFile::remove(filepath);
+ }
+ emit apply();
+}
+
+void SetupDialogPrg::configCancel()
+{
+ //Stop grabbing Windows
+ gwm->blockSignals(true);
+ grabWin->setText(i18n("Grab Window"));
+ grabbing=0;
+ this->hide();
+}
+
+void SetupDialogPrg::closeEvent( QCloseEvent *e )
+{
+ e->ignore();
+ configCancel();
+}
+
+void SetupDialogPrg::chkFont()
+{
+ bool tmp; //just to save some code
+
+ if(chk2->isChecked())
+ {
+ tmp=true;
+ }
+ else
+ {
+ tmp=false;
+ }
+ xosdBold->setEnabled(tmp);
+ xosdItalic->setEnabled(tmp);
+ xosdSize->setEnabled(tmp);
+ spinBox2->setEnabled(tmp);
+ kColorCombo1->setEnabled(tmp);
+ kColorCombo_shadow->setEnabled(tmp);
+ xosdFont->setEnabled(tmp);
+ cbCleaner->setEnabled(tmp);
+}
+
+
+void SetupDialogPrg::xrma_clicked()
+{
+ if(xrma->isChecked()==true) {SleftRes->setEnabled(true); SHeight->setEnabled(true); PWidth->setEnabled(true);}
+ if(xrma->isChecked()==false) {SleftRes->setEnabled(false); SHeight->setEnabled(false); PWidth->setEnabled(false);}
+}
+
+void SetupDialogPrg::chkTask()
+{
+ iconsChanged();
+ bool tmp;
+
+ if(chk5->isChecked())
+ {
+ tmp=true;
+ }
+ else
+ {
+ tmp=false;
+ }
+ chk6->setEnabled(tmp);
+ currentDesk->setEnabled(tmp);
+ chkSshot->setEnabled(tmp);
+ chkGrouping->setEnabled(tmp);
+ cbMinimizedOnly->setEnabled(tmp);
+}
+
+void SetupDialogPrg::chkHidden()
+{
+ bool tmp;
+
+ if(chk1->isChecked())
+ {
+ tmp=true;
+ }
+ else
+ {
+ tmp=false;
+ }
+ hideTimer->setEnabled(tmp);
+ hideOnClick->setEnabled(tmp);
+ cbStayBelow->setEnabled(!tmp);
+}
+
+void SetupDialogPrg::applist_dropped(QDropEvent*e,const QValueList<QIconDragItem>&)
+{
+ KIconLoader icon_obj;
+ QStringList lst;
+ QString name;
+ int pos;
+
+ QUriDrag::decodeLocalFiles(e, lst);
+ name=lst[0];
+
+ //Lets see if it is a desktop file
+ pos=name.findRev(".desktop", -1);
+ if(pos!=-1)
+ {
+ KSimpleConfig *desktopfile;
+ kdDebug(0) << "Desktop file dropped!" << endl;
+ desktopfile = new KSimpleConfig(lst[0], TRUE);
+ desktopfile->setGroup("Desktop Entry");
+ appdlg->cmdname->setText(desktopfile->readEntry("Name"));
+ appdlg->cmdpath->setText(desktopfile->readEntry("Exec"));
+ appdlg->iconbutton->setIcon(desktopfile->readEntry("Icon"));
+ delete(desktopfile);
+ }
+ else
+ {
+ //It was not a dekstop file, so lets create a new entry
+ //Lets set a default name based on the program name
+ pos=name.findRev("/", -1);
+ if(pos!=-1)
+ {
+ name.remove(1, pos);
+ name.remove("/", TRUE);
+ }
+
+ //Now we create and show the appProp dialog
+ //appdlg=new appPropPrg();
+ appdlg->cmdname->setText(name);
+ appdlg->cmdpath->setText(lst[0]);
+
+ //Based on the program name, lets try to set an icon; if it does
+ //not exists, the system will set the "default" icon
+ appdlg->iconbutton->setIcon(name);
+ }
+ appdlg->show();
+}
+
+void SetupDialogPrg::removeLauncher()
+{
+ if(fileName!=NULL)
+ {
+ QString question=i18n("Do you want to remove ") + fileName + QString("?");
+ int remove = KMessageBox::questionYesNo(0, question, i18n("Remove Launcher"));
+ if(remove!=KMessageBox::Yes) return;
+ KSimpleConfig *desktopfile;
+ QDir homeDir = QDir::home();
+
+ if (homeDir.exists(progPath))
+ {
+ QDir dir(menuPath);
+ QStringList fileListRemove;
+ fileListRemove = dir.entryList("*.desktop");
+ for ( QStringList::Iterator it = fileListRemove.begin(); it != fileListRemove.end(); ++it )
+ {
+ if ( ((*it) != ".") && ((*it) != "..") )
+ {
+ desktopfile = new KSimpleConfig( menuPath + (*it), TRUE);
+ desktopfile->setGroup("Desktop Entry");
+ if(desktopfile->readEntry("Name")==fileName)
+ {
+ kdDebug(0) << "Removing " << menuPath + (*it) << endl;
+ delete(desktopfile);
+ if(QFile::remove(menuPath+(*it))==TRUE)
+ {
+ kdDebug(0) << "Item removed!" << endl;
+
+ //Lets update the launchers index
+ QString preffix;
+ fileListRemove.clear();
+ fileListRemove=dir.entryList("*.desktop");
+ QStringList fileListRemove2=fileListRemove;
+
+ //Not really sure why I couldn't do this within the other for, something like fileListRemove[i].remove(0,2).prepend(preffix), but hell it works
+ for(unsigned int i=0; i<fileListRemove2.count(); i++)
+ {
+ fileListRemove2[i].remove(0,2);
+ }
+
+ //Rename the files so they reflect their new position
+ for(unsigned int i=0; i<fileListRemove.count(); i++)
+ {
+ if(i<10) preffix=QString("0%1").arg(i);
+ if(i>=10) preffix=QString("%1").arg(i);
+
+ dir.rename(fileListRemove[i], QString("%1%2").arg(preffix).arg(fileListRemove2[i]));
+ }
+ //End updating
+
+ appClear();
+ appFill();
+ iconsChanged();
+ }
+ else
+ {
+ kdDebug(0) << "Unable to remove file!" << endl;
+ }
+ return;
+ }
+ delete(desktopfile);
+ }
+ }
+ }
+ }
+}
+
+
+void SetupDialogPrg::grabWin_clicked()
+{
+ if(grabbing==0)
+ {
+ grabbing=1;
+ grabWin->setText(i18n("Grabbing..."));
+ gwm->blockSignals(false);
+ }
+ else
+ {
+ grabbing=0;
+ grabWin->setText(i18n("Grab Window"));
+ gwm->blockSignals(true);
+ }
+}
+
+
+void SetupDialogPrg::activeWindowChanged(WId id)
+{
+ KWin::WindowInfo winfo;
+ winfo=KWin::windowInfo(id);
+ QString ninfo=winfo.visibleName();
+
+ if(ninfo!=caption())
+ {
+ in->setText(ninfo);
+ }
+}
+
+void SetupDialogPrg::buttonadd_clicked()
+{
+ appdlg->cmdpath->setText("");
+ appdlg->cmdname->setText("");
+ appdlg->iconbutton->setIcon("unknown");
+ appdlg->show();
+}
+
+void SetupDialogPrg::showEvent(QShowEvent *)
+{
+ //Here we fill the applist
+ appFill();
+}
+
+void SetupDialogPrg::appFill()
+{
+ // fill the application list.
+ KSimpleConfig *desktopfile;
+
+ QDir homeDir = QDir::home();
+ KIconLoader icon_obj;
+ QPixmap pixm;
+
+ if(homeDir.exists(progPath))
+ {
+ QDir dir(menuPath);
+
+ fileList.clear();
+ fileList = dir.entryList("*.desktop");
+ for ( QStringList::Iterator it = fileList.begin(); it != fileList.end(); ++it )
+ {
+ if ( ((*it) != ".") && ((*it) != "..") )
+ {
+ desktopfile = new KSimpleConfig( menuPath + (*it), TRUE);
+ desktopfile->setGroup("Desktop Entry");
+ QPixmap pixm=icon_obj.loadIcon(desktopfile->readEntry("Icon") ,KIcon::Desktop,0,KIcon::DefaultState,0L,false);
+ new KIconViewItem(applist, desktopfile->readEntry("Name"), pixm);
+ delete(desktopfile);
+ }
+ }
+ }
+}
+
+void SetupDialogPrg::hideEvent ( QHideEvent * )
+{
+ // the application list is erased here.
+ appClear();
+}
+
+void SetupDialogPrg::appClear()
+{
+ applist->clear();
+}
+
+void SetupDialogPrg::left()
+{
+ if (oldPos>0) {setnewpos(oldPos-1); oldPos--;iconsChanged();}
+}
+
+void SetupDialogPrg::right()
+{
+ if (oldPos!=-1 && oldPos < (int)fileList.count()-1) {setnewpos(oldPos+1); oldPos++;iconsChanged();}
+}
+
+void SetupDialogPrg::applist_clicked(QIconViewItem *e, const QPoint&)
+{
+ if(e!=NULL)
+ {oldPos=e->index();}
+ else
+ {oldPos=-1;}
+}
+void SetupDialogPrg::applist_contextMenuRequested(QIconViewItem *e,const QPoint&)
+{
+ if(e!=NULL)
+ {
+ KPopupMenu *popup=new KPopupMenu();
+ KPopupMenu *setpos=new KPopupMenu();
+
+ fileName=e->text();
+ oldPos=e->index();
+ connect(setpos, SIGNAL(activated(int)), this, SLOT(setnewpos(int)));
+
+ //Load desktop data
+ KSimpleConfig *desktopfile;
+
+ QDir dir(menuPath);
+ fileList.clear();
+ fileList = dir.entryList("*.desktop");
+ int i=0;
+ for ( QStringList::Iterator it = fileList.begin(); it != fileList.end(); ++it )
+ {
+ if ( ((*it) != ".") && ((*it) != "..") )
+ {
+ desktopfile = new KSimpleConfig( menuPath + (*it), TRUE);
+ desktopfile->setGroup("Desktop Entry");
+ int menustate=setpos->insertItem(QString("%1").arg(desktopfile->readEntry("Name")),i);
+ if(i==oldPos) {setpos->setItemEnabled(menustate, false);filepath=menuPath + (*it);}
+ delete(desktopfile);
+ i++;
+ }
+ }
+ //End Load
+
+ popup->insertTitle(e->text());
+ popup->insertItem(i18n("Swap with"), setpos);
+ popup->insertItem(i18n("&Edit item"), this, SLOT(editItem()));
+ popup->insertItem(i18n("Remove"), this, SLOT(removeLauncher()));
+ popup->exec(QCursor::pos());
+ if(popup) delete(popup);
+ if(setpos) delete(setpos);
+ }
+ else
+ {
+ oldPos=-1;
+ }
+}
+
+void SetupDialogPrg::editItem()
+{
+ KRun::runCommand("kfmclient openProperties " + filepath, "kfmclient", "");
+}
+
+void SetupDialogPrg::setnewpos(int newpos)
+{
+ kdDebug(0) << "New pos " << QString("0%1").arg(newpos) << "requested for: " << fileName<< endl;
+ if(newpos==oldPos) return; //Nothing to be done
+ computeNewPos(newpos);
+}
+
+void SetupDialogPrg::computeNewPos(int pos)
+{
+ QString preffix, preffix2;
+ QDir dir(menuPath);
+
+ fileList.clear();
+ fileList = dir.entryList("*.desktop");
+
+ //Lets remove the preffix of the files from fileList
+ for(unsigned int i=0; i<fileList.count(); i++)
+ {
+ fileList[i]=fileList[i].remove(0,2);
+ }
+
+ //Preffix for old position
+ if(oldPos<10) preffix=QString("0%1").arg(oldPos);
+ if(oldPos>=10) preffix=QString("%1").arg(oldPos);
+
+ //Preffix for new position
+ if(pos<10) preffix2=QString("0%1").arg(pos);
+ if(pos>=10) preffix2=QString("%1").arg(pos);
+
+ kdDebug(0) << "Old Position: " << oldPos << endl;
+ kdDebug(0) << "New Position: " << pos << endl;
+
+ dir.rename(QString("%1%2").arg(preffix).arg(fileList[oldPos]), QString("%1%2").arg(preffix2).arg(fileList[oldPos]));
+ dir.rename(QString("%1%2").arg(preffix2).arg(fileList[pos]), QString("%1%2").arg(preffix).arg(fileList[pos]));
+
+ appClear();
+ appFill();
+}
+
+void SetupDialogPrg::chkImgSlot()
+{
+ if (chkImg->isChecked())
+ {
+ chkSolid->setChecked(false);
+ }
+ else
+ {
+ chkSolid->setChecked(true);
+ }
+}
+
+void SetupDialogPrg::chkSolidSlot()
+{
+ if (chkSolid->isChecked())
+ {
+ chkImg->setChecked(false);
+ }
+ else
+ {
+ chkImg->setChecked(true);
+ }}
+
+#include "setupdialogprg.moc"
diff --git a/src/setupdialogprg.h b/src/setupdialogprg.h
new file mode 100644
index 0000000..5539c5a
--- /dev/null
+++ b/src/setupdialogprg.h
@@ -0,0 +1,102 @@
+//
+// C++ Interface: setupdialogprg
+//
+// Description:
+//
+//
+// Author: KoolDock team <radix@kde.cl>, (C) 2004
+//
+// Copyright: See COPYING file that comes with this distribution
+//
+//
+#ifndef SETUPDIALOGPRG_H
+#define SETUPDIALOGPRG_H
+
+#include "setupdialog.h"
+#include "apppropprg.h"
+
+// QT includes
+#include <qcolor.h>
+#include <qstring.h>
+#include <qcheckbox.h>
+#include <qlineedit.h>
+#include <qspinbox.h>
+#include <qfont.h>
+#include <qptrlist.h>
+#include <qtabwidget.h>
+#include <qpushbutton.h>
+#include <qradiobutton.h>
+
+// KDE includes
+#include <kfontcombo.h>
+#include <kcolorcombo.h>
+#include <ktextedit.h>
+#include <kdebug.h>
+#include <kconfig.h>
+#include <kfontdialog.h>
+#include <kwinmodule.h>
+#include <netwm.h>
+#include <klineedit.h>
+
+/**
+@author KoolDock team
+*/
+
+class KoolDock;
+
+class SetupDialogPrg : public SetupDialog
+{
+Q_OBJECT
+ public:
+ SetupDialogPrg(QWidget *parent = 0, const char *name = 0);
+ ~SetupDialogPrg();
+ appProp *appdlg;
+ QString progPath;
+ QString menuPath;
+ KWinModule *gwm;
+ KLineEdit *in;
+ QPushButton *up;
+ QPushButton *down;
+ int grabbing;
+ int oldPos;
+ QString fileName;
+ QStringList fileList;
+ QString filepath;
+
+ public slots:
+ void editItem();
+ void iconsChanged();
+ void configOK();
+ void configApply();
+ void configCancel();
+ void chkHidden();
+ void chkImgSlot();
+ void chkSolidSlot();
+ void chkFont();
+ void chkTask();
+ void applist_dropped(QDropEvent*,const QValueList<QIconDragItem>&);
+ void buttonadd_clicked();
+ void applist_clicked(QIconViewItem *, const QPoint&);
+ void appRestart();
+ void appFill();
+ void appClear();
+ void grabWin_clicked();
+ void activeWindowChanged(WId id);
+ void applist_contextMenuRequested(QIconViewItem*,const QPoint&);
+ void removeLauncher();
+ void setnewpos(int);
+ void xrma_clicked();
+ void left();
+ void right();
+ signals:
+ void apply();
+
+ private:
+ void computeNewPos(int);
+
+ protected:
+ void closeEvent( QCloseEvent* );
+ void showEvent ( QShowEvent * );
+ void hideEvent ( QHideEvent * );
+};
+#endif
diff --git a/src/xosd.cpp b/src/xosd.cpp
new file mode 100644
index 0000000..656be2d
--- /dev/null
+++ b/src/xosd.cpp
@@ -0,0 +1,226 @@
+#include "xosd.h"
+
+#include <qpainter.h>
+#include <qbitmap.h>
+#include <qstring.h>
+#include <qfont.h>
+#include <qfontmetrics.h>
+
+#include <qwidget.h>
+#include <klocale.h>
+#include <netwm.h>
+#include <netwm_def.h>
+#include <kwin.h>
+
+#include <kdebug.h>
+
+xosd::xosd(QWidget *parent, const char *name) : QWidget(parent, name, WStyle_Customize | WRepaintNoErase | WStyle_NoBorder | WDestructiveClose | WResizeNoErase | WMouseNoMask | WStyle_StaysOnTop | WX11BypassWM)
+{
+ info = new NETWinInfo( qt_xdisplay(), winId(), qt_xrootwin(), NET::WMState);
+ info->setDesktop( NETWinInfo::OnAllDesktops );
+ hide();
+ KWin::setState(winId(), NET::SkipTaskbar | NET::SkipPager);
+ setCaption("kooldock xosd window");
+}
+
+xosd::~xosd()
+{
+}
+
+void xosd::setColor(QString color)
+{
+ fontColor=color;
+}
+
+void xosd::setShadowColor(QString color)
+{
+ shadowColor=color;
+}
+
+void xosd::setOrientation(int orientation, int w, int mh)
+{
+ fOrientation=orientation;
+ dw=w;
+ rdh=mh;
+ if (fCleaner==1)
+ {
+ //font is set, so program can get its height to prepare background buffer
+ QFontMetrics *metrics = new QFontMetrics(f);
+ h = metrics->height();
+
+ bgBuffer = QPixmap(dw, h);
+ maskBuffer = QPixmap(dw, h, true);
+ bgBuffer = QPixmap::grabWindow(qt_xrootwin(), 0, 0, dw, h);
+ lastX=0;
+ lastY=0;
+ }
+
+}
+
+//Enables/disables dynamic background
+void xosd::setClear(int nClean)
+{
+ fCleaner = nClean;
+}
+
+void xosd::setShadowOffset(int off)
+{
+ shadowOffset=off;
+}
+
+void xosd::setText(QString t)
+{
+ //setMask(QRegion(0,0,0,0));
+ // NOTICE: it appears that with WX11BypassWM, resize() doesn't flick the widget anymore :)
+ // so, setMask() is no more needed.
+ // -- Matias
+ resize(0,0);
+ text = t;
+ QFontMetrics *metrics = new QFontMetrics(f);
+ w = metrics->width(text);
+ w = w + shadowOffset + 5; // 5 pixels more
+ h = metrics->height();
+ yOffset = metrics->height()-metrics->descent();
+ update();
+}
+
+void xosd::setFont(QString font)
+{
+ f.setFamily(font);
+}
+
+void xosd::setItalic()
+{
+ f.setItalic(TRUE);
+}
+
+void xosd::setBold()
+{
+ f.setBold(TRUE);
+}
+
+void xosd::setSize(int size)
+{
+ f.setPointSize(size);
+ fontSize = size;
+}
+
+/*int xosd::w()
+{
+ QFontMetrics *metrics = new QFontMetrics(f);
+ return (metrics->width(text) + shadowOffset + 5);
+
+}
+
+int xosd::h()
+{
+ QFontMetrics *metrics = new QFontMetrics(f);
+ return metrics->height();
+}*/
+
+void xosd::paintEvent(QPaintEvent *)
+{
+ int i, j;
+
+ resize(w,h);
+
+ QPixmap pm(size());
+ QBitmap bm(size());
+ QPainter p;
+
+ //Drawing text
+ p.begin(&pm, this);
+ if (fCleaner==1)
+ {
+ //Dynamic background - look cleaner
+ bitBlt(&pm, 0, 0, &bgBuffer, lastX, 0, w, h);
+ }
+ else
+ {
+ //One colour background - work faster
+ p.fillRect (rect(), QColor(shadowColor));
+ }
+
+ p.setPen( QColor(shadowColor) );
+ p.setFont(f);
+ p.drawText(shadowOffset, yOffset + shadowOffset, text, AlignCenter); // draw shadow text
+
+ // now, draw normal text
+ p.setPen( QColor(fontColor) );
+
+ p.drawText(1, yOffset, text, AlignCenter); // draw front text
+
+ p.end();
+
+ //Drawing mask
+ p.begin(&bm, this);
+ // now we must draw the text with black color for making the mask
+ p.setPen( Qt::white );
+ p.fillRect (rect(), Qt::black);
+ p.setFont(f);
+ for (i=-fCleaner;i<=fCleaner;i++)
+ {
+ for (j=-fCleaner;j<=fCleaner;j++)
+ {
+ p.drawText(shadowOffset+i, yOffset + shadowOffset+j, text, AlignCenter); // shadow
+ p.drawText(1+i, yOffset+j, text, AlignCenter); // front
+ }
+ }
+ p.end();
+ bitBlt(this, 0, 0, &pm); // update the widget
+ if (fCleaner==1) bitBlt(&maskBuffer, 0, 0, &bm);
+
+ info->setState(NETWinInfo::SkipTaskbar | NETWinInfo::SkipPager, NETWinInfo::SkipTaskbar | NETWinInfo::SkipPager);
+ setMask(bm);
+}
+
+void xosd::move2(int x, int y)
+{
+
+ //bit block transfer don't work propertly with too less cursor position changes
+ if (abs(lastY-y)>2 || abs(lastX-x)>2)
+ {
+ if (fCleaner==1)
+ {
+ QPixmap tmpBuffer;
+ //window is not hidden
+ if (y!=rdh)
+ {
+ tmpBuffer = QPixmap::grabWindow(qt_xrootwin(), 0, y, dw, h);
+ if (lastY!=rdh)
+ {
+ //fill background covered with the text with cached version
+ if (fOrientation==0 ) //horizontal
+ {
+ bitBlt(&tmpBuffer, lastX, 0, &maskBuffer, 0, 0, w, h, Qt::AndROP);//copying part, which hides only the text
+ bitBlt(&bgBuffer, lastX, 0, &maskBuffer, 0, 0, w, h, Qt::NotAndROP);//so the background won't be covered by
+ bitBlt(&tmpBuffer, lastX, 0, &bgBuffer, lastX, 0, w, h, Qt::OrROP);//currently visible text.
+ }
+ if (fOrientation==1) //vertical
+ {
+ if (y<lastY && (y+h)>lastY)
+ {
+ bitBlt(&tmpBuffer, lastX, lastY-y, &maskBuffer, 0, 0, w, h, Qt::AndROP);
+ bitBlt(&bgBuffer, lastX, 0, &maskBuffer, 0, 0, w, h, Qt::NotAndROP);
+ bitBlt(&tmpBuffer, lastX, lastY-y, &bgBuffer, lastX, 0, w, h, Qt::OrROP);
+ }
+ if (y>lastY && (y-lastY)<h)
+ {
+ bitBlt(&tmpBuffer, lastX, 0, &maskBuffer, 0, 0, w, h, Qt::AndROP);
+ bitBlt(&bgBuffer, lastX, y-lastY, &maskBuffer, 0, 0, w, h, Qt::NotAndROP);
+ bitBlt(&tmpBuffer, lastX, 0, &bgBuffer, lastX, y-lastY, w, h, Qt::OrROP);
+ }
+ }
+ }
+
+ }
+ bitBlt(&bgBuffer,0,0,&tmpBuffer);
+ lastX=x;
+ paintEvent(NULL);
+ }
+
+ move(x,y);
+ lastX=x;
+ lastY=y;
+ }
+}
diff --git a/src/xosd.h b/src/xosd.h
new file mode 100644
index 0000000..b40d8ab
--- /dev/null
+++ b/src/xosd.h
@@ -0,0 +1,58 @@
+#ifndef XOSD_H_
+#define XOSD_H_
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include <qstring.h>
+#include <qwidget.h>
+#include <qfont.h>
+#include <qpixmap.h>
+#include <qbitmap.h>
+
+#include <netwm.h>
+#include <kwin.h>
+
+class xosd : public QWidget
+{
+Q_OBJECT
+ public:
+ xosd(QWidget* parent=0, const char *name=0);
+
+ virtual ~xosd();
+ void setText(QString t);
+ void setFont(QString font);
+ void setItalic();
+ void setBold();
+ void setSize(int size);
+ void setColor(QString color);
+ void setShadowColor(QString color);
+ void setShadowOffset(int off);
+ void move2(int x, int y);
+ void setOrientation(int orientation, int w, int mh);
+ void setClear(int nClean);
+ int yOffset;
+ int w, h;
+ int fontSize;
+ int fontStyle;
+ QString fontFamily;
+
+ private:
+ NETWinInfo *info;
+ QString text;
+ QFont f;
+ QString fontColor;
+ QString shadowColor;
+ int shadowOffset;
+ int fOrientation;
+ QPixmap bgBuffer;
+ int dw, rdh;
+ int lastX, lastY;
+ int fCleaner;
+ QPixmap maskBuffer;
+
+ protected:
+ void paintEvent(QPaintEvent *);
+};
+#endif // XOSD_H_
diff --git a/subdirs b/subdirs
new file mode 100644
index 0000000..754582e
--- /dev/null
+++ b/subdirs
@@ -0,0 +1,5 @@
+backgrounds
+doc
+icons
+po
+src