Browse Source

This commit was generated by cvs2svn to compensate for changes in r3,
which included commits to RCS files with non-trunk default branches.


git-svn-id: file:///var/svn/tigccpp/trunk@4 9552661e-59e3-4036-b4f2-dbe53926924f

kevinkofler 20 years ago
parent
commit
4548875f27

+ 12 - 0
ktigcc/.qmake.internal.cache

@@ -0,0 +1,12 @@
+[check]
+QMAKE_CACHE_VERSION = 1.02a
+QMAKE_ABSOLUTE_SOURCE_PATH = 
+MOC_DIR = .moc/
+UI_DIR = .ui/
+UI_HEADERS_DIR = 
+UI_SOURCES_DIR = 
+[depend]
+ktigcc.cpp = 
+mainform.ui = 
+[mocable]
+ktigcc.cpp = *qmake_ignore*

+ 340 - 0
ktigcc/COPYING

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

+ 192 - 0
ktigcc/Makefile

@@ -0,0 +1,192 @@
+#############################################################################
+# Makefile for building: ktigcc
+# Generated by qmake (1.05a) (Qt 3.1.2) on: Wed Mar 17 00:33:23 2004
+# Project:  ktigcc.pro
+# Template: app
+# Command: $(QMAKE) -o Makefile ktigcc.pro
+#############################################################################
+
+####### Compiler, tools and options
+
+CC       = gcc
+CXX      = g++
+LEX      = flex
+YACC     = yacc
+CFLAGS   = -pipe -Wall -W -O2 -g -pipe -march=i386 -mcpu=i686 -fno-use-cxa-atexit -fno-exceptions  -DQT_NO_DEBUG
+CXXFLAGS = -pipe -Wall -W -O2 -g -pipe -march=i386 -mcpu=i686 -fno-use-cxa-atexit -fno-exceptions  -DQT_NO_DEBUG
+LEXFLAGS = 
+YACCFLAGS= -d
+INCPATH  = -I$(QTDIR)/mkspecs/default -I. -I/usr/include/kde -I$(QTDIR)/include -I.ui/ -I. -I.moc/
+LINK     = g++
+LFLAGS   = 
+LIBS     = $(SUBLIBS) -L$(QTDIR)/lib -L/usr/X11R6/lib -lktexteditor -lqt-mt -lXext -lX11 -lm
+AR       = ar cqs
+RANLIB   = 
+MOC      = $(QTDIR)/bin/moc
+UIC      = $(QTDIR)/bin/uic
+QMAKE    = qmake
+TAR      = tar -cf
+GZIP     = gzip -9f
+COPY     = cp -f
+COPY_FILE= $(COPY) -p
+COPY_DIR = $(COPY) -pR
+DEL_FILE = rm -f
+SYMLINK  = ln -sf
+DEL_DIR  = rmdir
+MOVE     = mv -f
+CHK_DIR_EXISTS= test -d
+MKDIR    = mkdir -p
+
+####### Output directory
+
+OBJECTS_DIR = .obj/
+
+####### Files
+
+HEADERS = 
+SOURCES = ktigcc.cpp
+OBJECTS = .obj/ktigcc.o \
+		.obj/mainform.o \
+		.obj/qmake_image_collection.o
+FORMS = mainform.ui
+UICDECLS = .ui/mainform.h
+UICIMPLS = .ui/mainform.cpp
+SRCMOC   = .moc/moc_mainform.cpp
+OBJMOC = .obj/moc_mainform.o
+DIST	   = ktigcc.pro
+QMAKE_TARGET = ktigcc
+DESTDIR  = 
+TARGET   = ktigcc
+
+first: all
+####### Implicit rules
+
+.SUFFIXES: .c .cpp .cc .cxx .C
+
+.cpp.o:
+	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<
+
+.cc.o:
+	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<
+
+.cxx.o:
+	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<
+
+.C.o:
+	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<
+
+.c.o:
+	$(CC) -c $(CFLAGS) $(INCPATH) -o $@ $<
+
+####### Build rules
+
+all: Makefile $(TARGET)
+
+$(TARGET):  $(UICDECLS) $(OBJECTS) $(OBJMOC) 
+	$(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJMOC) $(LIBS)
+
+mocables: $(SRCMOC)
+
+$(MOC): 
+	( cd $(QTDIR)/src/moc ; $(MAKE) )
+
+Makefile: ktigcc.pro  $(QTDIR)/mkspecs/default/qmake.conf 
+	$(QMAKE) -o Makefile ktigcc.pro
+qmake: 
+	@$(QMAKE) -o Makefile ktigcc.pro
+
+dist: 
+	@mkdir -p .obj/ktigcc && $(COPY_FILE) --parents $(SOURCES) $(HEADERS) $(FORMS) $(DIST) .obj/ktigcc/ && $(COPY_FILE) --parents mainform.ui.h .obj/ktigcc/ && ( cd `dirname .obj/ktigcc` && $(TAR) ktigcc.tar ktigcc && $(GZIP) ktigcc.tar ) && $(MOVE) `dirname .obj/ktigcc`/ktigcc.tar.gz . && $(DEL_FILE) -r .obj/ktigcc
+
+mocclean:
+	-$(DEL_FILE) $(OBJMOC)
+	-$(DEL_FILE) $(SRCMOC)
+
+uiclean:
+	-$(DEL_FILE) $(UICIMPLS) $(UICDECLS)
+
+yaccclean:
+lexclean:
+clean: mocclean uiclean
+	-$(DEL_FILE) $(OBJECTS) 
+		-$(DEL_FILE) .ui/qmake_image_collection.cpp
+	-$(DEL_FILE) *~ core *.core
+
+
+####### Sub-libraries
+
+distclean: clean
+	-$(DEL_FILE) $(TARGET) $(TARGET)
+
+
+FORCE:
+
+####### Compile
+
+.obj/ktigcc.o: ktigcc.cpp .ui/mainform.h
+	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o .obj/ktigcc.o ktigcc.cpp
+
+.ui/mainform.h: mainform.ui 
+	$(UIC) mainform.ui -o .ui/mainform.h
+
+.ui/mainform.cpp: .ui/mainform.h mainform.ui 
+	$(UIC) mainform.ui -i mainform.h -o .ui/mainform.cpp
+
+.obj/mainform.o: .ui/mainform.cpp mainform.ui.h \
+		.ui/mainform.h
+	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o .obj/mainform.o .ui/mainform.cpp
+
+.obj/moc_mainform.o: .moc/moc_mainform.cpp .ui/mainform.h 
+	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o .obj/moc_mainform.o .moc/moc_mainform.cpp
+
+.moc/moc_mainform.cpp: $(MOC) .ui/mainform.h
+	$(MOC) .ui/mainform.h -o .moc/moc_mainform.cpp
+
+.obj/qmake_image_collection.o: .ui/qmake_image_collection.cpp
+	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o .obj/qmake_image_collection.o .ui/qmake_image_collection.cpp
+
+.ui/qmake_image_collection.cpp: images/00 \
+		images/01 \
+		images/02 \
+		images/03 \
+		images/04 \
+		images/05 \
+		images/06 \
+		images/07 \
+		images/08 \
+		images/09 \
+		images/10 \
+		images/11 \
+		images/12 \
+		images/13 \
+		images/14 \
+		images/15 \
+		images/16 \
+		images/17 \
+		images/18 \
+		images/19 \
+		images/20 \
+		images/21 \
+		images/22 \
+		images/23 \
+		images/24 \
+		images/25 \
+		images/26 \
+		images/27 \
+		images/tpr.png \
+		images/folder1.png \
+		images/folder2.png \
+		images/filec.png \
+		images/fileh.png \
+		images/fileo.png \
+		images/files.png \
+		images/filet.png \
+		images/filex.png
+	$(UIC)  -embed ktigcc images/00 images/01 images/02 images/03 images/04 images/05 images/06 images/07 images/08 images/09 images/10 images/11 images/12 images/13 images/14 images/15 images/16 images/17 images/18 images/19 images/20 images/21 images/22 images/23 images/24 images/25 images/26 images/27 images/tpr.png images/folder1.png images/folder2.png images/filec.png images/fileh.png images/fileo.png images/files.png images/filet.png images/filex.png -o .ui/qmake_image_collection.cpp
+
+####### Install
+
+install: all 
+
+uninstall: 
+

BIN
ktigcc/images/00


BIN
ktigcc/images/01


BIN
ktigcc/images/02


BIN
ktigcc/images/03


BIN
ktigcc/images/04


BIN
ktigcc/images/05


BIN
ktigcc/images/06


BIN
ktigcc/images/07


BIN
ktigcc/images/08


BIN
ktigcc/images/09


BIN
ktigcc/images/10


BIN
ktigcc/images/11


BIN
ktigcc/images/12


BIN
ktigcc/images/13


BIN
ktigcc/images/14


BIN
ktigcc/images/15


BIN
ktigcc/images/16


BIN
ktigcc/images/17


BIN
ktigcc/images/18


BIN
ktigcc/images/19


BIN
ktigcc/images/20


BIN
ktigcc/images/21


BIN
ktigcc/images/22


BIN
ktigcc/images/23


BIN
ktigcc/images/24


BIN
ktigcc/images/25


BIN
ktigcc/images/26


BIN
ktigcc/images/27


BIN
ktigcc/images/filec.png


BIN
ktigcc/images/fileh.png


BIN
ktigcc/images/fileo.png


BIN
ktigcc/images/files.png


BIN
ktigcc/images/filet.png


BIN
ktigcc/images/filex.png


BIN
ktigcc/images/folder1.png


