changeset 1:e6a2f4c49682

Restucturing of repository git-svn-id: svn://svn.code.sf.net/p/universalindent/code/trunk@157 59b1889a-e5ac-428c-b0c7-476e01d41282
author thomas_-_s <thomas_-_s@59b1889a-e5ac-428c-b0c7-476e01d41282>
date Tue, 05 Sep 2006 15:11:33 +0000
parents 689dcaed2370
children fc5a79632b09
files LICENSE.GPL UniversalIndentGUI.pro UniversalIndentGUI.sln VS8QtRules.rules buildLinuxRelease.sh buildSrcRelease.bat buildwin32release_gcc.bat changelog.txt data/uigui_astyle.ini data/uigui_gnuindent.ini data/uigui_greatcode.ini makeall.bat readme.txt resources/Icon1.png resources/Icons.qrc resources/banner.png resources/document-open.png resources/document-save-as.png resources/document-save.png resources/edit-select-all.png resources/exporthtml.png resources/exportpdf.png resources/format-justify-left.png resources/help.png resources/icon2.ico resources/icon2.png resources/icon3.png resources/info.png resources/live-preview.png resources/load_indent_cfg.png resources/programicon.rc resources/save_indent_cfg.png resources/syntax-highlight.png resources/system-log-out.png resources/tooltip.png resources/view-refresh.png src/UniversalIndentGUI.vcproj src/aboutdialog.cpp src/aboutdialog.h src/aboutdialog.ui src/cpphighlighter.cpp src/cpphighlighter.h src/indentgui.ui src/indenthandler.cpp src/indenthandler.h src/main.cpp src/mainwindow.cpp src/mainwindow.h translations/universalindent_de.ts
diffstat 49 files changed, 6303 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/LICENSE.GPL	Tue Sep 05 15:11:33 2006 +0000
@@ -0,0 +1,347 @@
+ You may use, distribute and copy the UniversalIndentGUI under the terms of
+ GNU General Public License version 2, which is displayed below.
+
+-------------------------------------------------------------------------
+
+		    GNU GENERAL PUBLIC LICENSE
+		       Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+            51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+			    Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users.  This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it.  (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.)  You can apply it to
+your programs, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+  To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have.  You must make sure that they, too, receive or can get the
+source code.  And you must show them these terms so they know their
+rights.
+
+  We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+  Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software.  If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+  Finally, any free program is threatened constantly by software
+patents.  We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary.  To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+
+		    GNU GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License.  The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language.  (Hereinafter, translation is included without limitation in
+the term "modification".)  Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+  1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+  2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) You must cause the modified files to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    b) You must cause any work that you distribute or publish, that in
+    whole or in part contains or is derived from the Program or any
+    part thereof, to be licensed as a whole at no charge to all third
+    parties under the terms of this License.
+
+    c) If the modified program normally reads commands interactively
+    when run, you must cause it, when started running for such
+    interactive use in the most ordinary way, to print or display an
+    announcement including an appropriate copyright notice and a
+    notice that there is no warranty (or else, saying that you provide
+    a warranty) and that users may redistribute the program under
+    these conditions, and telling the user how to view a copy of this
+    License.  (Exception: if the Program itself is interactive but
+    does not normally print such an announcement, your work based on
+    the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+    a) Accompany it with the complete corresponding machine-readable
+    source code, which must be distributed under the terms of Sections
+    1 and 2 above on a medium customarily used for software interchange; or,
+
+    b) Accompany it with a written offer, valid for at least three
+    years, to give any third party, for a charge no more than your
+    cost of physically performing source distribution, a complete
+    machine-readable copy of the corresponding source code, to be
+    distributed under the terms of Sections 1 and 2 above on a medium
+    customarily used for software interchange; or,
+
+    c) Accompany it with the information you received as to the offer
+    to distribute corresponding source code.  (This alternative is
+    allowed only for noncommercial distribution and only if you
+    received the program in object code or executable form with such
+    an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it.  For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable.  However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License.  Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+  5. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Program or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+  6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+  7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded.  In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+  9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time.  Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation.  If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+  10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission.  For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this.  Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+			    NO WARRANTY
+
+  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+		     END OF TERMS AND CONDITIONS
+
+	    How to Apply These Terms to Your New Programs
+
+  If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+  To do so, attach the following notices to the program.  It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the program's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+    Gnomovision version 69, Copyright (C) year name of author
+    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+    This is free software, and you are welcome to redistribute it
+    under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License.  Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+  `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+  <signature of Ty Coon>, 1 April 1989
+  Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs.  If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library.  If this is what you want to do, use the GNU Library General
+Public License instead of this License.
+
+-------------------------------------------------------------------------
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/UniversalIndentGUI.pro	Tue Sep 05 15:11:33 2006 +0000
@@ -0,0 +1,60 @@
+######################################################################
+# Automatically generated by qmake (2.00a) Di Mai 30 22:39:48 2006
+# and editet by hand for additional dependencies
+######################################################################
+CONFIG += debug_and_release
+TEMPLATE = app
+TARGET += 
+DEPENDPATH += resources \
+              src \
+              debug \
+              release
+
+INCLUDEPATH += src
+
+# remove linker flag "-mthreads" so the mingwm10.dll is no longer needed
+#message(old flags:$${QMAKE_LFLAGS})
+parameters = $${QMAKE_LFLAGS}
+newFlags =
+for(parameter, parameters) {
+    !contains(parameter, -mthreads) {
+        newFlags += $${parameter}
+    }
+}
+QMAKE_LFLAGS = $${newFlags}
+#message(new flags:$${QMAKE_LFLAGS})
+
+CONFIG(debug, debug|release) {
+    unix:DESTDIR = ./debug
+    win32:DESTDIR = ./release
+    win32:UI_DIR = ./debug/tmp/uic
+} else {
+    unix:DESTDIR = ./release
+    win32:DESTDIR = ./debug
+    win32:UI_DIR = ./release/tmp/uic
+}
+
+MOC_DIR = $${DESTDIR}/tmp/moc
+unix:UI_DIR = $${DESTDIR}/tmp/uic
+OBJECTS_DIR = $${DESTDIR}/tmp/obj
+RCC_DIR = $${DESTDIR}/tmp/qrc
+
+message ( destdir is $${DESTDIR}. uic is $${UI_DIR}. moc id $${MOC_DIR})
+
+# Input
+HEADERS += src/cpphighlighter.h \
+           src/indenthandler.h \
+           src/mainwindow.h \
+           src/aboutdialog.h
+
+FORMS += src/indentgui.ui \
+         src/aboutdialog.ui
+
+SOURCES += src/cpphighlighter.cpp \
+           src/indenthandler.cpp \
+           src/main.cpp \
+           src/mainwindow.cpp \
+           src/aboutdialog.cpp
+
+RESOURCES += resources/Icons.qrc
+RC_FILE    = resources/programicon.rc
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/UniversalIndentGUI.sln	Tue Sep 05 15:11:33 2006 +0000
@@ -0,0 +1,20 @@
+
+Microsoft Visual Studio Solution File, Format Version 9.00
+# Visual C++ Express 2005
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "UniversalIndentGUI", "src\UniversalIndentGUI.vcproj", "{CF521500-824E-4DB7-A7FA-F4A8B6BB008A}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|Win32 = Debug|Win32
+		Release|Win32 = Release|Win32
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{CF521500-824E-4DB7-A7FA-F4A8B6BB008A}.Debug|Win32.ActiveCfg = Debug|Win32
+		{CF521500-824E-4DB7-A7FA-F4A8B6BB008A}.Debug|Win32.Build.0 = Debug|Win32
+		{CF521500-824E-4DB7-A7FA-F4A8B6BB008A}.Release|Win32.ActiveCfg = Release|Win32
+		{CF521500-824E-4DB7-A7FA-F4A8B6BB008A}.Release|Win32.Build.0 = Release|Win32
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/VS8QtRules.rules	Tue Sep 05 15:11:33 2006 +0000
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="utf-8"?>
+<VisualStudioToolFile
+	Name="Qt-Rules"
+	Version="8,00"
+	>
+	<Rules>
+		<CustomBuildRule
+			Name="UIC"
+			DisplayName="UIC"
+			CommandLine="%qtdir%\bin\uic.exe &quot;$(InputDir)$(InputName).ui&quot; -o &quot;$(OutDir)\tmp\uic\ui_$(InputName).h&quot;"
+			Outputs="$(OutDir)\tmp\uic\ui_$(InputName).h"
+			FileExtensions="*.ui"
+			ExecutionDescription="UICing $(InputName).h..."
+			>
+			<Properties>
+			</Properties>
+		</CustomBuildRule>
+		<CustomBuildRule
+			Name="MOC"
+			DisplayName="MOC"
+			CommandLine="%qtdir%\bin\moc.exe &quot;$(InputDir)$(InputName).h&quot; -o &quot;$(OutDir)\tmp\moc\moc_$(InputName).cpp&quot;"
+			Outputs="$(OutDir)\tmp\moc\moc_$(InputName).cpp"
+			FileExtensions="*.h"
+			ExecutionDescription="MOCing $(InputName).h..."
+			>
+			<Properties>
+			</Properties>
+		</CustomBuildRule>
+		<CustomBuildRule
+			Name="QRC"
+			DisplayName="QRC"
+			CommandLine="%qtdir%\bin\rcc.exe -name $(InputName) &quot;$(InputDir)$(InputName).qrc&quot; -o &quot;$(OutDir)\tmp\qrc\qrc_$(InputName).cpp&quot;"
+			Outputs="$(OutDir)\tmp\qrc\qrc_$(InputName).cpp"
+			FileExtensions="*.qrc"
+			ExecutionDescription="QRCing $(InputName).h..."
+			>
+			<Properties>
+			</Properties>
+		</CustomBuildRule>
+	</Rules>
+</VisualStudioToolFile>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/buildLinuxRelease.sh	Tue Sep 05 15:11:33 2006 +0000
@@ -0,0 +1,48 @@
+#!/bin/bash
+echo calling rm -r release/debug
+echo ---------------------------
+rm -r release
+rm -r debug
+echo calling qmake
+echo -------------
+qmake
+echo calling lrelease release
+echo ------------------------
+lrelease ./translations/universalindent_de.ts -qm ./translations/universalindent_de.qm
+echo calling make release
+echo --------------------
+make release
+echo calling rm -r UniversalIndentGUI_linux32
+echo ----------------------------------------
+rm -r UniversalIndentGUI_linux32
+echo calling mkdir UniversalIndentGUI_linux32
+echo ----------------------------------------
+mkdir UniversalIndentGUI_linux32
+mkdir UniversalIndentGUI_linux32/data
+mkdir UniversalIndentGUI_linux32/translations
+echo copying files to UniversalIndentGUI_linux32
+echo ----------------------------------------
+cp ./changelog.txt ./UniversalIndentGUI_linux32/
+cp ./LICENSE.GPL ./UniversalIndentGUI_linux32/
+cp ./readme.txt ./UniversalIndentGUI_linux32/
+cp ./release/UniversalIndentGUI ./UniversalIndentGUI_linux32/
+cp ./data/.astylerc ./UniversalIndentGUI_linux32/data/
+cp ./data/astyle ./UniversalIndentGUI_linux32/data/
+cp ./data/astyle.html ./UniversalIndentGUI_linux32/data/
+cp ./data/gc.cfg ./UniversalIndentGUI_linux32/data/
+cp ./data/gc.exe ./UniversalIndentGUI_linux32/data/
+cp ./data/gc.txt ./UniversalIndentGUI_linux32/data/
+cp ./data/.indent.pro ./UniversalIndentGUI_linux32/data/
+cp ./data/indent ./UniversalIndentGUI_linux32/data/
+cp ./data/indent.html ./UniversalIndentGUI_linux32/data/
+cp ./data/uigui_astyle.ini ./UniversalIndentGUI_linux32/data/
+cp ./data/uigui_greatcode.ini ./UniversalIndentGUI_linux32/data/
+cp ./data/uigui_gnuindent.ini ./UniversalIndentGUI_linux32/data/
+cp ./data/example.cpp ./UniversalIndentGUI_linux32/data/
+cp ./translations/*.qm ./UniversalIndentGUI_linux32/translations
+cd UniversalIndentGUI_linux32
+echo compressing UniversalIndentGUI_linux32
+echo ----------------------------------------
+tar czf UniversalIndentGUI_0.3_Beta_linux32.tgz *
+cd ..
+read -p "press any key to continue"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/buildSrcRelease.bat	Tue Sep 05 15:11:33 2006 +0000
@@ -0,0 +1,22 @@
+rd UniversalIndentGUI_src /S /Q
+md UniversalIndentGUI_src
+cd UniversalIndentGUI_src
+md data
+md resources
+md src
+cd ..
+copy .\data\uigui_astyle.ini .\UniversalIndentGUI_src\data
+copy .\data\uigui_greatcode.ini .\UniversalIndentGUI_src\data
+copy .\data\uigui_gnuindent.ini .\UniversalIndentGUI_src\data
+copy .\resources\* .\UniversalIndentGUI_src\resources
+copy .\src\* .\UniversalIndentGUI_src\src
+copy .\changelog.txt .\UniversalIndentGUI_src\
+copy .\LICENSE.GPL .\UniversalIndentGUI_src\
+rem copy .\makeall.bat .\UniversalIndentGUI_src\
+copy .\readme.txt .\UniversalIndentGUI_src\
+copy .\UniversalIndentGUI.pro .\UniversalIndentGUI_src\
+copy .\UniversalIndentGUI.sln .\UniversalIndentGUI_src\
+copy .\VS8QtRules.rules .\UniversalIndentGUI_src\
+cd UniversalIndentGUI_src
+7z.exe a -tzip UniversalIndentGUI_0.3_Beta_src.zip
+cd ..
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/buildwin32release_gcc.bat	Tue Sep 05 15:11:33 2006 +0000
@@ -0,0 +1,34 @@
+lrelease .\translations\universalindent_de.ts -qm .\translations\universalindent_de.qm
+qmake
+make release
+rd UniversalIndentGUI_win32 /S /Q
+md UniversalIndentGUI_win32
+cd UniversalIndentGUI_win32
+md translations
+md data
+cd ..
+copy .\translations\*.qm .\UniversalIndentGUI_win32\translations
+copy .\data\.astylerc .\UniversalIndentGUI_win32\data
+copy .\data\AStyle.exe .\UniversalIndentGUI_win32\data
+copy .\data\astyle.html .\UniversalIndentGUI_win32\data
+copy .\data\indent.exe .\UniversalIndentGUI_win32\data
+copy .\data\indent.html .\UniversalIndentGUI_win32\data
+copy .\data\.indent.pro .\UniversalIndentGUI_win32\data
+copy .\data\gc.cfg .\UniversalIndentGUI_win32\data
+copy .\data\gc.exe .\UniversalIndentGUI_win32\data
+copy .\data\gc.txt .\UniversalIndentGUI_win32\data
+copy .\data\uigui_astyle.ini .\UniversalIndentGUI_win32\data
+copy .\data\uigui_gnuindent.ini .\UniversalIndentGUI_win32\data
+copy .\data\uigui_greatcode.ini .\UniversalIndentGUI_win32\data
+copy .\data\example.cpp .\UniversalIndentGUI_win32\data
+copy .\changelog.txt .\UniversalIndentGUI_win32\
+copy .\LICENSE.GPL .\UniversalIndentGUI_win32\
+rem copy .\QtCore4.dll .\UniversalIndentGUI_win32\
+rem copy .\QtGui4.dll .\UniversalIndentGUI_win32\
+rem copy .\mingwm10.dll .\UniversalIndentGUI_win32\
+copy .\readme.txt .\UniversalIndentGUI_win32\
+copy .\release\UniversalIndentGUI.exe .\UniversalIndentGUI_win32\
+cd UniversalIndentGUI_win32
+7z.exe a -tzip UniversalIndentGUI_0.3.1_Beta_win32.zip
+cd ..
+pause
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/changelog.txt	Tue Sep 05 15:11:33 2006 +0000
@@ -0,0 +1,73 @@
+2006-09-04 Version 0.3.1 Beta
+[add] Language selector and german translation added.
+
+2006-08-25 Version 0.3 Beta
+[add] A message box will show up at opening a source file or program exit, if the source code has been changed, and ask whether to save the file or not.
+[add] The symbol "*" will be shown in the window title in front of the source file name if the source code has been changed.
+[add] By a settings menu entry the tool tips for the indenter parameter settings can be en/disabled because they can be annoying.
+[add] A settings file is from now on used to remember the last selected indenter and last opened source code file.
+[add] The source code can now be exported as a PDF or HTML document.
+[add] Some commands are now faster available by keyboard shortcuts.
+[fix] The calling name in the indenter ini file for GreatCode was written lower case while the real file name was upper case, which resulted in a program calling error.
+[fix] Corrected the tab order for the gui elements.
+[change] Optimized speed when switching between the available indenters. If the indenters ini file is large, this still takes some time.
+
+2006-08-11 Version 0.2.5 Alpha
+[add] when loading or saving either a source code or config file the load/save dialog will open in the files directory and not allways in the UniversalIndentGUI dir
+[add] currently made settings for the indenter can be saved to any file
+[add] the menue entries for loading and saving the indenter config file have now icons
+[add] the currently opened source code file name and path will be shown in the window title bar
+[add] a error dialog that will be shown once if the indenter executable for the selected indenter does not exist
+[fix] turning syntax highlight on/off did first take effect after toggle of preview
+[fix] the image in the about dialog box was not allways visible
+
+2006-08-03 Version 0.2.4 Alpha
+[change] the windows version does no longer need any dlls due to static linking and removing bind to mingwm10.dll
+[change] the windows version of the GNU Indent is replaced by a DJGPP compiled GNU Indent version, that needs no further DLLs
+[add] possibility to save the shown/indented source code
+[fix] the file extension used to call the selected indenter. It is now equal to the loaded source file extension so the indenter recognizes the source code language
+[fix] unnecessary calls of the indenter removed
+[fix] indenter was not called if preview was activated and indenter changed
+[fix] under linux the file mask for the open source file dialog did not work correctly 
+
+2006-07-16 Version 0.2.3 Alpha
+[add] possibility to edit the source code while preview is active and see how it is formatted. So that is real live ;-)
+
+2006-07-14 Version 0.2.2 Alpha
+[add] ini file for GNU Indent with some first settings (if any one wants to write more in it let me know)
+[add] a menu bar for more pleasent and common use of the program (some not yet used menu items are disabled)
+[add] an about dialog
+[add] some icons for better look and feel (can you feel it ;-) )
+[fix] a bug under linux which caused an endless loop if text was edited
+
+2006-07-07 Version 0.2.1.1 Alpha (win32 only)
+- previously compiled using Visual Studio 2005 Express, whereby an additional installation of a redistributable package was needed to run UniversalIndentGUI. To avoid this and not force the user to install anything, now using mingw to compile.
+
+2006-07-04 Version 0.2.1 Alpha
+[add] function to load config file (not the uigui ini file) of every indenter (and reenabled load config file button)
+[add] use of a default value when loading a indenter config file and not all parameters are set.
+[add] all documented default parameters of GreatCode and Astyle to their ini files.
+[fix] loading of file mask for source code file after changing indenter
+[fix] call of indenter failed under win32 if a linux binary exists.
+
+2006-06-30 Version 0.2.0 Alpha
+[add] missing parameters for flexible indenter ini file format
+[add] complete Astyle ini file
+[add] multiple choice combobox for parameters
+[add] checkbox in front of numeric and string parameters to enable/disable them. If disabled indenters default value is used
+
+2006-06-28
+[add] working ini file for Astyle (right now only few boolean parameters)
+[change] ini file format for booleans to reach the planned flexibility
+
+2006-06-23
+[add] combobox in the upper left showing available indenters (found by searching for uigui_*.ini file). at the moment only GreatCode and testwise Astyle
+[add] more detailed info if the indenter call results in an error
+[add] icon for executable
+[change] style/format of the ini file. Still not all planned features implemented
+- some bugfixes, as you can say this in a preAlpha
+
+2006-06-07
+[change] unnecessary gui menu removed
+[fix] corrected ini file for great code (only in executable release)
+[add] made call of windows version of GreatCode under Linux possible by using wine
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/uigui_astyle.ini	Tue Sep 05 15:11:33 2006 +0000
@@ -0,0 +1,278 @@
+[%20header]
+categories=General|Tab and Bracket Options|Indentation|Formatting Options
+cfgFileParameterEnding=cr
+configFilename=.astylerc
+fileTypes=*.cpp|*.c|*.h|*.hpp|*.cs|*.java
+indenterFileName=astyle
+indenterName=Astyle
+inputFileName=indentinput
+inputFileParameter=
+outputFileName=indentinput
+outputFileParameter=none
+stringparaminquotes=false
+useCfgFileParameter="--options="
+
+[ANSI%20style%20formatting]
+Category=0
+Description=<html>ANSI style formatting/indenting.</html>
+EditorType=boolean
+TrueFalse="--style=ansi|"
+Value=0
+ValueDefault=0
+
+[GNU%20style%20formatting]
+Category=0
+Description=<html>GNU style formatting/indenting.</html>
+EditorType=boolean
+TrueFalse="--style=gnu|"
+Value=0
+ValueDefault=0
+
+[Java%20style%20formatting]
+Category=0
+Description=<html>Java style formatting/indenting.</html>
+EditorType=boolean
+TrueFalse="--style=java|"
+Value=0
+ValueDefault=0
+
+[KR%20style%20formatting]
+Category=0
+Description=<html>Kernighan&Ritchie style formatting/indenting.</html>
+EditorType=boolean
+TrueFalse="--style=kr|"
+Value=1
+ValueDefault=0
+
+[Linux%20style%20formatting]
+Category=0
+Description=<html>Linux style formatting/indenting.</html>
+EditorType=boolean
+TrueFalse="--style=linux|"
+Value=0
+ValueDefault=0
+
+[bracket%20style]
+Category=1
+Choices="--brackets=break|--brackets=attach|--brackets=linux|--brackets=break-closing-headers"
+Description=<html>Sets the bracket style.</html>
+EditorType=multiple
+Enabled=false
+Value=1
+ValueDefault=-1
+
+[break-blocks]
+Category=3
+Description=<html>Pad empty lines around header blocks (e.g. 'if' 'while'...). Be sure to read the Supplemental Documentation before using this option.</html>
+EditorType=boolean
+TrueFalse=--break-blocks|
+Value=0
+ValueDefault=0
+
+[break-blocks-all]
+Category=3
+Description=<html>Pad empty lines around header blocks (e.g. 'if' 'while'...). Treat closing header blocks (e.g. 'else' 'catch') as stand-alone blocks. Be sure to read the Supplemental Documentation before using this option.</html>
+EditorType=boolean
+TrueFalse="--break-blocks=all|"
+Value=0
+ValueDefault=0
+
+[break-elseifs]
+Category=3
+Description=<html>Break 'else if()' header combinations into separate lines.</html>
+EditorType=boolean
+TrueFalse=--break-elseifs|
+Value=0
+ValueDefault=0
+
+[convert-tabs]
+Category=3
+Description=<html>Converts tabs into single spaces.</html>
+EditorType=boolean
+TrueFalse=--convert-tabs|
+Value=0
+ValueDefault=0
+
+[fill-empty-lines]
+Category=3
+Description=<html>Fill empty lines with the white space of the previous line</html>
+EditorType=boolean
+TrueFalse=--fill-empty-lines|
+Value=0
+ValueDefault=0
+
+[force%20indent%20tab]
+CallName="--force-indent=tab="
+Category=1
+Description="<html>Indent using tab characters. Uses tabs as indents where --indent=tab prefers to use spaces such as inside multi-line statements. </html>"
+EditorType=numeric
+Enabled=false
+MaxVal=20
+MinVal=2
+Value=4
+ValueDefault=4
+
+[indent%20blocks]
+Category=2
+Description=<html>Add extra indentation to entire blocks.</html>
+EditorType=boolean
+TrueFalse=--indent-blocks|
+Value=0
+ValueDefault=0
+
+[indent%20brackets]
+Category=2
+Description=<html>Add extra indentation to brackets.</html>
+EditorType=boolean
+TrueFalse=--indent-brackets|
+Value=0
+ValueDefault=0
+
+[indent%20cases]
+Category=2
+Description=<html>Indent 'case X:' blocks from the 'case X:' headers. Case statements not enclosed in blocks are NOT indented.</html>
+EditorType=boolean
+TrueFalse=--indent-cases|
+Value=0
+ValueDefault=0
+
+[indent%20classes]
+Category=2
+Description=<html>Indent 'class' blocks so that the headers 'public:' 'protected:' and 'private:' are indented in the class block.</html>
+EditorType=boolean
+TrueFalse=--indent-classes|
+Value=0
+ValueDefault=0
+
+[indent%20lables]
+Category=2
+Description=<html>Add extra indentation to labels so they appear 1 indent less than the current indentation rather than being flushed to the left (the default).</html>
+EditorType=boolean
+TrueFalse=--indent-labels|
+Value=0
+ValueDefault=0
+
+[indent%20namespaces]
+Category=2
+Description=<html>Add extra indentation to namespaces.</html>
+EditorType=boolean
+TrueFalse=--indent-namespaces|
+Value=0
+ValueDefault=0
+
+[indent%20preprocessor]
+Category=2
+Description=<html>Indent multi-line preprocessor definitions. should be used with --convert-tabs for proper results. Does a pretty good job but can not perform miracles in obfuscated preprocessor definitions.</html>
+EditorType=boolean
+TrueFalse=--indent-preprocessor|
+Value=0
+ValueDefault=0
+
+[indent%20spaces]
+CallName="--indent=spaces="
+Category=1
+Description=<html>Indent using # spaces per indent</html>
+EditorType=numeric
+Enabled=false
+MaxVal=20
+MinVal=2
+Value=4
+ValueDefault=4
+
+[indent%20switches]
+Category=2
+Description=<html>Indent 'switch' blocks so that the 'case X:' headers are indented in the switch block.</html>
+EditorType=boolean
+TrueFalse=--indent-switches|
+Value=0
+ValueDefault=0
+
+[indent%20tab]
+CallName="--indent=tab="
+Category=1
+Description=<html>Indent using tab characters. Treat each tab as # spaces</html>
+EditorType=numeric
+Enabled=false
+MaxVal=20
+MinVal=2
+Value=4
+ValueDefault=4
+
+[max-instatement-indent]
+CallName="--max-instatement-indent="
+Category=2
+Description=<html>Indent a maximum of # spaces in a continuous statement relative to the previous line.</html>
+EditorType=numeric
+Enabled=false
+MaxVal=79
+MinVal=0
+Value=40
+ValueDefault=40
+
+[min-conditional-indent]
+CallName="--min-conditional-indent="
+Category=2
+Description=<html>Set the minimal indent that is added when a header is built of multiple-lines. This indent makes helps to easily separate the header from the command statements that follow. The default setting for this option is twice the current indent.</html>
+EditorType=numeric
+Enabled=false
+MaxVal=39
+MinVal=0
+Value=8
+ValueDefault=8
+
+[one-line-keep-blocks]
+Category=3
+Description=<html>Don't break one-line blocks</html>
+EditorType=boolean
+TrueFalse="--one-line=keep-blocks|"
+Value=0
+ValueDefault=0
+
+[one-line-keep-statements]
+Category=3
+Description=<html>Don't break complex statements and multiple statements residing on a single line.</html>
+EditorType=boolean
+TrueFalse="--one-line=keep-statements|"
+Value=0
+ValueDefault=0
+
+[override-language]
+Category=3
+Choices="--mode=c|--mode=java"
+Description=<html>Indent a C or C++ or Java file. The option is set from the file extension for each file. You can override the setting with this entry. It allows the formatter to identify language specific syntax such as C classes and C templates.</html>
+EditorType=multiple
+Enabled=false
+Value=1
+ValueDefault=-1
+
+[pad-oper]
+Category=3
+Description=<html>Insert space padding around operators. Operators inside brackets [] are not padded. Note that there is no option to unpad. Once padded they stay padded.</html>
+EditorType=boolean
+TrueFalse="--pad=oper|"
+Value=0
+ValueDefault=0
+
+[pad-paren]
+Category=3
+Description=<html>Insert space padding around parenthesis on both the outside and the inside. Note that there is currently no option to unpad. Once padded they stay padded.</html>
+EditorType=boolean
+TrueFalse="--pad=paren|"
+Value=0
+ValueDefault=0
+
+[pad-paren-in]
+Category=3
+Description=<html>Insert space padding around parenthesis on the inside only. Note that there is currently no option to unpad. Once padded they stay padded.</html>
+EditorType=boolean
+TrueFalse="--pad=paren-in|"
+Value=0
+ValueDefault=0
+
+[pad-paren-out]
+Category=3
+Description=<html>Insert space padding around parenthesis on the outside only. Note that there is currently no option to unpad. Once padded they stay padded.</html>
+EditorType=boolean
+TrueFalse="--pad=paren-out|"
+Value=0
+ValueDefault=0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/uigui_gnuindent.ini	Tue Sep 05 15:11:33 2006 +0000
@@ -0,0 +1,37 @@
+[%20header]
+categories=General
+cfgFileParameterEnding=cr
+configFilename=.indent.pro
+fileTypes=*.c|*.h
+indenterFileName=indent
+indenterName=GNU Indent
+inputFileName=indentinput
+inputFileParameter=
+outputFileName=indentoutput
+outputFileParameter="-o "
+stringparaminquotes=false
+useCfgFileParameter=
+
+[ANSI%20style%20formatting]
+Category=0
+Description=<html>original  Berkeley  indent</html>
+EditorType=boolean
+TrueFalse=-orig|
+Value=1
+ValueDefault=0
+
+[GNU%20style%20formatting]
+Category=0
+Description=<html>GNU style formatting/indenting.</html>
+EditorType=boolean
+TrueFalse=-gnu|
+Value=1
+ValueDefault=0
+
+[KR%20style%20formatting]
+Category=0
+Description=<html>Kernighan&Ritchie style formatting/indenting.</html>
+EditorType=boolean
+TrueFalse=-kr|
+Value=0
+ValueDefault=0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/uigui_greatcode.ini	Tue Sep 05 15:11:33 2006 +0000
@@ -0,0 +1,1500 @@
+[%20header]
+categories=General|Space|Code|Statements|Pre-Processor|Comments|Miscellaneous
+cfgFileParameterEnding=cr
+configFilename=gc.cfg
+fileTypes=*.cpp|*.c|*.h|*.hpp
+indenterFileName=gc
+indenterName=GreatCode
+inputFileName=indentinput
+inputFileParameter=-file-
+outputFileName=indentinput_test
+outputFileParameter=-output_test-
+stringparaminquotes=false
+useCfgFileParameter=
+
+[catch_eol_before]
+CallName=-catch_eol_before-
+Category=2
+Description=Number of EOL before catch
+EditorType=numeric
+Enabled=true
+MaxVal=2000
+MinVal=0
+Value=0
+ValueDefault=1
+
+[cmt_add_class_access]
+Category=5
+Description="<html>Add an empty comment before class access (if not already present).<br>        Comment level is set by -cmt_sep_force_class_access- option.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -cmt_add_class_access-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        class a<br>        {<br>        public:<br>            void v(void)<br>        protected:<br>            int c<br>        }<br><br>        after<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        class a<br>        {<br>        /*      <= by default. cmt level is 2<br>         ==========================================<br>         ==========================================<br>         */<br>        public:<br>            void v(void)<br><br>        /*<br>         ==========================================<br>         ==========================================<br>         */<br>        protected:<br>            int c<br>        }<br><br>        See option(s) :<br>        -cmt_sep_char_2-<char><br>        -cmt_sep_len-<num><br>        -cmt_sep_force_class_access-<num></font></pre></html>"
+EditorType=boolean
+TrueFalse=-cmt_add_class_access-|-no-cmt_add_class_access-
+Value=0
+ValueDefault=1
+
+[cmt_add_fct_def]
+Category=5
+Description="<html>Add an empty comment before function definition (if not already<br>        present).<br>        Comment is level is set by -cmt_sep_force_fct_def- option.<br><br>        ** file.c **<br><br>        /*<br>         ==========================================<br>         ==========================================<br>         */<br>        int a(void)<br>        {<br>        }<br><br>        ** EOF **<br><br>        See option(s) :<br>        -cmt_sep_char_3-<char><br>        -cmt_sep_len-<num><br>        -cmt_sep_force_fct_def-<num><br><br>        Note(s) :<br>        - Actual comments before function are included in the separator.</html>"
+EditorType=boolean
+TrueFalse=-cmt_add_fct_def-|-no-cmt_add_fct_def-
+Value=0
+ValueDefault=1
+
+[cmt_add_fct_def_class]
+Category=5
+Description=<html>Same as -cmt_add_fct_def-. but for functions defined inside a class<br>\t\t(inline functions).<br><br>        See option(s) :<br>\t\t-cmt_add_fct_def-</html>
+EditorType=boolean
+TrueFalse=-cmt_add_fct_def_class-|-no-cmt_add_fct_def_class-
+Value=0
+ValueDefault=1
+
+[cmt_add_file]
+Category=5
+Description=<html>Add a special comment at the beginning of file (if not already<br>        present). The type of the comment is set by -cmt_add_file_style-.<br><br>        -cmt_add_file-<br>        -cmt_add_file_style-0<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        ** file.c **<br>        /*$6<br>         ++++++++++++++++++++++++++++++++++++++++++<br>         ++++++++++++++++++++++++++++++++++++++++++<br>         */<br>        ...<br>        ** EOF **<br><br>        -cmt_add_file-<br>        -cmt_add_file_style-1<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        ** file.c **<br>        /*$I0<br>            ...<br>         */<br>        ...<br>        ** EOF **<br><br>        See option(s) :<br>        -cmt_sep_char_6-<char><br>        -cmt_sep_len-<num><br>        -cmt_add_file_style-<num></html>
+EditorType=boolean
+TrueFalse=-cmt_add_file-|-no-cmt_add_file-
+Value=0
+ValueDefault=1
+
+[cmt_add_file_style]
+CallName=-cmt_add_file_style-
+Category=5
+Description="<html>Special comment style for -cmt_add_file- option.<br>        0 = special comment level 6 /*$6<br>        1 = special comment external insertion file /*$I0<br><br>        -cmt_add_file_style-0<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        ** file.c **<br>        /*$6<br>         ++++++++++++++++++++++++++++++++++++++++++<br>         ++++++++++++++++++++++++++++++++++++++++++<br>         */<br><br>        -cmt_add_file_style-1<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        ** file.c **<br>        /*$I0<br>            ...<br>         */<br><br>        See option(s) :<br>        [no]-cmt_add_file-<br>        Special comment /*$I<num>*/</html>"
+EditorType=numeric
+Enabled=true
+MaxVal=1
+MinVal=0
+Value=0
+ValueDefault=0
+
+[cmt_add_gc_tag]
+Category=5
+Description=<html>Add the GC mark at the beginning of the file.<br><br>        /*$T test.c GC 1.102 01/06/01 16:47:25 */</html>
+EditorType=boolean
+TrueFalse=-cmt_add_gc_tag-|-no-cmt_add_gc_tag-
+Value=0
+ValueDefault=1
+
+[cmt_align_max_blanks]
+CallName=-cmt_align_max_blanks-
+Category=5
+Description="<html>Set the max number of blank characters to add to align last line<br>        comments.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -cmt_align_max_blanks-20<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        int         coucou     /* comment */<br>        unsigned int    b      /* comment */<br>        unsigned int    long_long_variable_variables   /* comment */<br><br>        -cmt_align_max_blanks-30<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        int         coucou             /* comment */<br>        unsigned int    b                  /* comment */<br>        unsigned int    long_long_variable_variables   /* comment */</font></pre></html>"
+EditorType=numeric
+Enabled=true
+MaxVal=2000
+MinVal=1
+Value=1
+ValueDefault=10
+
+[cmt_c2cpp]
+Category=5
+Description=<html>Convert all C comments to the C++ form. Only end of lines comments are<br>        converted.<br>        See option(s) :<br>        -cmt_keep_cpp-<br><br>        Note(s) :<br>        - This option set the -cmt_keep_cpp- to true.</html>
+EditorType=boolean
+TrueFalse=-cmt_c2cpp-|-no-cmt_c2cpp-
+Value=1
+ValueDefault=0
+
+[cmt_cpp2c_keep_eol]
+Category=5
+Description="<html>Keep trace of EOL characters when converting C++ comments to C<br>        comment. -cmt_keep_cpp- must be enabled.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        before<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        // this is a comment<br>        // this is another comment<br><br>        -cmt_cpp2c_keep_eol-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        /*<br>         * this is a comment           <=  is the default break character<br>         * this is another comment<br>         */<br><br>        -no-cmt_cpp2c_keep_eol-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        /* this is a comment this is another comment */<br><br>        See option(s) :<br>        [no]-cmt_keep_cpp-<br>        -cmt_sep_char_split-<char></font></pre></html>"
+EditorType=boolean
+TrueFalse=-cmt_cpp2c_keep_eol-|-no-cmt_cpp2c_keep_eol-
+Value=1
+ValueDefault=1
+
+[cmt_decl]
+Category=5
+Description="<html>Add separators in local variable declaration (before and/or after).<br>        Separators are by default level 1.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -cmt_decl-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        int a(void)<br>        {<br>            unsigned int    var<br>            long b<br>            var = 0<br>        }<br><br>        after<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        int a(void)<br>        {<br>            /*~~~~~~~~~~~~~~~~~~*/<br>            unsigned int    var<br>            long            b<br>            /*~~~~~~~~~~~~~~~~~~*/<br><br>            var = 0<br>        }<br><br>        See options(s) :<br>        -cmt_decl_max_level-<num><br>        [-no]-cmt_decl_before-<br>        -cmt_decl_len-<num><br>        [-no]-cmt_decl_auto_len-<br>        -cmt_decl_auto_len_add-<num><br><br>        Note(s) :<br>        - Can't be used with -cmt_dont_modify- option.</font></pre></html>"
+EditorType=boolean
+TrueFalse=-cmt_decl-|-no-cmt_decl-
+Value=0
+ValueDefault=1
+
+[cmt_decl_auto_len]
+Category=5
+Description="<html>Co<pre><font face=\"courier new\" size=\"3\">mpute the length of the decl separator depending on code.<br>        Is disabled. the length is set by -cmt_decl_len- option.</font></pre></html>"
+EditorType=boolean
+TrueFalse=-cmt_decl_auto_len-|-no-cmt_decl_auto_len-
+Value=1
+ValueDefault=1
+
+[cmt_decl_auto_len_add]
+CallName=-cmt_decl_auto_len_add-
+Category=5
+Description="<html>Wh<pre><font face=\"courier new\" size=\"3\">en -cmt_decl_auto_len- and -cmt_decl- are both enabled. add <num><br>        characters to the length of the separator.<br><br>        -cmt_decl_auto_len_add-0<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        int a(void)<br>        {<br>            /*~~~~~~~~~~~~~~~~~~*/  <= exact size of the code below<br>            unsigned int    var<br>            long            b<br>            /*~~~~~~~~~~~~~~~~~~*/<br><br>            {<br>                /*~~*/      <= idem<br>                int c<br>                /*~~*/<br>            }<br><br>            var = 0<br>        }<br><br>        -cmt_decl_auto_len_add-4<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        int a(void)<br>        {<br>            /*~~~~~~~~~~~~~~~~~~~~~~*/  <= size + 4<br>            unsigned int    var<br>            long            b<br>            /*~~~~~~~~~~~~~~~~~~~~~~*/<br><br>            {<br>            /*~~~~~~*/              <= size + 4<br>            int c<br>            /*~~~~~~*/<br>            }<br><br>            var = 0<br>        }</font></pre></html>"
+EditorType=numeric
+Enabled=true
+MaxVal=2000
+MinVal=0
+Value=0
+ValueDefault=0
+
+[cmt_decl_before]
+Category=5
+Description="<html>Add a separator before local declarations.<br>        -cmt_decl- must be enabled.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -cmt_decl_before-<br><br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        int a(void)<br>        {<br>            /*~~~~~~~~~~~~~~~~~~*/<br>            unsigned int    var<br>            long            b<br>            /*~~~~~~~~~~~~~~~~~~*/<br><br>            var = 0<br>        }<br><br>        -no-cmt_decl_before-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        int a(void)<br>        {<br>            unsigned int    var<br>            long            b<br>            /*~~~~~~~~~~~~~~~~~~*/<br><br>            var = 0<br>        }</font></pre></html>"
+EditorType=boolean
+TrueFalse=-cmt_decl_before-|-no-cmt_decl_before-
+Value=0
+ValueDefault=1
+
+[cmt_decl_len]
+CallName=-cmt_decl_len-
+Category=5
+Description="<html>Se<pre><font face=\"courier new\" size=\"3\">t the maximum column of the declaration separator.<br>        -cmt_decl- must be enabled.<br>        -cmt_decl_auto_len- must be disabled.<br><br>        -cmt_decl_len-20<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        int a(void)<br>        {<br>            /*~~~~~~~~~~~~*/        <= column 20<br>            int b<br>            /*~~~~~~~~~~~~*/<br>            {<br>                /*~~~~~~*/<br>                unsigned int    var<br>                long            b<br>                /*~~~~~~*/<br>            }<br><br>            var = 0<br>        }<br><br>        -cmt_decl_len-50<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        int a(void)<br>        {<br>            /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/      <= column 50<br>            int b<br>            /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/<br>            {<br>                /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/<br>                unsigned int    var<br>                long            b<br>                /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/<br>            }<br><br>            var = 0<br>        }</font></pre></html>"
+EditorType=numeric
+Enabled=true
+MaxVal=2000
+MinVal=0
+Value=0
+ValueDefault=120
+
+[cmt_decl_max_level]
+CallName=-cmt_decl_max_level-
+Category=5
+Description="<html>-cmt_decl- option is valid for declaration in a statement level lesser<br>        than that value.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -cmt_decl_max_level-1<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        int a(void)<br>        {<br>            /*~~*/<br>            int b<br>            /*~~*/<br><br>            b = 0<br>            if(b)<br>            {<br>                unsigned int    var    <= stmt level is 2. so is not touched<br>                long            c<br><br>                var = c = 0<br>            }<br>        }<br><br>        -cmt_decl_max_level-2<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        int a(void)<br>        {<br>            /*~~*/<br>            int b<br>            /*~~*/<br><br>            b = 0<br>            if(b)<br>            {<br>                /*~~~~~~~~~~~~~~~~~~*/  <= stmt level 2 is now converned<br>                unsigned int    var<br>                long            c<br>                /*~~~~~~~~~~~~~~~~~~*/<br><br>                var = c = 0<br>            }<br>        }</font></pre></html>"
+EditorType=numeric
+Enabled=true
+MaxVal=2000
+MinVal=0
+Value=0
+ValueDefault=100
+
+[cmt_dont_modify]
+Category=5
+Description="<html>Pr<pre><font face=\"courier new\" size=\"3\">ocess or not all the comments of the file.</font></pre></html>"
+EditorType=boolean
+TrueFalse=-cmt_dont_modify-|-no-cmt_dont_modify-
+Value=1
+ValueDefault=0
+
+[cmt_fct_categ]
+CallName=-cmt_fct_categ-
+Category=5
+Description="<html>-cmt_fct_categ-     Define a special word when indenting function<br>                            comments.<br>        -cmt_fct_categ_in-  This word is a special category to describe<br>                            function parameters.<br><br>        GC can indent function definition comments in a special form<br>        depending of special words defined with those options.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        options<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        -cmt_fct_categ-main<br>        -cmt_fct_categ-output<br>        -cmt_fct_categ_in-parameters<br><br><br>        before<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        /* Description: Description of the function. Return: none<br>        Parameters: a - entering value b - increment value */<br>        int function(int a. int b)<br>        {<br>        }<br><br><br>        after<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        /*<br>         ==========================================<br>         Description:\tDescription of the function.<br><br>         Return:\tnone<br><br>         Parameters:    a   - entering value<br>                        b   - increment value<br>         ==========================================<br>         */<br>        int function(int a. int b)<br>        {<br>        }<br><br>        See option(s) :<br>        [-no]-cmt_add_fct_def-<br>\t\t-cmt_fct_categ_style-<br><br>        Note(s) :<br>        - In comment. special words must be followed by ':'.<br>        - A parameter must be followed by '-'. and then by the comment.<br>        - This option can't be set in a source file with special comment<br>          /*$O */</font></pre></html>"
+EditorType=string
+Enabled=false
+Value=
+ValueDefault=-1
+
+[cmt_fct_categ_in]
+CallName=-cmt_fct_categ_in-
+Category=5
+Description="<html>-cmt_fct_categ-     Define a special word when indenting function<br>                            comments.<br>-cmt_fct_categ_in-  This word is a special category to describe<br>                            function parameters.<br><br>        GC can indent function definition comments in a special form<br>        depending of special words defined with those options.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        options<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        -cmt_fct_categ-main<br>        -cmt_fct_categ-output<br>        -cmt_fct_categ_in-parameters<br><br><br>        before<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        /* Description: Description of the function. Return: none<br>        Parameters: a - entering value b - increment value */<br>        int function(int a. int b)<br>        {<br>        }<br><br><br>        after<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        /*<br>         ==========================================<br>         Description:\tDescription of the function.<br><br>         Return:\tnone<br><br>         Parameters:    a   - entering value<br>                        b   - increment value<br>         ==========================================<br>         */<br>        int function(int a. int b)<br>        {<br>        }<br><br>        See option(s) :<br>        [-no]-cmt_add_fct_def-<br>\t\t-cmt_fct_categ_style-<br><br>        Note(s) :<br>        - In comment. special words must be followed by ':'.<br>        - A parameter must be followed by '-'. and then by the comment.<br>        - This option can't be set in a source file with special comment<br>          /*$O */</font></pre></html>"
+EditorType=string
+Enabled=false
+Value=
+ValueDefault=-1
+
+[cmt_fct_categ_style]
+CallName=-cmt_fct_categ_style-
+Category=5
+Description=Set indentation style for special keywords in comments
+EditorType=numeric
+Enabled=true
+MaxVal=1
+MinVal=0
+Value=0
+ValueDefault=0
+
+[cmt_fct_java_doc]
+Category=5
+Description=Enable the java doc type comments for functions only. Also enables -cmt_sep_fill_star-.
+EditorType=boolean
+TrueFalse=-cmt_fct_java_doc-|-no-cmt_fct_java_doc-
+Value=1
+ValueDefault=0
+
+[cmt_first_line_blank]
+Category=5
+Description="<html>Add an empty line between two adjacent first line comments.<br>        -cmt_first_line_concat- must be disabled.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -cmt_first_line_blank-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        /* comment1 */<br>        /* comment2 */<br>        /* comment3 */<br>        if(a)<br>        {<br>        }<br><br>        after<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        /* comment1 */<br>        <EOL><br>        /* comment2 */<br>        <EOL><br>        /* comment3 */<br>        if(a)<br>        {<br>        }<br><br>        See options(s) :<br>        [-no]-cmt_first_line_concat-</font></pre></html>"
+EditorType=boolean
+TrueFalse=-cmt_first_line_blank-|-no-cmt_first_line_blank-
+Value=0
+ValueDefault=1
+
+[cmt_first_line_break_first]
+Category=5
+Description="<html>Add an EOL after /* of first line comments.<br>        Add an EOL before */ of first line comments.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -cmt_first_line_break_first-<br>        -cmt_first_line_break_last-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        /*<br>         * Comment <br>         * Comment<br>         */<br><br>        -no-cmt_first_line_break_first-<br>        -cmt_first_line_break_last-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        /* Comment <br>         * Comment<br>         */<br><br>        -no-cmt_first_line_break_first-<br>        -no-cmt_first_line_break_last-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        /* Comment <br>         * Comment */</font></pre></html>"
+EditorType=boolean
+TrueFalse=-cmt_first_line_break_first-|-no-cmt_first_line_break_first-
+Value=1
+ValueDefault=1
+
+[cmt_first_line_break_last]
+Category=5
+Description="<html>Add an EOL after /* of first line comments.<br>        Add an EOL before */ of first line comments.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -cmt_first_line_break_first-<br>        -cmt_first_line_break_last-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        /*<br>         * Comment <br>         * Comment<br>         */<br><br>        -no-cmt_first_line_break_first-<br>        -cmt_first_line_break_last-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        /* Comment <br>         * Comment<br>         */<br><br>        -no-cmt_first_line_break_first-<br>        -no-cmt_first_line_break_last-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        /* Comment <br>         * Comment */</font></pre></html>"
+EditorType=boolean
+TrueFalse=-cmt_first_line_break_last-|-no-cmt_first_line_break_last-
+Value=1
+ValueDefault=1
+
+[cmt_first_line_concat]
+Category=5
+Description="<html>Concat adjacent first line comments.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -cmt_first_line_concat-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        /* first line comment */<br>        /* another first line comment */<br><br>        after<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        /*<br>         * first line comment <br>         * another first line comment<br>         */</font></pre></html>"
+EditorType=boolean
+TrueFalse=-cmt_first_line_concat-|-no-cmt_first_line_concat-
+Value=0
+ValueDefault=1
+
+[cmt_first_line_fill_star]
+Category=5
+Description="<html>Add a '*' character at the beginning of lines of first line comments.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -cmt_first_line_fill_star-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        /*<br>         * Comment <br>         * Comment<br>         */<br><br>        -no-cmt_first_line_fill_star-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        /*<br>           Comment <br>           Comment<br>         */<br><br>        See options(s) :<br>        [-no]-cmt_sep_fill_star-<br><br>        Note(s) :<br>        - Separators are not concerned.</font></pre></html>"
+EditorType=boolean
+TrueFalse=-cmt_first_line_fill_star-|-no-cmt_first_line_fill_star-
+Value=0
+ValueDefault=1
+
+[cmt_first_line_len]
+CallName=-cmt_first_line_len-
+Category=5
+Description="<html>Set the maximum length of first line comments.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -cmt_first_line_len-100<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        /* this is a comment that should be split */<br><br>        -cmt_first_line_len-40<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        /*<br>         * this is a comment that should be<br>         * split<br>         */<br><br>        -cmt_first_line_len-10<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        /*<br>         * this is a<br>         * comment<br>         * that<br>         * should be<br>         * split<br>         */<br><br>        Note(s) :<br>        - Separators are not concerned.</font></pre></html>"
+EditorType=numeric
+Enabled=true
+MaxVal=2000
+MinVal=8
+Value=80
+ValueDefault=80
+
+[cmt_first_space_cpp]
+Category=5
+Description="<html>Force a space after the opening comment delimiter.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -cmt_first_space_cpp-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        // coucou<br><br>        -no-cmt_first_space_cpp-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        //coucou</font></pre></html>"
+EditorType=boolean
+TrueFalse=-cmt_first_space_cpp-|-no-cmt_first_space_cpp-
+Value=1
+ValueDefault=1
+
+[cmt_fixme]
+CallName=-cmt_fixme-
+Category=5
+Description="<html>Specify the string for FIXME comment the default is /* FIXME: Comment */<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -cmt_fixme-/* TODO: add comment */</font></pre></html>"
+EditorType=string
+Enabled=true
+Value=
+ValueDefault=/* */
+
+[cmt_force_fct_def_decl_split]
+Category=5
+Description="<html>Fo<pre><font face=\"courier new\" size=\"3\">rce function definitions to split at each paramenter according<br>        to the sytle defined by -code_split_fctdef_style-</font></pre></html>"
+EditorType=boolean
+TrueFalse=-cmt_force_fct_def_decl_split-|-no-cmt_force_fct_def_decl_split-
+Value=1
+ValueDefault=0
+
+[cmt_java_doc]
+Category=5
+Description=Enable the java doc type comments for all comments. Also enables -cmt_sep_fill_star- and -cmt_fct_java_doc-
+EditorType=boolean
+TrueFalse=-cmt_java_doc-|-no-cmt_java_doc-
+Value=1
+ValueDefault=0
+
+[cmt_keep-char_1]
+CallName=-cmt_keep-char_1-
+Category=5
+Description=(1) Keep the comment identical to /*$F but apply to the character next to the * in /*
+EditorType=string
+Enabled=false
+Value=
+ValueDefault=
+
+[cmt_keep-char_2]
+CallName=-cmt_keep-char_2-
+Category=5
+Description=(2) Keep the comment identical to /*$F but apply to the character next to the * in /*
+EditorType=string
+Enabled=false
+Value=
+ValueDefault=
+
+[cmt_keep-char_3]
+CallName=-cmt_keep-char_3-
+Category=5
+Description=(3) Keep the comment identical to /*$F but apply to the character next to the * in /*
+EditorType=string
+Enabled=false
+Value=
+ValueDefault=
+
+[cmt_keep-char_4]
+CallName=-cmt_keep-char_4-
+Category=5
+Description=(4) Keep the comment identical to /*$F but apply to the character next to the * in /*
+EditorType=string
+Enabled=false
+Value=
+ValueDefault=
+
+[cmt_keep-char_cpp_1]
+CallName=-cmt_keep-char_cpp_1-
+Category=5
+Description=(1) Keep the cpp comment as is character after the //.
+EditorType=string
+Enabled=false
+Value=
+ValueDefault=
+
+[cmt_keep-char_cpp_2]
+CallName=-cmt_keep-char_cpp_2-
+Category=5
+Description=(2) Keep the cpp comment as is character after the //.
+EditorType=string
+Enabled=false
+Value=
+ValueDefault=
+
+[cmt_keep-char_cpp_3]
+CallName=-cmt_keep-char_cpp_3-
+Category=5
+Description=(3) Keep the cpp comment as is character after the //.
+EditorType=string
+Enabled=false
+Value=
+ValueDefault=
+
+[cmt_keep-char_cpp_4]
+CallName=-cmt_keep-char_cpp_4-
+Category=5
+Description=(4) Keep the cpp comment as is character after the //.
+EditorType=string
+Enabled=false
+Value=
+ValueDefault=
+
+[cmt_keep_cpp]
+Category=5
+Description="<html>Keep C++ comments. and do not change them to the C form.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -no-cmt_keep_cpp-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        // this is a comment<br>        // this is another comment<br><br>        after<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        /*<br>         * this is a comment <br>         * this is another comment<br>         */<br><br>        See option(s) :<br>        [no]-cmt_cpp2c_keep_eol-<br>        -cmt_sep_char_split-<char><br><br>        Note(s) :<br>        - This option can't be set in a source file with special comment<br>          /*$O */</font></pre></html>"
+EditorType=boolean
+TrueFalse=-cmt_keep_cpp-|-no-cmt_keep_cpp-
+Value=1
+ValueDefault=0
+
+[cmt_sep_break]
+Category=5
+Description="<html>Force /* and */ to be alone on their lines for separators.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -cmt_sep_break-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        /*<br>         ===================<br>           comment <br>           comment<br>         ===================<br>         */<br><br>        //<br>        // =================<br>        // comment<br>        // =================<br>        //<br><br>        -no-cmt_sep_break-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        /* =================<br>           comment <br>           comment<br>         =================== */<br><br>        // =================<br>        // comment<br>        // =================</font></pre></html>"
+EditorType=boolean
+TrueFalse=-cmt_sep_break-|-no-cmt_sep_break-
+Value=1
+ValueDefault=1
+
+[cmt_sep_char_1]
+CallName=-cmt_sep_char_1-
+Category=5
+Description="<html>Set the special character to fill automatic comments.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -cmt_sep_char_1-O<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        /*$1-OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO*/<br>        /*$1<br>         OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO<br>         OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO<br>         */<br><br>        -cmt_sep_char_2-#<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        /*$2-####################################*/<br>        /*$2<br>         ##########################################<br>         ##########################################<br>         */<br><br>        Note(s) :<br>        - /*$<num>- */ is a special form comment recognized by GC.<br>          This is a single line comment.<br>        - /*$<num> */ is a special form comment recognized by GC.<br>          This is a multiline comment.</font></pre></html>"
+EditorType=string
+Enabled=true
+Value=~
+ValueDefault=~
+
+[cmt_sep_char_2]
+CallName=-cmt_sep_char_2-
+Category=5
+Description="<html>Set the special character to fill automatic comments.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -cmt_sep_char_1-O<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        /*$1-OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO*/<br>        /*$1<br>         OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO<br>         OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO<br>         */<br><br>        -cmt_sep_char_2-#<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        /*$2-####################################*/<br>        /*$2<br>         ##########################################<br>         ##########################################<br>         */<br><br>        Note(s) :<br>        - /*$<num>- */ is a special form comment recognized by GC.<br>          This is a single line comment.<br>        - /*$<num> */ is a special form comment recognized by GC.<br>          This is a multiline comment.</font></pre></html>"
+EditorType=string
+Enabled=true
+Value=-
+ValueDefault=-
+
+[cmt_sep_char_3]
+CallName=-cmt_sep_char_3-
+Category=5
+Description="<html>Set the special character to fill automatic comments.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -cmt_sep_char_1-O<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        /*$1-OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO*/<br>        /*$1<br>         OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO<br>         OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO<br>         */<br><br>        -cmt_sep_char_2-#<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        /*$2-####################################*/<br>        /*$2<br>         ##########################################<br>         ##########################################<br>         */<br><br>        Note(s) :<br>        - /*$<num>- */ is a special form comment recognized by GC.<br>          This is a single line comment.<br>        - /*$<num> */ is a special form comment recognized by GC.<br>          This is a multiline comment.</font></pre></html>"
+EditorType=string
+Enabled=true
+Value="="
+ValueDefault="="
+
+[cmt_sep_char_4]
+CallName=-cmt_sep_char_4-
+Category=5
+Description="<html>Set the special character to fill automatic comments.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -cmt_sep_char_1-O<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        /*$1-OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO*/<br>        /*$1<br>         OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO<br>         OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO<br>         */<br><br>        -cmt_sep_char_2-#<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        /*$2-####################################*/<br>        /*$2<br>         ##########################################<br>         ##########################################<br>         */<br><br>        Note(s) :<br>        - /*$<num>- */ is a special form comment recognized by GC.<br>          This is a single line comment.<br>        - /*$<num> */ is a special form comment recognized by GC.<br>          This is a multiline comment.</font></pre></html>"
+EditorType=string
+Enabled=true
+Value=*
+ValueDefault=*
+
+[cmt_sep_char_5]
+CallName=-cmt_sep_char_5-
+Category=5
+Description="<html>Set the special character to fill automatic comments.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -cmt_sep_char_1-O<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        /*$1-OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO*/<br>        /*$1<br>         OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO<br>         OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO<br>         */<br><br>        -cmt_sep_char_2-#<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        /*$2-####################################*/<br>        /*$2<br>         ##########################################<br>         ##########################################<br>         */<br><br>        Note(s) :<br>        - /*$<num>- */ is a special form comment recognized by GC.<br>          This is a single line comment.<br>        - /*$<num> */ is a special form comment recognized by GC.<br>          This is a multiline comment.</font></pre></html>"
+EditorType=string
+Enabled=true
+Value=#
+ValueDefault=#
+
+[cmt_sep_char_6]
+CallName=-cmt_sep_char_6-
+Category=5
+Description="<html>Set the special character to fill automatic comments.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -cmt_sep_char_1-O<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        /*$1-OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO*/<br>        /*$1<br>         OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO<br>         OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO<br>         */<br><br>        -cmt_sep_char_2-#<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        /*$2-####################################*/<br>        /*$2<br>         ##########################################<br>         ##########################################<br>         */<br><br>        Note(s) :<br>        - /*$<num>- */ is a special form comment recognized by GC.<br>          This is a single line comment.<br>        - /*$<num> */ is a special form comment recognized by GC.<br>          This is a multiline comment.</font></pre></html>"
+EditorType=string
+Enabled=true
+Value=+
+ValueDefault=+
+
+[cmt_sep_char_split]
+CallName=-cmt_sep_char_split-
+Category=5
+Description="<html>Define the special break line character in comments.<pre><font face=\"courier new\" size=\"3\">        before<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        /* coucou  salut */<br><br>        after<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        /*<br>         * coucou <br>         * salut<br>         */<br><br>        See option(s) :<br>        [-no]-cmt_first_line_concat-<br>        [-no]-cmt_cpp2c_keep_eol-<br><br>        Note(s) :<br>        - GC uses this special character to keep trace of EOL when converting<br>          C++ comments to C comments. or to concat first line comments.</font></pre></html>"
+EditorType=string
+Enabled=true
+Value=
+ValueDefault=
+
+[cmt_sep_eol_after]
+CallName=-cmt_sep_eol_after-
+Category=5
+Description="<html>Set the number of EOL before and after special first line comments.<br>        depending on the level.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -cmt_sep_eol_before_2-2<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        ...<br>        <EOL><br>        <EOL><br>        /*$2<br>          ==========================================<br>          ==========================================<br>          */<br>        <EOL><br>        <EOL><br>        ...<br><br>        -cmt_sep_eol_before_2-1<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        ...<br>        <EOL><br>        /*$2<br>          ==========================================<br>          ==========================================<br>          */<br>        <EOL><br>        ...<br><br>        Note(s) :<br>        - Only automatic comments and /*$<num> */ comments are concerned.<br>          The /*$<num>- */ comment is not concerned.</font></pre></html>"
+EditorType=numeric
+Enabled=true
+MaxVal=2000
+MinVal=0
+Value=0
+ValueDefault=0
+
+[cmt_sep_eol_after_1]
+CallName=-cmt_sep_eol_after_1-
+Category=5
+Description="<html>Set the number of EOL before and after special first line comments.<br>        depending on the level.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -cmt_sep_eol_before_2-2<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        ...<br>        <EOL><br>        <EOL><br>        /*$2<br>          ==========================================<br>          ==========================================<br>          */<br>        <EOL><br>        <EOL><br>        ...<br><br>        -cmt_sep_eol_before_2-1<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        ...<br>        <EOL><br>        /*$2<br>          ==========================================<br>          ==========================================<br>          */<br>        <EOL><br>        ...<br><br>        Note(s) :<br>        - Only automatic comments and /*$<num> */ comments are concerned.<br>          The /*$<num>- */ comment is not concerned.</font></pre></html>"
+EditorType=numeric
+Enabled=true
+MaxVal=2000
+MinVal=0
+Value=0
+ValueDefault=1
+
+[cmt_sep_eol_after_2]
+CallName=-cmt_sep_eol_after_2-
+Category=5
+Description="<html>Set the number of EOL before and after special first line comments.<br>        depending on the level.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -cmt_sep_eol_before_2-2<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        ...<br>        <EOL><br>        <EOL><br>        /*$2<br>          ==========================================<br>          ==========================================<br>          */<br>        <EOL><br>        <EOL><br>        ...<br><br>        -cmt_sep_eol_before_2-1<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        ...<br>        <EOL><br>        /*$2<br>          ==========================================<br>          ==========================================<br>          */<br>        <EOL><br>        ...<br><br>        Note(s) :<br>        - Only automatic comments and /*$<num> */ comments are concerned.<br>          The /*$<num>- */ comment is not concerned.</font></pre></html>"
+EditorType=numeric
+Enabled=true
+MaxVal=2000
+MinVal=0
+Value=0
+ValueDefault=1
+
+[cmt_sep_eol_after_3]
+CallName=-cmt_sep_eol_after_3-
+Category=5
+Description="<html>Set the number of EOL before and after special first line comments.<br>        depending on the level.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -cmt_sep_eol_before_2-2<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        ...<br>        <EOL><br>        <EOL><br>        /*$2<br>          ==========================================<br>          ==========================================<br>          */<br>        <EOL><br>        <EOL><br>        ...<br><br>        -cmt_sep_eol_before_2-1<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        ...<br>        <EOL><br>        /*$2<br>          ==========================================<br>          ==========================================<br>          */<br>        <EOL><br>        ...<br><br>        Note(s) :<br>        - Only automatic comments and /*$<num> */ comments are concerned.<br>          The /*$<num>- */ comment is not concerned.</font></pre></html>"
+EditorType=numeric
+Enabled=true
+MaxVal=2000
+MinVal=0
+Value=0
+ValueDefault=1
+
+[cmt_sep_eol_after_4]
+CallName=-cmt_sep_eol_after_4-
+Category=5
+Description="<html>Set the number of EOL before and after special first line comments.<br>        depending on the level.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -cmt_sep_eol_before_2-2<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        ...<br>        <EOL><br>        <EOL><br>        /*$2<br>          ==========================================<br>          ==========================================<br>          */<br>        <EOL><br>        <EOL><br>        ...<br><br>        -cmt_sep_eol_before_2-1<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        ...<br>        <EOL><br>        /*$2<br>          ==========================================<br>          ==========================================<br>          */<br>        <EOL><br>        ...<br><br>        Note(s) :<br>        - Only automatic comments and /*$<num> */ comments are concerned.<br>          The /*$<num>- */ comment is not concerned.</font></pre></html>"
+EditorType=numeric
+Enabled=true
+MaxVal=2000
+MinVal=0
+Value=0
+ValueDefault=1
+
+[cmt_sep_eol_after_5]
+CallName=-cmt_sep_eol_after_5-
+Category=5
+Description="<html>Set the number of EOL before and after special first line comments.<br>        depending on the level.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -cmt_sep_eol_before_2-2<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        ...<br>        <EOL><br>        <EOL><br>        /*$2<br>          ==========================================<br>          ==========================================<br>          */<br>        <EOL><br>        <EOL><br>        ...<br><br>        -cmt_sep_eol_before_2-1<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        ...<br>        <EOL><br>        /*$2<br>          ==========================================<br>          ==========================================<br>          */<br>        <EOL><br>        ...<br><br>        Note(s) :<br>        - Only automatic comments and /*$<num> */ comments are concerned.<br>          The /*$<num>- */ comment is not concerned.</font></pre></html>"
+EditorType=numeric
+Enabled=true
+MaxVal=2000
+MinVal=0
+Value=0
+ValueDefault=1
+
+[cmt_sep_eol_after_6]
+CallName=-cmt_sep_eol_after_6-
+Category=5
+Description="<html>Set the number of EOL before and after special first line comments.<br>        depending on the level.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -cmt_sep_eol_before_2-2<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        ...<br>        <EOL><br>        <EOL><br>        /*$2<br>          ==========================================<br>          ==========================================<br>          */<br>        <EOL><br>        <EOL><br>        ...<br><br>        -cmt_sep_eol_before_2-1<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        ...<br>        <EOL><br>        /*$2<br>          ==========================================<br>          ==========================================<br>          */<br>        <EOL><br>        ...<br><br>        Note(s) :<br>        - Only automatic comments and /*$<num> */ comments are concerned.<br>          The /*$<num>- */ comment is not concerned.</font></pre></html>"
+EditorType=numeric
+Enabled=true
+MaxVal=2000
+MinVal=0
+Value=0
+ValueDefault=2
+
+[cmt_sep_eol_before]
+CallName=-cmt_sep_eol_before-
+Category=5
+Description="<html>Set the number of blank lines before and after single-line comments.<br><br>        Example :<pre><font face=\"courier new\" size=\"3\">        -cmt_sep_eol_before-1<br>        -cmt_sep_eol_after-1<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>            foo()<br><br>            // Single line comment...<br><br>            bar()<br><br>        -cmt_sep_eol_before-0<br>        -cmt_sep_eol_after-0<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>            foo()<br>            // Single line comment...<br>            bar()</font></pre></html>"
+EditorType=numeric
+Enabled=true
+MaxVal=2000
+MinVal=0
+Value=0
+ValueDefault=1
+
+[cmt_sep_eol_before_1]
+CallName=-cmt_sep_eol_before_1-
+Category=5
+Description="<html>Set the number of EOL before and after special first line comments.<br>        depending on the level.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -cmt_sep_eol_before_2-2<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        ...<br>        <EOL><br>        <EOL><br>        /*$2<br>          ==========================================<br>          ==========================================<br>          */<br>        <EOL><br>        <EOL><br>        ...<br><br>        -cmt_sep_eol_before_2-1<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        ...<br>        <EOL><br>        /*$2<br>          ==========================================<br>          ==========================================<br>          */<br>        <EOL><br>        ...<br><br>        Note(s) :<br>        - Only automatic comments and /*$<num> */ comments are concerned.<br>          The /*$<num>- */ comment is not concerned.</font></pre></html>"
+EditorType=numeric
+Enabled=true
+MaxVal=2000
+MinVal=0
+Value=0
+ValueDefault=1
+
+[cmt_sep_eol_before_2]
+CallName=-cmt_sep_eol_before_2-
+Category=5
+Description="<html>Set the number of EOL before and after special first line comments.<br>        depending on the level.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -cmt_sep_eol_before_2-2<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        ...<br>        <EOL><br>        <EOL><br>        /*$2<br>          ==========================================<br>          ==========================================<br>          */<br>        <EOL><br>        <EOL><br>        ...<br><br>        -cmt_sep_eol_before_2-1<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        ...<br>        <EOL><br>        /*$2<br>          ==========================================<br>          ==========================================<br>          */<br>        <EOL><br>        ...<br><br>        Note(s) :<br>        - Only automatic comments and /*$<num> */ comments are concerned.<br>          The /*$<num>- */ comment is not concerned.</font></pre></html>"
+EditorType=numeric
+Enabled=true
+MaxVal=2000
+MinVal=0
+Value=0
+ValueDefault=1
+
+[cmt_sep_eol_before_3]
+CallName=-cmt_sep_eol_before_3-
+Category=5
+Description="<html>Set the number of EOL before and after special first line comments.<br>        depending on the level.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -cmt_sep_eol_before_2-2<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        ...<br>        <EOL><br>        <EOL><br>        /*$2<br>          ==========================================<br>          ==========================================<br>          */<br>        <EOL><br>        <EOL><br>        ...<br><br>        -cmt_sep_eol_before_2-1<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        ...<br>        <EOL><br>        /*$2<br>          ==========================================<br>          ==========================================<br>          */<br>        <EOL><br>        ...<br><br>        Note(s) :<br>        - Only automatic comments and /*$<num> */ comments are concerned.<br>          The /*$<num>- */ comment is not concerned.</font></pre></html>"
+EditorType=numeric
+Enabled=true
+MaxVal=2000
+MinVal=0
+Value=0
+ValueDefault=1
+
+[cmt_sep_eol_before_4]
+CallName=-cmt_sep_eol_before_4-
+Category=5
+Description="<html>Set the number of EOL before and after special first line comments.<br>        depending on the level.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -cmt_sep_eol_before_2-2<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        ...<br>        <EOL><br>        <EOL><br>        /*$2<br>          ==========================================<br>          ==========================================<br>          */<br>        <EOL><br>        <EOL><br>        ...<br><br>        -cmt_sep_eol_before_2-1<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        ...<br>        <EOL><br>        /*$2<br>          ==========================================<br>          ==========================================<br>          */<br>        <EOL><br>        ...<br><br>        Note(s) :<br>        - Only automatic comments and /*$<num> */ comments are concerned.<br>          The /*$<num>- */ comment is not concerned.</font></pre></html>"
+EditorType=numeric
+Enabled=true
+MaxVal=2000
+MinVal=0
+Value=0
+ValueDefault=1
+
+[cmt_sep_eol_before_5]
+CallName=-cmt_sep_eol_before_5-
+Category=5
+Description="<html>Set the number of EOL before and after special first line comments.<br>        depending on the level.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -cmt_sep_eol_before_2-2<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        ...<br>        <EOL><br>        <EOL><br>        /*$2<br>          ==========================================<br>          ==========================================<br>          */<br>        <EOL><br>        <EOL><br>        ...<br><br>        -cmt_sep_eol_before_2-1<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        ...<br>        <EOL><br>        /*$2<br>          ==========================================<br>          ==========================================<br>          */<br>        <EOL><br>        ...<br><br>        Note(s) :<br>        - Only automatic comments and /*$<num> */ comments are concerned.<br>          The /*$<num>- */ comment is not concerned.</font></pre></html>"
+EditorType=numeric
+Enabled=true
+MaxVal=2000
+MinVal=0
+Value=0
+ValueDefault=1
+
+[cmt_sep_eol_before_6]
+CallName=-cmt_sep_eol_before_6-
+Category=5
+Description="<html>Set the number of EOL before and after special first line comments.<br>        depending on the level.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -cmt_sep_eol_before_2-2<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        ...<br>        <EOL><br>        <EOL><br>        /*$2<br>          ==========================================<br>          ==========================================<br>          */<br>        <EOL><br>        <EOL><br>        ...<br><br>        -cmt_sep_eol_before_2-1<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        ...<br>        <EOL><br>        /*$2<br>          ==========================================<br>          ==========================================<br>          */<br>        <EOL><br>        ...<br><br>        Note(s) :<br>        - Only automatic comments and /*$<num> */ comments are concerned.<br>          The /*$<num>- */ comment is not concerned.</font></pre></html>"
+EditorType=numeric
+Enabled=true
+MaxVal=2000
+MinVal=0
+Value=0
+ValueDefault=2
+
+[cmt_sep_eol_before_fct_def]
+CallName=-cmt_sep_eol_before_fct_def-
+Category=5
+Description="<html>Set the number of blank lines before a function defintion comment.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -cmt_sep_eol_before_fct_def-0<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        /*<br>         ==========================================<br>            proto<br>         ==========================================<br>         */<br>        void fct(void)<br>        {<br>        }<br>        /*<br>         ==========================================<br>            proto<br>         ==========================================<br>         */<br>        void fct1(void)<br>        {<br>        }<br><br>        -cmt_sep_eol_before_fct_def-2<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        /*<br>         ==========================================<br>            proto<br>         ==========================================<br>         */<br>        void fct(void)<br>        {<br>        }<br>        <EOL><br>        <EOL><br>        /*<br>         ==========================================<br>            proto<br>         ==========================================<br>         */<br>        void fct1(void)<br>        {<br>        }<br><br>        See option(s) :<br>        -code_remove_empty_lines-<num><br><br>        Note(s) :<br>        -code_remove_empty_lines- has a highter priority.</font></pre></html>"
+EditorType=numeric
+Enabled=true
+MaxVal=2000
+MinVal=0
+Value=0
+ValueDefault=0
+
+[cmt_sep_fill_star]
+Category=5
+Description="<html>Add a star at the beginning of all lines of a separator.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -cmt_sep_fill_star-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        /*$4<br>         *******************<br>         *    comment <br>         *    comment<br>         *******************<br>         */<br><br>        -no-cmt_sep_fill_star-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        /*$4<br>         *******************<br>           comment <br>           comment<br>         *******************<br>         */<br><br>        See option(s) :<br>        -cmt_sep_char_4-<char><br>        -cmt_sep_char_split-<char><br>        [-no]-cmt_first_line_fill_star-</font></pre></html>"
+EditorType=boolean
+TrueFalse=-cmt_sep_fill_star-|-no-cmt_sep_fill_star-
+Value=1
+ValueDefault=0
+
+[cmt_sep_force_class]
+CallName=-cmt_sep_force_class-
+Category=5
+Description="<html>Set the comment level for comments found in a given position :<br><br>        - Before a function prototype (except if protoype is inside a function<br>          body).<br>        - Before a macro.<br>        - Before a function definition.<br>        - Before a class access specifier (public. protected...).<br>        - Before a struct declaration.<br>        - Before a class declaration.<br><br>        A comment must already exist. If 0 is specified. the comment is not<br>        modified by GC.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -cmt_sep_force_fct_proto-2<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        /* proto */<br>        extern int func(void)<br><br>        after<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        /*<br>         ------------------------------------------<br>            proto<br>         ------------------------------------------<br>         */<br>        extern int func(void)<br><br>        See option(s) :<br>        [-no]-cmt_add_fct_def-<br>        [-no]-cmt_add_class_access-</font></pre></html>"
+EditorType=numeric
+Enabled=true
+MaxVal=2000
+MinVal=0
+Value=0
+ValueDefault=3
+
+[cmt_sep_force_class_access]
+CallName=-cmt_sep_force_class_access-
+Category=5
+Description="<html>Set the comment level for comments found in a given position :<br><br>        - Before a function prototype (except if protoype is inside a function<br>          body).<br>        - Before a macro.<br>        - Before a function definition.<br>        - Before a class access specifier (public. protected...).<br>        - Before a struct declaration.<br>        - Before a class declaration.<br><br>        A comment must already exist. If 0 is specified. the comment is not<br>        modified by GC.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -cmt_sep_force_fct_proto-2<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        /* proto */<br>        extern int func(void)<br><br>        after<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        /*<br>         ------------------------------------------<br>            proto<br>         ------------------------------------------<br>         */<br>        extern int func(void)<br><br>        See option(s) :<br>        [-no]-cmt_add_fct_def-<br>        [-no]-cmt_add_class_access-</font></pre></html>"
+EditorType=numeric
+Enabled=true
+MaxVal=2000
+MinVal=0
+Value=0
+ValueDefault=2
+
+[cmt_sep_force_fct_def]
+CallName=-cmt_sep_force_fct_def-
+Category=5
+Description="<html>Set the comment level for comments found in a given position :<br><br>        - Before a function prototype (except if protoype is inside a function<br>          body).<br>        - Before a macro.<br>        - Before a function definition.<br>        - Before a class access specifier (public. protected...).<br>        - Before a struct declaration.<br>        - Before a class declaration.<br><br>        A comment must already exist. If 0 is specified. the comment is not<br>        modified by GC.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -cmt_sep_force_fct_proto-2<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        /* proto */<br>        extern int func(void)<br><br>        after<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        /*<br>         ------------------------------------------<br>            proto<br>         ------------------------------------------<br>         */<br>        extern int func(void)<br><br>        See option(s) :<br>        [-no]-cmt_add_fct_def-<br>        [-no]-cmt_add_class_access-</font></pre></html>"
+EditorType=numeric
+Enabled=true
+MaxVal=2000
+MinVal=0
+Value=0
+ValueDefault=3
+
+[cmt_sep_force_fct_macro]
+CallName=-cmt_sep_force_fct_macro-
+Category=5
+Description="<html>Set the comment level for comments found in a given position :<br><br>        - Before a function prototype (except if protoype is inside a function<br>          body).<br>        - Before a macro.<br>        - Before a function definition.<br>        - Before a class access specifier (public. protected...).<br>        - Before a struct declaration.<br>        - Before a class declaration.<br><br>        A comment must already exist. If 0 is specified. the comment is not<br>        modified by GC.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -cmt_sep_force_fct_proto-2<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        /* proto */<br>        extern int func(void)<br><br>        after<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        /*<br>         ------------------------------------------<br>            proto<br>         ------------------------------------------<br>         */<br>        extern int func(void)<br><br>        See option(s) :<br>        [-no]-cmt_add_fct_def-<br>        [-no]-cmt_add_class_access-</font></pre></html>"
+EditorType=numeric
+Enabled=true
+MaxVal=2000
+MinVal=0
+Value=0
+ValueDefault=3
+
+[cmt_sep_force_fct_proto]
+CallName=-cmt_sep_force_fct_proto-
+Category=5
+Description="<html>Set the comment level for comments found in a given position :<br><br>        - Before a function prototype (except if protoype is inside a function<br>          body).<br>        - Before a macro.<br>        - Before a function definition.<br>        - Before a class access specifier (public. protected...).<br>        - Before a struct declaration.<br>        - Before a class declaration.<br><br>        A comment must already exist. If 0 is specified. the comment is not<br>        modified by GC.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -cmt_sep_force_fct_proto-2<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        /* proto */<br>        extern int func(void)<br><br>        after<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        /*<br>         ------------------------------------------<br>            proto<br>         ------------------------------------------<br>         */<br>        extern int func(void)<br><br>        See option(s) :<br>        [-no]-cmt_add_fct_def-<br>        [-no]-cmt_add_class_access-</font></pre></html>"
+EditorType=numeric
+Enabled=true
+MaxVal=2000
+MinVal=0
+Value=0
+ValueDefault=0
+
+[cmt_sep_force_struct]
+CallName=-cmt_sep_force_struct-
+Category=5
+Description="<html>Set the comment level for comments found in a given position :<br><br>        - Before a function prototype (except if protoype is inside a function<br>          body).<br>        - Before a macro.<br>        - Before a function definition.<br>        - Before a class access specifier (public. protected...).<br>        - Before a struct declaration.<br>        - Before a class declaration.<br><br>        A comment must already exist. If 0 is specified. the comment is not<br>        modified by GC.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -cmt_sep_force_fct_proto-2<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        /* proto */<br>        extern int func(void)<br><br>        after<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        /*<br>         ------------------------------------------<br>            proto<br>         ------------------------------------------<br>         */<br>        extern int func(void)<br><br>        See option(s) :<br>        [-no]-cmt_add_fct_def-<br>        [-no]-cmt_add_class_access-</font></pre></html>"
+EditorType=numeric
+Enabled=true
+MaxVal=2000
+MinVal=0
+Value=0
+ValueDefault=2
+
+[cmt_sep_len]
+CallName=-cmt_sep_len-
+Category=5
+Description="<html>Set the maximum length for separators. First line comments are not<br>        concerned.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -cmt_sep_len-10<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        /*$2<br>         ---------<br>         ---------<br>         */<br><br>        -cmt_sep_len-20<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        /*$4<br>         *******************<br>         *******************<br>         */<br>        /*$5-#############*/</font></pre></html>"
+EditorType=numeric
+Enabled=true
+MaxVal=2000
+MinVal=8
+Value=99
+ValueDefault=120
+
+[cmt_split_before_%40_in_fct_cmts]
+Category=5
+Description=Split lines in fucntion comments before @
+EditorType=boolean
+TrueFalse=-cmt_split_before_@_in_fct_cmts-|-no-cmt_split_before_@_in_fct_cmts-
+Value=0
+ValueDefault=0
+
+[cmt_trailing_style]
+CallName=-cmt_trailing_style-
+Category=5
+Description="<html>Co<pre><font face=\"courier new\" size=\"3\">ntrol style of trailing comments and an empty comment is added to<br>        function parameters if not already present. <br>        This also causes -cmt_force_fct_def_decl_split-<br>        and -code_split_fctdef_style-3. The content of<br>        empty comment is defined by -cmt_fixme-.<br><br>        -cmt_trailing_style-1<br>        -cmt_force_fct_def_decl_split-<br>        -code_split_fctdef_style-3<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        before:<br><br>        int a(int param1. int param2)                   ## No comments<br>        {<br>        }<br><br>        after:<br><br>        int a(<br>            int param1. /* FIXME: add a comment */      ## Added automatically<br>            int param2) /* FIXME: add a comment */      ## Added automatically<br>        {<br>        }<br><br><br>        -cmt_trailing_style-2<br>        -cmt_force_fct_def_decl_split-<br>        -code_split_fctdef_style-3<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        before:<br><br>        int a(<br>            int param1. /* IN: parameter 1 */<br>            int param2) /* IN: parameter 2 */<br>        {<br>        }<br><br>        after:<br><br>        int a(<br>            int param1. ///< IN: parameter 1            ## Changed to cpp<br>            int param2) ///< IN: parameter 2            ## Changed to cpp<br>        {<br>        }</font></pre></html>"
+EditorType=numeric
+Enabled=true
+MaxVal=2
+MinVal=0
+Value=0
+ValueDefault=0
+
+[code_align_max_blanks]
+CallName=-code_align_max_blanks-
+Category=2
+Description="<html>Set the maximum number of blank characters that can be added by GC to<br>        align declarations of variables or functions.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -code_align_max_blanks-10<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        int     a<br>        un_int  b<br>        unsigned int    coucou<br>        unsigned int    bg<br><br>        -code_align_max_blanks-20<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        int         a<br>        un_int      b<br>        unsigned int    coucou<br>        unsigned int    bg</font></pre></html>"
+EditorType=numeric
+Enabled=true
+MaxVal=2000
+MinVal=1
+Value=1
+ValueDefault=1000
+
+[code_class_access_eol_after]
+CallName=-code_class_access_eol_after-
+Category=2
+Description="<html>Number of EOL before/after class access specifiers.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -code_class_access_eol_after-1<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        class a<br>        {<br>        public:             <EOL><br>            void a(void)<br><br>        private:            <EOL><br>            void ab(void)<br>        }<br><br><br>        -code_class_access_eol_before-2<br>        -code_class_access_eol_after-3<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        class a<br>        {<EOL><br>        <EOL><br>        public:             <EOL><br>                            <EOL><br>                            <EOL><br>            void a(void)<br>        <EOL><br>        <EOL><br>        private:            <EOL><br>                            <EOL><br>                            <EOL><br>            void ab(void)<br>        }<br><br>        See option(s) :<br>        -code_remove_empty_lines-<num></font></pre></html>"
+EditorType=numeric
+Enabled=true
+MaxVal=2000
+MinVal=0
+Value=0
+ValueDefault=1
+
+[code_class_access_eol_before]
+CallName=-code_class_access_eol_before-
+Category=2
+Description="<html>Number of EOL before/after class access specifiers.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -code_class_access_eol_after-1<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        class a<br>        {<br>        public:             <EOL><br>            void a(void)<br><br>        private:            <EOL><br>            void ab(void)<br>        }<br><br><br>        -code_class_access_eol_before-2<br>        -code_class_access_eol_after-3<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        class a<br>        {<EOL><br>        <EOL><br>        public:             <EOL><br>                            <EOL><br>                            <EOL><br>            void a(void)<br>        <EOL><br>        <EOL><br>        private:            <EOL><br>                            <EOL><br>                            <EOL><br>            void ab(void)<br>        }<br><br>        See option(s) :<br>        -code_remove_empty_lines-<num></font></pre></html>"
+EditorType=numeric
+Enabled=true
+MaxVal=2000
+MinVal=0
+Value=0
+ValueDefault=1
+
+[code_concat_strings]
+Category=2
+Description="<html>Concat adjacent string constants.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -no-code_concat_strings-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        printf(coucoulafoule)<br><br>        -code_concat_strings-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        printf(coucoulafoule)</font></pre></html>"
+EditorType=boolean
+TrueFalse=-code_concat_strings-|-no-code_concat_strings-
+Value=1
+ValueDefault=0
+
+[code_constructor_style]
+CallName=-code_constructor_style-
+Category=2
+Description="<html>Set style of indentation for constructors.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -code_constructor_style-0<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        cons::cons(void) :<br>            set(0).<br>            reset(0)<br>        {<br>        }<br><br>        -code_constructor_style-1<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        cons::cons(void) : set(0). reset(0)<br>        {<br>        }<br><br>        -code_constructor_style-2<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        cons::cons(void) :<br>        set(0).<br>        reset(0)<br>        {<br>        }</font></pre></html>"
+EditorType=numeric
+Enabled=true
+MaxVal=2
+MinVal=0
+Value=0
+ValueDefault=0
+
+[code_decl_access_to_type]
+Category=2
+Description="<html>Move * and & access specifier just after the type if TRUE. or<br>        just before the name if FALSE.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -code_decl_access_to_type-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        int**   p<br>        int function(int* b. int& ref)<br>        {<br>        }<br><br>        -no-code_decl_access_to_type-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        int     **p<br>        int function(int *b. int &ref)<br>        {<br>        }</font></pre></html>"
+EditorType=boolean
+TrueFalse=-code_decl_access_to_type-|-no-code_decl_access_to_type-
+Value=1
+ValueDefault=0
+
+[code_decl_add_void]
+Category=2
+Description="<html>Force the voidkeyword in a function declaration if nothing is<br>        specified.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        before<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        int function()<br>        {<br>        }<br><br>        after<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        int function(void)<br>        {<br>        }</font></pre></html>"
+EditorType=boolean
+TrueFalse=-code_decl_add_void-|-no-code_decl_add_void-
+Value=1
+ValueDefault=0
+
+[code_decl_break_template]
+Category=2
+Description="<html>Force an EOL after a template declaration.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -code_decl_break_template-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        template<class T. int i>    <= EOL<br>        class TestClass<br>        {<br>        public:<br>            char    buffer[i]<br>            T\t\ttestFunc(T *p1)<br>        }<br><br>        -no-code_decl_break_template-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        template<class T. int i> class TestClass<br>        {<br>        public:<br>            char    buffer[i]<br>            T\t\ttestFunc(T *p1)<br>        }</font></pre></html>"
+EditorType=boolean
+TrueFalse=-code_decl_break_template-|-no-code_decl_break_template-
+Value=1
+ValueDefault=1
+
+[code_decl_move_affect]
+Category=2
+Description="<html>Move initialization in local variables declaration just after the<br>        declaration.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -code_decl_move_affect-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        void main(void)<br>        {<br>            int a = 0<br>            int     c = a + 1<br>        }<br><br>        after<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        void main(void)<br>        {<br>            int a<br>            int     c<br><br>            a = 0      <= initializations has been moved<br>            c = a + 1<br>        }<br><br>        Note(s) :<br>        - Be careful because this option sometimes does not work well. That's<br>          why it's set to FALSE by default.</font></pre></html>"
+EditorType=boolean
+TrueFalse=-code_decl_move_affect-|-no-code_decl_move_affect-
+Value=1
+ValueDefault=0
+
+[code_decl_move_top]
+Category=2
+Description="<html>Move all local variables declaration to the top of the corresponding<br>        statement.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -code_decl_move_top-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        void main(void)<br>        {<br>            int a. b<br><br>            a = b = 0<br>            while(a)<br>            {<br>            }<br><br>            int c          <= declaration<br>            c = 10<br>        }<br><br>        after<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        void main(void)<br>        {<br>            int a. b<br>            int c          <= declaration has been moved<br><br>            a = b = 0<br>            while(a)<br>            {<br>            }<br><br>            c = 10<br>        }</font></pre></html>"
+EditorType=boolean
+TrueFalse=-code_decl_move_top-|-no-code_decl_move_top-
+Value=1
+ValueDefault=0
+
+[code_def_fct_break_return_type]
+Category=2
+Description="<html>Force a line break after the return type in a function definition.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -code_def_fct_break_return_type-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        int<br>        function(void)<br>        {<br>        }<br><br>        int <br>        class::func(void)<br>        {<br>        }<br><br>        -no-code_def_fct_break_return_type-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        int function(void)<br>        {<br>        }<br><br>        int class::func(void)<br>        {<br>        }</font></pre></html>"
+EditorType=boolean
+TrueFalse=-code_def_fct_break_return_type-|-no-code_def_fct_break_return_type-
+Value=1
+ValueDefault=0
+
+[code_empty_fct_blanks]
+CallName=-code_empty_fct_blanks-
+Category=2
+Description="<html>Add empty lines between { and } for empty functions. Empty function<br>        must have no code between { and }.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -code_empty_fct_blanks-0<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        void empty(void)<br>        { }<br><br>        -code_empty_fct_blanks-1<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        void empty(void)<br>        {<br>        }<br><br>        -code_empty_fct_blanks-2<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        void empty(void)<br>        {<br><br>        }</font></pre></html>"
+EditorType=numeric
+Enabled=true
+MaxVal=2
+MinVal=0
+Value=0
+ValueDefault=0
+
+[code_eol_after_close_brace]
+CallName=-code_eol_after_close_brace-
+Category=2
+Description="<html>Nu<pre><font face=\"courier new\" size=\"3\">mber of blank lines after every close brace -<br>        except ones followed by else. while. and those around typedef<br>        statements...<br><br>        -stmt_force_brace-1<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        if foo) {<br>          bar()<br>        }<br>        if foo) {<br>          bar()<br>        }<br><br>        after<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        if foo) {<br>          bar()<br>        }<br><br>        if foo) {<br>          bar()<br>        }</font></pre></html>"
+EditorType=numeric
+Enabled=true
+MaxVal=2000
+MinVal=0
+Value=0
+ValueDefault=0
+
+[code_force_return_paren]
+Category=2
+Description="<html>Force parentheses around a returnexpression.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -code_force_return_paren-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        int a()<br>        {<br>            return 0<br>        }<br><br>        after<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        int a()<br>        {<br>            return(0)<br>        }<br><br>        See option(s) :<br>        [-no]-code_remove_return_paren-<br><br>        Note(s) :<br>        - This option can't be set in a source file with special comment<br>          /*$O */<br>        - Can't be used with -code_remove_return_paren- option.</font></pre></html>"
+EditorType=boolean
+TrueFalse=-code_force_return_paren-|-no-code_force_return_paren-
+Value=0
+ValueDefault=0
+
+[code_keep_empty_lines]
+Category=2
+Description=Keep empty lines in original file
+EditorType=boolean
+TrueFalse=-code_keep_empty_lines-|-no-code_keep_empty_lines-
+Value=1
+ValueDefault=1
+
+[code_keep_more_empty_lines]
+Category=2
+Description=Make more effort to preserve empty lines in the original file - even in the face of other reformatting
+EditorType=boolean
+TrueFalse=-code_keep_more_empty_lines-|-no-code_keep_more_empty_lines-
+Value=1
+ValueDefault=0
+
+[code_labels_eol_after]
+CallName=-code_labels_eol_after-
+Category=2
+Description="<html>Number of EOL after labels.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -code_labels_eol_after-1<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>            goto label<br>        label:              <EOL><br>            a++<br><br>        -code_labels_eol_after-2<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>            goto label<br>        label:              <EOL><br>                            <EOL><br>            a++<br><br>        See option(s) :<br>        -code_remove_empty_lines-<num></font></pre></html>"
+EditorType=numeric
+Enabled=true
+MaxVal=2000
+MinVal=0
+Value=0
+ValueDefault=1
+
+[code_len]
+CallName=-code_len-
+Category=2
+Description=Maximum length of a line of code
+EditorType=numeric
+Enabled=true
+MaxVal=2000
+MinVal=8
+Value=99
+ValueDefault=120
+
+[code_remove_empty_lines]
+CallName=-code_remove_empty_lines-
+Category=2
+Description="<html>Remove all excedent empty lines. If num is 1. then only one single<br>        blank line is authorized.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -code_remove_empty_lines-1<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        int a<br>        <EOL><br>        <EOL><br>        int a<br><br>        after<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        int a<br>        <EOL><br>        int a</font></pre></html>"
+EditorType=numeric
+Enabled=true
+MaxVal=2000
+MinVal=1
+Value=3
+ValueDefault=2
+
+[code_remove_return_paren]
+Category=2
+Description=Remove all parentheses around a return parameter
+EditorType=boolean
+TrueFalse=-code_remove_return_paren-|-no-code_remove_return_paren-
+Value=0
+ValueDefault=0
+
+[code_split_bool_before]
+Category=2
+Description="<html>Determine the aspect of boolean expressions when they must be split<br>        because they are too long.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -code_split_bool_before-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        if<br>        (<br>            (A + main(func) + 6 > 60)<br>        &&  (B - 50 > 10)<br>        ||  var<br>        )<br>        {<br>        }<br><br>        -no-code_split_bool_before-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        if<br>        (<br>            (A + main(func) + 6 > 60) &&<br>            (B - 50 > 10) ||<br>            var<br>        )<br>        {<br>        }</font></pre></html>"
+EditorType=boolean
+TrueFalse=-code_split_bool_before-|-no-code_split_bool_before-
+Value=0
+ValueDefault=1
+
+[code_split_decl_style]
+CallName=-code_split_decl_style-
+Category=2
+Description="<html>Set style of indentation for declaration of variables.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        before<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        int a. b. c = 10<br>\t\tint d<br><br>        -code_split_decl_style-1<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        int a.<br>            b.<br>            c = 10<br>\t\tint d<br><br>        -code_split_decl_style-2<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        int a<br>        int b<br>        int c = 10<br>\t\tint d</font></pre></html>"
+EditorType=numeric
+Enabled=true
+MaxVal=2
+MinVal=0
+Value=0
+ValueDefault=0
+
+[code_split_fctcall_style]
+CallName=-code_split_fctcall_style-
+Category=2
+Description="<html>Set the style when GC must break a function call/def/decl. a for <br>        statement or an if statement if the line is too long. <br>        The resulting style is the same for all options. <br>        Example :<pre><font face=\"courier new\" size=\"3\">        -code_split_fctcall_style-0<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        function<br>        (<br>            parameter.<br>            parameter.<br>            parameter.<br>            parameter.<br>            parameter.<br>            parameter.<br>            parameter.<br>        )<br><br>        -code_split_fctcall_style-1<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        function(parameter. parameter. parameter.<br>                 parameter. parameter. parameter.<br>                 parameter)<br><br>        -code_split_fctcall_style-2<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        function(parameter.<br>                 parameter.<br>                 parameter.<br>                 parameter.<br>                 parameter.<br>                 parameter.<br>                 parameter)<br><br>        -code_split_fctdef_style-3<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        void function(<br>            parameter.<br>            parameter.<br>            parameter.<br>            parameter.<br>            parameter.<br>            parameter.<br>            parameter)<br>        {<br>        }<br><br>        -code_split_fctdef_style-4<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        void function(<br>        parameter.<br>        parameter.<br>        parameter.<br>        parameter.<br>        parameter.<br>        parameter.<br>        parameter)<br>        {<br>        }<br><br>        -code_split_fctdef_style-5<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        void function(<br>            parameter. parameter. parameter. parameter.<br>            parameter. parameter. parameter)<br>        {<br>        }</font></pre></html>"
+EditorType=numeric
+Enabled=true
+MaxVal=5
+MinVal=0
+Value=1
+ValueDefault=0
+
+[code_split_fctdecl_style]
+CallName=-code_split_fctdecl_style-
+Category=2
+Description="<html>Set the style when GC must break a function call/def/decl. a for <br>        statement or an if statement if the line is too long. <br>        The resulting style is the same for all options. <br>        Example :<pre><font face=\"courier new\" size=\"3\">        -code_split_fctcall_style-0<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        function<br>        (<br>            parameter.<br>            parameter.<br>            parameter.<br>            parameter.<br>            parameter.<br>            parameter.<br>            parameter.<br>        )<br><br>        -code_split_fctcall_style-1<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        function(parameter. parameter. parameter.<br>                 parameter. parameter. parameter.<br>                 parameter)<br><br>        -code_split_fctcall_style-2<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        function(parameter.<br>                 parameter.<br>                 parameter.<br>                 parameter.<br>                 parameter.<br>                 parameter.<br>                 parameter)<br><br>        -code_split_fctdef_style-3<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        void function(<br>            parameter.<br>            parameter.<br>            parameter.<br>            parameter.<br>            parameter.<br>            parameter.<br>            parameter)<br>        {<br>        }<br><br>        -code_split_fctdef_style-4<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        void function(<br>        parameter.<br>        parameter.<br>        parameter.<br>        parameter.<br>        parameter.<br>        parameter.<br>        parameter)<br>        {<br>        }<br><br>        -code_split_fctdef_style-5<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        void function(<br>            parameter. parameter. parameter. parameter.<br>            parameter. parameter. parameter)<br>        {<br>        }</font></pre></html>"
+EditorType=numeric
+Enabled=true
+MaxVal=5
+MinVal=0
+Value=1
+ValueDefault=0
+
+[code_split_fctdef_style]
+CallName=-code_split_fctdef_style-
+Category=2
+Description="<html>Set the style when GC must break a function call/def/decl. a for <br>        statement or an if statement if the line is too long. <br>        The resulting style is the same for all options. <br>        Example :<pre><font face=\"courier new\" size=\"3\">        -code_split_fctcall_style-0<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        function<br>        (<br>            parameter.<br>            parameter.<br>            parameter.<br>            parameter.<br>            parameter.<br>            parameter.<br>            parameter.<br>        )<br><br>        -code_split_fctcall_style-1<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        function(parameter. parameter. parameter.<br>                 parameter. parameter. parameter.<br>                 parameter)<br><br>        -code_split_fctcall_style-2<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        function(parameter.<br>                 parameter.<br>                 parameter.<br>                 parameter.<br>                 parameter.<br>                 parameter.<br>                 parameter)<br><br>        -code_split_fctdef_style-3<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        void function(<br>            parameter.<br>            parameter.<br>            parameter.<br>            parameter.<br>            parameter.<br>            parameter.<br>            parameter)<br>        {<br>        }<br><br>        -code_split_fctdef_style-4<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        void function(<br>        parameter.<br>        parameter.<br>        parameter.<br>        parameter.<br>        parameter.<br>        parameter.<br>        parameter)<br>        {<br>        }<br><br>        -code_split_fctdef_style-5<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        void function(<br>            parameter. parameter. parameter. parameter.<br>            parameter. parameter. parameter)<br>        {<br>        }</font></pre></html>"
+EditorType=numeric
+Enabled=true
+MaxVal=5
+MinVal=0
+Value=1
+ValueDefault=0
+
+[code_split_for_style]
+CallName=-code_split_for_style-
+Category=2
+Description="<html>Set the style when GC must break a function call/def/decl. a for <br>        statement or an if statement if the line is too long. <br>        The resulting style is the same for all options. <br>        Example :<pre><font face=\"courier new\" size=\"3\">        -code_split_fctcall_style-0<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        function<br>        (<br>            parameter.<br>            parameter.<br>            parameter.<br>            parameter.<br>            parameter.<br>            parameter.<br>            parameter.<br>        )<br><br>        -code_split_fctcall_style-1<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        function(parameter. parameter. parameter.<br>                 parameter. parameter. parameter.<br>                 parameter)<br><br>        -code_split_fctcall_style-2<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        function(parameter.<br>                 parameter.<br>                 parameter.<br>                 parameter.<br>                 parameter.<br>                 parameter.<br>                 parameter)<br><br>        -code_split_fctdef_style-3<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        void function(<br>            parameter.<br>            parameter.<br>            parameter.<br>            parameter.<br>            parameter.<br>            parameter.<br>            parameter)<br>        {<br>        }<br><br>        -code_split_fctdef_style-4<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        void function(<br>        parameter.<br>        parameter.<br>        parameter.<br>        parameter.<br>        parameter.<br>        parameter.<br>        parameter)<br>        {<br>        }<br><br>        -code_split_fctdef_style-5<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        void function(<br>            parameter. parameter. parameter. parameter.<br>            parameter. parameter. parameter)<br>        {<br>        }</font></pre></html>"
+EditorType=numeric
+Enabled=true
+MaxVal=5
+MinVal=0
+Value=1
+ValueDefault=0
+
+[code_split_if_style]
+CallName=-code_split_if_style-
+Category=2
+Description="<html>Set the style when GC must break a function call/def/decl. a for <br>        statement or an if statement if the line is too long. <br>        The resulting style is the same for all options. <br>        Example :<pre><font face=\"courier new\" size=\"3\">        -code_split_fctcall_style-0<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        function<br>        (<br>            parameter.<br>            parameter.<br>            parameter.<br>            parameter.<br>            parameter.<br>            parameter.<br>            parameter.<br>        )<br><br>        -code_split_fctcall_style-1<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        function(parameter. parameter. parameter.<br>                 parameter. parameter. parameter.<br>                 parameter)<br><br>        -code_split_fctcall_style-2<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        function(parameter.<br>                 parameter.<br>                 parameter.<br>                 parameter.<br>                 parameter.<br>                 parameter.<br>                 parameter)<br><br>        -code_split_fctdef_style-3<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        void function(<br>            parameter.<br>            parameter.<br>            parameter.<br>            parameter.<br>            parameter.<br>            parameter.<br>            parameter)<br>        {<br>        }<br><br>        -code_split_fctdef_style-4<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        void function(<br>        parameter.<br>        parameter.<br>        parameter.<br>        parameter.<br>        parameter.<br>        parameter.<br>        parameter)<br>        {<br>        }<br><br>        -code_split_fctdef_style-5<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        void function(<br>            parameter. parameter. parameter. parameter.<br>            parameter. parameter. parameter)<br>        {<br>        }</font></pre></html>"
+EditorType=numeric
+Enabled=true
+MaxVal=5
+MinVal=0
+Value=1
+ValueDefault=0
+
+[code_wizard_indent]
+Category=2
+Description="<html>Indent code between to devstudio appwizard special comments.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -code_wizard_indent-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        class   a<br>        {<br>        protected:<br>        //{{AFX_MSG(CDocument)<br>        enum a              <= has been touched<br>        {<br>            id = 0<br>        }<br>        afx_msg void    OnFileClose(void)<br>        afx_msg void    OnFileSave(void)<br>        afx_msg void    OnFileSaveAs(void)<br>        //}}AFX_MSG<br>        DECLARE_MESSAGE_MAP()<br>        }<br><br>        -no-code_wizard_indent-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        class   a<br>        {<br>        protected:<br>        //{{AFX_MSG(CDocument)<br>        enum a { id = 0 }          <= same as original file<br>        afx_msg void    OnFileClose(void)<br>        afx_msg void    OnFileSave(void)<br>        afx_msg void    OnFileSaveAs(void)<br>        //}}AFX_MSG<br>        DECLARE_MESSAGE_MAP()<br>        }<br><br>        Note(s) :<br>        - This option must be set to FALSE if you want to indent special<br>          appwizard headers with auto generated code. This is because touching<br>          that code can make appwizard fail to recognize its special marks.<br>        - This option can't be set in a source file with special comment<br>          /*$O */</font></pre></html>"
+EditorType=boolean
+TrueFalse=-code_wizard_indent-|-no-code_wizard_indent-
+Value=0
+ValueDefault=1
+
+[dependencies]
+Category=6
+Description="<html>-d<pre><font face=\"courier new\" size=\"3\">ependencies- Activate/Deactivate the output of file dependencies.<br>        With -dependencies_all- Real dependencies will be computed (instead of<br>        just includes dependencies). This option takes much longer. but does a<br>        better job.<br><br>        -dependencies- is ignored if -dependencies_all- is set to TRUE.<br><br>        typical report<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>Processing C:oulotCourcesndent.c   (136 lines. 3360 characters)<br>Processing ctype.h<br>** Warning: Unable to open source file ==> ctype.h<br>Processing malloc.h<br>** Warning: Unable to open source file ==> malloc.h<br>Processing stdlib.h<br>** Warning: Unable to open source file ==> stdlib.h<br>Processing string.h<br>** Warning: Unable to open source file ==> string.h<br>Processing config.h<br>Processing in.h<br>Processing grammar.h<br>Processing lexi.h<br>Processing error.h<br>Processing tools.h<br>Processing indent.h<br>Processing assert.h<br>** Warning: Unable to open source file ==> assert.h<br>- Includes files --------------------------------------------------------<br>(     1) #include config.h<br>(     2) #include in.h<br>(     1) #include grammar.h<br>(     2) #include lexi.h<br>(     1) #include error.h<br>(     1) #include tools.h<br>(     1) #include indent.h<br>******** Unresolved 5 Total 12<br>- Scanning   1 ----------------------------------------------------------<br>.<br>- Direct dependencies ---------------------------------------------------<br>(     1) #include config.h<br>(     3) #include in.h<br>(     8) #include lexi.h<br>(     5) #include tools.h<br>(    21) #include indent.h<br>******** Total 5<br>- No dependencies -------------------------------------------------------<br>(     1) #include grammar.h<br>Included by C:oulotCourcesndent.c<br>(     1) #include error.h<br>Included by C:oulotCourcesndent.c<br>******** Total 2<br>-------------------------------------------------------------------------</font></pre></html>"
+EditorType=boolean
+TrueFalse=-dependencies-|-no-dependencies-
+Value=0
+ValueDefault=0
+
+[dependencies_all]
+Category=6
+Description="<html>-d<pre><font face=\"courier new\" size=\"3\">ependencies- Activate/Deactivate the output of file dependencies.<br>        With -dependencies_all- Real dependencies will be computed (instead of<br>        just includes dependencies). This option takes much longer. but does a<br>        better job.<br><br>        -dependencies- is ignored if -dependencies_all- is set to TRUE.<br><br>        typical report<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>Processing C:oulotCourcesndent.c   (136 lines. 3360 characters)<br>Processing ctype.h<br>** Warning: Unable to open source file ==> ctype.h<br>Processing malloc.h<br>** Warning: Unable to open source file ==> malloc.h<br>Processing stdlib.h<br>** Warning: Unable to open source file ==> stdlib.h<br>Processing string.h<br>** Warning: Unable to open source file ==> string.h<br>Processing config.h<br>Processing in.h<br>Processing grammar.h<br>Processing lexi.h<br>Processing error.h<br>Processing tools.h<br>Processing indent.h<br>Processing assert.h<br>** Warning: Unable to open source file ==> assert.h<br>- Includes files --------------------------------------------------------<br>(     1) #include config.h<br>(     2) #include in.h<br>(     1) #include grammar.h<br>(     2) #include lexi.h<br>(     1) #include error.h<br>(     1) #include tools.h<br>(     1) #include indent.h<br>******** Unresolved 5 Total 12<br>- Scanning   1 ----------------------------------------------------------<br>.<br>- Direct dependencies ---------------------------------------------------<br>(     1) #include config.h<br>(     3) #include in.h<br>(     8) #include lexi.h<br>(     5) #include tools.h<br>(    21) #include indent.h<br>******** Total 5<br>- No dependencies -------------------------------------------------------<br>(     1) #include grammar.h<br>Included by C:oulotCourcesndent.c<br>(     1) #include error.h<br>Included by C:oulotCourcesndent.c<br>******** Total 2<br>-------------------------------------------------------------------------</font></pre></html>"
+EditorType=boolean
+TrueFalse=-dependencies_all-|-no-dependencies_all-
+Value=0
+ValueDefault=0
+
+[dependencies_dir]
+CallName=-dependencies_dir-
+Category=6
+Description="<html>When -dependencies- option is activated. defines a path where GC<br>        will find includes.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -dependencies_dir-c:/system/includes<br>        -dependencies_dir-c:/GC/sources</font></pre></html>"
+EditorType=string
+Enabled=false
+Value=./
+ValueDefault=-1
+
+[dependencies_dir_rec]
+Category=6
+Description="<html>Al<pre><font face=\"courier new\" size=\"3\">l directories set with -dependencies_dir- are recurs scan.<br><br>        See options(s) :<br>        [-no]-dependencies_dir-</font></pre></html>"
+EditorType=boolean
+TrueFalse=-dependencies_dir_rec-|-no-dependencies_dir_rec-
+Value=0
+ValueDefault=0
+
+[eol_unix]
+Category=0
+Description=Unix format for carriage returns
+EditorType=boolean
+TrueFalse=-eol_unix-|-no-eol_unix-
+Value=0
+ValueDefault=0
+
+[file_end_eol]
+CallName=-file_end_eol-
+Category=6
+Description=Set the number of EOL after the last token of the file.
+EditorType=numeric
+Enabled=true
+MaxVal=2000
+MinVal=0
+Value=1
+ValueDefault=1
+
+[overwrite_read_only]
+Category=0
+Description=Process read only files (change status)
+EditorType=boolean
+TrueFalse=-overwrite_read_only-|-no-overwrite_read_only-
+Value=1
+ValueDefault=0
+
+[pp_align_breakline]
+Category=4
+Description="<html>Al<pre><font face=\"courier new\" size=\"3\">ign (or not) breakline characters '' in macros.<br><br>        -pp_align_breakline-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>\t\t#define a(A)         <br>\t\t\tA += 2\t\t\t <br>\t\t\tA = c(fonc) + 3 <br><br>        -no-pp_align_breakline-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>\t\t#define a(A) <br>\t\t\tA += 2\t<br>\t\t\tA = c(fonc) + 3</font></pre></html>"
+EditorType=boolean
+TrueFalse=-pp_align_breakline-|-no-pp_align_breakline-
+Value=1
+ValueDefault=0
+
+[pp_align_to_code]
+Category=4
+Description="<html>Align or not PP directive to the code just below.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -pp_align_to_code-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        #define a   0<br>        void main(void)<br>        {<br>            #define a       0<br>            #define coucou  0<br>            #define coucou() <br>                while(a) <br>                { <br>                    a = a + func(a) <br>                }<br><br>            #if 0<br>            if(a) a++<br>            #endif<br>        }<br><br>        -no-pp_align_to_code-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        #define a   0<br>        void main(void)<br>        {<br>        #define a       0<br>        #define coucou  0<br>        #define coucou() <br>            while(a) <br>            { <br>                a = a + func(a) <br>            }<br><br>        #if 0<br>            if(a) a++<br>        #endif<br>        }<br><br>        Note(s) :<br>        - This option can't be used in source file file special comment /*$O*/.</font></pre></html>"
+EditorType=boolean
+TrueFalse=-pp_align_to_code-|-no-pp_align_to_code-
+Value=1
+ValueDefault=0
+
+[pp_include_unix]
+Category=4
+Description="<html>Change '' to '/' in an include expression.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        before<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        #include gll.h<br>        #include <gll.h><br><br>        -pp_include_unix-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        #include gl/gl.h<br>        #include <gl/gl.h><br><br>        -no-pp_include_unix-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        #include gll.h<br>        #include <gll.h></font></pre></html>"
+EditorType=boolean
+TrueFalse=-pp_include_unix-|-no-pp_include_unix-
+Value=1
+ValueDefault=1
+
+[pp_style]
+CallName=-pp_style-
+Category=4
+Description="<html>Set the indentation style of PP directives.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -pp_style-0<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        #ifdef a<br>            a++<br>        #else<br>        #if 0<br>        #ifdef a<br>        #elif b<br>            a--<br>        #endif<br>        #endif<br>        #endif<br><br>        -pp_style-1<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        #ifdef a<br>            a++<br>        #else<br>            #if 0<br>                #ifdef a<br>                #elif b<br>            a--<br>                #endif<br>            #endif<br>        #endif<br><br>        -pp_style-2<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        #ifdef a<br>            a++<br>        #else<br>        #   if 0<br>        #      ifdef a<br>        #      elif b<br>            a--<br>        #      endif<br>        #   endif<br>        #endif</font></pre></html>"
+EditorType=numeric
+Enabled=true
+MaxVal=2
+MinVal=0
+Value=0
+ValueDefault=0
+
+[replace]
+CallName=-replace-
+Category=6
+Description="<html>GC will replace all occurrences of <word to replace> by<br>        <replacement word>.<br>        -replace_on- option must be enabled.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -replace-int$uint<br>        -replace-a$variable<br><br>        before<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        int a<br>        int     b<br><br>        after<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        uint    variable<br>        uint    b<br><br>        See options(s) :<br>        [-no]-replace_on-</font></pre></html>"
+EditorType=string
+Enabled=false
+Value=<word to replace>$<replacement word>
+ValueDefault=-1
+
+[replace_on]
+Category=6
+Description="<html>Ac<pre><font face=\"courier new\" size=\"3\">tivate/disactivate the word replacement mode.<br><br>        See options(s) :<br>        -replace-<word to replace>$<replacement word></font></pre></html>"
+EditorType=boolean
+TrueFalse=-replace_on-|-no-replace_on-
+Value=0
+ValueDefault=1
+
+[space_affect_style]
+CallName=-space_affect_style-
+Category=1
+Description="<html>Set the indent style for affect and auto-affectoperators.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -space_affect_style-0<br>        -space_autoaffect_style-0<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        a = b = c      <== Affect<br>        a *= 6         <== Auto-Affect<br><br>        -space_affect_style-1<br>        -space_autoaffect_style-1<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        a= b= c<br>        a*= 6<br><br>        -space_affect_style-2<br>        -space_autoaffect_style-2<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        a=b=c<br>        a*=6</font></pre></html>"
+EditorType=numeric
+Enabled=true
+MaxVal=2
+MinVal=0
+Value=0
+ValueDefault=0
+
+[space_autoaffect_style]
+CallName=-space_autoaffect_style-
+Category=1
+Description="<html>Set the indent style for affect and auto-affectoperators.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -space_affect_style-0<br>        -space_autoaffect_style-0<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        a = b = c      <== Affect<br>        a *= 6         <== Auto-Affect<br><br>        -space_affect_style-1<br>        -space_autoaffect_style-1<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        a= b= c<br>        a*= 6<br><br>        -space_affect_style-2<br>        -space_autoaffect_style-2<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        a=b=c<br>        a*=6</font></pre></html>"
+EditorType=numeric
+Enabled=true
+MaxVal=2
+MinVal=0
+Value=0
+ValueDefault=0
+
+[space_cast]
+Category=1
+Description="<html>Add spaces after '(' and before ')' for cast operators.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -space_cast-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        if(( int * ) b)<br>        {<br>        }<br><br>        return ( int * ) b<br><br>        -no-space_cast-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        if((int *) b)<br>        {<br>        }<br><br>        return (int *) b<br><br>        See option(s) :<br>        -space_paren-<num></font></pre></html>"
+EditorType=boolean
+TrueFalse=-space_cast-|-no-space_cast-
+Value=1
+ValueDefault=0
+
+[space_cast_after]
+Category=1
+Description="<html>Add a space after a cast expression.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -space_cast_after-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        if((int *) b)<br>        {<br>        }<br><br>        return ( int * ) b<br><br>        -no-space_cast_after-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        if((int *)b)<br>        {<br>        }<br><br>        return (int *)b<br><br>        See option(s) :<br>        [-no]-space_cast-</font></pre></html>"
+EditorType=boolean
+TrueFalse=-space_cast_after-|-no-space_cast_after-
+Value=1
+ValueDefault=1
+
+[space_fctcall]
+Category=1
+Description="<html>Output a blank character before the open parenthese of a function call.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -space_fctcall-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        main_call (out)<br>        loop (100)<br><br>        -no-space_fctcall-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        main_call(out)<br>        loop(100)</font></pre></html>"
+EditorType=boolean
+TrueFalse=-space_fctcall-|-no-space_fctcall-
+Value=1
+ValueDefault=0
+
+[space_fctcall_firstparam]
+Category=1
+Description="<html>Output a blank character before the first/last/inside parameter of a function <br>\t\tcall. definition or declaration.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -space_fctcall_inparam-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        main_call(1. 2. 3. 4)<br><br>        -no-space_fctcall_inparam-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        main_call(1.2.3.4)<br><br>        -space_fctcall_firstparam-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        main_call( out)<br>        loop( 100. 200)<br><br>        -no-space_fctcall_firstparam-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        main_call(out)<br>        loop(100. 200)<br><br>        -space_fctdef_firstparam-<br>        -space_fctdef_lastparam-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        void main_call( int out )<br>        {<br>        }<br><br>        -space_fctdecl_firstparam-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        void main_call( int out. int in)<br><br>        -space_fctdecl_lastparam-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        void main_call(int out. int in )</font></pre></html>"
+EditorType=boolean
+TrueFalse=-space_fctcall_firstparam-|-no-space_fctcall_firstparam-
+Value=1
+ValueDefault=0
+
+[space_fctcall_inparam]
+Category=1
+Description="<html>Output a blank character before the first/last/inside parameter of a function <br>\t\tcall. definition or declaration.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -space_fctcall_inparam-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        main_call(1. 2. 3. 4)<br><br>        -no-space_fctcall_inparam-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        main_call(1.2.3.4)<br><br>        -space_fctcall_firstparam-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        main_call( out)<br>        loop( 100. 200)<br><br>        -no-space_fctcall_firstparam-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        main_call(out)<br>        loop(100. 200)<br><br>        -space_fctdef_firstparam-<br>        -space_fctdef_lastparam-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        void main_call( int out )<br>        {<br>        }<br><br>        -space_fctdecl_firstparam-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        void main_call( int out. int in)<br><br>        -space_fctdecl_lastparam-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        void main_call(int out. int in )</font></pre></html>"
+EditorType=boolean
+TrueFalse=-space_fctcall_inparam-|-no-space_fctcall_inparam-
+Value=1
+ValueDefault=1
+
+[space_fctcall_lastparam]
+Category=1
+Description="<html>Output a blank character before the first/last/inside parameter of a function <br>\t\tcall. definition or declaration.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -space_fctcall_inparam-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        main_call(1. 2. 3. 4)<br><br>        -no-space_fctcall_inparam-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        main_call(1.2.3.4)<br><br>        -space_fctcall_firstparam-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        main_call( out)<br>        loop( 100. 200)<br><br>        -no-space_fctcall_firstparam-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        main_call(out)<br>        loop(100. 200)<br><br>        -space_fctdef_firstparam-<br>        -space_fctdef_lastparam-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        void main_call( int out )<br>        {<br>        }<br><br>        -space_fctdecl_firstparam-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        void main_call( int out. int in)<br><br>        -space_fctdecl_lastparam-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        void main_call(int out. int in )</font></pre></html>"
+EditorType=boolean
+TrueFalse=-space_fctcall_lastparam-|-no-space_fctcall_lastparam-
+Value=1
+ValueDefault=0
+
+[space_fctdecl]
+Category=1
+Description="<html>Output a blank character before the open parenthese of a function <br>        definition / declaration.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -space_fctdecl-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        extern func (a)<br><br>        -space_fctdef-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        int func (a)<br>        {<br>        }<br><br>        -no-space_fctdef-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        int func(a)<br>        {<br>        }</font></pre></html>"
+EditorType=boolean
+TrueFalse=-space_fctdecl-|-no-space_fctdecl-
+Value=1
+ValueDefault=0
+
+[space_fctdecl_firstparam]
+Category=1
+Description="<html>Output a blank character before the first/last/inside parameter of a function <br>\t\tcall. definition or declaration.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -space_fctcall_inparam-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        main_call(1. 2. 3. 4)<br><br>        -no-space_fctcall_inparam-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        main_call(1.2.3.4)<br><br>        -space_fctcall_firstparam-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        main_call( out)<br>        loop( 100. 200)<br><br>        -no-space_fctcall_firstparam-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        main_call(out)<br>        loop(100. 200)<br><br>        -space_fctdef_firstparam-<br>        -space_fctdef_lastparam-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        void main_call( int out )<br>        {<br>        }<br><br>        -space_fctdecl_firstparam-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        void main_call( int out. int in)<br><br>        -space_fctdecl_lastparam-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        void main_call(int out. int in )</font></pre></html>"
+EditorType=boolean
+TrueFalse=-space_fctdecl_firstparam-|-no-space_fctdecl_firstparam-
+Value=1
+ValueDefault=0
+
+[space_fctdecl_lastparam]
+Category=1
+Description="<html>Output a blank character before the first/last/inside parameter of a function <br>\t\tcall. definition or declaration.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -space_fctcall_inparam-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        main_call(1. 2. 3. 4)<br><br>        -no-space_fctcall_inparam-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        main_call(1.2.3.4)<br><br>        -space_fctcall_firstparam-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        main_call( out)<br>        loop( 100. 200)<br><br>        -no-space_fctcall_firstparam-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        main_call(out)<br>        loop(100. 200)<br><br>        -space_fctdef_firstparam-<br>        -space_fctdef_lastparam-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        void main_call( int out )<br>        {<br>        }<br><br>        -space_fctdecl_firstparam-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        void main_call( int out. int in)<br><br>        -space_fctdecl_lastparam-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        void main_call(int out. int in )</font></pre></html>"
+EditorType=boolean
+TrueFalse=-space_fctdecl_lastparam-|-no-space_fctdecl_lastparam-
+Value=1
+ValueDefault=0
+
+[space_fctdef]
+Category=1
+Description="<html>Output a blank character before the open parenthese of a function <br>        definition / declaration.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -space_fctdecl-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        extern func (a)<br><br>        -space_fctdef-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        int func (a)<br>        {<br>        }<br><br>        -no-space_fctdef-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        int func(a)<br>        {<br>        }</font></pre></html>"
+EditorType=boolean
+TrueFalse=-space_fctdef-|-no-space_fctdef-
+Value=1
+ValueDefault=0
+
+[space_fctdef_firstparam]
+Category=1
+Description="<html>Output a blank character before the first/last/inside parameter of a function <br>\t\tcall. definition or declaration.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -space_fctcall_inparam-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        main_call(1. 2. 3. 4)<br><br>        -no-space_fctcall_inparam-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        main_call(1.2.3.4)<br><br>        -space_fctcall_firstparam-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        main_call( out)<br>        loop( 100. 200)<br><br>        -no-space_fctcall_firstparam-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        main_call(out)<br>        loop(100. 200)<br><br>        -space_fctdef_firstparam-<br>        -space_fctdef_lastparam-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        void main_call( int out )<br>        {<br>        }<br><br>        -space_fctdecl_firstparam-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        void main_call( int out. int in)<br><br>        -space_fctdecl_lastparam-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        void main_call(int out. int in )</font></pre></html>"
+EditorType=boolean
+TrueFalse=-space_fctdef_firstparam-|-no-space_fctdef_firstparam-
+Value=1
+ValueDefault=0
+
+[space_fctdef_lastparam]
+Category=1
+Description="<html>Output a blank character before the first/last/inside parameter of a function <br>\t\tcall. definition or declaration.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -space_fctcall_inparam-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        main_call(1. 2. 3. 4)<br><br>        -no-space_fctcall_inparam-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        main_call(1.2.3.4)<br><br>        -space_fctcall_firstparam-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        main_call( out)<br>        loop( 100. 200)<br><br>        -no-space_fctcall_firstparam-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        main_call(out)<br>        loop(100. 200)<br><br>        -space_fctdef_firstparam-<br>        -space_fctdef_lastparam-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        void main_call( int out )<br>        {<br>        }<br><br>        -space_fctdecl_firstparam-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        void main_call( int out. int in)<br><br>        -space_fctdecl_lastparam-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        void main_call(int out. int in )</font></pre></html>"
+EditorType=boolean
+TrueFalse=-space_fctdef_lastparam-|-no-space_fctdef_lastparam-
+Value=1
+ValueDefault=0
+
+[space_if]
+Category=1
+Description="<html>Output a blank character after if. while. for and switch keywords.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -space_if-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        if (a)<br>        {<br>            while (a--)<br>            {<br>            }<br>        }<br><br>        -no-space_if-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        if(a)<br>        {<br>            while(a--)<br>            {<br>            }<br>        }</font></pre></html>"
+EditorType=boolean
+TrueFalse=-space_if-|-no-space_if-
+Value=1
+ValueDefault=0
+
+[space_paren]
+CallName=-space_paren-
+Category=1
+Description="<html>Add spaces after '(' and before ')' if the nested level of the<br>        parenthese is lower than the argument.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -space_paren-0<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        if((a < 5) && (b > 2))<br>        {<br>        }<br><br>        -space_paren-1<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        if( (a < 5) && (b > 2) )<br>        {<br>        }<br><br>        -space_paren-2<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        if( ( a < 5 ) && ( b > 2 ) )<br>        {<br>        }<br><br>        See option(s) :<br>        [-no]-space_cast-<br><br>        Note(s) :<br>        - Empty expressions () are not modified.<br>        - Casts are not modified.</font></pre></html>"
+EditorType=numeric
+Enabled=true
+MaxVal=2000
+MinVal=0
+Value=3
+ValueDefault=0
+
+[space_return]
+Category=1
+Description="<html>Output a blank character after return if return is followed by an open<br>        parenthesis.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -space_return-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        return (6)<br><br>        -no-space_return-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        return(6)</font></pre></html>"
+EditorType=boolean
+TrueFalse=-space_return-|-no-space_return-
+Value=1
+ValueDefault=0
+
+[space_scope_access]
+Category=1
+Description="<html>Add a space before and after the scope resolution operator '::' when<br>        accessing a static method.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -space_scope_access-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        void func::Ping(void)<br>        {<br>            Base :: Ping()<br>            Base :: Pong()<br>        }<br><br>        -no-space_scope_access-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        void func::Ping(void)<br>        {<br>            Base::Ping()<br>            Base::Pong()<br>        }<br><br>        See option(s) :<br>        [-no]-space_scope_def-</font></pre></html>"
+EditorType=boolean
+TrueFalse=-space_scope_access-|-no-space_scope_access-
+Value=1
+ValueDefault=0
+
+[space_scope_def]
+Category=1
+Description="<html>Add a space before and after the scope resolution operator '::' in the<br>        function definition.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -space_scope_def-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        void func :: Ping(void)<br>        {<br>        }<br><br>        -no-space_scope_def-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        void func::Ping(void)<br>        {<br>        }<br><br>        See option(s) :<br>        [-no]-space_scope_access-</font></pre></html>"
+EditorType=boolean
+TrueFalse=-space_scope_def-|-no-space_scope_def-
+Value=1
+ValueDefault=0
+
+[stmt_brace_style]
+CallName=-stmt_brace_style-
+Category=3
+Description="<html>Change the indentation style of braces.<br>        -stmt_brace_style_class- for a class declaration.<br>        -stmt_brace_style_fct- for a function body.<br>        -stmt_brace_style_decl- for declarations (struct. enum).<br>        -stmt_brace_style- for all other statements (if. while...).<br>        Example :<pre><font face=\"courier new\" size=\"3\">        Style 0<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        void main(void)<br>        {<br>            while(a)<br>            {<br>                a = a + func(a)<br>            }<br>        }<br><br>        Style 1<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        void main(void)<br>            {<br>            while(a)<br>                {<br>                a = a + func(a)<br>                }<br>            }<br><br>        Style 2<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        void main(void) {<br>            while(a) {<br>                a = a + func(a)<br>            }<br>        }<br><br>        Style 3<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        void main(void) {<br>            while(a) {<br>                a = a + func(a)<br>                }<br>            }<br><br>        Style 4<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        void main(void)<br>        {   while(a)<br>            {   a = a + func(a)<br>            }<br>        }<br><br>        Style 5 offset brace by 1/2 tab width<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        void main(void)<br>        {<br>            while(a)<br>              {<br>                a = a + func(a)<br>              }<br>        }<br><br>        Note(s) :<br>        - Valid values are only 0. 1. 2. 3. 4 or 5.</font></pre></html>"
+EditorType=numeric
+Enabled=true
+MaxVal=5
+MinVal=0
+Value=2
+ValueDefault=0
+
+[stmt_brace_style_class]
+CallName=-stmt_brace_style_class-
+Category=3
+Description="<html>Change the indentation style of braces.<br>        -stmt_brace_style_class- for a class declaration.<br>        -stmt_brace_style_fct- for a function body.<br>        -stmt_brace_style_decl- for declarations (struct. enum).<br>        -stmt_brace_style- for all other statements (if. while...).<br>        Example :<pre><font face=\"courier new\" size=\"3\">        Style 0<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        void main(void)<br>        {<br>            while(a)<br>            {<br>                a = a + func(a)<br>            }<br>        }<br><br>        Style 1<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        void main(void)<br>            {<br>            while(a)<br>                {<br>                a = a + func(a)<br>                }<br>            }<br><br>        Style 2<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        void main(void) {<br>            while(a) {<br>                a = a + func(a)<br>            }<br>        }<br><br>        Style 3<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        void main(void) {<br>            while(a) {<br>                a = a + func(a)<br>                }<br>            }<br><br>        Style 4<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        void main(void)<br>        {   while(a)<br>            {   a = a + func(a)<br>            }<br>        }<br><br>        Style 5 offset brace by 1/2 tab width<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        void main(void)<br>        {<br>            while(a)<br>              {<br>                a = a + func(a)<br>              }<br>        }<br><br>        Note(s) :<br>        - Valid values are only 0. 1. 2. 3. 4 or 5.</font></pre></html>"
+EditorType=numeric
+Enabled=true
+MaxVal=5
+MinVal=0
+Value=2
+ValueDefault=0
+
+[stmt_brace_style_decl]
+CallName=-stmt_brace_style_decl-
+Category=3
+Description="<html>Change the indentation style of braces.<br>        -stmt_brace_style_class- for a class declaration.<br>        -stmt_brace_style_fct- for a function body.<br>        -stmt_brace_style_decl- for declarations (struct. enum).<br>        -stmt_brace_style- for all other statements (if. while...).<br>        Example :<pre><font face=\"courier new\" size=\"3\">        Style 0<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        void main(void)<br>        {<br>            while(a)<br>            {<br>                a = a + func(a)<br>            }<br>        }<br><br>        Style 1<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        void main(void)<br>            {<br>            while(a)<br>                {<br>                a = a + func(a)<br>                }<br>            }<br><br>        Style 2<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        void main(void) {<br>            while(a) {<br>                a = a + func(a)<br>            }<br>        }<br><br>        Style 3<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        void main(void) {<br>            while(a) {<br>                a = a + func(a)<br>                }<br>            }<br><br>        Style 4<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        void main(void)<br>        {   while(a)<br>            {   a = a + func(a)<br>            }<br>        }<br><br>        Style 5 offset brace by 1/2 tab width<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        void main(void)<br>        {<br>            while(a)<br>              {<br>                a = a + func(a)<br>              }<br>        }<br><br>        Note(s) :<br>        - Valid values are only 0. 1. 2. 3. 4 or 5.</font></pre></html>"
+EditorType=numeric
+Enabled=true
+MaxVal=5
+MinVal=0
+Value=2
+ValueDefault=0
+
+[stmt_brace_style_fct]
+CallName=-stmt_brace_style_fct-
+Category=3
+Description="<html>Change the indentation style of braces.<br>        -stmt_brace_style_class- for a class declaration.<br>        -stmt_brace_style_fct- for a function body.<br>        -stmt_brace_style_decl- for declarations (struct. enum).<br>        -stmt_brace_style- for all other statements (if. while...).<br>        Example :<pre><font face=\"courier new\" size=\"3\">        Style 0<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        void main(void)<br>        {<br>            while(a)<br>            {<br>                a = a + func(a)<br>            }<br>        }<br><br>        Style 1<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        void main(void)<br>            {<br>            while(a)<br>                {<br>                a = a + func(a)<br>                }<br>            }<br><br>        Style 2<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        void main(void) {<br>            while(a) {<br>                a = a + func(a)<br>            }<br>        }<br><br>        Style 3<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        void main(void) {<br>            while(a) {<br>                a = a + func(a)<br>                }<br>            }<br><br>        Style 4<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        void main(void)<br>        {   while(a)<br>            {   a = a + func(a)<br>            }<br>        }<br><br>        Style 5 offset brace by 1/2 tab width<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        void main(void)<br>        {<br>            while(a)<br>              {<br>                a = a + func(a)<br>              }<br>        }<br><br>        Note(s) :<br>        - Valid values are only 0. 1. 2. 3. 4 or 5.</font></pre></html>"
+EditorType=numeric
+Enabled=true
+MaxVal=5
+MinVal=0
+Value=2
+ValueDefault=0
+
+[stmt_break_alone]
+Category=3
+Description="<html>Force an empty statement to be alone on its line.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -stmt_break_alone-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        for(a = 0 a < 10 a++)<br>            <br><br>        -no-stmt_break_alone-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        for(a = 0 a < 10 a++)<br><br>        Note(s) :<br>        - Concerns if. while. for and switch statements.</font></pre></html>"
+EditorType=boolean
+TrueFalse=-stmt_break_alone-|-no-stmt_break_alone-
+Value=1
+ValueDefault=0
+
+[stmt_break_dowhile]
+Category=3
+Description="<html>Force a break line before the while of a do...while statement.<br>        Example :<pre><font face=\"courier new\" size=\"3\">\t\t-stmt_break_dowhile-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>\t\tdo<br>\t\t{<br>\t\t\t...<br>\t\t} <br>\t\twhile(1)<br><br>\t\t-no-stmt_break_dowhile-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>\t\tdo<br>\t\t{<br>\t\t\t...<br>\t\t} while(1)</font></pre></html>"
+EditorType=boolean
+TrueFalse=-stmt_break_dowhile-|-no-stmt_break_dowhile-
+Value=1
+ValueDefault=0
+
+[stmt_class_indent]
+CallName=-stmt_class_indent-
+Category=3
+Description="<html>Set the number of additional indentation levels in a class declaration.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -stmt_class_indent-0<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        class a<br>        {<br>        public:<br>            void a(void)<br>        }<br><br>        -stmt_class_indent-1<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        class a<br>        {<br>            public:<br>                void a(void)<br>        }</font></pre></html>"
+EditorType=numeric
+Enabled=true
+MaxVal=2000
+MinVal=0
+Value=0
+ValueDefault=0
+
+[stmt_concat_else_2_stmt]
+Category=3
+Description="<html>Put the else on the same line as the previous statement.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -stmt_concat_else_2_stmt-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        if(a)<br>        {<br>        } else<br>        {<br>        }<br><br>        -no-stmt_concat_else_2_stmt-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        if(a)<br>        {<br>        } <br>        else<br>        {<br>        }</font></pre></html>"
+EditorType=boolean
+TrueFalse=-stmt_concat_else_2_stmt-|-no-stmt_concat_else_2_stmt-
+Value=0
+ValueDefault=0
+
+[stmt_concat_else_if]
+Category=3
+Description="<html>Close up any gap between else and if in else ... ifstructures.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -stmt_concat_else_if-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        if(foo) <br>\t\t{<br>        } <br>\t\telse if(bar) <br>\t\t{<br>        }<br><br>        -no-stmt_concat_else_if-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        if(foo) <br>\t\t{<br>        } else<br>        if(bar) <br>\t\t{<br>        }</font></pre></html>"
+EditorType=boolean
+TrueFalse=-stmt_concat_else_if-|-no-stmt_concat_else_if-
+Value=1
+ValueDefault=1
+
+[stmt_concat_enum]
+Category=3
+Description="<html>Concat content of enum if possible.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -stmt_concat_enum-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        enum a<br>        {<br>            id1.<br>            id2<br>        }<br><br>        after<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        enum a { id1. id2 }</font></pre></html>"
+EditorType=boolean
+TrueFalse=-stmt_concat_enum-|-no-stmt_concat_enum-
+Value=0
+ValueDefault=1
+
+[stmt_concat_if]
+Category=3
+Description="<html>Try to output if. while or for expression on a single line if the<br>        length of the statement is not too long.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -stmt_concat_if-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        while(a && b)<br>            a = b + 6<br>        if(a)<br>            a++<br>        if(b)<br>        {<br>            b++<br>        }<br><br><br>        after<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        while(a && b) a = b + 6<br>        if(a) a++<br>        if(b)<br>        {<br>            b++<br>        }<br><br>        See options(s) :<br>        -code_len-<num><br><br>        Note(s) :<br>        - This option does not modify statements with { }.</font></pre></html>"
+EditorType=boolean
+TrueFalse=-stmt_concat_if-|-no-stmt_concat_if-
+Value=0
+ValueDefault=1
+
+[stmt_concat_if_and_else]
+Category=3
+Description="<html>Try to output if ... else expression on two lines - if possible...<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -stmt_concat_if_and_else-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        if(a)<br>            a++<br>        else<br>            b++<br><br>        after<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        if(a) a++<br>        else b++<br><br>        See options(s) :<br>        -code_len-<num><br><br>        Note(s) :<br>        - This option does not modify statements with { }.</font></pre></html>"
+EditorType=boolean
+TrueFalse=-stmt_concat_if_and_else-|-no-stmt_concat_if_and_else-
+Value=0
+ValueDefault=0
+
+[stmt_concat_if_remove_empty]
+Category=3
+Description="<html>Remove empty lines between concat if/while/for.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -stmt_concat_if_remove_empty-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        if(a) a++<br>                        <= Empty line<br>                        <= Empty line<br>        if(b) b = b + a<br><br>        after<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        if(a) a++<br>        if(b) b = b + a<br><br>        See option(s) :<br>        [-no]-stmt_concat_if- to concat if/while/for expressions if possible.</font></pre></html>"
+EditorType=boolean
+TrueFalse=-stmt_concat_if_remove_empty-|-no-stmt_concat_if_remove_empty-
+Value=0
+ValueDefault=1
+
+[stmt_concat_inline_class]
+Category=3
+Description="<html>Concat if possible inline function body inside a class.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -stmt_concat_inline_class-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        class a<br>        {<br>            int previous(int a)<br>            {<br>                return a - 1<br>            }<br>            int next(int a)<br>            {<br>                return a + 1<br>            }<br>        }<br><br>        after<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        class   a<br>        {<br>            int previous(int a) { return a - 1 }<br>            int next(int a)     { return a + 1 }<br>        }<br><br>        See options(s) :<br>        -code_len-<num></font></pre></html>"
+EditorType=boolean
+TrueFalse=-stmt_concat_inline_class-|-no-stmt_concat_inline_class-
+Value=0
+ValueDefault=1
+
+[stmt_concat_macros]
+Category=3
+Description="<html>Concat a macro body if possible.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -stmt_concat_macros-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        #define macro()<br>        {<br>            a = a + 18 - b<br>            if(!a) return 10<br>        }<br><br>        after<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        #define macro() { a = a + 18 - b if(!a) return 10 }</font></pre></html>"
+EditorType=boolean
+TrueFalse=-stmt_concat_macros-|-no-stmt_concat_macros-
+Value=0
+ValueDefault=1
+
+[stmt_concat_switch]
+Category=3
+Description="<html>Concat all cases of a switch if possible. Empty lines are removed if<br>\t\tconcatenation is done.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -stmt_concat_switch-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        switch(a)<br>        {<br>        case 10:<br>            break<br><br>        case 11:<br>            a = a + 6 return a<br><br>        case 12:<br>            if(a) a++<br>            break<br>        }<br><br>        after<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        switch(a)<br>        {<br>        case 10:    break<br>        case 11:    a = a + 6 return a<br>        case 12:    if(a) a++ break<br>        }</font></pre></html>"
+EditorType=boolean
+TrueFalse=-stmt_concat_switch-|-no-stmt_concat_switch-
+Value=0
+ValueDefault=1
+
+[stmt_decl_remove_empty]
+Category=3
+Description="<html>Remove empty lines in declaration statements.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -stmt_decl_remove_empty-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        void main(void)<br>        {<br>            int a<br>                        <= Empty line<br>            int b<br>            int c<br><br>            a = b = c = 0<br>        }<br><br>        after<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        void main(void)<br>        {<br>            int a<br>            int b<br>            int c<br><br>            a = b = c = 0<br>        }</font></pre></html>"
+EditorType=boolean
+TrueFalse=-stmt_decl_remove_empty-|-no-stmt_decl_remove_empty-
+Value=0
+ValueDefault=1
+
+[stmt_extern_c_indent]
+Category=3
+Description="<html>Indent one level an extern Cstatement.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -no-stmt_extern_c_indent-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        extern C<br>        {<br>        int a(void)<br>        {<br>        }<br>        }<br><br>        -stmt_extern_c_indent-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        extern C<br>        {<br>            int a(void)<br>            {<br>            }<br>        }</font></pre></html>"
+EditorType=boolean
+TrueFalse=-stmt_extern_c_indent-|-no-stmt_extern_c_indent-
+Value=1
+ValueDefault=0
+
+[stmt_force_brace]
+CallName=-stmt_force_brace-
+Category=3
+Description="<html>Force a statement to be enclosed with { } if its length exceeded the<br>        given parameter.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -stmt_force_brace-1<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        if(a) a++<br><br>        after<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        if(a)<br>        {<br>            a++<br>        }</font></pre></html>"
+EditorType=numeric
+Enabled=true
+MaxVal=2000
+MinVal=0
+Value=1
+ValueDefault=100
+
+[stmt_namespace_indent]
+Category=3
+Description="<html>Indent one level a namespace statement.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -no-stmt_namespace_indent-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        namespace com<br>        {<br>        int a(void)<br>        {<br>        }<br>        }<br><br>        -stmt_namespace_indent-<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        namespace com<br>        {<br>            int a(void)<br>            {<br>            }<br>        }</font></pre></html>"
+EditorType=boolean
+TrueFalse=-stmt_namespace_indent-|-no-stmt_namespace_indent-
+Value=1
+ValueDefault=0
+
+[stmt_static_init_len]
+CallName=-stmt_static_init_len-
+Category=3
+Description="<html>To<pre><font face=\"courier new\" size=\"3\"> be used with -stmt_static_init_style-3. Defined the max length of</font></pre></html>"
+EditorType=numeric
+Enabled=true
+MaxVal=2000
+MinVal=0
+Value=0
+ValueDefault=80
+
+[stmt_static_init_style]
+CallName=-stmt_static_init_style-
+Category=3
+Description="<html>De<pre><font face=\"courier new\" size=\"3\">fines indent style for static initialisations.<br><br>\t\t-stmt_static_init_style-0<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>\t\tchar *d[] = <br>\t\t{ <br>\t\t\tNULL. <br>\t\t\tROM. <br>\t\t\tOTPROM. <br>\t\t\tEPROM. <br>\t\t\tEEPROM. <br>\t\t\tFLASH<br>\t\t}<br><br>\t\t-stmt_static_init_style-2<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>\t\tchar *d[] = { NULL. ROM. OTPROM. EPROM. EEPROM. FLASH}<br><br>\t\t-stmt_static_init_style-3<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>\t\tchar *d[] = <br>\t\t{ <br>\t\t\tNULL. ROM. OTPROM. <br>\t\t\tEPROM. EEPROM. FLASH<br>\t\t}<br><br>        Note(s) :<br>        - Option -stmt_static_init_style-1 let the original indentation <br>\t\t  unchanged.<br>        - The max length of the line in the initialisation statement for option<br>\t\t  -stmt_static_init_style-3 is defined by the -stmt_static_init_len-<br>\t\t  option.<br><br>        See option(s) :<br>\t\t-stmt_static_init_len-<num></font></pre></html>"
+EditorType=numeric
+Enabled=true
+MaxVal=3
+MinVal=0
+Value=2
+ValueDefault=0
+
+[stmt_switch_eol]
+CallName=-stmt_switch_eol-
+Category=3
+Description="<html>Is there an empty line before the casekeyword ?<br><br>        Example :<pre><font face=\"courier new\" size=\"3\">        Style 0<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        switch(a)<br>        {<br>        case 0:<br>\t\tcase 3:<br>            a++<br>            break<br><br>        case 1:<br>            break<br><br>        case 4:<br>            break<br>        }<br><br>        Style 1<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        switch(a)<br>        {<br>        case 0:<br>\t\tcase 3:<br>            a++<br>            break<br>        case 1:<br>            break<br>        case 4:<br>            break<br>        }</font></pre></html>"
+EditorType=numeric
+Enabled=true
+MaxVal=1
+MinVal=0
+Value=1
+ValueDefault=0
+
+[stmt_switch_style]
+CallName=-stmt_switch_style-
+Category=3
+Description="<html>Change the indentation style of switch.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        Style 0<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        switch(a)<br>        {<br>        case 0:<br>            a++<br>            break<br>        case 1:<br>            break<br>        }<br><br>        Style 1<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        switch(a)<br>        {<br>            case 0:<br>                a++<br>                break<br>            case 1:<br>                break<br>        }<br><br>        Style 2<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        switch(a)<br>            {<br>            case 0:<br>                a++<br>                break<br>            case 1:<br>                break<br>            }<br><br>        Style 3<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        switch(a) {<br>        case 0:<br>            a++<br>            break<br>        case 1:<br>            break<br>        }<br><br>        Style 4<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        switch(a) {<br>            case 0:<br>                a++<br>                break<br>            case 1:<br>                break<br>        }<br><br>        Style 5<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        switch(a)<br>          {<br>        case 0:<br>            a++<br>            break<br>        case 1:<br>            break<br>          }</font></pre></html>"
+EditorType=numeric
+Enabled=true
+MaxVal=5
+MinVal=0
+Value=4
+ValueDefault=0
+
+[tab_out]
+Category=0
+Description=Output tab characters instead of spaces
+EditorType=boolean
+TrueFalse=-tab_out-|-no-tab_out-
+Value=0
+ValueDefault=1
+
+[tab_size]
+CallName=-tab_size-
+Category=0
+Description="<html>Set the level (number of blanks) of an indentation level.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -tab_size-4<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        if(a)<br>        {<br>            a++<br>        }<br><br>        -tab_size-2<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        if(a)<br>        {<br>          a++<br>        }</font></pre></html>"
+EditorType=numeric
+Enabled=true
+MaxVal=2000
+MinVal=1
+Value=4
+ValueDefault=4
+
+[token_ext]
+CallName=-token_ext-
+Category=6
+Description="<html>Tell GC to consider the user keyword as the given C/C++ keyword.<br>        Example :<pre><font face=\"courier new\" size=\"3\">        -token_ext-typedef$tt<br>        => tt has the same meaning as typedef<br><br>        -token_ext-extern$extern_all<br>        => extern_all has the same meaning as extern<br><br>        -token_ext-int$uint8<br>        -token_ext-int$uint16<br>        => uint8 and uint16 are some types (same as int).<br><br>        GC knows special keywordsyou can specify as a C/C++ keyword.<br>        GC will indent the corresponding source file word depending of the<br>        special word :<br><br>        -token_ext-single_word$tt<br>            tt will be alone on a line. Indent at the correct indentation<br>            level.<br><br>        -token_ext-single_word_0$tt<br>            tt will be alone on a line. and at column 0.<br><br>        Example :        -token_ext-single_word_0$WORD<br>        -token_ext-single_word_0$WORD1<br>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br>        void a(int b)<br>        {<br>            if(b)<br>            {<br>        WORD<br>                b++<br>        WORD1<br>            }<br>        }</font></pre></html>"
+EditorType=string
+Enabled=false
+Value=
+ValueDefault=
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/makeall.bat	Tue Sep 05 15:11:33 2006 +0000
@@ -0,0 +1,5 @@
+qmake
+nmake clean
+nmake all
+rem mt -manifest .\release\UniversalIndentGUI.exe.manifest -outputresource:".\release\UniversalIndentGUI.exe;#1"
+rem mt -manifest .\debug\UniversalIndentGUI.exe.manifest -outputresource:".\debug\UniversalIndentGUI.exe;#1"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/readme.txt	Tue Sep 05 15:11:33 2006 +0000
@@ -0,0 +1,69 @@
+UniversalIndentGUI
+==================
+
+This application is released under the GPL. Read the file "license.gpl" in the same directory as this readme for more information!
+
+
+1. About UniversalIndentGUI
+---------------------------
+
+The UniversalIndentGUI is supposed to be a universal graphical user interface for source code respective text formatter, beautifier and indenter. This is manly reached by a flexible ini file for each indenter.
+
+One of the main features and the reason why this tool was (better is being right now) developed is to see how the indent parameter affects the source code style directly while changing the parameter. It always bothered me to change one option of a tool like GNU Indent or GreatCode and have to run it to see what my code would look like afterward. Often the result was not what I expected from the parameters description. So these times are gone.
+
+
+2. Features (also planned features)
+-----------------------------------
+
+- Directly see how the code/text is affected by a indenter parameter
+
+- Load a source code file of your choice as test file
+
+- Indenter settings are directly saved into its very own config file (in case of GreatCode that is the file "gc.cfg")
+
+- Not yet known indenters can be added by creating a ini file for it, that is used by UniversalIndentGUI (this file has the prefix "uigui_" and ends with ".ini"). Have a look at the file "iniFileFormat.txt" for explanations about the ini file format. If you want to extend or create a new ini file for a new indenter, you are sincerely invited to do so and I would be thankful for telling me.
+
+
+3. Starting UniversalIndentGUI (needed files)
+---------------------------------------------
+
+The windows version does not need any further files, because it is linked to Qt statically. Thats why the executalbe is nearly 7 mb large.
+
+Under Linux the files libQtCore.so and libQtGui.so are needed. These come along with the package "libqt4-core". Download and install this package with your preferred package manager.
+Right now the windows version of GreatCode is shipped along with the Linux version of UniversalIndentGUI, because I was unable to compile GreatCode under Linux. UniversalIndentGUI tries to start GreatCode via wine. So wine has to be installed in order to use GreatCode.
+
+Since I have no access to any other systems I would be thankful for info how to run it there.
+
+
+4. Compile UniversalIndentGUI
+-----------------------------
+
+A current version of the project can be downloaded via subversion.
+Server: https://svn.sourceforge.net
+Repository: svnroot/universalindent
+
+The Qt Framework Version >=4.x with source code is needed to compile. It is available at www.trolltech.com. Please look there for more info.
+
+For the Windows Visual Studio 2005 a solution file is included, named "UniversalIndentGUI.sln". Additional include and lib directories for Qt have to be set in the preferences. Look at the trolltechs homepage or google for these settings right now. Later I will write them down here.
+
+Alternatively the qmake project file can be used to compile on any platform. Just run "qmake" in the projects main directory (where the file "UniversalIndentGUI.pro" resides). After this run "make debug" or "make release". That should do it.
+Also for ease you can run the batch file makeall.bat under windows if you use Visual Studio 2005. It also embeds the manifest file into the executable.
+
+ATTENTION! If you have successfully compiled the project, you have to put Astyle.exe or GC.exe into the "data" directory in Order to run the program with normal functionality.
+
+
+5. Some end words
+-----------------
+
+Feel happily invited to try out and comment UniversalIndentGUI. Good and bad critics are welcome, if they are helpful of course ;-)
+
+
+6. Disclaimer
+-------------
+
+You may use this software on your own risk. I am not responsible for any system damage or loss of data. Respect the GPL!
+
+
+So long,
+
+   Thomas
Binary file resources/Icon1.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/resources/Icons.qrc	Tue Sep 05 15:11:33 2006 +0000
@@ -0,0 +1,25 @@
+<RCC>
+    <qresource prefix="/aboutDialog" >
+        <file>banner.png</file>
+    </qresource>
+    <qresource prefix="/mainWindow" >
+        <file>Icon1.png</file>
+        <file>document-open.png</file>
+        <file>document-save-as.png</file>
+        <file>document-save.png</file>
+        <file>exporthtml.png</file>
+        <file>exportpdf.png</file>
+        <file>format-justify-left.png</file>
+        <file>help.png</file>
+        <file>icon2.png</file>
+        <file>icon3.png</file>
+        <file>info.png</file>
+        <file>live-preview.png</file>
+        <file>load_indent_cfg.png</file>
+        <file>save_indent_cfg.png</file>
+        <file>syntax-highlight.png</file>
+        <file>system-log-out.png</file>
+        <file>tooltip.png</file>
+        <file>view-refresh.png</file>
+    </qresource>
+</RCC>
Binary file resources/banner.png has changed
Binary file resources/document-open.png has changed
Binary file resources/document-save-as.png has changed
Binary file resources/document-save.png has changed
Binary file resources/edit-select-all.png has changed
Binary file resources/exporthtml.png has changed
Binary file resources/exportpdf.png has changed
Binary file resources/format-justify-left.png has changed
Binary file resources/help.png has changed
Binary file resources/icon2.ico has changed
Binary file resources/icon2.png has changed
Binary file resources/icon3.png has changed
Binary file resources/info.png has changed
Binary file resources/live-preview.png has changed
Binary file resources/load_indent_cfg.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/resources/programicon.rc	Tue Sep 05 15:11:33 2006 +0000
@@ -0,0 +1,1 @@
+IDI_ICON1   ICON   DISCARDABLE   "icon2.ico"
Binary file resources/save_indent_cfg.png has changed
Binary file resources/syntax-highlight.png has changed
Binary file resources/system-log-out.png has changed
Binary file resources/tooltip.png has changed
Binary file resources/view-refresh.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/UniversalIndentGUI.vcproj	Tue Sep 05 15:11:33 2006 +0000
@@ -0,0 +1,345 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+	ProjectType="Visual C++"
+	Version="8,00"
+	Name="UniversalIndentGUI"
+	ProjectGUID="{CF521500-824E-4DB7-A7FA-F4A8B6BB008A}"
+	RootNamespace="UniversalIndentGUI"
+	Keyword="Win32Proj"
+	>
+	<Platforms>
+		<Platform
+			Name="Win32"
+		/>
+	</Platforms>
+	<ToolFiles>
+		<ToolFile
+			RelativePath="..\VS8QtRules.rules"
+		/>
+	</ToolFiles>
+	<Configurations>
+		<Configuration
+			Name="Debug|Win32"
+			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
+			IntermediateDirectory="$(SolutionDir)$(ConfigurationName)\tmp"
+			ConfigurationType="1"
+			CharacterSet="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+				CommandLine=""
+			/>
+			<Tool
+				Name="MOC"
+			/>
+			<Tool
+				Name="QRC"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
+				Name="UIC"
+			/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"
+			/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
+			<Tool
+				Name="VCMIDLTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				AdditionalOptions="/D &quot;QT_LARGEFILE_SUPPORT&quot; /D &quot;QT_DLL&quot; /D &quot;QT_GUI_LIB&quot; /D &quot;QT_CORE_LIB&quot; /D &quot;QT_THREAD_SUPPORT&quot;"
+				Optimization="0"
+				AdditionalIncludeDirectories="&quot;$(OutDir)\tmp\uic\&quot;"
+				PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS"
+				MinimalRebuild="true"
+				BasicRuntimeChecks="3"
+				RuntimeLibrary="3"
+				UsePrecompiledHeader="0"
+				ObjectFile="$(IntDir)\obj\"
+				WarningLevel="3"
+				Detect64BitPortabilityProblems="false"
+				DebugInformationFormat="4"
+			/>
+			<Tool
+				Name="VCManagedResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalDependencies="qtmaind.lib QtGuid4.lib QtCored4.lib"
+				LinkIncremental="2"
+				IgnoreAllDefaultLibraries="false"
+				GenerateDebugInformation="true"
+				SubSystem="2"
+				TargetMachine="1"
+			/>
+			<Tool
+				Name="VCALinkTool"
+			/>
+			<Tool
+				Name="VCManifestTool"
+			/>
+			<Tool
+				Name="VCXDCMakeTool"
+			/>
+			<Tool
+				Name="VCBscMakeTool"
+			/>
+			<Tool
+				Name="VCFxCopTool"
+			/>
+			<Tool
+				Name="VCAppVerifierTool"
+			/>
+			<Tool
+				Name="VCWebDeploymentTool"
+			/>
+			<Tool
+				Name="VCPostBuildEventTool"
+			/>
+		</Configuration>
+		<Configuration
+			Name="Release|Win32"
+			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
+			IntermediateDirectory="$(SolutionDir)$(ConfigurationName)\tmp"
+			ConfigurationType="1"
+			CharacterSet="1"
+			WholeProgramOptimization="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+				CommandLine=""
+			/>
+			<Tool
+				Name="MOC"
+			/>
+			<Tool
+				Name="QRC"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
+				Name="UIC"
+			/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"
+			/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
+			<Tool
+				Name="VCMIDLTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				AdditionalIncludeDirectories="&quot;$(OutDir)\tmp\uic\&quot;"
+				PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS"
+				RuntimeLibrary="2"
+				UsePrecompiledHeader="0"
+				ObjectFile="$(IntDir)\obj\"
+				WarningLevel="3"
+				Detect64BitPortabilityProblems="false"
+				DebugInformationFormat="3"
+			/>
+			<Tool
+				Name="VCManagedResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalDependencies="qtmain.lib QtGui4.lib QtCore4.lib"
+				LinkIncremental="1"
+				GenerateDebugInformation="true"
+				SubSystem="2"
+				OptimizeReferences="2"
+				EnableCOMDATFolding="2"
+				TargetMachine="1"
+			/>
+			<Tool
+				Name="VCALinkTool"
+			/>
+			<Tool
+				Name="VCManifestTool"
+				VerboseOutput="true"
+			/>
+			<Tool
+				Name="VCXDCMakeTool"
+			/>
+			<Tool
+				Name="VCBscMakeTool"
+			/>
+			<Tool
+				Name="VCFxCopTool"
+			/>
+			<Tool
+				Name="VCAppVerifierTool"
+			/>
+			<Tool
+				Name="VCWebDeploymentTool"
+			/>
+			<Tool
+				Name="VCPostBuildEventTool"
+			/>
+		</Configuration>
+	</Configurations>
+	<References>
+	</References>
+	<Files>
+		<Filter
+			Name="Source Files"
+			Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+			>
+			<File
+				RelativePath=".\aboutdialog.cpp"
+				>
+			</File>
+			<File
+				RelativePath=".\cpphighlighter.cpp"
+				>
+			</File>
+			<File
+				RelativePath=".\indenthandler.cpp"
+				>
+			</File>
+			<File
+				RelativePath=".\main.cpp"
+				>
+			</File>
+			<File
+				RelativePath=".\mainwindow.cpp"
+				>
+			</File>
+		</Filter>
+		<Filter
+			Name="Header Files"
+			Filter="h;hpp;hxx;hm;inl;inc;xsd"
+			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+			>
+			<File
+				RelativePath=".\aboutdialog.h"
+				>
+			</File>
+			<File
+				RelativePath=".\cpphighlighter.h"
+				>
+			</File>
+			<File
+				RelativePath=".\indenthandler.h"
+				>
+			</File>
+			<File
+				RelativePath=".\mainwindow.h"
+				>
+			</File>
+		</Filter>
+		<Filter
+			Name="Resource Files"
+			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+			UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+			>
+			<File
+				RelativePath="..\resources\Icons.qrc"
+				>
+			</File>
+			<File
+				RelativePath="..\resources\programicon.rc"
+				>
+			</File>
+		</Filter>
+		<Filter
+			Name="Forms (UI)"
+			>
+			<File
+				RelativePath=".\aboutdialog.ui"
+				>
+			</File>
+			<File
+				RelativePath=".\indentgui.ui"
+				>
+			</File>
+		</Filter>
+		<Filter
+			Name="Generated"
+			>
+			<File
+				RelativePath="$(OutDir)\tmp\moc\moc_aboutdialog.cpp"
+				>
+			</File>
+			<File
+				RelativePath="$(OutDir)\tmp\moc\moc_cpphighlighter.cpp"
+				>
+			</File>
+			<File
+				RelativePath="$(OutDir)\tmp\moc\moc_indenthandler.cpp"
+				>
+			</File>
+			<File
+				RelativePath="$(OutDir)\tmp\moc\moc_mainwindow.cpp"
+				>
+			</File>
+			<File
+				RelativePath="$(OutDir)\tmp\qrc\qrc_Icons.cpp"
+				>
+			</File>
+			<File
+				RelativePath="$(OutDir)\tmp\uic\ui_aboutdialog.h"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					ExcludedFromBuild="true"
+					>
+					<Tool
+						Name="MOC"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Release|Win32"
+					ExcludedFromBuild="true"
+					>
+					<Tool
+						Name="MOC"
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="$(OutDir)\tmp\uic\ui_indentgui.h"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					ExcludedFromBuild="true"
+					>
+					<Tool
+						Name="MOC"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Release|Win32"
+					ExcludedFromBuild="true"
+					>
+					<Tool
+						Name="MOC"
+					/>
+				</FileConfiguration>
+			</File>
+		</Filter>
+	</Files>
+	<Globals>
+	</Globals>
+</VisualStudioProject>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/aboutdialog.cpp	Tue Sep 05 15:11:33 2006 +0000
@@ -0,0 +1,42 @@
+/****************************************************************************
+**
+** This file may be used under the terms of the GNU General Public
+** License version 2.0 as published by the Free Software Foundation
+** and appearing in the file LICENSE.GPL included in the packaging of
+** this file.  
+**
+** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+**
+****************************************************************************/
+
+
+#include "aboutdialog.h"
+
+/*!
+    \class AboutDialog
+    \brief Displays a dialog window with information about UniversalIndentGUI
+*/
+
+/*!
+    The constructor calls the setup function for the ui created by uic and adds
+    the GPL text to the text edit.
+ */
+AboutDialog::AboutDialog(QWidget *parent) :
+    QDialog(parent)
+{
+    setupUi(this);
+	QString qplText = "<html><head><meta name=\"qrichtext\" content=\"1\" /></head><body style=\" white-space: pre-wrap; font-family:MS Shell Dlg 2; font-size:8.25pt; font-weight:400; font-style:normal; text-decoration:none;\"><p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Courier New; font-size:8pt;\"> You may use, distribute and copy the UniversalIndentGUI under the terms of<br /> GNU General Public License version 2, which is displayed below.<br /><br />-------------------------------------------------------------------------<br /><br />		    GNU GENERAL PUBLIC LICENSE<br />		       Version 2, June 1991<br /><br /> Copyright (C) 1989, 1991 Free Software Foundation, Inc.<br />                  51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA<br /> Everyone is permitted to copy and distribute verbatim copies<br /> of this license document, but changing it is not allowed.<br /><br />			    Preamble<br /><br />  The licenses for most software are designed to take away your<br />freedom to share and change it.  By contrast, the GNU General Public<br />License is intended to guarantee your freedom to share and change free<br />software--to make sure the software is free for all its users.  This<br />General Public License applies to most of the Free Software<br />Foundation's software and to any other program whose authors commit to<br />using it.  (Some other Free Software Foundation software is covered by<br />the GNU Library General Public License instead.)  You can apply it to<br />your programs, too.<br /><br />  When we speak of free software, we are referring to freedom, not<br />price.  Our General Public Licenses are designed to make sure that you<br />have the freedom to distribute copies of free software (and charge for<br />this service if you wish), that you receive source code or can get it<br />if you want it, that you can change the software or use pieces of it<br />in new free programs; and that you know you can do these things.<br /><br />  To protect your rights, we need to make restrictions that forbid<br />anyone to deny you these rights or to ask you to surrender the rights.<br /> \
+					  These restrictions translate to certain responsibilities for you if you<br />distribute copies of the software, or if you modify it.<br /><br />  For example, if you distribute copies of such a program, whether<br />gratis or for a fee, you must give the recipients all the rights that<br />you have.  You must make sure that they, too, receive or can get the<br />source code.  And you must show them these terms so they know their<br />rights.<br /><br />  We protect your rights with two steps: (1) copyright the software, and<br />(2) offer you this license which gives you legal permission to copy,<br />distribute and/or modify the software.<br /><br />  Also, for each author's protection and ours, we want to make certain<br />that everyone understands that there is no warranty for this free<br />software.  If the software is modified by someone else and passed on, we<br />want its recipients to know that what they have is not the original, so<br />that any problems introduced by others will not reflect on the original<br />authors' reputations.<br /><br />  Finally, any free program is threatened constantly by software<br />patents.  We wish to avoid the danger that redistributors of a free<br />program will individually obtain patent licenses, in effect making the<br />program proprietary.  To prevent this, we have made it clear that any<br />patent must be licensed for everyone's free use or not licensed at all.<br /><br />  The precise terms and conditions for copying, distribution and<br />modification follow.<br /><br /><br />		    GNU GENERAL PUBLIC LICENSE<br />   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION<br /><br />  0. This License applies to any program or other work which contains<br />a notice placed by the copyright holder saying it may be distributed<br />under the terms of this General Public License.  The \"Program\", below,<br />refers to any such program or work, and a \"work based on the Program\"<br />means either the Program or any derivative work under copyright law:<br />that is to say, a work containing the Program or a portion of it,<br />either verbatim or with modifications and/or translated into another<br />language.  (Hereinafter, translation is included without limitation in<br /> \
+					  the term \"modification\".)  Each licensee is addressed as \"you\".<br /><br />Activities other than copying, distribution and modification are not<br />covered by this License; they are outside its scope.  The act of<br />running the Program is not restricted, and the output from the Program<br />is covered only if its contents constitute a work based on the<br />Program (independent of having been made by running the Program).<br />Whether that is true depends on what the Program does.<br /><br />  1. You may copy and distribute verbatim copies of the Program's<br />source code as you receive it, in any medium, provided that you<br />conspicuously and appropriately publish on each copy an appropriate<br />copyright notice and disclaimer of warranty; keep intact all the<br />notices that refer to this License and to the absence of any warranty;<br />and give any other recipients of the Program a copy of this License<br />along with the Program.<br /><br />You may charge a fee for the physical act of transferring a copy, and<br />you may at your option offer warranty protection in exchange for a fee.<br /><br />  2. You may modify your copy or copies of the Program or any portion<br />of it, thus forming a work based on the Program, and copy and<br />distribute such modifications or work under the terms of Section 1<br />above, provided that you also meet all of these conditions:<br /><br />    a) You must cause the modified files to carry prominent notices<br />    stating that you changed the files and the date of any change.<br /><br />    b) You must cause any work that you distribute or publish, that in<br />    whole or in part contains or is derived from the Program or any<br />    part thereof, to be licensed as a whole at no charge to all third<br />    parties under the terms of this License.<br /><br />    c) If the modified program normally reads commands interactively<br />    when run, you must cause it, when started running for such<br />    interactive use in the most ordinary way, to print or display an<br />    announcement including an appropriate copyright notice and a<br />    notice that there is no warranty (or else, saying that you provide<br />    a warranty) and that users may redistribute the program under<br /> \
+					  these conditions, and telling the user how to view a copy of this<br />    License.  (Exception: if the Program itself is interactive but<br />    does not normally print such an announcement, your work based on<br />    the Program is not required to print an announcement.)<br /><br /><br />These requirements apply to the modified work as a whole.  If<br />identifiable sections of that work are not derived from the Program,<br />and can be reasonably considered independent and separate works in<br />themselves, then this License, and its terms, do not apply to those<br />sections when you distribute them as separate works.  But when you<br />distribute the same sections as part of a whole which is a work based<br />on the Program, the distribution of the whole must be on the terms of<br />this License, whose permissions for other licensees extend to the<br />entire whole, and thus to each and every part regardless of who wrote it.<br /><br />Thus, it is not the intent of this section to claim rights or contest<br />your rights to work written entirely by you; rather, the intent is to<br />exercise the right to control the distribution of derivative or<br />collective works based on the Program.<br /><br />In addition, mere aggregation of another work not based on the Program<br />with the Program (or with a work based on the Program) on a volume of<br />a storage or distribution medium does not bring the other work under<br />the scope of this License.<br /><br />  3. You may copy and distribute the Program (or a work based on it,<br />under Section 2) in object code or executable form under the terms of<br />Sections 1 and 2 above provided that you also do one of the following:<br /><br />    a) Accompany it with the complete corresponding machine-readable<br />    source code, which must be distributed under the terms of Sections<br />    1 and 2 above on a medium customarily used for software interchange; or,<br /><br />    b) Accompany it with a written offer, valid for at least three<br />    years, to give any third party, for a charge no more than your<br />    cost of physically performing source distribution, a complete<br />    machine-readable copy of the corresponding source code, to be<br /> \
+					  distributed under the terms of Sections 1 and 2 above on a medium<br />    customarily used for software interchange; or,<br /><br />    c) Accompany it with the information you received as to the offer<br />    to distribute corresponding source code.  (This alternative is<br />    allowed only for noncommercial distribution and only if you<br />    received the program in object code or executable form with such<br />    an offer, in accord with Subsection b above.)<br /><br />The source code for a work means the preferred form of the work for<br />making modifications to it.  For an executable work, complete source<br />code means all the source code for all modules it contains, plus any<br />associated interface definition files, plus the scripts used to<br />control compilation and installation of the executable.  However, as a<br />special exception, the source code distributed need not include<br />anything that is normally distributed (in either source or binary<br />form) with the major components (compiler, kernel, and so on) of the<br />operating system on which the executable runs, unless that component<br />itself accompanies the executable.<br /><br />If distribution of executable or object code is made by offering<br />access to copy from a designated place, then offering equivalent<br />access to copy the source code from the same place counts as<br />distribution of the source code, even though third parties are not<br />compelled to copy the source along with the object code.<br /><br /><br />  4. You may not copy, modify, sublicense, or distribute the Program<br />except as expressly provided under this License.  Any attempt<br />otherwise to copy, modify, sublicense or distribute the Program is<br />void, and will automatically terminate your rights under this License.<br />However, parties who have received copies, or rights, from you under<br />this License will not have their licenses terminated so long as such<br />parties remain in full compliance.<br /><br />  5. You are not required to accept this License, since you have not<br />signed it.  However, nothing else grants you permission to modify or<br />distribute the Program or its derivative works.  These actions are<br /> \
+					  prohibited by law if you do not accept this License.  Therefore, by<br />modifying or distributing the Program (or any work based on the<br />Program), you indicate your acceptance of this License to do so, and<br />all its terms and conditions for copying, distributing or modifying<br />the Program or works based on it.<br /><br />  6. Each time you redistribute the Program (or any work based on the<br />Program), the recipient automatically receives a license from the<br />original licensor to copy, distribute or modify the Program subject to<br />these terms and conditions.  You may not impose any further<br />restrictions on the recipients' exercise of the rights granted herein.<br />You are not responsible for enforcing compliance by third parties to<br />this License.<br /><br />  7. If, as a consequence of a court judgment or allegation of patent<br />infringement or for any other reason (not limited to patent issues),<br />conditions are imposed on you (whether by court order, agreement or<br />otherwise) that contradict the conditions of this License, they do not<br />excuse you from the conditions of this License.  If you cannot<br />distribute so as to satisfy simultaneously your obligations under this<br />License and any other pertinent obligations, then as a consequence you<br />may not distribute the Program at all.  For example, if a patent<br />license would not permit royalty-free redistribution of the Program by<br />all those who receive copies directly or indirectly through you, then<br />the only way you could satisfy both it and this License would be to<br />refrain entirely from distribution of the Program.<br /><br />If any portion of this section is held invalid or unenforceable under<br />any particular circumstance, the balance of the section is intended to<br />apply and the section as a whole is intended to apply in other<br />circumstances.<br /><br />It is not the purpose of this section to induce you to infringe any<br />patents or other property right claims or to contest validity of any<br />such claims; this section has the sole purpose of protecting the<br />integrity of the free software distribution system, which is<br />implemented by public license practices.  Many people have made<br />";
+	qplText += "generous contributions to the wide range of software distributed<br />through that system in reliance on consistent application of that<br />system; it is up to the author/donor to decide if he or she is willing<br />to distribute software through any other system and a licensee cannot<br />impose that choice.<br /><br />This section is intended to make thoroughly clear what is believed to<br />be a consequence of the rest of this License.<br /><br /><br />  8. If the distribution and/or use of the Program is restricted in<br />certain countries either by patents or by copyrighted interfaces, the<br />original copyright holder who places the Program under this License<br />may add an explicit geographical distribution limitation excluding<br />those countries, so that distribution is permitted only in or among<br />countries not thus excluded.  In such case, this License incorporates<br />the limitation as if written in the body of this License.<br /><br />  9. The Free Software Foundation may publish revised and/or new versions<br />of the General Public License from time to time.  Such new versions will<br />be similar in spirit to the present version, but may differ in detail to<br />address new problems or concerns.<br /><br />Each version is given a distinguishing version number.  If the Program<br />specifies a version number of this License which applies to it and \"any<br />later version\", you have the option of following the terms and conditions<br />either of that version or of any later version published by the Free<br />Software Foundation.  If the Program does not specify a version number of<br />this License, you may choose any version ever published by the Free Software<br />Foundation.<br /><br />  10. If you wish to incorporate parts of the Program into other free<br />programs whose distribution conditions are different, write to the author<br />to ask for permission.  For software which is copyrighted by the Free<br />Software Foundation, write to the Free Software Foundation; we sometimes<br />make exceptions for this.  Our decision will be guided by the two goals<br />of preserving the free status of all derivatives of our free software and<br />of promoting the sharing and reuse of software generally.<br /><br /> \
+	           generous contributions to the wide range of software distributed<br />through that system in reliance on consistent application of that<br />system; it is up to the author/donor to decide if he or she is willing<br />to distribute software through any other system and a licensee cannot<br />impose that choice.<br /><br />This section is intended to make thoroughly clear what is believed to<br />be a consequence of the rest of this License.<br /><br /><br />  8. If the distribution and/or use of the Program is restricted in<br />certain countries either by patents or by copyrighted interfaces, the<br />original copyright holder who places the Program under this License<br />may add an explicit geographical distribution limitation excluding<br />those countries, so that distribution is permitted only in or among<br />countries not thus excluded.  In such case, this License incorporates<br />the limitation as if written in the body of this License.<br /><br />  9. The Free Software Foundation may publish revised and/or new versions<br />of the General Public License from time to time.  Such new versions will<br />be similar in spirit to the present version, but may differ in detail to<br />address new problems or concerns.<br /><br />Each version is given a distinguishing version number.  If the Program<br />specifies a version number of this License which applies to it and \"any<br />later version\", you have the option of following the terms and conditions<br />either of that version or of any later version published by the Free<br />Software Foundation.  If the Program does not specify a version number of<br />this License, you may choose any version ever published by the Free Software<br />Foundation.<br /><br />  10. If you wish to incorporate parts of the Program into other free<br />programs whose distribution conditions are different, write to the author<br />to ask for permission.  For software which is copyrighted by the Free<br />Software Foundation, write to the Free Software Foundation; we sometimes<br />make exceptions for this.  Our decision will be guided by the two goals<br />of preserving the free status of all derivatives of our free software and<br />of promoting the sharing and reuse of software generally.<br /><br /> \
+	           NO WARRANTY<br /><br />  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY<br />FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN<br />OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES<br />PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED<br />OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF<br />MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS<br />TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE<br />PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,<br />REPAIR OR CORRECTION.<br /><br />  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING<br />WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR<br />REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,<br />INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING<br />OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED<br />TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY<br />YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER<br />PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE<br />POSSIBILITY OF SUCH DAMAGES.<br /><br />		     END OF TERMS AND CONDITIONS<br /><br /><br />	    How to Apply These Terms to Your New Programs<br /><br />  If you develop a new program, and you want it to be of the greatest<br />possible use to the public, the best way to achieve this is to make it<br />free software which everyone can redistribute and change under these terms.<br /><br />  To do so, attach the following notices to the program.  It is safest<br />to attach them to the start of each source file to most effectively<br />convey the exclusion of warranty; and each file should have at least<br />the \"copyright\" line and a pointer to where the full notice is found.<br /><br />    &lt;one line to give the program's name and a brief idea of what it does.&gt;<br />    Copyright (C) &lt;year&gt;  &lt;name of author&gt;<br /><br />    This program is free software; you can redistribute it and/or modify<br /> \
+	           it under the terms of the GNU General Public License as published by<br />    the Free Software Foundation; either version 2 of the License, or<br />    (at your option) any later version.<br /><br />    This program is distributed in the hope that it will be useful,<br />    but WITHOUT ANY WARRANTY; without even the implied warranty of<br />    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the<br />    GNU General Public License for more details.<br /><br />    You should have received a copy of the GNU General Public License<br />    along with this program; if not, write to the Free Software<br />    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA<br /><br /><br />Also add information on how to contact you by electronic and paper mail.<br /><br />If the program is interactive, make it output a short notice like this<br />when it starts in an interactive mode:<br /><br />    Gnomovision version 69, Copyright (C) year name of author<br />    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.<br />    This is free software, and you are welcome to redistribute it<br />    under certain conditions; type `show c' for details.<br /><br />The hypothetical commands `show w' and `show c' should show the appropriate<br />parts of the General Public License.  Of course, the commands you use may<br />be called something other than `show w' and `show c'; they could even be<br />mouse-clicks or menu items--whatever suits your program.<br /><br />You should also get your employer (if you work as a programmer) or your<br />school, if any, to sign a \"copyright disclaimer\" for the program, if<br />necessary.  Here is a sample; alter the names:<br /><br />  Yoyodyne, Inc., hereby disclaims all copyright interest in the program<br />  `Gnomovision' (which makes passes at compilers) written by James Hacker.<br /><br />  &lt;signature of Ty Coon&gt;, 1 April 1989<br />  Ty Coon, President of Vice<br /><br />This General Public License does not permit incorporating your program into<br />proprietary programs.  If your program is a subroutine library, you may<br />consider it more useful to permit linking proprietary applications with the<br /> \
+	           library.  If this is what you want to do, use the GNU Library General<br />Public License instead of this License.<br /><br />-------------------------------------------------------------------------<br /></p></body></html>";
+	textEdit->setHtml(QApplication::translate("AboutDialog", qplText.toAscii(), 0, QApplication::UnicodeUTF8));
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/aboutdialog.h	Tue Sep 05 15:11:33 2006 +0000
@@ -0,0 +1,27 @@
+/****************************************************************************
+**
+** This file may be used under the terms of the GNU General Public
+** License version 2.0 as published by the Free Software Foundation
+** and appearing in the file LICENSE.GPL included in the packaging of
+** this file.  
+**
+** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+**
+****************************************************************************/
+
+#ifndef ABOUTDIALOG_H
+#define ABOUTDIALOG_H
+
+#include <QDialog>
+#include "ui_aboutdialog.h"
+
+class AboutDialog : public QDialog, private Ui::AboutDialog
+{
+    Q_OBJECT
+
+public:
+    AboutDialog(QWidget *parent = 0);
+};
+
+#endif // ABOUTDIALOG_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/aboutdialog.ui	Tue Sep 05 15:11:33 2006 +0000
@@ -0,0 +1,460 @@
+<ui version="4.0" >
+ <author></author>
+ <comment></comment>
+ <exportmacro></exportmacro>
+ <class>AboutDialog</class>
+ <widget class="QDialog" name="AboutDialog" >
+  <property name="geometry" >
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>588</width>
+    <height>499</height>
+   </rect>
+  </property>
+  <property name="sizePolicy" >
+   <sizepolicy>
+    <hsizetype>0</hsizetype>
+    <vsizetype>1</vsizetype>
+    <horstretch>0</horstretch>
+    <verstretch>0</verstretch>
+   </sizepolicy>
+  </property>
+  <property name="minimumSize" >
+   <size>
+    <width>588</width>
+    <height>499</height>
+   </size>
+  </property>
+  <property name="maximumSize" >
+   <size>
+    <width>588</width>
+    <height>16777215</height>
+   </size>
+  </property>
+  <property name="windowTitle" >
+   <string>About UniversalIndentGUI</string>
+  </property>
+  <property name="windowIcon" >
+   <iconset resource="../resources/Icons.qrc" >:/mainWindow/info.png</iconset>
+  </property>
+  <property name="modal" >
+   <bool>true</bool>
+  </property>
+  <layout class="QVBoxLayout" >
+   <property name="margin" >
+    <number>9</number>
+   </property>
+   <property name="spacing" >
+    <number>6</number>
+   </property>
+   <item>
+    <widget class="QLabel" name="label" >
+     <property name="sizePolicy" >
+      <sizepolicy>
+       <hsizetype>0</hsizetype>
+       <vsizetype>0</vsizetype>
+       <horstretch>0</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
+     <property name="minimumSize" >
+      <size>
+       <width>570</width>
+       <height>87</height>
+      </size>
+     </property>
+     <property name="maximumSize" >
+      <size>
+       <width>570</width>
+       <height>87</height>
+      </size>
+     </property>
+     <property name="text" >
+      <string/>
+     </property>
+     <property name="pixmap" >
+      <pixmap resource="../resources/Icons.qrc" >:/aboutDialog/banner.png</pixmap>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <widget class="QTextBrowser" name="textBrowser" >
+     <property name="sizePolicy" >
+      <sizepolicy>
+       <hsizetype>5</hsizetype>
+       <vsizetype>1</vsizetype>
+       <horstretch>0</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
+     <property name="maximumSize" >
+      <size>
+       <width>16777215</width>
+       <height>150</height>
+      </size>
+     </property>
+     <property name="palette" >
+      <palette>
+       <active>
+        <color>
+         <red>0</red>
+         <green>0</green>
+         <blue>0</blue>
+        </color>
+        <color>
+         <red>236</red>
+         <green>233</green>
+         <blue>216</blue>
+        </color>
+        <color>
+         <red>255</red>
+         <green>255</green>
+         <blue>255</blue>
+        </color>
+        <color>
+         <red>241</red>
+         <green>239</green>
+         <blue>226</blue>
+        </color>
+        <color>
+         <red>172</red>
+         <green>168</green>
+         <blue>153</blue>
+        </color>
+        <color>
+         <red>157</red>
+         <green>155</green>
+         <blue>144</blue>
+        </color>
+        <color>
+         <red>0</red>
+         <green>0</green>
+         <blue>0</blue>
+        </color>
+        <color>
+         <red>255</red>
+         <green>255</green>
+         <blue>255</blue>
+        </color>
+        <color>
+         <red>0</red>
+         <green>0</green>
+         <blue>0</blue>
+        </color>
+        <color>
+         <red>236</red>
+         <green>233</green>
+         <blue>216</blue>
+        </color>
+        <color>
+         <red>236</red>
+         <green>233</green>
+         <blue>216</blue>
+        </color>
+        <color>
+         <red>113</red>
+         <green>111</green>
+         <blue>100</blue>
+        </color>
+        <color>
+         <red>147</red>
+         <green>160</green>
+         <blue>112</blue>
+        </color>
+        <color>
+         <red>255</red>
+         <green>255</green>
+         <blue>255</blue>
+        </color>
+        <color>
+         <red>0</red>
+         <green>0</green>
+         <blue>255</blue>
+        </color>
+        <color>
+         <red>255</red>
+         <green>0</green>
+         <blue>255</blue>
+        </color>
+        <color>
+         <red>232</red>
+         <green>232</green>
+         <blue>232</blue>
+        </color>
+       </active>
+       <inactive>
+        <color>
+         <red>0</red>
+         <green>0</green>
+         <blue>0</blue>
+        </color>
+        <color>
+         <red>236</red>
+         <green>233</green>
+         <blue>216</blue>
+        </color>
+        <color>
+         <red>255</red>
+         <green>255</green>
+         <blue>255</blue>
+        </color>
+        <color>
+         <red>241</red>
+         <green>239</green>
+         <blue>226</blue>
+        </color>
+        <color>
+         <red>172</red>
+         <green>168</green>
+         <blue>153</blue>
+        </color>
+        <color>
+         <red>157</red>
+         <green>155</green>
+         <blue>144</blue>
+        </color>
+        <color>
+         <red>0</red>
+         <green>0</green>
+         <blue>0</blue>
+        </color>
+        <color>
+         <red>255</red>
+         <green>255</green>
+         <blue>255</blue>
+        </color>
+        <color>
+         <red>0</red>
+         <green>0</green>
+         <blue>0</blue>
+        </color>
+        <color>
+         <red>236</red>
+         <green>233</green>
+         <blue>216</blue>
+        </color>
+        <color>
+         <red>236</red>
+         <green>233</green>
+         <blue>216</blue>
+        </color>
+        <color>
+         <red>113</red>
+         <green>111</green>
+         <blue>100</blue>
+        </color>
+        <color>
+         <red>236</red>
+         <green>233</green>
+         <blue>216</blue>
+        </color>
+        <color>
+         <red>0</red>
+         <green>0</green>
+         <blue>0</blue>
+        </color>
+        <color>
+         <red>0</red>
+         <green>0</green>
+         <blue>255</blue>
+        </color>
+        <color>
+         <red>255</red>
+         <green>0</green>
+         <blue>255</blue>
+        </color>
+        <color>
+         <red>232</red>
+         <green>232</green>
+         <blue>232</blue>
+        </color>
+       </inactive>
+       <disabled>
+        <color>
+         <red>118</red>
+         <green>116</green>
+         <blue>108</blue>
+        </color>
+        <color>
+         <red>236</red>
+         <green>233</green>
+         <blue>216</blue>
+        </color>
+        <color>
+         <red>255</red>
+         <green>255</green>
+         <blue>255</blue>
+        </color>
+        <color>
+         <red>245</red>
+         <green>244</green>
+         <blue>235</blue>
+        </color>
+        <color>
+         <red>172</red>
+         <green>168</green>
+         <blue>153</blue>
+        </color>
+        <color>
+         <red>157</red>
+         <green>155</green>
+         <blue>144</blue>
+        </color>
+        <color>
+         <red>118</red>
+         <green>116</green>
+         <blue>108</blue>
+        </color>
+        <color>
+         <red>255</red>
+         <green>255</green>
+         <blue>255</blue>
+        </color>
+        <color>
+         <red>118</red>
+         <green>116</green>
+         <blue>108</blue>
+        </color>
+        <color>
+         <red>236</red>
+         <green>233</green>
+         <blue>216</blue>
+        </color>
+        <color>
+         <red>236</red>
+         <green>233</green>
+         <blue>216</blue>
+        </color>
+        <color>
+         <red>0</red>
+         <green>0</green>
+         <blue>0</blue>
+        </color>
+        <color>
+         <red>147</red>
+         <green>160</green>
+         <blue>112</blue>
+        </color>
+        <color>
+         <red>255</red>
+         <green>255</green>
+         <blue>255</blue>
+        </color>
+        <color>
+         <red>0</red>
+         <green>0</green>
+         <blue>255</blue>
+        </color>
+        <color>
+         <red>255</red>
+         <green>0</green>
+         <blue>255</blue>
+        </color>
+        <color>
+         <red>232</red>
+         <green>232</green>
+         <blue>232</blue>
+        </color>
+       </disabled>
+      </palette>
+     </property>
+     <property name="acceptDrops" >
+      <bool>false</bool>
+     </property>
+     <property name="frameShape" >
+      <enum>QFrame::NoFrame</enum>
+     </property>
+     <property name="verticalScrollBarPolicy" >
+      <enum>Qt::ScrollBarAlwaysOff</enum>
+     </property>
+     <property name="html" >
+      <string>&lt;html>&lt;head>&lt;meta name="qrichtext" content="1" />&lt;/head>&lt;body style=" white-space: pre-wrap; font-family:MS Shell Dlg; font-size:8.25pt; font-weight:400; font-style:normal; text-decoration:none;">&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;">&lt;span style=" font-family:MS Shell Dlg 2; font-size:12pt;">Version 0.3.1 Beta rev.152, 4th September 2006&lt;/span>&lt;/p>&lt;p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:MS Shell Dlg 2; font-size:8pt;">&lt;/p>&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:MS Shell Dlg 2; font-size:8pt;">... is a cross platform compatible GUI for several code formatter, beautifier and indenter like GreatCode, AStyle (Artistic Styler), GNU Indent, BCPP and so on. Main feature is a live preview to directly see how the selected formatting option affects the source code.&lt;/p>&lt;p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:MS Shell Dlg 2; font-size:8pt;">&lt;/p>&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:MS Shell Dlg 2; font-size:8pt;">Written by :  	         Thomas Schweitzer&lt;/p>&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:MS Shell Dlg 2; font-size:8pt;">Project Homepage :    &lt;span style=" text-decoration: underline; color:#0000ff;">http://universalindent.sourceforge.net&lt;/span>&lt;/p>&lt;/body>&lt;/html></string>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <widget class="QLabel" name="label_2" >
+     <property name="text" >
+      <string>License:</string>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <widget class="QTextEdit" name="textEdit" >
+     <property name="readOnly" >
+      <bool>true</bool>
+     </property>
+     <property name="html" >
+      <string>&lt;html>&lt;head>&lt;meta name="qrichtext" content="1" />&lt;/head>&lt;body style=" white-space: pre-wrap; font-family:MS Shell Dlg; font-size:8.25pt; font-weight:400; font-style:normal; text-decoration:none;">&lt;p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Courier New; font-size:8pt;">&lt;/p>&lt;/body>&lt;/html></string>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <layout class="QHBoxLayout" >
+     <property name="margin" >
+      <number>0</number>
+     </property>
+     <property name="spacing" >
+      <number>6</number>
+     </property>
+     <item>
+      <spacer>
+       <property name="orientation" >
+        <enum>Qt::Horizontal</enum>
+       </property>
+       <property name="sizeHint" >
+        <size>
+         <width>131</width>
+         <height>31</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+     <item>
+      <widget class="QPushButton" name="okButton" >
+       <property name="text" >
+        <string>OK</string>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <spacer>
+       <property name="orientation" >
+        <enum>Qt::Horizontal</enum>
+       </property>
+       <property name="sizeHint" >
+        <size>
+         <width>40</width>
+         <height>20</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+    </layout>
+   </item>
+  </layout>
+ </widget>
+ <pixmapfunction></pixmapfunction>
+ <resources>
+  <include location="../resources/Icons.qrc" />
+ </resources>
+ <connections>
+  <connection>
+   <sender>okButton</sender>
+   <signal>clicked()</signal>
+   <receiver>AboutDialog</receiver>
+   <slot>accept()</slot>
+   <hints>
+    <hint type="sourcelabel" >
+     <x>278</x>
+     <y>253</y>
+    </hint>
+    <hint type="destinationlabel" >
+     <x>96</x>
+     <y>254</y>
+    </hint>
+   </hints>
+  </connection>
+ </connections>
+</ui>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/cpphighlighter.cpp	Tue Sep 05 15:11:33 2006 +0000
@@ -0,0 +1,132 @@
+/****************************************************************************
+**
+** This file may be used under the terms of the GNU General Public
+** License version 2.0 as published by the Free Software Foundation
+** and appearing in the file LICENSE.GPL included in the packaging of
+** this file.  
+**
+** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+**
+****************************************************************************/
+
+#include <QtGui>
+
+#include "cpphighlighter.h"
+
+/*!
+    \class CppHighlighter
+    \brief Highlighter used by QTextEdit fields to syntax highlight cpp source code
+*/
+
+/*!
+    The constructor initializes some regular expressions and keywords to identify cpp tokens
+ */
+CppHighlighter::CppHighlighter(QTextDocument *parent)
+: QSyntaxHighlighter(parent)
+{
+	HighlightingRule rule;
+
+    highlightningIsOn = true;
+
+	keywordFormat.setForeground(Qt::darkBlue);
+	keywordFormat.setFontWeight(QFont::Bold);
+	QStringList keywordPatterns;
+	keywordPatterns << "\\bchar\\b" << "\\bclass\\b" << "\\bconst\\b"
+		<< "\\bdouble\\b" << "\\benum\\b" << "\\bexplicit\\b"
+		<< "\\bfriend\\b" << "\\binline\\b" << "\\bint\\b"
+		<< "\\blong\\b" << "\\bnamespace\\b" << "\\boperator\\b"
+		<< "\\bprivate\\b" << "\\bprotected\\b" << "\\bpublic\\b"
+		<< "\\bshort\\b" << "\\bsignals\\b" << "\\bsigned\\b"
+		<< "\\bslots\\b" << "\\bstatic\\b" << "\\bstruct\\b"
+		<< "\\btemplate\\b" << "\\btypedef\\b" << "\\btypename\\b"
+		<< "\\bunion\\b" << "\\bunsigned\\b" << "\\bvirtual\\b"
+		<< "\\bvoid\\b" << "\\bvolatile\\b" << "\\belse\\b"
+        << "\\bif\\b" << "\\bwhile\\b";
+	foreach (QString pattern, keywordPatterns) {
+		rule.pattern = QRegExp(pattern);
+		rule.format = keywordFormat;
+		highlightingRules.append(rule);
+	}
+
+	classFormat.setFontWeight(QFont::Bold);
+	classFormat.setForeground(Qt::darkMagenta);
+	rule.pattern = QRegExp("\\bQ[A-Za-z]+\\b");
+	rule.format = classFormat;
+	highlightingRules.append(rule);
+
+	singleLineCommentFormat.setForeground(Qt::darkGreen);
+	rule.pattern = QRegExp("//[^\n]*");
+	rule.format = singleLineCommentFormat;
+	highlightingRules.append(rule);
+
+	multiLineCommentFormat.setForeground(Qt::darkGreen);
+
+	quotationFormat.setForeground(Qt::darkRed);
+	rule.pattern = QRegExp("\".*\"");
+	rule.format = quotationFormat;
+	highlightingRules.append(rule);
+
+	//functionFormat.setFontItalic(true);
+	functionFormat.setForeground(Qt::blue);
+	rule.pattern = QRegExp("\\b[A-Za-z0-9_]+(?=\\()");
+	rule.format = functionFormat;
+	highlightingRules.append(rule);
+
+	commentStartExpression = QRegExp("/\\*");
+	commentEndExpression = QRegExp("\\*/");
+}
+
+/*!
+    This function is automatically called by the connected QTextEdit object if needed. \a text 
+    is a pointer to the QString which is parsed for keywords and other syntax elements to highlight.
+    This function needs to be optimized because it scans the whole text for each keyword/RegExp
+*/
+void CppHighlighter::highlightBlock(const QString &text)
+{
+    if ( highlightningIsOn ) {
+        foreach (HighlightingRule rule, highlightingRules) {
+            QRegExp expression(rule.pattern);
+            int index = text.indexOf(expression);
+            while (index >= 0) {
+                int length = expression.matchedLength();
+                setFormat(index, length, rule.format);
+                index = text.indexOf(expression, index + length);
+            }
+        }
+        setCurrentBlockState(0);
+
+        int startIndex = 0;
+        if (previousBlockState() != 1)
+            startIndex = text.indexOf(commentStartExpression);
+
+        while (startIndex >= 0) {
+            int endIndex = text.indexOf(commentEndExpression, startIndex);
+            int commentLength;
+            if (endIndex == -1) {
+                setCurrentBlockState(1);
+                commentLength = text.length() - startIndex;
+            } else {
+                commentLength = endIndex - startIndex
+                    + commentEndExpression.matchedLength();
+            }
+            setFormat(startIndex, commentLength, multiLineCommentFormat);
+            startIndex = text.indexOf(commentStartExpression,
+                startIndex + commentLength);
+        }
+    }
+}
+
+/*!
+    Turns the syntax parser on.
+*/
+void CppHighlighter::turnHighlightOn() {
+    highlightningIsOn = true;
+}
+
+/*!
+    Turns the syntax parser off.
+*/
+void CppHighlighter::turnHighlightOff() {
+    highlightningIsOn = false;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/cpphighlighter.h	Tue Sep 05 15:11:33 2006 +0000
@@ -0,0 +1,56 @@
+/****************************************************************************
+**
+** This file may be used under the terms of the GNU General Public
+** License version 2.0 as published by the Free Software Foundation
+** and appearing in the file LICENSE.GPL included in the packaging of
+** this file.  
+**
+** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+**
+****************************************************************************/
+
+#ifndef CPPHIGHLIGHTER_H
+#define CPPHIGHLIGHTER_H
+
+#include <QSyntaxHighlighter>
+
+#include <QHash>
+#include <QTextCharFormat>
+
+class QTextDocument;
+
+class CppHighlighter : public QSyntaxHighlighter
+{
+	Q_OBJECT
+
+public:
+	CppHighlighter(QTextDocument *parent = 0);
+    void turnHighlightOff();
+    void turnHighlightOn();
+
+protected:
+	void highlightBlock(const QString &text);
+
+private:
+    bool highlightningIsOn;
+
+	struct HighlightingRule
+	{
+		QRegExp pattern;
+		QTextCharFormat format;
+	};
+	QVector<HighlightingRule> highlightingRules;
+
+	QRegExp commentStartExpression;
+	QRegExp commentEndExpression;
+
+	QTextCharFormat keywordFormat;
+	QTextCharFormat classFormat;
+	QTextCharFormat singleLineCommentFormat;
+	QTextCharFormat multiLineCommentFormat;
+	QTextCharFormat quotationFormat;
+	QTextCharFormat functionFormat;
+};
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/indentgui.ui	Tue Sep 05 15:11:33 2006 +0000
@@ -0,0 +1,455 @@
+<ui version="4.0" >
+ <author>Thomas_-_S</author>
+ <comment></comment>
+ <exportmacro></exportmacro>
+ <class>IndentGui</class>
+ <widget class="QMainWindow" name="IndentGui" >
+  <property name="geometry" >
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>800</width>
+    <height>600</height>
+   </rect>
+  </property>
+  <property name="windowTitle" >
+   <string>UniversalIndentGUI</string>
+  </property>
+  <property name="windowIcon" >
+   <iconset resource="../resources/Icons.qrc" >:/mainWindow/icon2.png</iconset>
+  </property>
+  <widget class="QWidget" name="centralwidget" >
+   <layout class="QVBoxLayout" >
+    <property name="margin" >
+     <number>9</number>
+    </property>
+    <property name="spacing" >
+     <number>6</number>
+    </property>
+    <item>
+     <layout class="QHBoxLayout" >
+      <property name="margin" >
+       <number>0</number>
+      </property>
+      <property name="spacing" >
+       <number>6</number>
+      </property>
+      <item>
+       <widget class="QComboBox" name="cmbBoxIndenters" >
+        <property name="toolTip" >
+         <string>&lt;html>&lt;head>&lt;meta name="qrichtext" content="1" />&lt;/head>&lt;body style=" white-space: pre-wrap; font-family:MS Shell Dlg; font-size:8.25pt; font-weight:400; font-style:normal; text-decoration:none;">&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Shows the currently chosen indenters name and lets you choose other available indenters&lt;/p>&lt;/body>&lt;/html></string>
+        </property>
+       </widget>
+      </item>
+      <item>
+       <widget class="QPushButton" name="pbOpenFile" >
+        <property name="toolTip" >
+         <string>&lt;html>&lt;head>&lt;meta name="qrichtext" content="1" />&lt;/head>&lt;body style=" white-space: pre-wrap; font-family:MS Shell Dlg; font-size:8.25pt; font-weight:400; font-style:normal; text-decoration:none;">&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">&lt;span style=" font-size:8pt;">Opens a dialog for selecting a source code file.&lt;/span>&lt;/p>&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;">This file will be used to show what the indent tool changes.&lt;/p>&lt;/body>&lt;/html></string>
+        </property>
+        <property name="text" >
+         <string> Open Source File </string>
+        </property>
+        <property name="icon" >
+         <iconset resource="../resources/Icons.qrc" >:/mainWindow/document-open.png</iconset>
+        </property>
+       </widget>
+      </item>
+      <item>
+       <widget class="QCheckBox" name="cbLivePreview" >
+        <property name="toolTip" >
+         <string>&lt;html>&lt;head>&lt;meta name="qrichtext" content="1" />&lt;/head>&lt;body style=" white-space: pre-wrap; font-family:MS Shell Dlg 2; font-size:8.25pt; font-weight:400; font-style:normal; text-decoration:none;">&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:MS Shell Dlg; font-size:8pt;">Turns the preview of the reformatted source code on and off.&lt;/p>&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:MS Shell Dlg; font-size:8pt;">In other words it switches between formatted and nonformatted code. (Strg+P)&lt;/p>&lt;/body>&lt;/html></string>
+        </property>
+        <property name="text" >
+         <string>Live Indent Preview</string>
+        </property>
+        <property name="icon" >
+         <iconset resource="../resources/Icons.qrc" >:/mainWindow/live-preview.png</iconset>
+        </property>
+        <property name="shortcut" >
+         <string>Ctrl+P</string>
+        </property>
+       </widget>
+      </item>
+      <item>
+       <widget class="QCheckBox" name="cbHighlight" >
+        <property name="toolTip" >
+         <string>&lt;html>&lt;head>&lt;meta name="qrichtext" content="1" />&lt;/head>&lt;body style=" white-space: pre-wrap; font-family:MS Shell Dlg 2; font-size:8.25pt; font-weight:400; font-style:normal; text-decoration:none;">&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:MS Shell Dlg; font-size:8pt;">Enables and disables the highlightning of the source&lt;/p>&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:MS Shell Dlg; font-size:8pt;">code shown below. (Still needs some performance improvements) (Strg+H)&lt;/p>&lt;/body>&lt;/html></string>
+        </property>
+        <property name="text" >
+         <string>Syntax Highlight</string>
+        </property>
+        <property name="icon" >
+         <iconset resource="../resources/Icons.qrc" >:/mainWindow/syntax-highlight.png</iconset>
+        </property>
+        <property name="shortcut" >
+         <string>Ctrl+H</string>
+        </property>
+        <property name="checked" >
+         <bool>true</bool>
+        </property>
+       </widget>
+      </item>
+      <item>
+       <spacer>
+        <property name="orientation" >
+         <enum>Qt::Horizontal</enum>
+        </property>
+        <property name="sizeHint" >
+         <size>
+          <width>40</width>
+          <height>20</height>
+         </size>
+        </property>
+       </spacer>
+      </item>
+      <item>
+       <widget class="QPushButton" name="pbAbout" >
+        <property name="toolTip" >
+         <string>&lt;html>&lt;head>&lt;meta name="qrichtext" content="1" />&lt;/head>&lt;body style=" white-space: pre-wrap; font-family:MS Shell Dlg; font-size:8.25pt; font-weight:400; font-style:normal; text-decoration:none;">&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Shows info about UniversalIndentGUI&lt;/p>&lt;/body>&lt;/html></string>
+        </property>
+        <property name="text" >
+         <string>About</string>
+        </property>
+        <property name="icon" >
+         <iconset resource="../resources/Icons.qrc" >:/mainWindow/info.png</iconset>
+        </property>
+       </widget>
+      </item>
+      <item>
+       <widget class="QPushButton" name="pbExit" >
+        <property name="toolTip" >
+         <string>&lt;html>&lt;head>&lt;meta name="qrichtext" content="1" />&lt;/head>&lt;body style=" white-space: pre-wrap; font-family:MS Shell Dlg; font-size:8.25pt; font-weight:400; font-style:normal; text-decoration:none;">&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Quits the UniversalIndentGUI&lt;/p>&lt;/body>&lt;/html></string>
+        </property>
+        <property name="text" >
+         <string>Exit</string>
+        </property>
+        <property name="icon" >
+         <iconset resource="../resources/Icons.qrc" >:/mainWindow/system-log-out.png</iconset>
+        </property>
+       </widget>
+      </item>
+     </layout>
+    </item>
+    <item>
+     <layout class="QHBoxLayout" >
+      <property name="margin" >
+       <number>0</number>
+      </property>
+      <property name="spacing" >
+       <number>0</number>
+      </property>
+      <item>
+       <layout class="QVBoxLayout" >
+        <property name="margin" >
+         <number>0</number>
+        </property>
+        <property name="spacing" >
+         <number>6</number>
+        </property>
+       </layout>
+      </item>
+      <item>
+       <widget class="QTextEdit" name="txtedLineNumbers" >
+        <property name="maximumSize" >
+         <size>
+          <width>50</width>
+          <height>16777215</height>
+         </size>
+        </property>
+        <property name="font" >
+         <font>
+          <family>Courier New</family>
+          <pointsize>10</pointsize>
+          <weight>50</weight>
+          <italic>false</italic>
+          <bold>false</bold>
+          <underline>false</underline>
+          <strikeout>false</strikeout>
+         </font>
+        </property>
+        <property name="contextMenuPolicy" >
+         <enum>Qt::NoContextMenu</enum>
+        </property>
+        <property name="verticalScrollBarPolicy" >
+         <enum>Qt::ScrollBarAlwaysOff</enum>
+        </property>
+        <property name="lineWrapMode" >
+         <enum>QTextEdit::NoWrap</enum>
+        </property>
+        <property name="readOnly" >
+         <bool>true</bool>
+        </property>
+       </widget>
+      </item>
+      <item>
+       <widget class="QTextEdit" name="txtedSourceCode" >
+        <property name="font" >
+         <font>
+          <family>Courier New</family>
+          <pointsize>10</pointsize>
+          <weight>50</weight>
+          <italic>false</italic>
+          <bold>false</bold>
+          <underline>false</underline>
+          <strikeout>false</strikeout>
+         </font>
+        </property>
+        <property name="lineWrapMode" >
+         <enum>QTextEdit::NoWrap</enum>
+        </property>
+       </widget>
+      </item>
+     </layout>
+    </item>
+   </layout>
+  </widget>
+  <widget class="QStatusBar" name="statusbar" >
+   <property name="geometry" >
+    <rect>
+     <x>0</x>
+     <y>581</y>
+     <width>800</width>
+     <height>19</height>
+    </rect>
+   </property>
+  </widget>
+  <widget class="QMenuBar" name="menuBar" >
+   <property name="geometry" >
+    <rect>
+     <x>0</x>
+     <y>0</y>
+     <width>800</width>
+     <height>21</height>
+    </rect>
+   </property>
+   <widget class="QMenu" name="menuHelp" >
+    <property name="title" >
+     <string>Help</string>
+    </property>
+    <addaction name="actionAbout_UniversalIndentGUI" />
+   </widget>
+   <widget class="QMenu" name="menuIndenter" >
+    <property name="title" >
+     <string>Indenter</string>
+    </property>
+    <addaction name="actionLoad_Indenter_Config_File" />
+    <addaction name="actionSave_Indenter_Config_File" />
+   </widget>
+   <widget class="QMenu" name="menuFile" >
+    <property name="title" >
+     <string>File</string>
+    </property>
+    <widget class="QMenu" name="menuExport" >
+     <property name="title" >
+      <string>Export</string>
+     </property>
+     <addaction name="actionExportPDF" />
+     <addaction name="actionExportHTML" />
+    </widget>
+    <addaction name="actionOpen_Source_File" />
+    <addaction name="actionSave_Source_File" />
+    <addaction name="actionSave_Source_File_As" />
+    <addaction name="menuExport" />
+    <addaction name="actionExit" />
+   </widget>
+   <widget class="QMenu" name="menuSettings" >
+    <property name="title" >
+     <string>Settings</string>
+    </property>
+    <addaction name="actionParameter_Tooltips" />
+   </widget>
+   <addaction name="menuFile" />
+   <addaction name="menuIndenter" />
+   <addaction name="menuSettings" />
+   <addaction name="menuHelp" />
+  </widget>
+  <action name="actionOpen_Source_File" >
+   <property name="icon" >
+    <iconset resource="../resources/Icons.qrc" >:/mainWindow/document-open.png</iconset>
+   </property>
+   <property name="text" >
+    <string>Open Source File</string>
+   </property>
+   <property name="statusTip" >
+    <string>Opens a dialog for selecting a source code file.</string>
+   </property>
+   <property name="shortcut" >
+    <string>Ctrl+O</string>
+   </property>
+  </action>
+  <action name="actionSave_Source_File" >
+   <property name="enabled" >
+    <bool>true</bool>
+   </property>
+   <property name="icon" >
+    <iconset resource="../resources/Icons.qrc" >:/mainWindow/document-save.png</iconset>
+   </property>
+   <property name="text" >
+    <string>Save Source File</string>
+   </property>
+   <property name="statusTip" >
+    <string>Saves the currently shown source code to the last opened or saved source file.</string>
+   </property>
+   <property name="shortcut" >
+    <string>Ctrl+S</string>
+   </property>
+  </action>
+  <action name="actionSave_Source_File_As" >
+   <property name="enabled" >
+    <bool>true</bool>
+   </property>
+   <property name="icon" >
+    <iconset resource="../resources/Icons.qrc" >:/mainWindow/document-save-as.png</iconset>
+   </property>
+   <property name="text" >
+    <string>Save Source File As</string>
+   </property>
+   <property name="statusTip" >
+    <string>Opens a file dialog to save the currently shown source code.</string>
+   </property>
+  </action>
+  <action name="actionLoad_Indenter_Config_File" >
+   <property name="icon" >
+    <iconset resource="../resources/Icons.qrc" >:/mainWindow/load_indent_cfg.png</iconset>
+   </property>
+   <property name="text" >
+    <string>Load Indenter Config File</string>
+   </property>
+   <property name="statusTip" >
+    <string>Opens a file dialog to load the original config file of the indenter.</string>
+   </property>
+   <property name="shortcut" >
+    <string>Alt+O</string>
+   </property>
+  </action>
+  <action name="actionSave_Indenter_Config_File" >
+   <property name="enabled" >
+    <bool>true</bool>
+   </property>
+   <property name="icon" >
+    <iconset resource="../resources/Icons.qrc" >:/mainWindow/save_indent_cfg.png</iconset>
+   </property>
+   <property name="text" >
+    <string>Save Indenter Config File</string>
+   </property>
+   <property name="statusTip" >
+    <string>Opens a dialog to save the current indenter configuration to a file.</string>
+   </property>
+   <property name="shortcut" >
+    <string>Alt+S</string>
+   </property>
+  </action>
+  <action name="actionAbout_UniversalIndentGUI" >
+   <property name="icon" >
+    <iconset resource="../resources/Icons.qrc" >:/mainWindow/info.png</iconset>
+   </property>
+   <property name="text" >
+    <string>About UniversalIndentGUI</string>
+   </property>
+   <property name="statusTip" >
+    <string>Shows info about UniversalIndentGUI.</string>
+   </property>
+  </action>
+  <action name="actionExit" >
+   <property name="icon" >
+    <iconset resource="../resources/Icons.qrc" >:/mainWindow/system-log-out.png</iconset>
+   </property>
+   <property name="text" >
+    <string>Exit</string>
+   </property>
+   <property name="statusTip" >
+    <string>Quits the UniversalIndentGUI.</string>
+   </property>
+   <property name="shortcut" >
+    <string>Ctrl+Q</string>
+   </property>
+  </action>
+  <action name="actionExportPDF" >
+   <property name="icon" >
+    <iconset resource="../resources/Icons.qrc" >:/mainWindow/exportpdf.png</iconset>
+   </property>
+   <property name="text" >
+    <string>PDF</string>
+   </property>
+   <property name="statusTip" >
+    <string>Export the currently visible source code as PDF document</string>
+   </property>
+  </action>
+  <action name="actionExportHTML" >
+   <property name="icon" >
+    <iconset resource="../resources/Icons.qrc" >:/mainWindow/exporthtml.png</iconset>
+   </property>
+   <property name="text" >
+    <string>HTML</string>
+   </property>
+   <property name="statusTip" >
+    <string>Export the currently visible source code as HTML document</string>
+   </property>
+  </action>
+  <action name="actionParameter_Tooltips" >
+   <property name="checkable" >
+    <bool>true</bool>
+   </property>
+   <property name="checked" >
+    <bool>true</bool>
+   </property>
+   <property name="icon" >
+    <iconset resource="../resources/Icons.qrc" >:/mainWindow/tooltip.png</iconset>
+   </property>
+   <property name="text" >
+    <string>Parameter Tooltips</string>
+   </property>
+   <property name="statusTip" >
+    <string>If checked, tool tips will show up if the mouse cursor remains over an indenter parameter for a while.</string>
+   </property>
+  </action>
+ </widget>
+ <pixmapfunction></pixmapfunction>
+ <tabstops>
+  <tabstop>cmbBoxIndenters</tabstop>
+  <tabstop>pbOpenFile</tabstop>
+  <tabstop>cbLivePreview</tabstop>
+  <tabstop>cbHighlight</tabstop>
+  <tabstop>pbAbout</tabstop>
+  <tabstop>pbExit</tabstop>
+  <tabstop>txtedLineNumbers</tabstop>
+  <tabstop>txtedSourceCode</tabstop>
+ </tabstops>
+ <resources>
+  <include location="../resources/Icons.qrc" />
+ </resources>
+ <connections>
+  <connection>
+   <sender>pbExit</sender>
+   <signal>clicked()</signal>
+   <receiver>IndentGui</receiver>
+   <slot>close()</slot>
+   <hints>
+    <hint type="sourcelabel" >
+     <x>764</x>
+     <y>42</y>
+    </hint>
+    <hint type="destinationlabel" >
+     <x>793</x>
+     <y>59</y>
+    </hint>
+   </hints>
+  </connection>
+  <connection>
+   <sender>actionExit</sender>
+   <signal>activated()</signal>
+   <receiver>IndentGui</receiver>
+   <slot>close()</slot>
+   <hints>
+    <hint type="sourcelabel" >
+     <x>-1</x>
+     <y>-1</y>
+    </hint>
+    <hint type="destinationlabel" >
+     <x>399</x>
+     <y>299</y>
+    </hint>
+   </hints>
+  </connection>
+ </connections>
+</ui>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/indenthandler.cpp	Tue Sep 05 15:11:33 2006 +0000
@@ -0,0 +1,777 @@
+/****************************************************************************
+**
+** This file may be used under the terms of the GNU General Public
+** License version 2.0 as published by the Free Software Foundation
+** and appearing in the file LICENSE.GPL included in the packaging of
+** this file.  
+**
+** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+**
+****************************************************************************/
+
+#include "indenthandler.h"
+
+/*!
+    \class IndentHandler
+    \brief A widget for handling many indenters that are configured by an ini file.
+
+    This is a widget that is used by the main window. It handles access to the
+    indenter config file and calls the chosen indenter to reformat the source text.
+    Calls the indenter each time a setting has been changed and informs
+    the main window about the reformatted source code.
+*/
+
+
+/*!
+    Constructor of the indent handler. By calling this constructor the indenter
+    to be loaded, can be selected by setting its \a indenterID, which is the number
+    of found indenter ini files in alphabetic order starting at index 0.
+ */
+IndentHandler::IndentHandler(QString dataDirPathStr, int indenterID, QMainWindow *mainWindow, QWidget *parent)
+    : QWidget(parent)
+{
+    Q_ASSERT_X( indenterID >= 0, "IndentHandler", "the selected indenterID is < 0" );
+
+    this->mainWindow = mainWindow;
+
+	// define this widgets size and resize behavior
+	this->setMaximumWidth(263);
+	this->setSizePolicy( QSizePolicy::Expanding, QSizePolicy::Expanding );
+
+	// create vertical layout box, into which the toolbox will be added
+	vboxLayout = new QVBoxLayout(this);
+
+	// create a toolbox and set its resize behavior
+	toolBox = new QToolBox(this);
+	toolBox->setObjectName(QString::fromUtf8("toolBox"));
+	toolBox->setSizePolicy( QSizePolicy::Expanding, QSizePolicy::Expanding );
+	toolBox->setMaximumSize(QSize(16777215, 16777215));
+	// insert the toolbox into the vlayout
+	vboxLayout->addWidget(toolBox);
+
+	dataDirctoryStr = dataDirPathStr;
+	QDir dataDirctory = QDir(dataDirPathStr);
+
+	indenterIniFileList = dataDirctory.entryList( QStringList("uigui_*.ini") );
+    noIndenterExecExistDialogAlreadyShown = false;
+
+    // Take care if the selected indenterID is smaller or greater than the number of existing indenters
+    if ( indenterID < 0 ) {
+        indenterID = 0;
+    }
+    if ( indenterID >= indenterIniFileList.count() ) {
+        indenterID = indenterIniFileList.count() - 1;
+    }
+
+	// reads and parses first found indent ini file and creates toolbox entries
+	readIndentIniFile( dataDirctoryStr + indenterIniFileList.at(indenterID) );
+}
+
+
+/*! 
+   Format \a sourceCode by calling the indenter. The \a inputFileExtension has to be given as parameter
+   so the called indenter can identify the programming language if needed.
+ */
+QString IndentHandler::callIndenter(QString sourceCode, QString inputFileExtension) {
+    Q_ASSERT_X( !inputFileName.isEmpty(), "callIndenter", "inputFileName is empty" );
+    Q_ASSERT_X( !outputFileName.isEmpty(), "callIndenter", "outputFileName is empty" );
+    Q_ASSERT_X( !indenterFileName.isEmpty(), "callIndenter", "indenterFileName is empty" );
+
+    // generate the parameter string that will be save to the indenters config file
+    QString parameterString = getParameterString();
+    writeConfigFile( parameterString );
+
+    QString formattedSourceCode;
+
+    // only add point to file extension if the string is not empty
+    if ( !inputFileExtension.isEmpty() ) {
+        inputFileExtension = "." + inputFileExtension;
+    }
+
+    QFile::remove(dataDirctoryStr + inputFileName + inputFileExtension);
+    QFile outSrcFile(dataDirctoryStr + inputFileName + inputFileExtension);
+	QString indentCallString = inputFileParameter + inputFileName + inputFileExtension;
+    if ( outputFileParameter != "none" ) {
+        indentCallString += " "+ outputFileParameter + outputFileName + inputFileExtension;
+    }
+
+    QProcess indentProcess;
+    QString processReturnString;
+
+    // Test if the indenter executable exists. If not show a dialog box once and return
+    // the unformatted source code. Else continue calling the indenter.
+    bool indenterExecutableExists = false; 
+#if defined(Q_OS_WIN32)
+    indenterExecutableExists = QFile::exists(dataDirctoryStr + indenterFileName+".exe");
+#else
+    indenterExecutableExists = QFile::exists(dataDirctoryStr + indenterFileName) || QFile::exists(dataDirctoryStr + indenterFileName+".exe");
+#endif
+    if ( !indenterExecutableExists ) {
+        if ( !noIndenterExecExistDialogAlreadyShown ) {
+            QMessageBox::warning(NULL, tr("No indenter executable"), tr("There exists no indenter executable with the name \"")
+                +indenterFileName+ tr("\" in the directory \"") +dataDirctoryStr+"\".");
+            noIndenterExecExistDialogAlreadyShown = true;
+        }
+        return sourceCode;
+    }
+
+    // generate the indenter call string either for win32 or other systems
+#if defined(Q_OS_WIN32)
+	indentCallString = dataDirctoryStr + indenterFileName +".exe "+ indentCallString;
+#else
+	indentCallString = "./" + indenterFileName +" "+ indentCallString;
+#endif
+
+    // if needed add the parameter to the indenter call string where the config file can be found
+    if ( !useCfgFileParameter.isEmpty() ) {
+        indentCallString += " "+ useCfgFileParameter + configFilename;
+    }
+
+    // write the source code to the input file for the indenter
+    outSrcFile.open( QFile::ReadWrite | QFile::Text );
+    outSrcFile.write( sourceCode.toAscii() );
+    outSrcFile.close();
+    
+    // errors and standard outputs from the process call are merged together
+    indentProcess.setReadChannelMode(QProcess::MergedChannels);
+
+#if defined(Q_OS_LINUX)
+	// if no linux binary exists to run the indenter, use wine to run the windows exe
+	if ( !QFile::exists(dataDirctoryStr + indenterFileName) ) {
+		indentCallString = "wine " + indentCallString;
+	}
+#endif
+
+    // set the directory for the indenter execution
+    indentProcess.setWorkingDirectory( QFileInfo(dataDirctoryStr).absoluteFilePath() );
+
+    indentProcess.start(indentCallString);
+
+    // test if there was an error during starting the process of the indenter, or in case of linux
+    // there might also been an error starting wine
+    if ( !indentProcess.waitForFinished() ) {
+        processReturnString = indentProcess.errorString();
+
+        switch ( indentProcess.error() ) {
+            case QProcess::FailedToStart : 
+                processReturnString += "\nThe process failed to start. Either the invoked program is missing, or you may have insufficient permissions to invoke the program.";
+                break;
+            case QProcess::Crashed : 
+                processReturnString += "\nThe process crashed some time after starting successfully.";
+                break;
+            case QProcess::Timedout : 
+                processReturnString += "\nThe last waitFor...() function timed out. The state of QProcess is unchanged, and you can try calling waitFor...() again.";
+                break;
+            case QProcess::WriteError : 
+                processReturnString += "\nAn error occurred when attempting to write to the process. For example, the process may not be running, or it may have closed its input channel.";
+                break;
+            case QProcess::ReadError : 
+                processReturnString += "\nAn error occurred when attempting to read from the process. For example, the process may not be running.";
+                break;
+            case QProcess::UnknownError : 
+                processReturnString += "\nAn unknown error occurred. This is the default return value of error().";
+                break;
+            default :
+                break;
+        }
+        QMessageBox::warning(NULL, tr("Error calling Indenter"), processReturnString
+            +tr("\nCallstring was: ")+indentCallString);
+    }
+    // there was no problem starting  the process/indenter so fetch, what it returned
+    else {
+        processReturnString = indentProcess.readAll();
+    }
+
+    // if the indenter returned an errorcode != 0 show its output
+    if ( indentProcess.exitCode() != 0 ) {
+        QString exitCode;
+        exitCode.setNum(indentProcess.exitCode());
+        QMessageBox::warning(NULL, tr("Indenter returned error"), tr("Indenter returned with exit code ")+exitCode
+            +tr(".\nIndent console output was: \n")+processReturnString
+            +tr("\nCallstring was: ")+indentCallString);
+    }
+
+    // read the output file generated by the indenter call
+    outSrcFile.setFileName(dataDirctoryStr + outputFileName + inputFileExtension);
+    outSrcFile.open(QFile::ReadOnly | QFile::Text);
+    formattedSourceCode = outSrcFile.readAll();
+    outSrcFile.close();
+
+    // delete the temporary input and output files
+    QFile::remove(dataDirctoryStr + outputFileName + inputFileExtension);
+    QFile::remove(dataDirctoryStr + inputFileName + inputFileExtension);
+
+    return formattedSourceCode;
+}
+
+/*!
+    Generates and returns a string with all parameters needed to call the indenter.
+ */
+QString IndentHandler::getParameterString() {
+
+    QString parameterString = "";
+
+    // generate parameter string for all boolean values
+    foreach (ParamBoolean pBoolean, paramBooleans) {
+        if ( pBoolean.checkBox->isChecked() ) {
+            if ( !pBoolean.trueString.isEmpty() ) {
+                parameterString += pBoolean.trueString + cfgFileParameterEnding;
+            }
+            indenterSettings->setValue( pBoolean.paramName + "/Value", 1);
+        }
+        else {
+            if ( !pBoolean.falseString.isEmpty() ) {
+                parameterString += pBoolean.falseString + cfgFileParameterEnding;
+            }
+            indenterSettings->setValue( pBoolean.paramName + "/Value", 0);
+        }
+    }
+
+    // generate parameter string for all numeric values
+    foreach (ParamNumeric pNumeric, paramNumerics) {
+        if ( pNumeric.valueEnabledChkBox->isChecked() ) {
+            parameterString += pNumeric.paramCallName + QString::number( pNumeric.spinBox->value() ) + cfgFileParameterEnding;
+        }
+        indenterSettings->setValue( pNumeric.paramName + "/Value", pNumeric.spinBox->value() );
+        indenterSettings->setValue( pNumeric.paramName + "/Enabled", pNumeric.valueEnabledChkBox->isChecked() );
+    }
+
+    // generate parameter string for all string values
+    foreach (ParamString pString, paramStrings) {
+        if ( pString.lineEdit->text() != "" && pString.valueEnabledChkBox->isChecked() ) {
+            parameterString += pString.paramCallName + pString.lineEdit->text() + cfgFileParameterEnding;
+        }
+        indenterSettings->setValue( pString.paramName + "/Value", pString.lineEdit->text() );
+        indenterSettings->setValue( pString.paramName + "/Enabled", pString.valueEnabledChkBox->isChecked() );
+    }
+
+    // generate parameter string for all multiple choice values
+    foreach (ParamMultiple pMultiple, paramMultiples) {
+        if ( pMultiple.valueEnabledChkBox->isChecked() ) {
+            parameterString += pMultiple.choicesStrings.at( pMultiple.comboBox->currentIndex () ) + cfgFileParameterEnding;
+        }
+        indenterSettings->setValue( pMultiple.paramName + "/Value", pMultiple.comboBox->currentIndex () );
+        indenterSettings->setValue( pMultiple.paramName + "/Enabled", pMultiple.valueEnabledChkBox->isChecked() );
+    }
+    
+    return parameterString;
+}
+
+
+/*!
+    Write settings for the indenter to a config file.
+ */
+void IndentHandler::writeConfigFile(QString paramString) {
+    Q_ASSERT_X( !configFilename.isEmpty(), "writeConfigFile", "configFilename is empty" );
+
+    QFile::remove( dataDirctoryStr + configFilename );
+    QFile cfgFile( dataDirctoryStr + configFilename );
+
+    cfgFile.open( QFile::ReadWrite | QFile::Text );
+    cfgFile.write( paramString.toAscii() );
+    cfgFile.close();
+}
+
+/*!
+    Load the config file for the indenter and apply the settings made there.
+ */
+void IndentHandler::loadConfigFile(QString filePathName) {
+    Q_ASSERT_X( !filePathName.isEmpty(), "loadConfigFile", "filePathName is empty" );
+
+	QFile cfgFile(filePathName);
+	int index;
+    int crPos;
+    int paramValue = 0;
+    QString paramValueStr;
+
+    // open the config file and read all data
+	cfgFile.open( QFile::ReadOnly | QFile::Text );
+	cfgFileData = cfgFile.readAll();
+	cfgFile.close();
+
+    // search for name of each boolean parameter and set its value if found
+	foreach (ParamBoolean pBoolean, paramBooleans) {
+
+        // boolean value that will be assigned to the checkbox
+        bool paramValue = false;
+
+        // first search for the longer parameter string
+        // the true parameter string is longer than the false string
+        if ( pBoolean.trueString.length() > pBoolean.falseString.length() ) {
+            // search for the true string
+            index = cfgFileData.indexOf( pBoolean.trueString, 0 );
+            // if true string found set the parameter value to true
+            if ( index != -1 ) {
+                paramValue = true;
+            }
+            // if true string not found, search for false string
+            else {
+                index = cfgFileData.indexOf( pBoolean.falseString, 0 );
+                // if false string found set the parameter value to false
+                if ( index != -1 ) {
+                    paramValue = false;
+                }
+				// neither true nor false parameter found so use default value
+				else {
+					paramValue = indenterSettings->value(pBoolean.paramName + "/ValueDefault").toBool();
+				}
+            }
+        }
+        // the false parameter string is longer than the true string
+        else {
+
+            // search for the false string
+            index = cfgFileData.indexOf( pBoolean.falseString, 0 );
+            // if false string found set the parameter value to false
+            if ( index != -1 ) {
+                paramValue = false;
+            }
+            // if false string not found, search for true string
+            else {
+                index = cfgFileData.indexOf( pBoolean.trueString, 0 );
+                // if true string found set the parameter value to true
+                if ( index != -1 ) {
+                    paramValue = true;
+                }
+				// neither true nor false parameter found so use default value
+				else {
+					paramValue = indenterSettings->value(pBoolean.paramName + "/ValueDefault").toBool();
+				}
+            }
+        }
+        pBoolean.checkBox->setChecked(paramValue);
+	}
+
+    // search for name of each numeric parameter and set the value found behind it
+	foreach (ParamNumeric pNumeric, paramNumerics) {
+		index = cfgFileData.indexOf( pNumeric.paramCallName, 0 );
+		// parameter was found in config file
+		if ( index != -1 ) {
+            // set index after the parameter name, so in front of the number
+            index += pNumeric.paramCallName.length();
+
+            // find the line end by searching for carriage return
+            crPos = cfgFileData.indexOf( cfgFileParameterEnding, index+1 );
+
+            // get the number and convert it to int
+            QString test = cfgFileData.mid( index, crPos - index );
+            paramValue = cfgFileData.mid( index, crPos - index ).toInt(NULL);
+
+            // disable the signal-slot connection. Otherwise signal is emmitted each time when value is set
+            QObject::disconnect(pNumeric.spinBox, SIGNAL(valueChanged(int)), this, SIGNAL(settingsCodeChanged()));
+            pNumeric.spinBox->setValue( paramValue );
+            QObject::connect(pNumeric.spinBox, SIGNAL(valueChanged(int)), this, SIGNAL(settingsCodeChanged()));
+		}
+		// parameter was not found in config file
+		else {
+			int defaultValue = indenterSettings->value(pNumeric.paramName + "/ValueDefault").toInt();
+			// a value of -1 means that this parameter is disabled
+			if ( defaultValue == -1 ) {
+				pNumeric.valueEnabledChkBox->setChecked( false );
+			}
+			// if not disabled use the given default value
+			else {
+				pNumeric.spinBox->setValue( defaultValue );
+			}
+		}
+	}
+
+    // search for name of each string parameter and set it
+	foreach (ParamString pString, paramStrings) {
+		index = cfgFileData.indexOf( pString.paramCallName, 0 );
+		// parameter was found in config file
+		if ( index != -1 ) {
+            // set index after the parameter name, so in front of the string
+            index += pString.paramCallName.length();
+
+            // find the line end by searching for carriage return
+            crPos = cfgFileData.indexOf( cfgFileParameterEnding, index+1 );
+
+            // get the number and convert it to int
+            paramValueStr = QString( cfgFileData.mid( index, crPos - index ) );
+            pString.lineEdit->setText( paramValueStr );
+		}
+		// parameter was not found in config file
+		else {
+			QString defaultValue = indenterSettings->value(pString.paramName + "/ValueDefault").toString();
+			// a value of -1 means that this parameter is disabled
+			if ( defaultValue == "-1" ) {
+				pString.valueEnabledChkBox->setChecked( false );
+			}
+			// if not disabled use the given default value
+			else {
+				pString.lineEdit->setText( defaultValue );
+			}
+		}
+	}
+
+    // search for name of each multiple choice parameter and set it
+	foreach (ParamMultiple pMultiple, paramMultiples) {
+        int i = 0;
+        index = -1;
+
+        // search for all parameter names of the multiple choice list
+        // if one is found, set it and leave the while loop
+        while ( i < pMultiple.choicesStrings.count() && index == -1 ) {
+            index = cfgFileData.indexOf( pMultiple.choicesStrings.at(i), 0 );
+            if ( index != -1 ) {
+                pMultiple.comboBox->setCurrentIndex( i );
+            }
+            i++;
+        }
+
+		// parameter was not set in config file, so use default value
+		if ( index == -1 ) {
+			int defaultValue = indenterSettings->value(pMultiple.paramName + "/ValueDefault").toInt();
+			// a value of -1 means that this parameter is disabled
+			if ( defaultValue == -1 ) {
+				pMultiple.valueEnabledChkBox->setChecked( false );
+			}
+			// if not disabled use the given default value
+			else {
+				pMultiple.comboBox->setCurrentIndex( defaultValue );
+			}
+		}
+	}
+}
+
+/*!
+    Opens and parses the indenter ini file that is declarde by \a iniFilePath.
+ */
+void IndentHandler::readIndentIniFile(QString iniFilePath) {
+    Q_ASSERT_X( !iniFilePath.isEmpty(), "readIndentIniFile", "iniFilePath is empty" );
+
+    // open the ini-file that contains all available indenter settings with their additional infos
+    indenterSettings = new QSettings(iniFilePath, QSettings::IniFormat, this);
+    
+	QStringList categories;
+    //QString indenterGroupString = "";
+    QString paramToolTip = "";
+
+
+    //
+    //  parse ini file indenter header
+    //
+
+    indenterName = indenterSettings->value(" header/indenterName").toString();
+    indenterFileName = indenterSettings->value(" header/indenterFileName").toString();
+    configFilename = indenterSettings->value(" header/configFilename").toString();
+    useCfgFileParameter = indenterSettings->value(" header/useCfgFileParameter").toString();
+    cfgFileParameterEnding = indenterSettings->value(" header/cfgFileParameterEnding").toString();
+    if ( cfgFileParameterEnding == "cr" ) {
+        cfgFileParameterEnding = "\n";
+    }
+
+    inputFileParameter = indenterSettings->value(" header/inputFileParameter").toString();
+    inputFileName = indenterSettings->value(" header/inputFileName").toString();
+    outputFileParameter = indenterSettings->value(" header/outputFileParameter").toString();
+	outputFileName = indenterSettings->value(" header/outputFileName").toString();
+    fileTypes = indenterSettings->value(" header/fileTypes").toString();
+    fileTypes.replace('|', " ");
+
+    // read the categories names which are separated by "|"
+    QString categoriesStr = indenterSettings->value(" header/categories").toString();
+    categories = categoriesStr.split("|");
+
+    ToolBoxPage toolBoxPage;
+
+    // create a page for each category and store its references in a toolboxpage-array
+    foreach (QString category, categories) {
+        //QString categoryName = indenterSettings->value("Categories/" + category).toString();
+        QString categoryName = category;
+
+        toolBoxPage.page = new QWidget();
+        toolBoxPage.page->setObjectName(categoryName);
+        toolBoxPage.vboxLayout = new QVBoxLayout(toolBoxPage.page);
+        toolBoxPage.vboxLayout->setSpacing(6);
+        toolBoxPage.vboxLayout->setMargin(9);
+        toolBoxPage.vboxLayout->setObjectName(categoryName);
+        toolBoxPages.append(toolBoxPage);
+        toolBox->addItem(toolBoxPage.page, QApplication::translate("IndentHandler", categoryName.toAscii(), 0, QApplication::UnicodeUTF8));
+    }
+
+
+    //
+    //  parse ini file indenter parameters
+    //
+
+    // read all possible parameters written in brackets []
+    indenterParameters = indenterSettings->childGroups();
+
+    // read each parameter to create the corresponding input field
+    foreach (QString indenterParameter, indenterParameters) {
+
+        // if it is not the indent header definition read the parameter and add it to
+        // the corresponding category toolbox page
+		if ( indenterParameter != " header") {
+            // read to which category the parameter belongs
+            int category = indenterSettings->value(indenterParameter + "/Category").toInt();
+            // read which type of input field the parameter needs
+            QString editType = indenterSettings->value(indenterParameter + "/EditorType").toString();
+
+            // edit type is numeric so create a spinbox with label
+            if ( editType == "numeric" ) {
+				// read the parameter name as it is used at the command line or in its config file
+				QString parameterCallName = indenterSettings->value(indenterParameter + "/CallName").toString();
+
+                // create checkbox which enables or disables the parameter
+                QCheckBox *chkBox = new QCheckBox( toolBoxPages.at(category).page );
+                chkBox->setChecked( indenterSettings->value(indenterParameter + "/Enabled").toBool() );
+                chkBox->setToolTip( "Enables/disables the parameter. If disabled the indenters default value will be used." );
+                chkBox->setSizePolicy( QSizePolicy::Fixed, QSizePolicy::Fixed );
+                int left, top, right, bottom;
+                chkBox->getContentsMargins( &left, &top, &right, &bottom );
+                chkBox->setContentsMargins( left, top, 0, bottom );
+
+                // create the spinbox
+                QSpinBox *spinBox = new QSpinBox( toolBoxPages.at(category).page );
+                spinBox->setValue( indenterSettings->value(indenterParameter + "/Value").toInt() );
+                paramToolTip = indenterSettings->value(indenterParameter + "/Description").toString();
+                spinBox->setToolTip( paramToolTip );
+                spinBox->setMaximumWidth(50);
+                spinBox->setMinimumWidth(50);
+                spinBox->installEventFilter( mainWindow );
+				if ( indenterSettings->value(indenterParameter + "/MinVal").toString() != "" ) {
+					spinBox->setMinimum( indenterSettings->value(indenterParameter + "/MinVal").toInt() );
+				}
+				else {
+                    spinBox->setMinimum( 0 );
+				}
+                if ( indenterSettings->value(indenterParameter + "/MaxVal").toString() != "" ) {
+					spinBox->setMaximum( indenterSettings->value(indenterParameter + "/MaxVal").toInt() );
+				}
+				else {
+                    spinBox->setMaximum( 2000 );
+				}
+
+                // create the label
+                QLabel *label = new QLabel( toolBoxPages.at(category).page );
+                label->setText(indenterParameter);
+                label->setBuddy(spinBox);
+                label->setToolTip( paramToolTip );
+                label->installEventFilter( mainWindow );
+
+                // put all into a layout and add it to the toolbox page
+                QHBoxLayout *hboxLayout = new QHBoxLayout();
+                hboxLayout->addWidget(chkBox);
+                hboxLayout->addWidget(spinBox);
+                hboxLayout->addWidget(label);                
+                toolBoxPages.at(category).vboxLayout->addLayout(hboxLayout);
+
+                // remember parameter name and reference to its spinbox
+                ParamNumeric paramNumeric;
+                paramNumeric.paramName = indenterParameter;
+				paramNumeric.paramCallName = parameterCallName;
+                paramNumeric.spinBox = spinBox;
+                paramNumeric.label = label;
+                paramNumeric.valueEnabledChkBox = chkBox;
+                paramNumerics.append(paramNumeric);
+
+                QObject::connect(spinBox, SIGNAL(valueChanged(int)), this, SIGNAL(settingsCodeChanged()));
+                QObject::connect(chkBox, SIGNAL(clicked()), this, SIGNAL(settingsCodeChanged()));
+            }
+            // edit type is boolean so create a checkbox
+            else if ( editType == "boolean" ) {
+                // create the checkbox, make its settings and add it to the toolbox page
+                QCheckBox *chkBox = new QCheckBox( toolBoxPages.at(category).page );
+                chkBox->setText(indenterParameter);
+                chkBox->setChecked( indenterSettings->value(indenterParameter + "/Value").toBool() );
+				paramToolTip = indenterSettings->value(indenterParameter + "/Description").toString();
+				chkBox->setToolTip( paramToolTip );
+                chkBox->installEventFilter( mainWindow );
+				toolBoxPages.at(category).vboxLayout->addWidget(chkBox);
+
+                // remember parameter name and reference to its checkbox
+                ParamBoolean paramBoolean;
+                paramBoolean.paramName = indenterParameter;
+                paramBoolean.checkBox = chkBox;
+				QStringList trueFalseStrings = indenterSettings->value(indenterParameter + "/TrueFalse").toString().split("|");
+				paramBoolean.trueString = trueFalseStrings.at(0);
+				paramBoolean.falseString = trueFalseStrings.at(1);
+                paramBooleans.append(paramBoolean);
+
+                QObject::connect(chkBox, SIGNAL(clicked()), this, SIGNAL(settingsCodeChanged()));
+            }
+            // edit type is numeric so create a lineedit with label
+            else if ( editType == "string" ) {
+				// read the parameter name as it is used at the command line or in its config file
+				QString parameterCallName = indenterSettings->value(indenterParameter + "/CallName").toString();
+
+                // create checkbox which enables or disables the parameter
+                QCheckBox *chkBox = new QCheckBox( toolBoxPages.at(category).page );
+                chkBox->setChecked( indenterSettings->value(indenterParameter + "/Enabled").toBool() );
+                chkBox->setToolTip( "Enables/disables the parameter. If disabled the indenters default value will be used." );
+                chkBox->setSizePolicy( QSizePolicy::Fixed, QSizePolicy::Fixed );
+                int left, top, right, bottom;
+                chkBox->getContentsMargins( &left, &top, &right, &bottom );
+                chkBox->setContentsMargins( left, top, 0, bottom );
+
+                // create the line edit
+                QLineEdit *lineEdit = new QLineEdit( toolBoxPages.at(category).page );
+                lineEdit->setText( indenterSettings->value(indenterParameter + "/Value").toString() );
+                paramToolTip = indenterSettings->value(indenterParameter + "/Description").toString();
+                lineEdit->setToolTip( paramToolTip );
+				lineEdit->setMaximumWidth(50);
+				lineEdit->setMinimumWidth(50);
+                lineEdit->installEventFilter( mainWindow );
+
+                // create the label
+                QLabel *label = new QLabel( toolBoxPages.at(category).page );
+                label->setText(indenterParameter);
+				label->setBuddy(lineEdit);
+				label->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::Preferred);
+                label->setToolTip( paramToolTip );
+                label->installEventFilter( mainWindow );
+
+                // put all into a layout and add it to the toolbox page
+                QHBoxLayout *hboxLayout = new QHBoxLayout();
+                hboxLayout->addWidget(chkBox);
+                hboxLayout->addWidget(lineEdit);
+                hboxLayout->addWidget(label);  
+                toolBoxPages.at(category).vboxLayout->addLayout(hboxLayout);
+
+                // remember parameter name and reference to its lineedit
+                ParamString paramString;
+                paramString.paramName = indenterParameter;
+				paramString.paramCallName = parameterCallName;
+                paramString.lineEdit = lineEdit;
+                paramString.label = label;
+                paramString.valueEnabledChkBox = chkBox;
+                paramStrings.append(paramString);
+
+                QObject::connect(lineEdit, SIGNAL(editingFinished()), this, SIGNAL(settingsCodeChanged()));
+                QObject::connect(chkBox, SIGNAL(clicked()), this, SIGNAL(settingsCodeChanged()));
+            }
+            // edit type is multiple so create a combobox with label
+            else if ( editType == "multiple" ) {
+				// read the parameter name as it is used at the command line or in its config file
+				QString parameterCallName = indenterSettings->value(indenterParameter + "/CallName").toString();
+
+                // create checkbox which enables or disables the parameter
+                QCheckBox *chkBox = new QCheckBox( toolBoxPages.at(category).page );
+                chkBox->setChecked( indenterSettings->value(indenterParameter + "/Enabled").toBool() );
+                chkBox->setToolTip( "Enables/disables the parameter. If disabled the indenters default value will be used." );
+                chkBox->setSizePolicy( QSizePolicy::Fixed, QSizePolicy::Fixed );
+                int left, top, right, bottom;
+                chkBox->getContentsMargins( &left, &top, &right, &bottom );
+                chkBox->setContentsMargins( left, top, 0, bottom );
+
+                // create the combo box
+                QComboBox *comboBox = new QComboBox( toolBoxPages.at(category).page );
+                QStringList choicesStrings = indenterSettings->value(indenterParameter + "/Choices").toString().split("|");
+                comboBox->addItems( choicesStrings );
+                comboBox->setCurrentIndex( indenterSettings->value(indenterParameter + "/Value").toInt() );
+                paramToolTip = indenterSettings->value(indenterParameter + "/Description").toString();
+                comboBox->setToolTip( paramToolTip );
+                comboBox->installEventFilter( mainWindow );
+
+                // put all into a layout and add it to the toolbox page
+                QHBoxLayout *hboxLayout = new QHBoxLayout();
+                hboxLayout->addWidget(chkBox);
+                hboxLayout->addWidget(comboBox);
+                toolBoxPages.at(category).vboxLayout->addLayout(hboxLayout);
+
+                // remember parameter name and reference to its lineedit
+                ParamMultiple paramMultiple;
+                paramMultiple.paramName = indenterParameter;
+				paramMultiple.paramCallName = parameterCallName;
+                paramMultiple.comboBox = comboBox;
+                paramMultiple.choicesStrings = choicesStrings;
+                paramMultiple.valueEnabledChkBox = chkBox;
+                paramMultiples.append(paramMultiple);
+
+                QObject::connect(comboBox, SIGNAL(activated(int)), this, SIGNAL(settingsCodeChanged()));
+                QObject::connect(chkBox, SIGNAL(clicked()), this, SIGNAL(settingsCodeChanged()));
+            }
+
+        }
+    }
+
+    // put a spacer at each page end
+    foreach (ToolBoxPage tbp, toolBoxPages) {
+        tbp.vboxLayout->addStretch();
+    }
+}
+
+
+/*!
+    Opens all uigui ini files found in the list \a indenterIniFileList, opens each ini file
+    and reads the there defined real name of the indenter. These names are being returned as QStringList
+ */
+QStringList IndentHandler::getAvailableIndenters() {
+    QStringList indenterNamesList;
+
+    // Loop for every existing uigui ini file
+    foreach (QString indenterIniFile, indenterIniFileList) {
+        
+        // Open the ini file and search for the indenter name
+        QFile file(dataDirctoryStr + indenterIniFile);
+        if ( file.open(QIODevice::ReadOnly | QIODevice::Text) ) {
+            int index = -1;
+            QByteArray line;
+            // Search for the string "indenterName=" and get the following string until line end.
+            while ( index == -1 &&  !file.atEnd() ) {
+                line = file.readLine();
+                index = line.indexOf( "indenterName=", 0);
+            }
+
+            if ( index == 0 ) {
+                line = line.remove(0, 13);
+                indenterNamesList << line;
+            }
+        }
+    }
+    return indenterNamesList;
+}
+
+
+/*!
+    Deletes all elements in the toolbox and initialize the indenter selected by \a indenterID.
+ */
+void IndentHandler::setIndenter(int indenterID) {
+    // TODO: This function is never called because out of the mainwindow object a new indenthandler object is created if another indenter is selected.
+
+    // Take care if the selected indenterID is smaller or greater than the number of existing indenters
+    if ( indenterID < 0 ) {
+        indenterID = 0;
+    }
+    if ( indenterID >= indenterIniFileList.count() ) {
+        indenterID = indenterIniFileList.count() - 1;
+    }
+
+    // remove all pages from the toolbox
+    for (int i = 0; i < toolBox->count(); i++) {
+        toolBox->removeItem(i);
+    }
+
+    // delete all toolbox pages and by this its children
+    foreach (ToolBoxPage toolBoxPage, toolBoxPages) {
+        delete toolBoxPage.page;
+    }
+
+    // empty all lists, which stored infos for the toolbox pages and its widgets
+    toolBoxPages.clear();
+    paramStrings.clear();
+    paramNumerics.clear();
+    paramBooleans.clear();
+    delete indenterSettings;
+
+    readIndentIniFile( dataDirctoryStr + indenterIniFileList.at(indenterID) );
+}
+
+
+/*!
+    Returns a string containing by the indenter supported file types/extensions devided by a space.
+ */
+QString IndentHandler::getPossibleIndenterFileExtensions() {
+	return fileTypes;
+}
+
+/*!
+    Returns the path and filename of the current indenter config file.
+ */
+QString IndentHandler::getIndenterCfgFile() {
+    QFileInfo fileInfo( dataDirctoryStr + configFilename );
+    return fileInfo.absoluteFilePath();
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/indenthandler.h	Tue Sep 05 15:11:33 2006 +0000
@@ -0,0 +1,139 @@
+/****************************************************************************
+**
+** This file may be used under the terms of the GNU General Public
+** License version 2.0 as published by the Free Software Foundation
+** and appearing in the file LICENSE.GPL included in the packaging of
+** this file.  
+**
+** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+**
+****************************************************************************/
+
+#ifndef INDENTHANDLER_H
+#define INDENTHANDLER_H
+
+#include <QWidget>
+#include <QToolBox>
+#include <QVBoxLayout>
+#include <QApplication>
+#include <QCheckBox>
+#include <QComboBox>
+#include <QFile>
+#include <QProcess>
+#include <QSettings>
+#include <QStringList>
+#include <QLineEdit>
+#include <QSpinBox>
+#include <QLabel>
+#include <QByteArray>
+#include <QDir>
+#include <QMessageBox>
+#include <QMainWindow>
+
+class IndentHandler : public QWidget
+{
+    Q_OBJECT
+
+public:
+	IndentHandler(QString dataDirPathStr, int indenterID, QMainWindow *mainWindow = 0, QWidget *parent = 0);
+
+    //! Format source code with the currently selected indenter
+    QString callIndenter(QString sourceCode, QString inputFileExtension);
+
+	void loadConfigFile(QString filePathName);
+
+    QStringList getAvailableIndenters();
+
+	QString getPossibleIndenterFileExtensions();
+
+    QString getParameterString();
+
+    QString getIndenterCfgFile();
+
+private:
+    void writeConfigFile(QString parameterString);
+    void readIndentIniFile(QString iniFilePath);
+
+    // holds a reference to all created pages of the toolbox and the pages boxlayout
+    struct ToolBoxPage
+	{
+        QWidget *page;
+		QVBoxLayout *vboxLayout;
+	};
+	QVector<ToolBoxPage> toolBoxPages;
+
+    // hold a reference to all checkboxes needed for boolean parameter setting and the parameters name
+    struct ParamBoolean
+	{
+        QString paramName;
+		QString trueString;
+		QString falseString;
+        QCheckBox *checkBox;
+	};
+	QVector<ParamBoolean> paramBooleans;
+
+    // hold a reference to all lineedits needed for parameter setting and the parameters name
+    struct ParamString
+	{
+        QString paramName;
+		QString paramCallName;
+        QCheckBox *valueEnabledChkBox;
+        QLineEdit *lineEdit;
+        QLabel *label;
+	};
+	QVector<ParamString> paramStrings;
+
+    // hold a reference to all spinboxes needed for parameter setting and the parameters name
+    struct ParamNumeric
+	{
+        QString paramName;
+		QString paramCallName;
+        QCheckBox *valueEnabledChkBox;
+        QSpinBox *spinBox;
+        QLabel *label;
+	};
+	QVector<ParamNumeric> paramNumerics;
+
+    // hold a reference to all comboboxes needed for parameter setting and the parameters name
+    struct ParamMultiple
+	{
+        QString paramName;
+		QString paramCallName;
+        QCheckBox *valueEnabledChkBox;
+        QComboBox *comboBox;
+        QStringList choicesStrings;
+	};
+	QVector<ParamMultiple> paramMultiples;
+
+	QVBoxLayout *vboxLayout;
+    QToolBox *toolBox;
+    QSettings *indenterSettings;
+    QStringList indenterParameters;
+	QByteArray cfgFileData;
+    // the indenters name in a descriptive form
+    QString indenterName;
+    // the indenters file name, that is being called (w/o extension)
+    QString indenterFileName;
+    QString dataDirctoryStr;
+    QStringList indenterIniFileList;
+    QString configFilename;
+    QString cfgFileParameterEnding;
+    QString inputFileParameter;
+    QString inputFileName;
+    QString outputFileParameter;
+	QString outputFileName;
+    QString fileTypes;
+    QString useCfgFileParameter;
+    bool noIndenterExecExistDialogAlreadyShown;
+    QMainWindow *mainWindow;
+
+public slots:
+    void setIndenter(int indenterID);
+
+signals:
+    void settingsCodeChanged();
+
+};
+
+#endif // INDENTHANDLER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/main.cpp	Tue Sep 05 15:11:33 2006 +0000
@@ -0,0 +1,53 @@
+/****************************************************************************
+**
+** This file may be used under the terms of the GNU General Public
+** License version 2.0 as published by the Free Software Foundation
+** and appearing in the file LICENSE.GPL included in the packaging of
+** this file.  
+**
+** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+**
+****************************************************************************/
+
+#include "mainwindow.h"
+#include <QApplication>
+#include <QTranslator>
+#include <QLocale>
+#include <QSettings>
+
+
+/*!
+	Entry point to UniversalIndentGUI application. Does not evaluate any command line parameters.
+ */
+int main(int argc, char *argv[])
+{
+    QApplication app(argc, argv);
+    QTranslator translator;
+    QSettings *settings;
+    QString language;
+
+    // read last selected language from settings if the settings file exists
+    if ( QFile::exists("./UniversalIndentGUI.ini") ) {
+        settings = new QSettings("./UniversalIndentGUI.ini", QSettings::IniFormat);
+        language = settings->value("UniversalIndentGUI/language").toString();
+
+        delete settings;
+    }
+
+    // if no language was set use the system language
+    if ( language.isEmpty() ) {
+        language = QLocale::system().name();
+        language.truncate(2);
+    }        
+
+    // load the translation file and set it for the application
+    translator.load( QString("./translations/universalindent_") + language );
+    app.installTranslator(&translator);
+
+    MainWindow mainWindow( language );
+
+    mainWindow.show();
+	
+    return app.exec();
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/mainwindow.cpp	Tue Sep 05 15:11:33 2006 +0000
@@ -0,0 +1,821 @@
+/****************************************************************************
+**
+** This file may be used under the terms of the GNU General Public
+** License version 2.0 as published by the Free Software Foundation
+** and appearing in the file LICENSE.GPL included in the packaging of
+** this file.  
+**
+** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+**
+****************************************************************************/
+
+#include "mainwindow.h"
+
+/*!
+	\class MainWindow
+	\brief Is the main window of UniversalIndentGUI
+
+	The MainWindow class is responsible for generating and displaying most of the gui elements.
+	Its look is set in the file "indentgui.ui". An object for the indent handler is generated here
+	and user actions are being controlled. Is responsible for file open dialogs and indenter selection.
+ */
+
+/*!
+	Constructs the main window.
+ */
+MainWindow::MainWindow(QString language, QWidget *parent) : QMainWindow(parent)
+{
+	// generate gui as it is build in the file "indentgui.ui"
+    setupUi(this);
+
+	// set the program version, which is shown in the main window title
+    version = "UniversalIndentGUI 0.3.1 Beta";
+
+    // set the program language
+    this->language = language;
+
+    createLanguageMenu();
+    connect( languageActionGroup, SIGNAL(triggered(QAction*)), this, SLOT(languageChanged(QAction*)) );
+
+    connect( pbOpenFile, SIGNAL(clicked()), this, SLOT(openSourceFileDialog()) );
+    connect( actionOpen_Source_File, SIGNAL(activated()), this, SLOT(openSourceFileDialog()) );
+    //connect( pbLoadIndentCfg, SIGNAL(clicked()), this, SLOT(openConfigFileDialog()) );
+    connect( actionLoad_Indenter_Config_File, SIGNAL(activated()), this, SLOT(openConfigFileDialog()) );
+    connect( actionSave_Source_File_As, SIGNAL(activated()), this, SLOT(saveasSourceFileDialog()) );
+    connect( actionSave_Source_File, SIGNAL(activated()), this, SLOT(saveSourceFile()) );
+    connect( actionSave_Indenter_Config_File, SIGNAL(activated()), this, SLOT(saveasIndentCfgFileDialog()) );
+    connect( actionExportPDF, SIGNAL(activated()), this, SLOT(exportToPDF()) );
+    connect( actionExportHTML, SIGNAL(activated()), this, SLOT(exportToHTML()) );
+    connect( cbHighlight, SIGNAL(clicked(bool)), this, SLOT(turnHighlightOnOff(bool)) );
+
+    indentHandler = 0;
+
+    loadSettings();
+
+    updateWindowTitle();
+
+    textEditVScrollBar = txtedSourceCode->verticalScrollBar();
+    textEdit2VScrollBar = txtedLineNumbers->verticalScrollBar();
+
+    highlighter = new CppHighlighter(txtedSourceCode->document());
+
+    sourceCodeChanged = false;
+    scrollPositionChanged = false;
+    indentSettingsChanged = false;
+    previewToggled = true;
+
+    connect( cmbBoxIndenters, SIGNAL(activated(int)), this, SLOT(selectIndenter(int)) );
+
+    // generate about dialog box
+    aboutDialog = new AboutDialog(this);
+    connect( pbAbout, SIGNAL(clicked()), aboutDialog, SLOT(exec()) );
+    connect( actionAbout_UniversalIndentGUI, SIGNAL(activated()), aboutDialog, SLOT(exec()) );
+
+    //QAction *actionAStyle;
+    //QMenu *menuSelect_Indenter;
+    //menuSelect_Indenter = new QMenu(menuIndenter);
+    //menuSelect_Indenter->setObjectName(QString::fromUtf8("menuSelect_Indenter"));
+    //menuIndenter->addAction(menuSelect_indenter->menuAction());
+    //actionAStyle = new QAction(this);
+    //actionAStyle->setObjectName(QString::fromUtf8("actionAStyle"));
+    //menuSelect_Indenter->addAction(actionAStyle);
+    //retranslateUi(this);
+
+    updateSourceView();
+
+    connect( textEditVScrollBar, SIGNAL(valueChanged(int)), textEdit2VScrollBar, SLOT(setValue(int)));
+    connect( textEdit2VScrollBar, SIGNAL(valueChanged(int)), textEditVScrollBar, SLOT(setValue(int)));
+
+    connect( txtedSourceCode, SIGNAL(textChanged()), this, SLOT(sourceCodeChangedSlot()) );
+    connect( cbLivePreview, SIGNAL(clicked(bool)), this, SLOT(previewTurnedOnOff(bool)) );
+}
+
+
+/*!
+	Creates the by \a indenterID selected indent handler object and adds the indent widget to its layout
+ */
+void MainWindow::selectIndenter(int indenterID) {
+	IndentHandler *oldIndentHandler = indentHandler;
+
+    // prevent unnecessary updates if same indenter as current has been selected
+    if ( indenterID == currentIndenterID ) {
+        return;
+    }
+
+    QApplication::setOverrideCursor(Qt::WaitCursor);
+
+	indentHandler = new IndentHandler("./data/", indenterID, this, centralwidget);
+    indentHandler->hide();
+    vboxLayout1->insertWidget(0, indentHandler);
+    oldIndentHandler->hide();
+    indentHandler->show();
+	vboxLayout1->removeWidget(oldIndentHandler);
+	delete oldIndentHandler;
+
+    // Take care if the selected indenterID is smaller or greater than the number of existing indenters
+    if ( indenterID < 0 ) {
+        indenterID = 0;
+    }
+    if ( indenterID >= indentHandler->getAvailableIndenters().count() ) {
+        indenterID = indentHandler->getAvailableIndenters().count() - 1;
+    }
+
+	cmbBoxIndenters->setCurrentIndex(indenterID);
+	QObject::connect(indentHandler, SIGNAL(settingsCodeChanged()), this, SLOT(indentSettingsChangedSlot()));
+
+    currentIndenterID = indenterID;
+    if ( cbLivePreview->isChecked() ) {
+        callIndenter();
+    }
+    previewToggled = true;
+    indentSettingsChanged = true;
+    updateSourceView();
+    QApplication::restoreOverrideCursor();
+}
+
+/*!
+	Tries to load the by \a filePath defined file and returns its content as QString.
+	If the file could not be loaded a error dialog will be shown.
+ */
+QString MainWindow::loadFile(QString filePath) {
+
+    QFile inSrcFile(filePath);
+    QString fileContent = "";
+
+    if ( !inSrcFile.open(QFile::ReadOnly | QFile::Text) ) {
+        QMessageBox::warning(NULL, tr("Error opening file"), tr("Cannot read the file ")+"\""+filePath+"\"." );
+    }
+    else {
+        QTextStream inSrcStrm(&inSrcFile);
+        QApplication::setOverrideCursor(Qt::WaitCursor);
+        fileContent = inSrcStrm.readAll();
+        QApplication::restoreOverrideCursor();
+        inSrcFile.close();
+    }
+    return fileContent;
+}
+
+/*!
+	Calls the source file open dialog to load a source file for the formatting preview.
+	If the file was successfully loaded the indenter will be called to generate the formatted source code.
+ */
+void MainWindow::openSourceFileDialog() {
+    // If the source code file is changed and the shown dialog for saving the file
+    // is canceled, also stop opening another source file.
+    if ( !maybeSave() ) {
+        return;
+    }
+    QString openedSourceFileContent = "";
+	QString fileExtensions = tr("Supported by indenter")+" ("+indentHandler->getPossibleIndenterFileExtensions()+
+                             ");;"+tr("All files")+" (*.*)";
+
+    //QString openedSourceFileContent = openFileDialog( tr("Choose source code file"), "./", fileExtensions );
+    QString fileName = QFileDialog::getOpenFileName( this, tr("Choose source code file"), currentSourceFile, fileExtensions);
+
+    if (fileName != "") {
+        currentSourceFile = fileName;
+        QFileInfo fileInfo(fileName);
+        currentSourceFileExtension = fileInfo.suffix();
+
+        openedSourceFileContent = loadFile(fileName);
+        sourceFileContent = openedSourceFileContent;
+        if ( cbLivePreview->isChecked() ) {
+            callIndenter();
+        }
+        sourceCodeChanged = true;
+        previewToggled = true;
+        updateSourceView();
+        updateWindowTitle();
+        textEditLastScrollPos = 0;
+        textEditVScrollBar->setValue( textEditLastScrollPos );
+
+        savedSourceContent = openedSourceFileContent;
+        txtedSourceCode->document()->setModified( false );
+        setWindowModified( txtedSourceCode->document()->isModified() );
+    }
+}
+
+
+/*!
+	Calls the source file save as dialog to save a source file under a choosen name.
+	If the file already exists and it should be overwritten, a warning is shown before.
+ */
+bool MainWindow::saveasSourceFileDialog() {
+	QString fileExtensions = tr("Supported by indenter")+" ("+indentHandler->getPossibleIndenterFileExtensions()+
+                             ");;"+tr("All files")+" (*.*)";
+
+    //QString openedSourceFileContent = openFileDialog( tr("Choose source code file"), "./", fileExtensions );
+    QString fileName = QFileDialog::getSaveFileName( this, tr("Save source code file"), currentSourceFile, fileExtensions);
+
+    // Saveing has been canceled if the filename is empty
+    if ( fileName.isEmpty() ) {
+        return false;
+    }
+
+    savedSourceContent = txtedSourceCode->toPlainText();
+
+    currentSourceFile = fileName;
+    QFile::remove(fileName);
+    QFile outSrcFile(fileName);
+    outSrcFile.open( QFile::ReadWrite | QFile::Text );
+    outSrcFile.write( savedSourceContent.toAscii() );
+    outSrcFile.close();
+
+    QFileInfo fileInfo(fileName);
+    currentSourceFileExtension = fileInfo.suffix();
+
+    txtedSourceCode->document()->setModified( false );
+    setWindowModified( txtedSourceCode->document()->isModified() );
+
+    updateWindowTitle();
+    return true;
+}
+
+
+/*!
+    Saves the currently shown source code to the last save or opened source file.
+    If no source file has been opened, because only the static example has been loaded,
+    the save as file dialog will be shown.
+ */
+bool MainWindow::saveSourceFile() {
+    if ( currentSourceFile.isEmpty() ) {
+        return saveasSourceFileDialog();
+    }
+    else {
+        QFile::remove(currentSourceFile);
+        QFile outSrcFile(currentSourceFile);
+        savedSourceContent = txtedSourceCode->toPlainText();
+        outSrcFile.open( QFile::ReadWrite | QFile::Text );
+        outSrcFile.write( savedSourceContent.toAscii() );
+        outSrcFile.close();
+
+        txtedSourceCode->document()->setModified( false );
+        setWindowModified( txtedSourceCode->document()->isModified() );
+    }
+    return true;
+}
+
+
+/*!
+	Calls the indenter config file save as dialog to save the config file under a choosen name.
+	If the file already exists and it should be overwritten, a warning is shown before.
+ */
+void MainWindow::saveasIndentCfgFileDialog() {
+	QString fileExtensions = tr("All files")+" (*.*)";
+
+    //QString openedSourceFileContent = openFileDialog( tr("Choose source code file"), "./", fileExtensions );
+    QString fileName = QFileDialog::getSaveFileName( this, tr("Save indent config file"), indentHandler->getIndenterCfgFile(), fileExtensions);
+
+    if (fileName != "") {
+        QFile::remove(fileName);
+        QFile outCfgFile(fileName);
+        outCfgFile.open( QFile::ReadWrite | QFile::Text );
+        outCfgFile.write( indentHandler->getParameterString().toAscii() );
+        outCfgFile.close();
+    }
+}
+
+
+/*!
+	Shows a file open dialog to open an existing config file for the currently selected indenter.
+	If the file was successfully opened the indent handler is called to load the settings and update itself.
+ */
+void MainWindow::openConfigFileDialog() {
+    QString configFilePath; 
+
+    configFilePath = QFileDialog::getOpenFileName( NULL, tr("Choose indenter config file"), indentHandler->getIndenterCfgFile(), "All files (*.*)" );
+
+    if (configFilePath != "") {
+        indentHandler->loadConfigFile(configFilePath);
+    }
+}
+
+/*!
+	Shows a file open dialog with the title \a dialogHeaderStr starting in the directory \a startPath 
+	and with a file mask defined by \a fileMaskStr. Returns the contents of the file as QString.
+ */
+QString MainWindow::openFileDialog(QString dialogHeaderStr, QString startPath, QString fileMaskStr) {
+
+    QString fileContent = "";
+
+    QString fileName = QFileDialog::getOpenFileName( NULL, dialogHeaderStr, startPath, fileMaskStr);
+
+    if (fileName != "") {
+        fileContent = loadFile(fileName);
+    }
+
+    return fileContent;
+}
+
+/*!
+	Updates the text edit field, which is showing the loaded, and if preview is enabled formatted, source code.
+	Reassigns the line numbers and in case of switch between preview and none preview keeps the text field
+	at the same line number.
+ */
+void MainWindow::updateSourceView()
+{
+    QString lineNumbers = "";
+    int i;
+    int numberOfLines = 0;
+
+    textEditLastScrollPos = textEditVScrollBar->value();
+
+
+    if ( cbLivePreview->isChecked() ) {
+        sourceViewContent = sourceFormattedContent;
+    }
+    else {
+        sourceViewContent = sourceFileContent;
+    }
+
+    if (previewToggled) {
+        disconnect( txtedSourceCode, SIGNAL(textChanged ()), this, SLOT(sourceCodeChangedSlot()) );
+        // because under linux the courier font is always set bold
+#if defined(Q_OS_LINUX)
+        txtedSourceCode->setFontFamily("freemono");
+        txtedLineNumbers->setFontFamily("freemono");
+#endif
+
+        txtedSourceCode->setPlainText(sourceViewContent);
+        previewToggled = false;
+        connect( txtedSourceCode, SIGNAL(textChanged ()), this, SLOT(sourceCodeChangedSlot()) );
+    }
+
+    numberOfLines = sourceViewContent.count(QRegExp("\n"));
+    for (i = 1; i <= numberOfLines+1; i++) {
+        lineNumbers.append(QString::number(i)+"\n");
+    }
+    txtedLineNumbers->setPlainText(lineNumbers);
+    txtedLineNumbers->setAlignment(Qt::AlignRight);
+
+    textEditVScrollBar->setValue( textEditLastScrollPos );
+}
+
+/*!
+	Calls the selected indenter with the currently loaded source code to retrieve the formatted source code.
+	The original loaded source code file will not be changed.
+ */
+void MainWindow::callIndenter() {
+    QApplication::setOverrideCursor(QCursor(Qt::WaitCursor));
+    sourceFormattedContent = indentHandler->callIndenter(sourceFileContent, currentSourceFileExtension);
+    //updateSourceView();
+    QApplication::restoreOverrideCursor();
+}
+
+/*!
+	Switches the syntax highlighting corresponding to the value \a turnOn either on or off.
+ */
+void MainWindow::turnHighlightOnOff(bool turnOn) {
+    if ( turnOn ) {
+        highlighter->turnHighlightOn();
+    }
+    else {
+        highlighter->turnHighlightOff();
+    }
+    previewToggled = true;
+    updateSourceView();
+}
+
+/*!
+    Is emitted whenever the text inside the source view window changes. Calls the indenter
+    to format the changed source code.
+ */
+void MainWindow::sourceCodeChangedSlot() {
+    QChar enteredCharacter;
+
+    sourceCodeChanged = true;
+    if ( scrollPositionChanged ) {
+        scrollPositionChanged = false;
+    }
+
+    QTextCursor savedCursor = txtedSourceCode->textCursor();
+    int cursorPos = savedCursor.position();
+
+    sourceFileContent = txtedSourceCode->toPlainText();
+
+    if ( sourceFileContent.count() == 0 || sourceFileContent.at(sourceFileContent.count()-1) != '\n' ) {
+        sourceFileContent += "\n";
+    }
+
+    if ( cursorPos <= 0 ) {
+        cursorPos = 1;
+    } 
+    enteredCharacter = sourceFileContent.at(cursorPos-1);
+
+    if ( cbLivePreview->isChecked() ) {
+        callIndenter();
+        previewToggled = true;
+    }
+    updateSourceView();
+
+    QString text = txtedSourceCode->toPlainText();
+    int lineBreakCounter = 0;
+    while ( cursorPos <= text.count() && text.at(cursorPos-1) != enteredCharacter && lineBreakCounter < 5 ) {
+        if ( text.at(cursorPos-1) == '\n' ) {
+            lineBreakCounter++;
+        }
+        cursorPos++;
+    }
+
+    savedCursor = txtedSourceCode->textCursor();
+    if ( cursorPos > txtedSourceCode->toPlainText().count() ) {
+        cursorPos = txtedSourceCode->toPlainText().count() - 1;
+    }
+    savedCursor.setPosition( cursorPos );
+    txtedSourceCode->setTextCursor( savedCursor );
+
+    if ( cbLivePreview->isChecked() ) {
+        sourceCodeChanged = false;
+    }
+
+    if ( savedSourceContent == txtedSourceCode->toPlainText() ) {
+        txtedSourceCode->document()->setModified( false );
+        setWindowModified( txtedSourceCode->document()->isModified() );
+    }
+    else {
+        txtedSourceCode->document()->setModified( true );
+        setWindowModified( txtedSourceCode->document()->isModified() );
+    }
+}
+
+
+/*!
+    This slot is called whenever one of the indenter settings are changed.
+    It calls the selected indenter if the preview is turned on. If preview
+    is not active a flag is set, that the settings have changed.
+ */
+void MainWindow::indentSettingsChangedSlot() {
+    indentSettingsChanged = true;
+
+    QTextCursor savedCursor = txtedSourceCode->textCursor();
+    int cursorPos = savedCursor.position();
+    
+    if ( cbLivePreview->isChecked() ) {
+        callIndenter();
+        previewToggled = true;
+
+        updateSourceView();
+        if (sourceCodeChanged) {
+            savedCursor = txtedSourceCode->textCursor();
+            if ( cursorPos >= txtedSourceCode->toPlainText().count() ) {
+                cursorPos = txtedSourceCode->toPlainText().count() - 1;
+            }
+            savedCursor.setPosition( cursorPos );
+            txtedSourceCode->setTextCursor( savedCursor );
+
+            sourceCodeChanged = false;
+        }
+        indentSettingsChanged = false;
+    }
+    else {
+        updateSourceView();
+    }
+
+    if ( savedSourceContent == txtedSourceCode->toPlainText() ) {
+        txtedSourceCode->document()->setModified( false );
+        setWindowModified( txtedSourceCode->document()->isModified() );
+    }
+    else {
+        txtedSourceCode->document()->setModified( true );
+        setWindowModified( txtedSourceCode->document()->isModified() );
+    }
+}
+
+
+/*!
+    This slot is called whenever the preview button is turned on or off.
+    It calls the selected indenter to format the current source code if
+    the code has been changed since the last indenter call.
+ */
+void MainWindow::previewTurnedOnOff(bool turnOn) {
+    previewToggled = true;
+    QTextCursor savedCursor = txtedSourceCode->textCursor();
+    int cursorPos = savedCursor.position();
+
+    if ( turnOn && (indentSettingsChanged || sourceCodeChanged) ) {
+        callIndenter();
+    }
+    updateSourceView();
+    if (sourceCodeChanged) {
+        savedCursor = txtedSourceCode->textCursor();
+        if ( cursorPos >= txtedSourceCode->toPlainText().count() ) {
+            cursorPos = txtedSourceCode->toPlainText().count() - 1;
+        }
+        savedCursor.setPosition( cursorPos );
+        txtedSourceCode->setTextCursor( savedCursor );
+
+        sourceCodeChanged = false;
+    }
+    indentSettingsChanged = false;
+
+    if ( savedSourceContent == txtedSourceCode->toPlainText() ) {
+        txtedSourceCode->document()->setModified( false );
+        setWindowModified( txtedSourceCode->document()->isModified() );
+    }
+    else {
+        txtedSourceCode->document()->setModified( true );
+        setWindowModified( txtedSourceCode->document()->isModified() );
+    }
+}
+
+
+/*!
+    This slot updates the main window title to show the currently opened
+    source code filename.
+ */
+void MainWindow::updateWindowTitle() {
+    this->setWindowTitle( version +" [*]"+ currentSourceFile);
+}
+
+
+/*!
+    Opens a dialog to save the current source code as a PDF document.
+ */
+void MainWindow::exportToPDF() {
+	QString fileExtensions = tr("PDF Document")+" (*.pdf)";
+
+    QString fileName = currentSourceFile;
+    QFileInfo fileInfo(fileName);
+    QString fileExtension = fileInfo.suffix();
+
+    fileName.replace( fileName.length()-fileExtension.length(), fileExtension.length(), "pdf" );
+    fileName = QFileDialog::getSaveFileName( this, tr("Export source code file"), fileName, fileExtensions);
+
+    if ( !fileName.isEmpty() ) {
+        QPrinter printer(QPrinter::HighResolution);
+        printer.setOutputFormat(QPrinter::PdfFormat);
+        printer.setOutputFileName(fileName);
+
+        txtedSourceCode->document()->print(&printer);
+    }
+}
+
+
+/*!
+    Opens a dialog to save the current source code as a HTML document.
+ */
+void MainWindow::exportToHTML() {
+	QString fileExtensions = tr("HTML Document")+" (*.html)";
+
+    QString fileName = currentSourceFile;
+    QFileInfo fileInfo(fileName);
+    QString fileExtension = fileInfo.suffix();
+
+    fileName.replace( fileName.length()-fileExtension.length(), fileExtension.length(), "html" );
+    fileName = QFileDialog::getSaveFileName( this, tr("Export source code file"), fileName, fileExtensions);
+
+    if ( !fileName.isEmpty() ) {
+        QFile::remove(fileName);
+        QFile outSrcFile(fileName);
+        outSrcFile.open( QFile::ReadWrite | QFile::Text );
+        outSrcFile.write( txtedSourceCode->toHtml().toAscii() );
+        outSrcFile.close();
+    }
+}
+
+
+/*!
+    Loads the settings for the main application out of the file "UniversalIndentGUI.ini",
+    which should exists in the call directory. Settings are for example last selected indenter,
+    last loaded config file and so on.
+*/
+void MainWindow::loadSettings() {
+    QSettings *settings;
+    bool settingsFileExists = true;
+    int indenterID;
+
+    // If no ini file does exist remember that
+    if ( !QFile::exists("./UniversalIndentGUI.ini") ) {
+        settingsFileExists = false;
+    }
+    // else open the settings file
+    else {
+        settings = new QSettings("./UniversalIndentGUI.ini", QSettings::IniFormat, this);
+    }
+
+    // Handle last opened source code file
+    // -----------------------------------
+
+    // read last opened source code file from settings if the settings file exists
+    if ( settingsFileExists ) {
+        currentSourceFile = settings->value("UniversalIndentGUI/lastSourceCodeFile").toString();
+        // if no file was set use default example
+        if ( currentSourceFile.isEmpty() ) {
+            currentSourceFile = "./data/example.cpp";
+        }
+    }
+    else {
+        currentSourceFile = "./data/example.cpp";
+    }
+
+    // if source file exist load it
+    if ( QFile::exists(currentSourceFile) ) {
+        QFileInfo fileInfo(currentSourceFile);
+        currentSourceFile = fileInfo.absoluteFilePath();
+        sourceFileContent = loadFile(currentSourceFile);
+        currentSourceFileExtension = fileInfo.suffix();
+    }
+    // if no source code file exists make some default settings.
+    else {
+        QFileInfo fileInfo(currentSourceFile);
+        currentSourceFile = fileInfo.absolutePath();
+        currentSourceFileExtension = "";
+        sourceFileContent = "if(x==\"y\"){x=z;}";
+    }
+    savedSourceContent = sourceFileContent;
+
+
+    // Handle last selected indenter
+    // -----------------------------
+
+    // read last selected indenter from settings if the settings file exists
+    if ( settingsFileExists ) {
+        indenterID = settings->value("UniversalIndentGUI/lastSelectedIndenter").toInt();
+    }
+    else {
+        indenterID = 0;
+    }
+
+    indentHandler = new IndentHandler("./data/", indenterID, this, centralwidget);
+    vboxLayout1->addWidget(indentHandler);
+
+	cmbBoxIndenters->addItems( indentHandler->getAvailableIndenters() );
+
+    // Take care if the selected indenterID is smaller or greater than the number of existing indenters
+    if ( indenterID < 0 ) {
+        indenterID = 0;
+    }
+    if ( indenterID >= indentHandler->getAvailableIndenters().count() ) {
+        indenterID = indentHandler->getAvailableIndenters().count() - 1;
+    }
+
+	cmbBoxIndenters->setCurrentIndex(indenterID);
+	QObject::connect(indentHandler, SIGNAL(settingsCodeChanged()), this, SLOT(indentSettingsChangedSlot()));
+    currentIndenterID = indenterID;
+
+
+    // Handle if indenter parameter tool tips are enabled
+    // --------------------------------------------------
+
+    // read if indenter parameter tool tips are enabled
+    if ( settingsFileExists ) {
+        bool indenterParameterTooltipsEnabled = settings->value("UniversalIndentGUI/indenterParameterTooltipsEnabled").toBool();
+        actionParameter_Tooltips->setChecked( indenterParameterTooltipsEnabled );
+    }
+    else {
+        actionParameter_Tooltips->setChecked( true );
+    }
+
+    if ( settingsFileExists ) {
+        delete settings;
+    }
+}
+
+
+/*!
+    Saves the settings for the main application to the file "UniversalIndentGUI.ini".
+    Settings are for example last selected indenter, last loaded config file and so on.
+*/
+void MainWindow::saveSettings() {
+    QSettings settings("./UniversalIndentGUI.ini", QSettings::IniFormat, this);
+
+    settings.setValue( "UniversalIndentGUI/lastSourceCodeFile", currentSourceFile );
+    settings.setValue( "UniversalIndentGUI/lastSelectedIndenter", currentIndenterID );
+    settings.setValue( "UniversalIndentGUI/indenterParameterTooltipsEnabled", actionParameter_Tooltips->isChecked() );
+    settings.setValue( "UniversalIndentGUI/language", language );
+}
+
+
+/*!
+    Is allways called when the program is quit. Calls the saveSettings function before really quits.
+*/
+void MainWindow::closeEvent( QCloseEvent *event ) {
+    if ( maybeSave() ) {
+        saveSettings();
+        event->accept();
+    }
+    else {
+        event->ignore();
+    }
+}
+
+
+/*!
+    This function is setup to capture tooltip events. All widgets that are created by the
+    indentHandler object and are responsible for indenter paramters are connected with
+    this eventfilter. So depending on the settings the tooltips can be enabled and
+    disabled for these widgets.
+ */
+bool MainWindow::eventFilter(QObject *obj, QEvent *event)
+{
+    if ( event->type() == QEvent::ToolTip) {
+        if ( actionParameter_Tooltips->isChecked() ) {
+            return QMainWindow::eventFilter(obj, event);
+        }
+        else {
+            //QToolTip::showText( QPoint(100,100) , "Test1");
+            return true;            
+        }
+    } else {
+        // pass the event on to the parent class
+        return QMainWindow::eventFilter(obj, event);
+    }
+}
+
+
+/*!
+    Is called at application exit and asks whether to save the source code file, if it has been changed.
+ */
+bool MainWindow::maybeSave()
+{
+    if ( txtedSourceCode->document()->isModified() ) {
+        int ret = QMessageBox::warning(this, tr("Modified code"),
+            tr("The source code has been modified.\n"
+            "Do you want to save your changes?"),
+            QMessageBox::Yes | QMessageBox::Default,
+            QMessageBox::No,
+            QMessageBox::Cancel | QMessageBox::Escape);
+        if (ret == QMessageBox::Yes) {
+            return saveSourceFile();
+        }
+        else if (ret == QMessageBox::Cancel) {
+            return false;
+        }
+    }
+    return true;
+}
+
+
+/*!
+    Searches for available translation files and adds a menu entry for each.
+ */
+void MainWindow::createLanguageMenu() {
+    QString languageShort;
+    QStringList languageFileList;
+    QAction *languageAction;
+    LanguageInfo languageInfo;
+
+    languageActionGroup = new QActionGroup(this);
+
+    // English is the default language. A translation file does not exist but to have a menu entry, added here
+    languageFileList << "universalindent_en.qm";
+
+    // Find all translation files in the "translations" directory
+    QDir dataDirctory = QDir("./translations");
+    languageFileList << dataDirctory.entryList( QStringList("universalindent_*.qm") );
+
+    // Loop for each found translation file
+    foreach ( languageShort, languageFileList ) {
+        // remove the leading string "universalindent_" from the filename
+        languageShort.remove(0,16);
+        // remove trailing file extension ".qm"
+        languageShort.chop(3);
+        languageShort = languageShort.toLower();
+
+        languageInfo.languageShort = languageShort;
+
+        // Identify the language mnemonic and set the full name
+        if ( languageShort == "en" ) {
+            languageInfo.languageName = tr("English");
+        }
+        else if ( languageShort == "de" ) {
+            languageInfo.languageName = tr("German");
+        }
+        else {
+            languageInfo.languageName = tr("Unknown language mnemonic ") + languageShort;
+        }
+
+        languageAction = new QAction(languageInfo.languageName, languageActionGroup);
+        languageAction->setStatusTip(languageInfo.languageName + tr(" as user interface language. (Available after program restart.)"));
+        languageAction->setCheckable(true);
+
+        // if the language selected in the ini file or no ini exists the system locale is
+        // equal to the current language mnemonic set this menu entry checked
+        if ( languageShort == language ) {
+            languageAction->setChecked(true);
+        }
+
+        languageInfo.languageAction = languageAction;
+        languageInfos.append( languageInfo );
+    }    
+
+    QMenu *languageMenu = menuSettings->addMenu( tr("Language") );
+
+    languageMenu->addActions( languageActionGroup->actions() );
+}
+
+
+/*!
+    This slot is called whenever a language is selected in the menu. It tries to find the
+    corresponding action in the languageInfoList and set the language for the next program start.
+ */
+void MainWindow::languageChanged(QAction *languageAction) {
+    // Search for the activated action
+    foreach ( LanguageInfo languageInfo, languageInfos ) {
+        // Set the new language if found in list
+        if ( languageInfo.languageAction == languageAction ) {
+            language = languageInfo.languageShort;
+        }
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/mainwindow.h	Tue Sep 05 15:11:33 2006 +0000
@@ -0,0 +1,114 @@
+/****************************************************************************
+**
+** This file may be used under the terms of the GNU General Public
+** License version 2.0 as published by the Free Software Foundation
+** and appearing in the file LICENSE.GPL included in the packaging of
+** this file.  
+**
+** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+**
+****************************************************************************/
+
+#ifndef MAINWINDOW_H
+#define MAINWINDOW_H
+
+//#include "arthurwidgets.h"
+
+#include "ui_indentgui.h"
+#include "aboutdialog.h"
+#include "cpphighlighter.h"
+#include "indenthandler.h"
+#include <QWidget>
+#include <QString>
+#include <QScrollBar>
+#include <QTextCursor>
+#include <QFileDialog>
+#include <QTextStream>
+#include <QPrinter>
+#include <QPrintDialog>
+#include <QCloseEvent>
+#include <QHelpEvent>
+#include <QToolTip>
+
+class MainWindow : public QMainWindow, private Ui::IndentGui
+{
+    Q_OBJECT
+
+public:
+    //! Constructor
+    MainWindow(QString language, QWidget *parent = 0);
+
+private:
+    QString version;
+    QString language;
+    QString sourceFileContent;
+    QString sourceFormattedContent;
+    QString sourceViewContent;
+	CppHighlighter *highlighter;
+	QScrollBar *textEditVScrollBar;
+	QScrollBar *textEdit2VScrollBar;
+    AboutDialog *aboutDialog;
+	int textEditLastScrollPos;
+    int currentIndenterID;
+    QString currentSourceFile;
+    QString currentSourceFileExtension;
+    QString savedSourceContent;
+    QActionGroup *languageActionGroup;
+
+    bool sourceCodeChanged;
+    bool scrollPositionChanged;
+    bool indentSettingsChanged;
+    bool previewToggled;
+
+    IndentHandler *indentHandler;
+
+    // Stores info about a language, like the full name, mnemonic and a reference to its menu action
+    struct LanguageInfo
+	{
+        QString languageName;
+        QString languageShort;
+		QAction *languageAction;
+	};
+	QVector<LanguageInfo> languageInfos;
+
+    //! Tries to load a file and returns its content as QString
+    QString loadFile(QString filePath);
+    
+    QString openFileDialog(QString dialogHeaderStr, QString startPath, QString fileMaskStr);
+
+    void updateWindowTitle();
+
+    //! Loads the settings for the main program
+    void loadSettings();
+
+    //! Saves the settings for the main program
+    void saveSettings();
+
+    bool maybeSave();
+
+    void createLanguageMenu();
+
+protected:
+    void closeEvent( QCloseEvent *event );
+    bool eventFilter(QObject *obj, QEvent *event);
+    
+private slots:
+    void openConfigFileDialog();
+    void openSourceFileDialog();
+    bool saveasSourceFileDialog();
+    bool saveSourceFile();
+    void saveasIndentCfgFileDialog();
+    void callIndenter();
+    void updateSourceView();
+    void turnHighlightOnOff(bool turnOn);
+	void selectIndenter(int indenterID);
+    void sourceCodeChangedSlot();
+    void indentSettingsChangedSlot();
+    void previewTurnedOnOff(bool turnOn);
+    void exportToPDF();
+    void exportToHTML();
+    void languageChanged(QAction *languageAction);
+};
+
+#endif // MAINWINDOW_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/translations/universalindent_de.ts	Tue Sep 05 15:11:33 2006 +0000
@@ -0,0 +1,322 @@
+<!DOCTYPE TS><TS>
+<context>
+    <name>AboutDialog</name>
+    <message>
+        <source>About UniversalIndentGUI</source>
+        <translation>Über UniversalIndentGUI</translation>
+    </message>
+    <message>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:MS Shell Dlg; font-size:8.25pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;&quot;&gt;&lt;span style=&quot; font-family:MS Shell Dlg 2; font-size:12pt;&quot;&gt;Version 0.3 Beta rev.136, 25th August 2006&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:MS Shell Dlg 2; font-size:8pt;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:MS Shell Dlg 2; font-size:8pt;&quot;&gt;... is a cross platform compatible GUI for several code formatter, beautifier and indenter like GreatCode, AStyle (Artistic Styler), GNU Indent, BCPP and so on. Main feature is a live preview to directly see how the selected formatting option affects the source code.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:MS Shell Dlg 2; font-size:8pt;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:MS Shell Dlg 2; font-size:8pt;&quot;&gt;Written by :  <byte value="x9"/>         Thomas Schweitzer&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:MS Shell Dlg 2; font-size:8pt;&quot;&gt;Project Homepage :    &lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://universalindent.sourceforge.net&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="obsolete">  &lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:MS Shell Dlg; font-size:8.25pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;&quot;&gt;&lt;span style=&quot; font-family:MS Shell Dlg 2; font-size:12pt;&quot;&gt;Version 0.3 Beta rev.136, 25. August 2006&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:MS Shell Dlg 2; font-size:8pt;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:MS Shell Dlg 2; font-size:8pt;&quot;&gt;... ist eine Betriebssystem unabhängige, grafische Benutzeroberfläche für nahezu beliebige Quellcode Formatierer wie GreatCode, AStyle (Artistic Styler), GNU Indent, BCPP und weitere. Hauptmerkmal ist eine Vorschau, welche es ermöglicht direkt zu sehen, welche Auswirkungen eine Änderung der Einstellungen des Quellcode Formatierers auf den Code haben.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:MS Shell Dlg 2; font-size:8pt;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:MS Shell Dlg 2; font-size:8pt;&quot;&gt;Entwickelt von :<byte value="x9"/>             Thomas Schweitzer&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:MS Shell Dlg 2; font-size:8pt;&quot;&gt;Projekt Homepage :&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://universalindent.sourceforge.net&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+    </message>
+    <message>
+        <source>License:</source>
+        <translation>Lizenz:</translation>
+    </message>
+    <message>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:MS Shell Dlg; font-size:8.25pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Courier New; font-size:8pt;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:MS Shell Dlg; font-size:8.25pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:Courier New; font-size:8pt;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+    </message>
+    <message>
+        <source>OK</source>
+        <translation>OK</translation>
+    </message>
+    <message>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:MS Shell Dlg; font-size:8.25pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;&quot;&gt;&lt;span style=&quot; font-family:MS Shell Dlg 2; font-size:12pt;&quot;&gt;Version 0.3.1 Beta rev.152, 4th September 2006&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:MS Shell Dlg 2; font-size:8pt;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:MS Shell Dlg 2; font-size:8pt;&quot;&gt;... is a cross platform compatible GUI for several code formatter, beautifier and indenter like GreatCode, AStyle (Artistic Styler), GNU Indent, BCPP and so on. Main feature is a live preview to directly see how the selected formatting option affects the source code.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:MS Shell Dlg 2; font-size:8pt;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:MS Shell Dlg 2; font-size:8pt;&quot;&gt;Written by :  <byte value="x9"/>         Thomas Schweitzer&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:MS Shell Dlg 2; font-size:8pt;&quot;&gt;Project Homepage :    &lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://universalindent.sourceforge.net&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation>  &lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:MS Shell Dlg; font-size:8.25pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;&quot;&gt;&lt;span style=&quot; font-family:MS Shell Dlg 2; font-size:12pt;&quot;&gt;Version 0.3.1 Beta rev.152
+, 4. September 2006&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:MS Shell Dlg 2; font-size:8pt;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:MS Shell Dlg 2; font-size:8pt;&quot;&gt;... ist eine Betriebssystem unabhängige, grafische Benutzeroberfläche für nahezu beliebige Quellcode Formatierer wie GreatCode, AStyle (Artistic Styler), GNU Indent, BCPP und weitere. Hauptmerkmal ist eine Vorschau, welche es ermöglicht direkt zu sehen, welche Auswirkungen eine Änderung der Einstellungen des Quellcode Formatierers auf den Code haben.&lt;/p&gt;&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:MS Shell Dlg 2; font-size:8pt;&quot;&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:MS Shell Dlg 2; font-size:8pt;&quot;&gt;Entwickelt von :<byte value="x9"/>             Thomas Schweitzer&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:MS Shell Dlg 2; font-size:8pt;&quot;&gt;Projekt Homepage :&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://universalindent.sourceforge.net&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+    </message>
+</context>
+<context>
+    <name>IndentGui</name>
+    <message>
+        <source>UniversalIndentGUI</source>
+        <translation></translation>
+    </message>
+    <message>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:MS Shell Dlg; font-size:8.25pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Shows the currently chosen indenters name and lets you choose other available indenters&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:MS Shell Dlg; font-size:8.25pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Zeigt den aktuell gewählten und alle verfügbaren Formatierer an.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+    </message>
+    <message>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:MS Shell Dlg; font-size:8.25pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:8pt;&quot;&gt;Opens a dialog for selecting a source code file.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;&quot;&gt;This file will be used to show what the indent tool changes.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:MS Shell Dlg; font-size:8.25pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:8pt;&quot;&gt;Öffnet ein Dialogfenster zur Auswahl der Quellcodedatei.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;&quot;&gt;Anhand dieser Datei werden die Auswirkungen des Formatierers dargestellt.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+    </message>
+    <message>
+        <source> Open Source File </source>
+        <translation> Quellcodedatei öffnen</translation>
+    </message>
+    <message>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:MS Shell Dlg 2; font-size:8.25pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:MS Shell Dlg; font-size:8pt;&quot;&gt;Turns the preview of the reformatted source code on and off.&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:MS Shell Dlg; font-size:8pt;&quot;&gt;In other words it switches between formatted and nonformatted code. (Strg+P)&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:MS Shell Dlg 2; font-size:8.25pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:MS Shell Dlg; font-size:8pt;&quot;&gt;Schaltet die Voransicht für die Auswirkungen des Formatierers ein und aus.&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:MS Shell Dlg; font-size:8pt;&quot;&gt;Bedeutet es wird zwischen formatiertem und unformatiertem Code gewechselt. (Strg+E)&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+    </message>
+    <message>
+        <source>Live Indent Preview</source>
+        <translation>Echtzeit Formatieransicht</translation>
+    </message>
+    <message>
+        <source>Ctrl+P</source>
+        <translation>Ctrl+E</translation>
+    </message>
+    <message>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:MS Shell Dlg 2; font-size:8.25pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:MS Shell Dlg; font-size:8pt;&quot;&gt;Enables and disables the highlightning of the source&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:MS Shell Dlg; font-size:8pt;&quot;&gt;code shown below. (Still needs some performance improvements) (Strg+H)&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:MS Shell Dlg 2; font-size:8.25pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:MS Shell Dlg; font-size:8pt;&quot;&gt;Schaltet die Syntaxhervorhebung für den Quellcode ein und aus.&lt;/p&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:MS Shell Dlg; font-size:8pt;&quot;&gt;(Benötigt noch Performanz Verbesserungen.) (Strg+H)&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+    </message>
+    <message>
+        <source>Syntax Highlight</source>
+        <translation>Syntax Hervorhebung</translation>
+    </message>
+    <message>
+        <source>Ctrl+H</source>
+        <translation>Ctrl+H</translation>
+    </message>
+    <message>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:MS Shell Dlg; font-size:8.25pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Shows info about UniversalIndentGUI&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:MS Shell Dlg; font-size:8.25pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Zeigt Informationen über UniversalIndentGUI&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+    </message>
+    <message>
+        <source>About</source>
+        <translation>Info</translation>
+    </message>
+    <message>
+        <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:MS Shell Dlg; font-size:8.25pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Quits the UniversalIndentGUI&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:MS Shell Dlg; font-size:8.25pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Beendet UniversalIndentGUI&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+    </message>
+    <message>
+        <source>Exit</source>
+        <translation>Beenden</translation>
+    </message>
+    <message>
+        <source>Help</source>
+        <translation>Hilfe</translation>
+    </message>
+    <message>
+        <source>Indenter</source>
+        <translation></translation>
+    </message>
+    <message>
+        <source>File</source>
+        <translation>Datei</translation>
+    </message>
+    <message>
+        <source>Export</source>
+        <translation></translation>
+    </message>
+    <message>
+        <source>Settings</source>
+        <translation>Einstellungen</translation>
+    </message>
+    <message>
+        <source>Open Source File</source>
+        <translation>Quellcodedatei öffnen</translation>
+    </message>
+    <message>
+        <source>Opens a dialog for selecting a source code file.</source>
+        <translation>Öffnet ein Dialogfenster zur Auswahl der Quellcodedatei.</translation>
+    </message>
+    <message>
+        <source>Ctrl+O</source>
+        <translation>Ctrl+O</translation>
+    </message>
+    <message>
+        <source>Save Source File</source>
+        <translation>Speichern des Quellcodes</translation>
+    </message>
+    <message>
+        <source>Saves the currently shown source code to the last opened or saved source file.</source>
+        <translation>Speichert den momentan sichtbaren Quellcode unter dem zuletzt gewählten Dateinamen.</translation>
+    </message>
+    <message>
+        <source>Ctrl+S</source>
+        <translation>Ctrl+S</translation>
+    </message>
+    <message>
+        <source>Save Source File As</source>
+        <translation>Speichern unter</translation>
+    </message>
+    <message>
+        <source>Opens a file dialog to save the currently shown source code.</source>
+        <translation>Öffnet ein Dialogfenster zur Auswahl des Dateinamens unter dem der momentan sichtbare Quellcode gespeichert werden soll.</translation>
+    </message>
+    <message>
+        <source>Load Indenter Config File</source>
+        <translation>Formatierer Konfiguration laden</translation>
+    </message>
+    <message>
+        <source>Opens a file dialog to load the original config file of the indenter.</source>
+        <translation>Öffnet ein Dialogfenster zum Laden einer Konfigurationsdatei des momentan gewählten Formatierers.</translation>
+    </message>
+    <message>
+        <source>Alt+O</source>
+        <translation>Alt+O</translation>
+    </message>
+    <message>
+        <source>Save Indenter Config File</source>
+        <translation>Formatierer Konfiguration speichern</translation>
+    </message>
+    <message>
+        <source>Opens a dialog to save the current indenter configuration to a file.</source>
+        <translation>Öffnet ein Dialogfenster zum Speichern der Konfigurationsdatei des momentan gewählten Formatierers.</translation>
+    </message>
+    <message>
+        <source>Alt+S</source>
+        <translation>Alt+S</translation>
+    </message>
+    <message>
+        <source>About UniversalIndentGUI</source>
+        <translation>Über UniversalIndentGUI</translation>
+    </message>
+    <message>
+        <source>Shows info about UniversalIndentGUI.</source>
+        <translation>Zeigt Informationen über UniversalIndentGUI.</translation>
+    </message>
+    <message>
+        <source>Quits the UniversalIndentGUI.</source>
+        <translation>Beendet UniversalIndentGUI.</translation>
+    </message>
+    <message>
+        <source>Ctrl+Q</source>
+        <translation>Ctrl+Q</translation>
+    </message>
+    <message>
+        <source>PDF</source>
+        <translation>PDF</translation>
+    </message>
+    <message>
+        <source>Export the currently visible source code as PDF document</source>
+        <translation>Exportiert den momentan sichtbaren Quellcode als PDF Dokument</translation>
+    </message>
+    <message>
+        <source>HTML</source>
+        <translation>HTML</translation>
+    </message>
+    <message>
+        <source>Export the currently visible source code as HTML document</source>
+        <translation>Exportiert den momentan sichtbaren Quellcode als HTML Dokument</translation>
+    </message>
+    <message>
+        <source>Parameter Tooltips</source>
+        <translation>Parameter Tooltips</translation>
+    </message>
+    <message>
+        <source>If checked, tool tips will show up if the mouse cursor remains over an indenter parameter for a while.</source>
+        <translation>Zeigt Tooltips zu den Formatierer Einstellungen an, wenn aktiviert.</translation>
+    </message>
+</context>
+<context>
+    <name>IndentHandler</name>
+    <message>
+        <source>No indenter executable</source>
+        <translation>Keine ausführbare Formatierer Datei</translation>
+    </message>
+    <message>
+        <source>There exists no indenter executable with the name &quot;</source>
+        <translation>Es existiert keine ausführbare Datei mit dem Namen &quot;</translation>
+    </message>
+    <message>
+        <source>&quot; in the directory &quot;</source>
+        <translation>&quot; in dem Verzeichnis &quot;</translation>
+    </message>
+    <message>
+        <source>Error calling Indenter</source>
+        <translation>Fehler beim Aufruf des Formatierers</translation>
+    </message>
+    <message>
+        <source>
+Callstring was: </source>
+        <translation>Der Aufruf lautete:</translation>
+    </message>
+    <message>
+        <source>Indenter returned error</source>
+        <translation>Fehler beim Ausführen des Formatierers</translation>
+    </message>
+    <message>
+        <source>Indenter returned with exit code </source>
+        <translation> Zurückgegebener Exit Code ist </translation>
+    </message>
+    <message>
+        <source>.
+Indent console output was: 
+</source>
+        <translation>.
+ Ausgabe des Formatierers war:
+</translation>
+    </message>
+</context>
+<context>
+    <name>MainWindow</name>
+    <message>
+        <source>Error opening file</source>
+        <translation>Fehler beim Dateiöffnen</translation>
+    </message>
+    <message>
+        <source>Cannot read the file </source>
+        <translation> Kann folgende Datei nicht lesen</translation>
+    </message>
+    <message>
+        <source>Choose source code file</source>
+        <translation>Quellcodedatei wählen</translation>
+    </message>
+    <message>
+        <source>Save source code file</source>
+        <translation>Quellcodedatei speichern</translation>
+    </message>
+    <message>
+        <source>Save indent config file</source>
+        <translation>Formatierer Konfiguration speichern</translation>
+    </message>
+    <message>
+        <source>Choose indenter config file</source>
+        <translation>Formatierer Konfigurationsdatei wählen</translation>
+    </message>
+    <message>
+        <source>Export source code file</source>
+        <translation>Quellcode exportieren</translation>
+    </message>
+    <message>
+        <source>The source code has been modified.
+Do you want to save your changes?</source>
+        <translation>Die Quellcodedatei wurde geändert.
+Möchten Sie die Änderungen speichern?</translation>
+    </message>
+    <message>
+        <source>Supported by indenter</source>
+        <translation>Von Formatierer unterstützt</translation>
+    </message>
+    <message>
+        <source>All files</source>
+        <translation>Alle Dateien</translation>
+    </message>
+    <message>
+        <source>PDF Document</source>
+        <translation>PDF Dokument</translation>
+    </message>
+    <message>
+        <source>HTML Document</source>
+        <translation>HTML Dokument</translation>
+    </message>
+    <message>
+        <source>Modified code</source>
+        <translation>Geänderter Quellcode</translation>
+    </message>
+    <message>
+        <source>English</source>
+        <translation>Englisch</translation>
+    </message>
+    <message>
+        <source>German</source>
+        <translation>Deutsch</translation>
+    </message>
+    <message>
+        <source>Unknown language mnemonic </source>
+        <translation>Unbekanntes Sprachkürzel </translation>
+    </message>
+    <message>
+        <source> as user interface language. (Available after program restart.)</source>
+        <translation> als Programmsprache verwenden. (Nach Neustart aktiv.)</translation>
+    </message>
+    <message>
+        <source>Language</source>
+        <translation>Sprache</translation>
+    </message>
+</context>
+</TS>