BIN
ktigcc/images/folder2.png


BIN
ktigcc/images/tpr.png


+ 81 - 0
ktigcc/ktigcc.cpp

@@ -0,0 +1,81 @@
+/*
+   ktigcc - TIGCC IDE for KDE
+
+   Copyright (C) 2004 Kevin Kofler
+
+   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, or (at your option)
+   any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software Foundation,
+   Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+*/
+
+#include <stdlib.h>
+#include <unistd.h>
+#include <kapplication.h>
+#include <kcmdlineargs.h>
+#include "mainform.h"
+void qCleanupImages_ktigcc();
+void qInitImages_ktigcc();
+
+const char *tigcc_base;
+char *quill_drv;
+
+int main( int argc, char *argv[] )
+{
+  KCmdLineArgs::init(argc,argv,"KTIGCC","TIGCC IDE for KDE","1.00");
+  KApplication app;
+  // Readd the images KDE kindly removes...
+  qCleanupImages_ktigcc();
+  qInitImages_ktigcc();
+  
+  if ((tigcc_base = getenv("TIGCC")) == NULL) {
+    fprintf(stderr, "Fatal error: TIGCC is not defined in the environment. "
+                    "TIGCC must be defined before tigcc can run.\nFor (ba)sh, "
+                    "try: export TIGCC=/path/to/tigcc\nFor (t)csh, try: setenv "
+                    "TIGCC /path/to/tigcc\n");
+    exit(-1);
+  }
+  quill_drv = (char *) malloc (strlen(tigcc_base) + 25);
+  if (!quill_drv) {
+    fprintf(stderr, "Fatal error: not enough free memory\n");
+    exit(-1);
+  }
+  sprintf(quill_drv, "%s/bin/quill.drv", tigcc_base);
+  if(access(quill_drv, F_OK) != -1) goto quill_drv_found;
+  sprintf(quill_drv, "%s/bin/Quill.drv", tigcc_base);
+  if(access(quill_drv, F_OK) != -1) goto quill_drv_found;
+  sprintf(quill_drv, "%s/include/c/quill.drv", tigcc_base);
+  if(access(quill_drv, F_OK) != -1) goto quill_drv_found;
+  sprintf(quill_drv, "%s/include/c/Quill.drv", tigcc_base);
+  if(access(quill_drv, F_OK) != -1) goto quill_drv_found;
+  sprintf(quill_drv, "%s/include/quill/quill.drv", tigcc_base);
+  if(access(quill_drv, F_OK) != -1) goto quill_drv_found;
+  sprintf(quill_drv, "%s/include/quill/Quill.drv", tigcc_base);
+  if(access(quill_drv, F_OK) != -1) goto quill_drv_found;
+  sprintf(quill_drv, "%s/include/Quill/quill.drv", tigcc_base);
+  if(access(quill_drv, F_OK) != -1) goto quill_drv_found;
+  sprintf(quill_drv, "%s/include/Quill/Quill.drv", tigcc_base);
+  if(access(quill_drv, F_OK) != -1) goto quill_drv_found;
+  sprintf(quill_drv, "%s/lib/quill.drv", tigcc_base);
+  if(access(quill_drv, F_OK) != -1) goto quill_drv_found;
+  sprintf(quill_drv, "%s/lib/Quill.drv", tigcc_base);
+  if(access(quill_drv, F_OK) != -1) goto quill_drv_found;
+  free(quill_drv);
+  quill_drv=NULL;
+  quill_drv_found:
+  
+  MainForm mainForm;
+  app.setMainWidget( &mainForm );
+  mainForm.show();
+  
+  return app.exec();
+}

+ 49 - 0
ktigcc/ktigcc.pro

@@ -0,0 +1,49 @@
+SOURCES	+= ktigcc.cpp
+unix {
+  UI_DIR = .ui
+  MOC_DIR = .moc
+  OBJECTS_DIR = .obj
+}
+FORMS	= mainform.ui
+IMAGES	= images/00 \
+	images/01 \
+	images/02 \
+	images/03 \
+	images/04 \
+	images/05 \
+	images/06 \
+	images/07 \
+	images/08 \
+	images/09 \
+	images/10 \
+	images/11 \
+	images/12 \
+	images/13 \
+	images/14 \
+	images/15 \
+	images/16 \
+	images/17 \
+	images/18 \
+	images/19 \
+	images/20 \
+	images/21 \
+	images/22 \
+	images/23 \
+	images/24 \
+	images/25 \
+	images/26 \
+	images/27 \
+	images/tpr.png \
+	images/folder1.png \
+	images/folder2.png \
+	images/filec.png \
+	images/fileh.png \
+	images/fileo.png \
+	images/files.png \
+	images/filet.png \
+	images/filex.png
+TEMPLATE	=app
+CONFIG	+= qt warn_on release
+unix:INCLUDEPATH	+= /usr/include/kde
+unix:LIBS	+= -lktexteditor
+LANGUAGE	= C++

+ 1285 - 0
ktigcc/mainform.ui

@@ -0,0 +1,1285 @@
+<!DOCTYPE UI><UI version="3.1" stdsetdef="1">
+<class>MainForm</class>
+<widget class="QMainWindow">
+    <property name="name">
+        <cstring>MainForm</cstring>
+    </property>
+    <property name="geometry">
+        <rect>
+            <x>0</x>
+            <y>0</y>
+            <width>610</width>
+            <height>520</height>
+        </rect>
+    </property>
+    <property name="caption">
+        <string>TIGCC IDE for KDE</string>
+    </property>
+    <hbox>
+        <property name="name">
+            <cstring>unnamed</cstring>
+        </property>
+        <widget class="QSplitter">
+            <property name="name">
+                <cstring>splitter</cstring>
+            </property>
+            <property name="orientation">
+                <enum>Horizontal</enum>
+            </property>
+            <widget class="QListView">
+                <column>
+                    <property name="text">
+                        <string>Files</string>
+                    </property>
+                    <property name="clickable">
+                        <bool>false</bool>
+                    </property>
+                    <property name="resizable">
+                        <bool>false</bool>
+                    </property>
+                </column>
+                <property name="name">
+                    <cstring>fileTree</cstring>
+                </property>
+                <property name="acceptDrops">
+                    <bool>true</bool>
+                </property>
+                <property name="rootIsDecorated">
+                    <bool>false</bool>
+                </property>
+                <property name="defaultRenameAction">
+                    <enum>Accept</enum>
+                </property>
+            </widget>
+            <widget class="KTextEdit">
+                <property name="name">
+                    <cstring>kTextEdit1</cstring>
+                </property>
+                <property name="enabled">
+                    <bool>false</bool>
+                </property>
+                <property name="paletteBackgroundColor">
+                    <color>
+                        <red>230</red>
+                        <green>230</green>
+                        <blue>230</blue>
+                    </color>
+                </property>
+            </widget>
+        </widget>
+    </hbox>
+</widget>
+<menubar>
+    <property name="name">
+        <cstring>menubar</cstring>
+    </property>
+    <item text="&amp;File" name="fileMenu">
+        <action name="fileNewActionGroup"/>
+        <action name="fileOpenAction"/>
+        <action name="fileSaveAllAction"/>
+        <action name="fileSaveProjectAsAction"/>
+        <separator/>
+        <action name="filePrintAction"/>
+        <separator/>
+        <action name="filePreferencesAction"/>
+        <separator/>
+        <action name="fileExitAction"/>
+        <separator/>
+        <action name="fileRecent1Action"/>
+        <action name="fileRecent2Action"/>
+        <action name="fileRecent3Action"/>
+        <action name="fileRecent4Action"/>
+    </item>
+    <item text="&amp;Edit" name="editMenu">
+        <action name="editUndoAction"/>
+        <action name="editRedoAction"/>
+        <separator/>
+        <action name="editClearAction"/>
+        <action name="editCutAction"/>
+        <action name="editCopyAction"/>
+        <action name="editPasteAction"/>
+        <separator/>
+        <action name="editSelectAllAction"/>
+        <separator/>
+        <action name="editIncreaseIndentAction"/>
+        <action name="editDecreaseIndentAction"/>
+    </item>
+    <item text="F&amp;ind" name="PopupMenu">
+        <action name="findFindAction"/>
+        <action name="findReplaceAction"/>
+        <separator/>
+        <action name="findFunctionsAction"/>
+        <separator/>
+        <action name="findOpenFileAtCursorAction"/>
+    </item>
+    <item text="&amp;Project" name="PopupMenu_2">
+        <action name="projectAddFilesAction"/>
+        <separator/>
+        <action name="projectCompileAction"/>
+        <action name="projectMakeAction"/>
+        <action name="projectBuildAction"/>
+        <separator/>
+        <action name="projectErrorsWarningsAction"/>
+        <action name="projectProgramOutputAction"/>
+        <separator/>
+        <action name="projectOptionsAction"/>
+    </item>
+    <item text="&amp;Debug" name="PopupMenu_3">
+        <action name="debugRunAction"/>
+        <separator/>
+        <action name="debugPauseAction"/>
+        <action name="debugResetAction"/>
+    </item>
+    <item text="&amp;Tools" name="PopupMenu_4">
+        <action name="toolsConfigureAction"/>
+    </item>
+    <item text="&amp;Help" name="helpMenu">
+        <action name="helpContentsAction"/>
+        <action name="helpIndexAction"/>
+        <action name="helpSearchAction"/>
+        <separator/>
+        <action name="helpNewsAction"/>
+        <separator/>
+        <action name="helpAboutAction"/>
+    </item>
+</menubar>
+<toolbars>
+    <toolbar dock="2">
+        <property name="name">
+            <cstring>toolBar</cstring>
+        </property>
+        <property name="movingEnabled">
+            <bool>false</bool>
+        </property>
+        <property name="label">
+            <string>Tools</string>
+        </property>
+        <action name="fileNewActionGroup"/>
+        <action name="fileOpenAction"/>
+        <action name="fileSaveAllAction"/>
+        <separator/>
+        <action name="filePrintAction"/>
+        <separator/>
+        <action name="editClearAction"/>
+        <action name="editCutAction"/>
+        <action name="editCopyAction"/>
+        <action name="editPasteAction"/>
+        <separator/>
+        <action name="editUndoAction"/>
+        <action name="editRedoAction"/>
+        <separator/>
+        <action name="findFindAction"/>
+        <action name="findReplaceAction"/>
+        <action name="findFunctionsAction"/>
+        <separator/>
+        <action name="projectAddFilesAction"/>
+        <separator/>
+        <action name="projectMakeAction"/>
+        <action name="projectBuildAction"/>
+        <separator/>
+        <action name="debugRunAction"/>
+        <action name="debugPauseAction"/>
+        <separator/>
+        <action name="helpDocumentationAction"/>
+    </toolbar>
+</toolbars>
+<actions>
+    <action>
+        <property name="name">
+            <cstring>fileOpenAction</cstring>
+        </property>
+        <property name="iconSet">
+            <iconset>01</iconset>
+        </property>
+        <property name="text">
+            <string>Open File</string>
+        </property>
+        <property name="menuText">
+            <string>&amp;Open...</string>
+        </property>
+        <property name="statusTip">
+            <string>Open an existing project or file</string>
+        </property>
+        <property name="accel">
+            <string>Ctrl+O</string>
+        </property>
+    </action>
+    <action>
+        <property name="name">
+            <cstring>fileSaveAllAction</cstring>
+        </property>
+        <property name="iconSet">
+            <iconset>02</iconset>
+        </property>
+        <property name="text">
+            <string>Save All</string>
+        </property>
+        <property name="menuText">
+            <string>&amp;Save All</string>
+        </property>
+        <property name="statusTip">
+            <string>Save all open files</string>
+        </property>
+        <property name="accel">
+            <string>Ctrl+S</string>
+        </property>
+    </action>
+    <action>
+        <property name="name">
+            <cstring>fileSaveProjectAsAction</cstring>
+        </property>
+        <property name="text">
+            <string>Save Project As...</string>
+        </property>
+        <property name="menuText">
+            <string>Save Project &amp;As...</string>
+        </property>
+        <property name="statusTip">
+            <string>Save the current project with another name, or in another folder</string>
+        </property>
+        <property name="accel">
+            <string></string>
+        </property>
+    </action>
+    <action>
+        <property name="name">
+            <cstring>filePrintAction</cstring>
+        </property>
+        <property name="enabled">
+            <bool>false</bool>
+        </property>
+        <property name="iconSet">
+            <iconset>03</iconset>
+        </property>
+        <property name="text">
+            <string>Print File</string>
+        </property>
+        <property name="menuText">
+            <string>&amp;Print...</string>
+        </property>
+        <property name="statusTip">
+            <string>Print the current source file</string>
+        </property>
+        <property name="accel">
+            <string>Ctrl+P</string>
+        </property>
+    </action>
+    <action>
+        <property name="name">
+            <cstring>fileExitAction</cstring>
+        </property>
+        <property name="text">
+            <string>Exit</string>
+        </property>
+        <property name="menuText">
+            <string>E&amp;xit</string>
+        </property>
+        <property name="statusTip">
+            <string>Close the TIGCC IDE</string>
+        </property>
+        <property name="accel">
+            <string></string>
+        </property>
+    </action>
+    <action>
+        <property name="name">
+            <cstring>editUndoAction</cstring>
+        </property>
+        <property name="enabled">
+            <bool>false</bool>
+        </property>
+        <property name="iconSet">
+            <iconset>16</iconset>
+        </property>
+        <property name="text">
+            <string>Undo</string>
+        </property>
+        <property name="menuText">
+            <string>&amp;Undo</string>
+        </property>
+        <property name="statusTip">
+            <string>Undo the last operation in the editor</string>
+        </property>
+        <property name="accel">
+            <string>Ctrl+Z</string>
+        </property>
+    </action>
+    <action>
+        <property name="name">
+            <cstring>editRedoAction</cstring>
+        </property>
+        <property name="enabled">
+            <bool>false</bool>
+        </property>
+        <property name="iconSet">
+            <iconset>17</iconset>
+        </property>
+        <property name="text">
+            <string>Redo</string>
+        </property>
+        <property name="menuText">
+            <string>&amp;Redo</string>
+        </property>
+        <property name="statusTip">
+            <string>Redo the last undone operation in the editor</string>
+        </property>
+        <property name="accel">
+            <string>Ctrl+Y</string>
+        </property>
+    </action>
+    <action>
+        <property name="name">
+            <cstring>editCutAction</cstring>
+        </property>
+        <property name="enabled">
+            <bool>false</bool>
+        </property>
+        <property name="iconSet">
+            <iconset>05</iconset>
+        </property>
+        <property name="text">
+            <string>Cut</string>
+        </property>
+        <property name="menuText">
+            <string>Cu&amp;t</string>
+        </property>
+        <property name="statusTip">
+            <string>Copy the selected text into the clipboard and delete it</string>
+        </property>
+        <property name="accel">
+            <string>Ctrl+X</string>
+        </property>
+    </action>
+    <action>
+        <property name="name">
+            <cstring>editCopyAction</cstring>
+        </property>
+        <property name="enabled">
+            <bool>false</bool>
+        </property>
+        <property name="iconSet">
+            <iconset>06</iconset>
+        </property>
+        <property name="text">
+            <string>Copy</string>
+        </property>
+        <property name="menuText">
+            <string>C&amp;opy</string>
+        </property>
+        <property name="statusTip">
+            <string>Copy the selected text into the clipboard without deleting it</string>
+        </property>
+        <property name="accel">
+            <string>Ctrl+C</string>
+        </property>
+    </action>
+    <action>
+        <property name="name">
+            <cstring>editPasteAction</cstring>
+        </property>
+        <property name="enabled">
+            <bool>false</bool>
+        </property>
+        <property name="iconSet">
+            <iconset>07</iconset>
+        </property>
+        <property name="text">
+            <string>Paste</string>
+        </property>
+        <property name="menuText">
+            <string>&amp;Paste</string>
+        </property>
+        <property name="statusTip">
+            <string>Paste text from the clipboard</string>
+        </property>
+        <property name="accel">
+            <string>Ctrl+V</string>
+        </property>
+    </action>
+    <action>
+        <property name="name">
+            <cstring>findFindAction</cstring>
+        </property>
+        <property name="iconSet">
+            <iconset>13</iconset>
+        </property>
+        <property name="text">
+            <string>Find</string>
+        </property>
+        <property name="menuText">
+            <string>&amp;Find...</string>
+        </property>
+        <property name="toolTip">
+            <string>Find Text</string>
+        </property>
+        <property name="statusTip">
+            <string>Find the specified text in the current source file</string>
+        </property>
+        <property name="accel">
+            <string>Ctrl+F</string>
+        </property>
+    </action>
+    <action>
+        <property name="name">
+            <cstring>helpContentsAction</cstring>
+        </property>
+        <property name="iconSet">
+            <iconset>12</iconset>
+        </property>
+        <property name="text">
+            <string>Contents</string>
+        </property>
+        <property name="menuText">
+            <string>&amp;Contents...</string>
+        </property>
+        <property name="statusTip">
+            <string>Display the contents tab of the documentation</string>
+        </property>
+        <property name="accel">
+            <string></string>
+        </property>
+    </action>
+    <action>
+        <property name="name">
+            <cstring>helpIndexAction</cstring>
+        </property>
+        <property name="iconSet">
+            <iconset>15</iconset>
+        </property>
+        <property name="text">
+            <string>Index</string>
+        </property>
+        <property name="menuText">
+            <string>&amp;Index...</string>
+        </property>
+        <property name="statusTip">
+            <string>Display the index tab of the documentation</string>
+        </property>
+        <property name="accel">
+            <string></string>
+        </property>
+    </action>
+    <action>
+        <property name="name">
+            <cstring>helpAboutAction</cstring>
+        </property>
+        <property name="text">
+            <string>About</string>
+        </property>
+        <property name="menuText">
+            <string>&amp;About...</string>
+        </property>
+        <property name="statusTip">
+            <string>Display information about this program</string>
+        </property>
+        <property name="accel">
+            <string></string>
+        </property>
+    </action>
+    <actiongroup>
+        <property name="name">
+            <cstring>fileNewActionGroup</cstring>
+        </property>
+        <property name="on">
+            <bool>false</bool>
+        </property>
+        <property name="iconSet">
+            <iconset>00</iconset>
+        </property>
+        <property name="text">
+            <string>New</string>
+        </property>
+        <property name="menuText">
+            <string>&amp;New</string>
+        </property>
+        <property name="toolTip">
+            <string>New File</string>
+        </property>
+        <property name="statusTip">
+            <string>Create a new file</string>
+        </property>
+        <property name="accel">
+            <string></string>
+        </property>
+        <property name="exclusive">
+            <bool>false</bool>
+        </property>
+        <property name="usesDropDown">
+            <bool>true</bool>
+        </property>
+        <action>
+            <property name="name">
+                <cstring>fileNewProjectAction</cstring>
+            </property>
+            <property name="text">
+                <string>&amp;Project</string>
+            </property>
+            <property name="statusTip">
+                <string>Create a new project</string>
+            </property>
+            <property name="accel">
+                <string>Ctrl+N</string>
+            </property>
+        </action>
+        <action>
+            <property name="name">
+                <cstring>fileNewFolderAction</cstring>
+            </property>
+            <property name="enabled">
+                <bool>true</bool>
+            </property>
+            <property name="text">
+                <string>&amp;Folder</string>
+            </property>
+            <property name="menuText">
+                <string>&amp;Folder</string>
+            </property>
+            <property name="statusTip">
+                <string>Create a new virtual folder</string>
+            </property>
+        </action>
+        <action>
+            <property name="name">
+                <cstring>fileNewCHeaderAction</cstring>
+            </property>
+            <property name="text">
+                <string>C &amp;Header File</string>
+            </property>
+            <property name="menuText">
+                <string>C &amp;Header File</string>
+            </property>
+            <property name="statusTip">
+                <string>Create a new C header file in the current project</string>
+            </property>
+        </action>
+        <action>
+            <property name="name">
+                <cstring>fileNewGNUAssemblyHeaderAction</cstring>
+            </property>
+            <property name="text">
+                <string>G&amp;NU Assembly Header File</string>
+            </property>
+            <property name="statusTip">
+                <string>Create a new GNU assembly header file in the current project</string>
+            </property>
+        </action>
+        <action>
+            <property name="name">
+                <cstring>fileNewA68kAssemblyHeaderAction</cstring>
+            </property>
+            <property name="text">
+                <string>A68&amp;k Assembly &amp;Header File</string>
+            </property>
+            <property name="statusTip">
+                <string>Create a new A68k assembly header file in the current project</string>
+            </property>
+        </action>
+        <action>
+            <property name="name">
+                <cstring>fileNewCSourceFileAction</cstring>
+            </property>
+            <property name="text">
+                <string>&amp;C Source File</string>
+            </property>
+            <property name="statusTip">
+                <string>Create a new C source file in the current project</string>
+            </property>
+        </action>
+        <action>
+            <property name="name">
+                <cstring>fileNewGNUAssemblySourceFileAction</cstring>
+            </property>
+            <property name="text">
+                <string>&amp;GNU Assembly Source File</string>
+            </property>
+            <property name="statusTip">
+                <string>Create a new GNU assembly source file in the current project</string>
+            </property>
+        </action>
+        <action>
+            <property name="name">
+                <cstring>fileNewA68kAssemblySourceFileAction</cstring>
+            </property>
+            <property name="text">
+                <string>&amp;A68k Assembly Source File</string>
+            </property>
+            <property name="statusTip">
+                <string>Create a new A68k assembly source file in the current project</string>
+            </property>
+        </action>
+        <action>
+            <property name="name">
+                <cstring>fileNewQuillSourceFileAction</cstring>
+            </property>
+            <property name="text">
+                <string>&amp;Quill Source File</string>
+            </property>
+            <property name="statusTip">
+                <string>Create a new Quill source file in the current project</string>
+            </property>
+        </action>
+        <action>
+            <property name="name">
+                <cstring>fileNewTextFileAction</cstring>
+            </property>
+            <property name="text">
+                <string>&amp;Text File</string>
+            </property>
+            <property name="statusTip">
+                <string>Create a new text file in the current project, for general use</string>
+            </property>
+        </action>
+    </actiongroup>
+    <action>
+        <property name="name">
+            <cstring>filePreferencesAction</cstring>
+        </property>
+        <property name="text">
+            <string>Preferences</string>
+        </property>
+        <property name="menuText">
+            <string>P&amp;references...</string>
+        </property>
+        <property name="statusTip">
+            <string>Change the IDE settings</string>
+        </property>
+    </action>
+    <action>
+        <property name="name">
+            <cstring>fileRecent1Action</cstring>
+        </property>
+        <property name="text">
+            <string>Recent File 1</string>
+        </property>
+    </action>
+    <action>
+        <property name="name">
+            <cstring>fileRecent2Action</cstring>
+        </property>
+        <property name="text">
+            <string>Recent File 2</string>
+        </property>
+    </action>
+    <action>
+        <property name="name">
+            <cstring>fileRecent3Action</cstring>
+        </property>
+        <property name="text">
+            <string>Recent File 3</string>
+        </property>
+    </action>
+    <action>
+        <property name="name">
+            <cstring>fileRecent4Action</cstring>
+        </property>
+        <property name="text">
+            <string>Recent File 4</string>
+        </property>
+    </action>
+    <action>
+        <property name="name">
+            <cstring>editClearAction</cstring>
+        </property>
+        <property name="enabled">
+            <bool>false</bool>
+        </property>
+        <property name="iconSet">
+            <iconset>04</iconset>
+        </property>
+        <property name="text">
+            <string>Clear</string>
+        </property>
+        <property name="menuText">
+            <string>&amp;Clear</string>
+        </property>
+        <property name="statusTip">
+            <string>Delete the selected text in the editor</string>
+        </property>
+    </action>
+    <action>
+        <property name="name">
+            <cstring>editSelectAllAction</cstring>
+        </property>
+        <property name="enabled">
+            <bool>false</bool>
+        </property>
+        <property name="text">
+            <string>Select All</string>
+        </property>
+        <property name="menuText">
+            <string>&amp;Select All</string>
+        </property>
+        <property name="statusTip">
+            <string>Select the whole text in the editor</string>
+        </property>
+        <property name="accel">
+            <string>Ctrl+A</string>
+        </property>
+    </action>
+    <action>
+        <property name="name">
+            <cstring>editIncreaseIndentAction</cstring>
+        </property>
+        <property name="enabled">
+            <bool>false</bool>
+        </property>
+        <property name="iconSet">
+            <iconset>19</iconset>
+        </property>
+        <property name="text">
+            <string>Increase Indent</string>
+        </property>
+        <property name="menuText">
+            <string>&amp;Increase Indent</string>
+        </property>
+        <property name="statusTip">
+            <string>Insert tabs so that the text is moved to the right</string>
+        </property>
+        <property name="accel">
+            <string>Ctrl+I</string>
+        </property>
+    </action>
+    <action>
+        <property name="name">
+            <cstring>editDecreaseIndentAction</cstring>
+        </property>
+        <property name="enabled">
+            <bool>false</bool>
+        </property>
+        <property name="iconSet">
+            <iconset>20</iconset>
+        </property>
+        <property name="text">
+            <string>Decrease Indent</string>
+        </property>
+        <property name="menuText">
+            <string>&amp;Decrease Indent</string>
+        </property>
+        <property name="statusTip">
+            <string>Remove tabs and spaces so that the text is moved to the left</string>
+        </property>
+        <property name="accel">
+            <string>Ctrl+D</string>
+        </property>
+    </action>
+    <action>
+        <property name="name">
+            <cstring>findReplaceAction</cstring>
+        </property>
+        <property name="iconSet">
+            <iconset>14</iconset>
+        </property>
+        <property name="text">
+            <string>Replace</string>
+        </property>
+        <property name="menuText">
+            <string>&amp;Replace...</string>
+        </property>
+        <property name="toolTip">
+            <string>Replace Text</string>
+        </property>
+        <property name="statusTip">
+            <string>Find the specified text in the current source file and replace it with something else</string>
+        </property>
+        <property name="accel">
+            <string>Ctrl+R</string>
+        </property>
+    </action>
+    <action>
+        <property name="name">
+            <cstring>findFunctionsAction</cstring>
+        </property>
+        <property name="enabled">
+            <bool>false</bool>
+        </property>
+        <property name="iconSet">
+            <iconset>18</iconset>
+        </property>
+        <property name="text">
+            <string>Functions</string>
+        </property>
+        <property name="menuText">
+            <string>F&amp;unctions...</string>
+        </property>
+        <property name="statusTip">
+            <string>Display a list of all functions in the current file</string>
+        </property>
+    </action>
+    <action>
+        <property name="name">
+            <cstring>findOpenFileAtCursorAction</cstring>
+        </property>
+        <property name="enabled">
+            <bool>false</bool>
+        </property>
+        <property name="text">
+            <string>Open File at Cursor</string>
+        </property>
+        <property name="menuText">
+            <string>&amp;Open File at Cursor</string>
+        </property>
+        <property name="statusTip">
+            <string>Open the file the cursor is on</string>
+        </property>
+        <property name="accel">
+            <string>Ctrl+Enter</string>
+        </property>
+    </action>
+    <action>
+        <property name="name">
+            <cstring>projectAddFilesAction</cstring>
+        </property>
+        <property name="iconSet">
+            <iconset>08</iconset>
+        </property>
+        <property name="text">
+            <string>Add Files</string>
+        </property>
+        <property name="menuText">
+            <string>&amp;Add Files...</string>
+        </property>
+        <property name="statusTip">
+            <string>Add existing files to the current project</string>
+        </property>
+    </action>
+    <action>
+        <property name="name">
+            <cstring>projectCompileAction</cstring>
+        </property>
+        <property name="iconSet">
+            <iconset>09</iconset>
+        </property>
+        <property name="text">
+            <string>Compile</string>
+        </property>
+        <property name="menuText">
+            <string>&amp;Compile</string>
+        </property>
+        <property name="statusTip">
+            <string>Compile all updated files in the current project</string>
+        </property>
+        <property name="accel">
+            <string>Ctrl+Alt+F9</string>
+        </property>
+    </action>
+    <action>
+        <property name="name">
+            <cstring>projectMakeAction</cstring>
+        </property>
+        <property name="iconSet">
+            <iconset>10</iconset>
+        </property>
+        <property name="text">
+            <string>Make</string>
+        </property>
+        <property name="menuText">
+            <string>&amp;Make</string>
+        </property>
+        <property name="statusTip">
+            <string>Compile and link together all updated files in the current project, creating an executable file</string>
+        </property>
+        <property name="accel">
+            <string>Ctrl+F9</string>
+        </property>
+    </action>
+    <action>
+        <property name="name">
+            <cstring>projectBuildAction</cstring>
+        </property>
+        <property name="iconSet">
+            <iconset>11</iconset>
+        </property>
+        <property name="text">
+            <string>Build</string>
+        </property>
+        <property name="menuText">
+            <string>&amp;Build</string>
+        </property>
+        <property name="statusTip">
+            <string>Recompile and link together all files in the current project, creating an executable file</string>
+        </property>
+        <property name="accel">
+            <string>Alt+F9</string>
+        </property>
+    </action>
+    <action>
+        <property name="name">
+            <cstring>projectErrorsWarningsAction</cstring>
+        </property>
+        <property name="toggleAction">
+            <bool>true</bool>
+        </property>
+        <property name="enabled">
+            <bool>false</bool>
+        </property>
+        <property name="text">
+            <string>Errors and Warnings</string>
+        </property>
+        <property name="menuText">
+            <string>&amp;Errors and Warnings</string>
+        </property>
+        <property name="statusTip">
+            <string>Show or hide the Errors and Warnings window</string>
+        </property>
+        <property name="accel">
+            <string>Ctrl+E</string>
+        </property>
+    </action>
+    <action>
+        <property name="name">
+            <cstring>projectProgramOutputAction</cstring>
+        </property>
+        <property name="enabled">
+            <bool>false</bool>
+        </property>
+        <property name="text">
+            <string>Program Output</string>
+        </property>
+        <property name="menuText">
+            <string>&amp;Program Output...</string>
+        </property>
+        <property name="statusTip">
+            <string>Show the output of the compilation tool that was run last</string>
+        </property>
+    </action>
+    <action>
+        <property name="name">
+            <cstring>projectOptionsAction</cstring>
+        </property>
+        <property name="text">
+            <string>Options</string>
+        </property>
+        <property name="menuText">
+            <string>&amp;Options...</string>
+        </property>
+        <property name="statusTip">
+            <string>Change the settings of the current project</string>
+        </property>
+    </action>
+    <action>
+        <property name="name">
+            <cstring>debugRunAction</cstring>
+        </property>
+        <property name="iconSet">
+            <iconset>24</iconset>
+        </property>
+        <property name="text">
+            <string>Run</string>
+        </property>
+        <property name="menuText">
+            <string>&amp;Run</string>
+        </property>
+        <property name="statusTip">
+            <string>Run the program on the target specified in the project settings</string>
+        </property>
+        <property name="accel">
+            <string>F9</string>
+        </property>
+    </action>
+    <action>
+        <property name="name">
+            <cstring>debugPauseAction</cstring>
+        </property>
+        <property name="iconSet">
+            <iconset>25</iconset>
+        </property>
+        <property name="text">
+            <string>Pause</string>
+        </property>
+        <property name="menuText">
+            <string>&amp;Pause</string>
+        </property>
+        <property name="statusTip">
+            <string>Pause the execution of the program and enter the debugger</string>
+        </property>
+        <property name="accel">
+            <string>Shift+F9</string>
+        </property>
+    </action>
+    <action>
+        <property name="name">
+            <cstring>debugResetAction</cstring>
+        </property>
+        <property name="iconSet">
+            <iconset>27</iconset>
+        </property>
+        <property name="text">
+            <string>Reset</string>
+        </property>
+        <property name="menuText">
+            <string>Re&amp;set</string>
+        </property>
+        <property name="statusTip">
+            <string>Reset the state of the virtual calculator to the one which was previously saved</string>
+        </property>
+    </action>
+    <action>
+        <property name="name">
+            <cstring>toolsConfigureAction</cstring>
+        </property>
+        <property name="iconSet">
+            <iconset>26</iconset>
+        </property>
+        <property name="text">
+            <string>Configure</string>
+        </property>
+        <property name="menuText">
+            <string>&amp;Configure...</string>
+        </property>
+        <property name="statusTip">
+            <string>Add, edit and remove tools</string>
+        </property>
+    </action>
+    <action>
+        <property name="name">
+            <cstring>helpSearchAction</cstring>
+        </property>
+        <property name="iconSet">
+            <iconset>13</iconset>
+        </property>
+        <property name="text">
+            <string>Search</string>
+        </property>
+        <property name="menuText">
+            <string>&amp;Search</string>
+        </property>
+        <property name="statusTip">
+            <string>Display the search tab of the documentation</string>
+        </property>
+    </action>
+    <action>
+        <property name="name">
+            <cstring>helpNewsAction</cstring>
+        </property>
+        <property name="iconSet">
+            <iconset>23</iconset>
+        </property>
+        <property name="text">
+            <string>News</string>
+        </property>
+        <property name="menuText">
+            <string>&amp;News...</string>
+        </property>
+        <property name="statusTip">
+            <string>Obtain the latest headlines from the official TIGCC site</string>
+        </property>
+    </action>
+    <action>
+        <property name="name">
+            <cstring>helpDocumentationAction</cstring>
+        </property>
+        <property name="iconSet">
+            <iconset>12</iconset>
+        </property>
+        <property name="text">
+            <string>Documentation</string>
+        </property>
+        <property name="statusTip">
+            <string>Open the documentation of TIGCC</string>
+        </property>
+    </action>
+</actions>
+<connections>
+    <connection>
+        <sender>fileOpenAction</sender>
+        <signal>activated()</signal>
+        <receiver>MainForm</receiver>
+        <slot>fileOpen()</slot>
+    </connection>
+    <connection>
+        <sender>fileSaveAllAction</sender>
+        <signal>activated()</signal>
+        <receiver>MainForm</receiver>
+        <slot>fileSave()</slot>
+    </connection>
+    <connection>
+        <sender>fileSaveProjectAsAction</sender>
+        <signal>activated()</signal>
+        <receiver>MainForm</receiver>
+        <slot>fileSaveAs()</slot>
+    </connection>
+    <connection>
+        <sender>filePrintAction</sender>
+        <signal>activated()</signal>
+        <receiver>MainForm</receiver>
+        <slot>filePrint()</slot>
+    </connection>
+    <connection>
+        <sender>fileExitAction</sender>
+        <signal>activated()</signal>
+        <receiver>MainForm</receiver>
+        <slot>close()</slot>
+    </connection>
+    <connection>
+        <sender>editUndoAction</sender>
+        <signal>activated()</signal>
+        <receiver>MainForm</receiver>
+        <slot>editUndo()</slot>
+    </connection>
+    <connection>
+        <sender>editRedoAction</sender>
+        <signal>activated()</signal>
+        <receiver>MainForm</receiver>
+        <slot>editRedo()</slot>
+    </connection>
+    <connection>
+        <sender>editCutAction</sender>
+        <signal>activated()</signal>
+        <receiver>MainForm</receiver>
+        <slot>editCut()</slot>
+    </connection>
+    <connection>
+        <sender>editCopyAction</sender>
+        <signal>activated()</signal>
+        <receiver>MainForm</receiver>
+        <slot>editCopy()</slot>
+    </connection>
+    <connection>
+        <sender>editPasteAction</sender>
+        <signal>activated()</signal>
+        <receiver>MainForm</receiver>
+        <slot>editPaste()</slot>
+    </connection>
+    <connection>
+        <sender>findFindAction</sender>
+        <signal>activated()</signal>
+        <receiver>MainForm</receiver>
+        <slot>editFind()</slot>
+    </connection>
+    <connection>
+        <sender>helpIndexAction</sender>
+        <signal>activated()</signal>
+        <receiver>MainForm</receiver>
+        <slot>helpIndex()</slot>
+    </connection>
+    <connection>
+        <sender>helpContentsAction</sender>
+        <signal>activated()</signal>
+        <receiver>MainForm</receiver>
+        <slot>helpContents()</slot>
+    </connection>
+    <connection>
+        <sender>helpAboutAction</sender>
+        <signal>activated()</signal>
+        <receiver>MainForm</receiver>
+        <slot>helpAbout()</slot>
+    </connection>
+    <connection>
+        <sender>fileNewProjectAction</sender>
+        <signal>activated()</signal>
+        <receiver>MainForm</receiver>
+        <slot>fileNewProject()</slot>
+    </connection>
+    <connection>
+        <sender>fileTree</sender>
+        <signal>clicked(QListViewItem*)</signal>
+        <receiver>MainForm</receiver>
+        <slot>fileTreeClicked(QListViewItem*)</slot>
+    </connection>
+    <connection>
+        <sender>fileNewFolderAction</sender>
+        <signal>activated()</signal>
+        <receiver>MainForm</receiver>
+        <slot>fileNewFolder()</slot>
+    </connection>
+    <connection>
+        <sender>fileTree</sender>
+        <signal>contextMenuRequested(QListViewItem*,const QPoint&amp;,int)</signal>
+        <receiver>MainForm</receiver>
+        <slot>fileTreeContextMenuRequested(QListViewItem*,const QPoint&amp;,int)</slot>
+    </connection>
+    <connection>
+        <sender>fileNewCHeaderAction</sender>
+        <signal>activated()</signal>
+        <receiver>MainForm</receiver>
+        <slot>fileNewCHeader()</slot>
+    </connection>
+    <connection>
+        <sender>fileNewGNUAssemblyHeaderAction</sender>
+        <signal>activated()</signal>
+        <receiver>MainForm</receiver>
+        <slot>fileNewGNUAssemblyHeader()</slot>
+    </connection>
+    <connection>
+        <sender>fileNewA68kAssemblyHeaderAction</sender>
+        <signal>activated()</signal>
+        <receiver>MainForm</receiver>
+        <slot>fileNewA68kAssemblyHeader()</slot>
+    </connection>
+    <connection>
+        <sender>fileNewCSourceFileAction</sender>
+        <signal>activated()</signal>
+        <receiver>MainForm</receiver>
+        <slot>fileNewCSourceFile()</slot>
+    </connection>
+    <connection>
+        <sender>fileNewGNUAssemblySourceFileAction</sender>
+        <signal>activated()</signal>
+        <receiver>MainForm</receiver>
+        <slot>fileNewGNUAssemblySourceFile()</slot>
+    </connection>
+    <connection>
+        <sender>fileNewA68kAssemblySourceFileAction</sender>
+        <signal>activated()</signal>
+        <receiver>MainForm</receiver>
+        <slot>fileNewA68kAssemblySourceFile()</slot>
+    </connection>
+    <connection>
+        <sender>fileNewQuillSourceFileAction</sender>
+        <signal>activated()</signal>
+        <receiver>MainForm</receiver>
+        <slot>fileNewQuillSourceFile()</slot>
+    </connection>
+    <connection>
+        <sender>fileNewTextFileAction</sender>
+        <signal>activated()</signal>
+        <receiver>MainForm</receiver>
+        <slot>fileNewTextFile()</slot>
+    </connection>
+</connections>
+<includes>
+    <include location="local" impldecl="in implementation">mainform.ui.h</include>
+</includes>
+<slots>
+    <slot>init()</slot>
+    <slot>fileNewProject()</slot>
+    <slot>fileOpen()</slot>
+    <slot>fileSave()</slot>
+    <slot>fileSaveAs()</slot>
+    <slot>filePrint()</slot>
+    <slot>fileExit()</slot>
+    <slot>editUndo()</slot>
+    <slot>editRedo()</slot>
+    <slot>editCut()</slot>
+    <slot>editCopy()</slot>
+    <slot>editPaste()</slot>
+    <slot>editFind()</slot>
+    <slot>helpIndex()</slot>
+    <slot>helpContents()</slot>
+    <slot>helpAbout()</slot>
+    <slot>resizeEvent( QResizeEvent * event )</slot>
+    <slot>timerEvent( QTimerEvent * event )</slot>
+    <slot>fileTreeClicked( QListViewItem * item )</slot>
+    <slot>fileNewFolder()</slot>
+    <slot>fileTreeContextMenuRequested( QListViewItem * item, const QPoint &amp; pos, int unused_col )</slot>
+    <slot>newFile( QListViewItem * parent, QString text, const char * iconName )</slot>
+    <slot>fileNewCHeader()</slot>
+    <slot>fileNewGNUAssemblyHeader()</slot>
+    <slot>fileNewA68kAssemblyHeader()</slot>
+    <slot>fileNewCSourceFile()</slot>
+    <slot>fileNewGNUAssemblySourceFile()</slot>
+    <slot>fileNewA68kAssemblySourceFile()</slot>
+    <slot>fileNewQuillSourceFile()</slot>
+    <slot>fileNewTextFile()</slot>
+</slots>
+<functions>
+    <function access="private" specifier="non virtual">updateSizes()</function>
+    <function access="private" specifier="non virtual">newFile( QListViewItem * parent )</function>
+    <function access="private" specifier="non virtual">updateLeftStatusLabel()</function>
+</functions>
+<pixmapinproject/>
+<layoutdefaults spacing="0" margin="0"/>
+<includehints>
+    <includehint>ktextedit.h</includehint>
+</includehints>
+</UI>

+ 643 - 0
ktigcc/mainform.ui.h

@@ -0,0 +1,643 @@
+/****************************************************************************
+** ui.h extension file, included from the uic-generated form implementation.
+**
+** If you wish to add, delete or rename slots use Qt Designer which will
+** update this file, preserving your code. Create an init() slot in place of
+** a constructor, and a destroy() slot in place of a destructor.
+*****************************************************************************/
+
+/*
+   ktigcc - TIGCC IDE for KDE
+
+   Copyright (C) 2004 Kevin Kofler
+
+   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, or (at your option)
+   any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software Foundation,
+   Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+*/
+
+#include <qlabel.h>
+#include <qstatusbar.h>
+#include <qtimer.h>
+#include <qdatetime.h>
+#include <qdragobject.h>
+#include <cstdio>
+using std::puts;
+
+extern const char *tigcc_base;
+extern const char *quill_drv;
+
+// All the methods are inline because otherwise QT Designer will mistake them
+// for slots of the main form.
+class ListViewFolder : public QListViewItem {
+  public:
+  ListViewFolder(QListView *parent) : QListViewItem(parent)
+  {
+    setPixmap(0,QPixmap::fromMimeSource("folder1.png"));    
+    setDragEnabled(TRUE);
+    setDropEnabled(TRUE);
+  }
+  ListViewFolder(QListViewItem *parent) : QListViewItem(parent)
+  {
+    setPixmap(0,QPixmap::fromMimeSource("folder1.png"));
+    setDragEnabled(TRUE);
+    setDropEnabled(TRUE);
+  }
+  ListViewFolder(QListView *parent, QListViewItem *after)
+          : QListViewItem(parent, after)
+  {
+    setPixmap(0,QPixmap::fromMimeSource("folder1.png"));
+    setDropEnabled(TRUE);
+    setDragEnabled(TRUE);
+  }
+  ListViewFolder(QListViewItem *parent, QListViewItem *after)
+          : QListViewItem(parent, after)
+  {
+    setPixmap(0,QPixmap::fromMimeSource("folder1.png"));
+    setDragEnabled(TRUE);
+    setDropEnabled(TRUE);
+  }
+  virtual int rtti(void) const {return 0x716CC0;}
+  virtual bool acceptDrop(const QMimeSource *mime) const {
+    puts("folder acceptDrop called");
+    return (mime->provides("x-ktigcc-folder")
+            ||mime->provides("x-ktigcc-file"));
+  }
+  protected:
+  virtual void dropped (QDropEvent *e) {
+    puts("folder dropped called");
+  }
+  virtual void dragEnterEvent ( QDragEnterEvent * ) {
+    puts("folder dragEnterEvent called");
+  }
+};
+
+class ListViewFile : public QListViewItem {
+  public:
+  ListViewFile(QListView *parent) : QListViewItem(parent)
+  {
+    setPixmap(0,QPixmap::fromMimeSource("filex.png"));    
+    setDragEnabled(TRUE);
+    setDropEnabled(TRUE);
+    setRenameEnabled(0,TRUE);
+  }
+  ListViewFile(QListViewItem *parent) : QListViewItem(parent)
+  {
+    setPixmap(0,QPixmap::fromMimeSource("filex.png"));
+    setDragEnabled(TRUE);
+    setDropEnabled(TRUE);
+    setRenameEnabled(0,TRUE);
+  }
+  ListViewFile(QListView *parent, QListViewItem *after)
+          : QListViewItem(parent, after)
+  {
+    setPixmap(0,QPixmap::fromMimeSource("filex.png"));
+    setDropEnabled(TRUE);
+    setDragEnabled(TRUE);
+    setRenameEnabled(0,TRUE);
+  }
+  ListViewFile(QListViewItem *parent, QListViewItem *after)
+          : QListViewItem(parent, after)
+  {
+    setPixmap(0,QPixmap::fromMimeSource("filex.png"));
+    setDragEnabled(TRUE);
+    setDropEnabled(TRUE);
+    setRenameEnabled(0,TRUE);
+  }
+  virtual int rtti(void) const {return 0x716CC1;}
+  bool acceptDrop(const QMimeSource *mime) const {
+    puts("file acceptDrop called");
+    return (mime->provides("x-ktigcc-folder")
+            ||mime->provides("x-ktigcc-file"));
+  }
+  QString textBuffer;
+  protected:
+  virtual void dropped (QDropEvent *e) {
+    puts("file dropped called");
+  }
+  virtual void dragEnterEvent ( QDragEnterEvent * ) {
+    puts("file dragEnterEvent called");
+  }
+};
+
+// These should be instance variables in clean C++, but QT Designer won't let me
+// touch the class definition, so this is all I can do. And there is only one
+// instance of MainForm anyway.
+static QListViewItem *rootListItem;
+static QListViewItem *hFilesListItem;
+static QListViewItem *cFilesListItem;
+static QListViewItem *sFilesListItem;
+static QListViewItem *asmFilesListItem;
+static QListViewItem *qllFilesListItem;
+static QListViewItem *oFilesListItem;
+static QListViewItem *aFilesListItem;
+static QListViewItem *txtFilesListItem;
+static QListViewItem *othFilesListItem;
+static QListViewItem *currentListItem;
+static QLabel *leftStatusLabel;
+static QLabel *rightStatusLabel;
+static int fileCount=0, hFileCount=0, cFileCount=0, sFileCount=0, asmFileCount=0, qllFileCount=0, oFileCount=0, aFileCount=0, txtFileCount=0, othFileCount=0;
+
+class DnDListView : public QListView {
+  private:
+  public:
+  DnDListView ( QWidget * parent = 0, const char * name = 0, WFlags f = 0 )
+          : QListView(parent,name,f) {}
+  bool acceptDrop(const QMimeSource *mime) const {
+    puts("acceptDrop called");
+    return (mime->provides("x-ktigcc-folder")
+            ||mime->provides("x-ktigcc-file"));
+  }
+  protected:
+  virtual QDragObject *dragObject() {
+    puts("dragObject called");
+    QStoredDrag *storedDrag=new QStoredDrag("x-ktigcc-folder");
+    QByteArray data(sizeof(QListViewItem*));
+    data.duplicate(reinterpret_cast<char *>(&currentListItem),
+                   sizeof(QListViewItem*));
+    storedDrag->setEncodedData(data);
+    storedDrag->drag();
+    puts("dragObject returning");
+    return storedDrag;
+  }
+  virtual void dropped (QDropEvent *e) {
+    puts("dropped called");
+  }
+  virtual void dragEnterEvent ( QDragEnterEvent * ) {
+    puts("dragEnterEvent called");
+  }
+};
+
+void MainForm::init()
+{  
+  fileNewFolderAction->setEnabled(FALSE);
+  QValueList<int> list;
+  list.append(150);
+  list.append(500);
+  splitter->setSizes(list);
+  leftStatusLabel=new QLabel("0 Files Total",this);
+  leftStatusLabel->setMaximumWidth(splitter->sizes().first());
+  statusBar()->addWidget(leftStatusLabel,1);
+  rightStatusLabel=new QLabel("",this);
+  rightStatusLabel->setMaximumWidth(splitter->sizes().last());
+  statusBar()->addWidget(rightStatusLabel,1);
+  statusBar()->setSizeGripEnabled(FALSE);
+  fileTree->setSorting(-1);
+  fileTree->setColumnWidthMode(0,QListView::Maximum);
+  rootListItem=new QListViewItem(fileTree);
+  rootListItem->setText(0,"Project1");
+  rootListItem->setPixmap(0,QPixmap::fromMimeSource("tpr.png"));
+  rootListItem->setOpen(TRUE);
+  rootListItem->setDragEnabled(TRUE);
+  QListViewItem *folderListItem=new ListViewFolder(rootListItem);
+  hFilesListItem=folderListItem;
+  folderListItem->setText(0,"Header Files");
+  folderListItem=new ListViewFolder(rootListItem,folderListItem);
+  cFilesListItem=folderListItem;
+  folderListItem->setText(0,"C Files");
+  folderListItem=new ListViewFolder(rootListItem,folderListItem);
+  sFilesListItem=folderListItem;
+  folderListItem->setText(0,"GNU Assembly Files");
+  folderListItem=new ListViewFolder(rootListItem,folderListItem);
+  asmFilesListItem=folderListItem;
+  folderListItem->setText(0,"A68k Assembly Files");
+  if (quill_drv) {
+    folderListItem=new ListViewFolder(rootListItem,folderListItem);
+    qllFilesListItem=folderListItem;
+    folderListItem->setText(0,"Quill Files");
+  } else {
+    qllFilesListItem=NULL;
+    fileNewQuillSourceFileAction->setVisible(FALSE);
+  }
+  folderListItem=new ListViewFolder(rootListItem,folderListItem);
+  oFilesListItem=folderListItem;
+  folderListItem->setText(0,"Object Files");
+  folderListItem=new ListViewFolder(rootListItem,folderListItem);
+  aFilesListItem=folderListItem;
+  folderListItem->setText(0,"Archive Files");
+  folderListItem=new ListViewFolder(rootListItem,folderListItem);
+  txtFilesListItem=folderListItem;
+  folderListItem->setText(0,"Text Files");
+  folderListItem=new ListViewFolder(rootListItem,folderListItem);
+  othFilesListItem=folderListItem;
+  folderListItem->setText(0,"Other Files");
+  startTimer(100);
+}
+
+void MainForm::fileNewProject()
+{
+  rootListItem->setText(0,"Project1");
+  fileTreeClicked(rootListItem);
+  QListViewItem *f, *next;
+  for (f=hFilesListItem->firstChild();f;f=next) {
+    next=f->nextSibling();
+    delete f;
+  }
+  for (f=cFilesListItem->firstChild();f;f=next) {
+    next=f->nextSibling();
+    delete f;
+  }
+  for (f=sFilesListItem->firstChild();f;f=next) {
+    next=f->nextSibling();
+    delete f;
+  }
+  for (f=asmFilesListItem->firstChild();f;f=next) {
+    next=f->nextSibling();
+    delete f;
+  }
+  if (qllFilesListItem) {
+    for (f=qllFilesListItem->firstChild();f;f=next) {
+      next=f->nextSibling();
+      delete f;
+    }
+  }
+  for (f=oFilesListItem->firstChild();f;f=next) {
+    next=f->nextSibling();
+    delete f;
+  }
+  for (f=aFilesListItem->firstChild();f;f=next) {
+    next=f->nextSibling();
+    delete f;
+  }
+  for (f=txtFilesListItem->firstChild();f;f=next) {
+    next=f->nextSibling();
+    delete f;
+  }
+  for (f=othFilesListItem->firstChild();f;f=next) {
+    next=f->nextSibling();
+    delete f;
+  }
+  fileCount=cFileCount=hFileCount=sFileCount=asmFileCount=qllFileCount=oFileCount=aFileCount=txtFileCount=othFileCount=0;
+  updateLeftStatusLabel();
+}
+
+void MainForm::fileOpen()
+{
+  
+}
+
+void MainForm::fileSave()
+{
+  
+}
+
+void MainForm::fileSaveAs()
+{
+  
+}
+
+void MainForm::filePrint()
+{
+  
+}
+
+void MainForm::fileExit()
+{
+  
+}
+
+void MainForm::editUndo()
+{
+  
+}
+
+void MainForm::editRedo()
+{
+  
+}
+
+void MainForm::editCut()
+{
+  
+}
+
+void MainForm::editCopy()
+{
+  
+}
+
+void MainForm::editPaste()
+{
+  
+}
+
+void MainForm::editFind()
+{
+  
+}
+
+void MainForm::helpIndex()
+{
+  
+}
+
+void MainForm::helpContents()
+{
+  
+}
+
+void MainForm::helpAbout()
+{
+  
+}
+
+void MainForm::updateSizes()
+{
+  int leftSize=splitter->sizes().first();
+  int rightSize=splitter->sizes().last();
+  int totalSize=leftSize+rightSize;
+  int mySize=size().width();
+  leftStatusLabel->setMaximumWidth(leftSize*mySize/totalSize);
+  rightStatusLabel->setMaximumWidth(rightSize*mySize/totalSize-10>0?
+                                    rightSize*mySize/totalSize-10:0);
+}
+
+void MainForm::resizeEvent(QResizeEvent *event)
+{
+  QMainWindow::resizeEvent(event);
+  if (event->size()==event->oldSize()) return;
+  updateSizes();
+}
+
+void MainForm::timerEvent(QTimerEvent *event)
+{
+  static int lastSplitterPos=-1;
+  QMainWindow::timerEvent(event);
+  if (lastSplitterPos==splitter->sizes().first()) return;
+  lastSplitterPos=splitter->sizes().first();
+  updateSizes();
+}
+
+
+void MainForm::fileTreeClicked(QListViewItem *item)
+{
+  if (!item) return;
+  if (currentListItem && currentListItem->rtti()==0x716CC0)
+    currentListItem->setPixmap(0,QPixmap::fromMimeSource("folder1.png"));
+  if (currentListItem && currentListItem->rtti()==0x716CC1)
+    static_cast<ListViewFile *>(currentListItem)->textBuffer=kTextEdit1->text();
+  if (item->rtti()==0x716CC0) {
+    item->setPixmap(0,QPixmap::fromMimeSource("folder2.png"));
+    fileNewFolderAction->setEnabled(TRUE);
+    kTextEdit1->setEnabled(FALSE);
+    kTextEdit1->setText("");
+    kTextEdit1->setPaletteBackgroundColor(QColor(230,230,230));
+  } else if (item->rtti()==0x716CC1) {
+    fileNewFolderAction->setEnabled(TRUE);
+    kTextEdit1->setEnabled(TRUE);
+    kTextEdit1->setText(static_cast<ListViewFile *>(item)->textBuffer);
+    kTextEdit1->setPaletteBackgroundColor(QColor(255,255,255));
+  } else {
+    fileNewFolderAction->setEnabled(FALSE);
+    kTextEdit1->setText("");
+    kTextEdit1->setPaletteBackgroundColor(QColor(230,230,230));
+  }
+  currentListItem=item;
+  updateLeftStatusLabel();
+}
+
+
+void MainForm::fileNewFolder()
+{
+  if (currentListItem->rtti()==0x716CC1)
+    currentListItem=currentListItem->parent();
+  QListViewItem *item=NULL, *next=currentListItem->firstChild();
+  for (; next && next->rtti()==0x716CC0; next=item->nextSibling())
+    item=next;
+  QListViewItem *newFolder=item?new ListViewFolder(currentListItem,item)
+                           :new ListViewFolder(currentListItem);
+  newFolder->setText(0,"NewFolder");
+  newFolder->setRenameEnabled(0,TRUE);
+  currentListItem->setOpen(TRUE);
+  fileTreeClicked(newFolder);
+  newFolder->startRename(0);
+}
+
+#define unused_col __attribute__((unused)) col /* stupid QT designer... */
+void MainForm::fileTreeContextMenuRequested(QListViewItem *item,
+                                            const QPoint &pos,
+                                            int unused_col)
+{
+  fileTreeClicked(item);
+  if (item && item->rtti()==0x716CC0) {
+    QPopupMenu menu;
+    menu.insertItem("New &Folder",0);
+    menu.insertItem("New F&ile",1);
+    QListViewItem *category=item;
+    while (category->parent()->rtti()==0x716CC0) category=category->parent();
+    if (category==oFilesListItem || category==aFilesListItem
+        || category==othFilesListItem) menu.setItemEnabled(1,FALSE);
+    if (!(item==hFilesListItem || item==cFilesListItem || item==sFilesListItem
+          || item==asmFilesListItem || item && item==qllFilesListItem
+          || item==oFilesListItem || item==aFilesListItem
+          || item==txtFilesListItem || item==othFilesListItem)) {
+      menu.insertSeparator();
+      menu.insertItem("&Remove",2);
+      menu.insertItem("Re&name",3);
+    }
+    switch (menu.exec(pos)) {
+      case 0:
+        fileNewFolder();
+        break;
+      case 1:
+        newFile(item);
+        break;
+      case 2:
+        delete item;
+        currentListItem=NULL;
+        fileTreeClicked(fileTree->currentItem());
+        break;
+      case 3:
+        item->startRename(0);
+    }
+  }
+}
+
+void MainForm::newFile( QListViewItem *parent, QString text, const char *iconName )
+{
+  QListViewItem *item=NULL, *next=parent->firstChild();
+  for (; next; next=item->nextSibling())
+    item=next;
+  ListViewFile *newFile=item?new ListViewFile(parent,item)
+                        :new ListViewFile(parent);
+  newFile->setText(0,"New File");
+  newFile->setPixmap(0,QPixmap::fromMimeSource(iconName));
+  parent->setOpen(TRUE);
+  fileTreeClicked(newFile);
+  newFile->startRename(0);
+  kTextEdit1->setText(text);
+  fileCount++;
+  QListViewItem *category=parent;
+  while (category->parent()->rtti()==0x716CC0) category=category->parent();
+  (category==hFilesListItem?hFileCount:category==cFilesListItem?cFileCount:
+   category==sFilesListItem?sFileCount:category==asmFilesListItem?asmFileCount:
+   category==qllFilesListItem?qllFileCount:category==oFilesListItem?oFileCount:
+   category==aFilesListItem?aFileCount:category==txtFilesListItem?txtFileCount:
+   othFileCount)++;
+  updateLeftStatusLabel();
+}
+
+void MainForm::newFile( QListViewItem *parent )
+{
+  QListViewItem *category=parent;
+  while (category->parent()->rtti()==0x716CC0) category=category->parent();
+  newFile(parent,category==txtFilesListItem?"":
+                 ((category==hFilesListItem?"// Header File\n//":
+                  category==cFilesListItem?"// C Source File\n//":
+                  category==sFilesListItem?"| Assembly Source File\n|":
+                  category==asmFilesListItem?"; Assembly Source File\n;":
+                  category==qllFilesListItem?"// Quill Source File\n//":"???\n")
+                 +QString(" Created ")
+                 +QDateTime::currentDateTime ().toString(Qt::LocalDate)+"\n"+
+                 QString(category==cFilesListItem?(cFileCount?
+                 "\n#include <tigcclib.h>\n":
+                 "\n// Delete or comment out the items you do not need.\n"
+                 "#define COMMENT_STRING         \"Place your comment here.\"\n"
+                 "#define COMMENT_PROGRAM_NAME   "
+                 "\"Place your program name here.\"\n"
+                 "#define COMMENT_VERSION_STRING "
+                 "\"Place your version string here.\"\n"
+                 "#define COMMENT_VERSION_NUMBER 0,0,0,0 "
+                 "/* major, minor, revision, subrevision */\n"
+                 "#define COMMENT_BW_ICON \\\n"
+                 "\t{0b0000000000000000, \\\n"
+                 "\t 0b0000000000000000, \\\n"
+                 "\t 0b0000000000000000, \\\n"
+                 "\t 0b0000000000000000, \\\n"
+                 "\t 0b0000000000000000, \\\n"
+                 "\t 0b0000000000000000, \\\n"
+                 "\t 0b0000000000000000, \\\n"
+                 "\t 0b0000000000000000, \\\n"
+                 "\t 0b0000000000000000, \\\n"
+                 "\t 0b0000000000000000, \\\n"
+                 "\t 0b0000000000000000, \\\n"
+                 "\t 0b0000000000000000, \\\n"
+                 "\t 0b0000000000000000, \\\n"
+                 "\t 0b0000000000000000, \\\n"
+                 "\t 0b0000000000000000, \\\n"
+                 "\t 0b0000000000000000}\n"
+                 "#define COMMENT_GRAY_ICON \\\n"
+                 "\t{0b0000000000000000, \\\n"
+                 "\t 0b0000000000000000, \\\n"
+                 "\t 0b0000000000000000, \\\n"
+                 "\t 0b0000000000000000, \\\n"
+                 "\t 0b0000000000000000, \\\n"
+                 "\t 0b0000000000000000, \\\n"
+                 "\t 0b0000000000000000, \\\n"
+                 "\t 0b0000000000000000, \\\n"
+                 "\t 0b0000000000000000, \\\n"
+                 "\t 0b0000000000000000, \\\n"
+                 "\t 0b0000000000000000, \\\n"
+                 "\t 0b0000000000000000, \\\n"
+                 "\t 0b0000000000000000, \\\n"
+                 "\t 0b0000000000000000, \\\n"
+                 "\t 0b0000000000000000, \\\n"
+                 "\t 0b0000000000000000},\n"
+                 "\t{0b0000000000000000, \\\n"
+                 "\t 0b0000000000000000, \\\n"
+                 "\t 0b0000000000000000, \\\n"
+                 "\t 0b0000000000000000, \\\n"
+                 "\t 0b0000000000000000, \\\n"
+                 "\t 0b0000000000000000, \\\n"
+                 "\t 0b0000000000000000, \\\n"
+                 "\t 0b0000000000000000, \\\n"
+                 "\t 0b0000000000000000, \\\n"
+                 "\t 0b0000000000000000, \\\n"
+                 "\t 0b0000000000000000, \\\n"
+                 "\t 0b0000000000000000, \\\n"
+                 "\t 0b0000000000000000, \\\n"
+                 "\t 0b0000000000000000, \\\n"
+                 "\t 0b0000000000000000, \\\n"
+                 "\t 0b0000000000000000}\n\n#include <tigcclib.h>\n\n"
+                 "// Main Function\nvoid _main(void)\n{\n"
+                 "\t// Place your code here.\n}\n"):"")),
+                 category==cFilesListItem||category==qllFilesListItem
+                                                    ?"filec.png":
+                 category==hFilesListItem?"fileh.png":
+                 category==sFilesListItem||category==asmFilesListItem
+                                                    ?"files.png":
+                 category==txtFilesListItem?"filet.png":"filex.png");
+}
+
+
+void MainForm::fileNewCHeader()
+{
+  newFile(hFilesListItem,"// Header File\n// Created "+QDateTime::currentDateTime ().toString(Qt::LocalDate)+"\n","fileh.png");
+}
+
+
+void MainForm::fileNewGNUAssemblyHeader()
+{
+  newFile(hFilesListItem,"| Header File\n| Created "+QDateTime::currentDateTime ().toString(Qt::LocalDate)+"\n","fileh.png");
+}
+
+
+void MainForm::fileNewA68kAssemblyHeader()
+{
+  newFile(hFilesListItem,"; Header File\n; Created "+QDateTime::currentDateTime ().toString(Qt::LocalDate)+"\n","fileh.png");
+}
+
+
+void MainForm::fileNewCSourceFile()
+{
+  newFile(cFilesListItem,"// C Source File\n// Created "+QDateTime::currentDateTime ().toString(Qt::LocalDate)+"\n","filec.png");
+}
+
+
+void MainForm::fileNewGNUAssemblySourceFile()
+{
+  newFile(sFilesListItem,"| Assembly Source File\n| Created "+QDateTime::currentDateTime ().toString(Qt::LocalDate)+"\n","files.png");
+}
+
+
+void MainForm::fileNewA68kAssemblySourceFile()
+{
+  newFile(asmFilesListItem,"; Assembly Source File\n; Created "+QDateTime::currentDateTime ().toString(Qt::LocalDate)+"\n","files.png");
+}
+
+
+void MainForm::fileNewQuillSourceFile()
+{
+  newFile(qllFilesListItem,"// Quill Source File\n// Created "+QDateTime::currentDateTime ().toString(Qt::LocalDate)+"\n","filec.png");
+}
+
+
+void MainForm::fileNewTextFile()
+{
+  newFile(txtFilesListItem,"","filet.png");
+}
+
+
+void MainForm::updateLeftStatusLabel()
+{
+  QString text=QString::number(fileCount)+QString(" File")
+               +QString(fileCount!=1?"s":"")+QString(" Total");
+  QListViewItem *category=currentListItem;
+  if (currentListItem->rtti()==0x716CC0||currentListItem->rtti()==0x716CC1) {
+    while (category->parent()->rtti()==0x716CC0) category=category->parent();
+    text+=QString(", ")+QString::number(category==hFilesListItem?hFileCount:
+                                        category==cFilesListItem?cFileCount:
+                                        category==sFilesListItem?sFileCount:
+                                        category==asmFilesListItem?asmFileCount:
+                                        category==qllFilesListItem?qllFileCount:
+                                        category==oFilesListItem?oFileCount:
+                                        category==aFilesListItem?aFileCount:
+                                        category==txtFilesListItem?txtFileCount:
+                                        othFileCount)
+          +QString(" in Category");
+  }
+  leftStatusLabel->setText(text);
+}
+
+// Yes, this is an ugly hack... Any better suggestions?
+#define QListView DnDListView