Browse Source

Initial development version for Qt3

HIGHLY EXPERIMENTAL
API subject to rapid and substantial change
Test code is included; be warned



git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/dependencies/tqtinterface@1149288 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
tags/v3.5.13
tpearson 9 years ago
parent
commit
2816be9dc2
100 changed files with 4242 additions and 0 deletions
  1. 3
    0
      AUTHORS
  2. 346
    0
      COPYING
  3. 37
    0
      Makefile.am.in
  4. 14
    0
      NAMING
  5. 139
    0
      README
  6. 1
    0
      TODO
  7. 2
    0
      configure.in.bot
  8. 385
    0
      configure.in.in
  9. 7
    0
      configure.in.mid
  10. 131
    0
      qtinterface/Makefile.am
  11. 49
    0
      qtinterface/TODO
  12. 2
    0
      qtinterface/configure.in.in
  13. 356
    0
      qtinterface/filelist.txt
  14. 30
    0
      qtinterface/iqtimer.cpp
  15. 220
    0
      qtinterface/kdemacros.h.in
  16. 19
    0
      qtinterface/parser.sh
  17. 27
    0
      qtinterface/parser2.sh
  18. 24
    0
      qtinterface/parser3.sh
  19. 23
    0
      qtinterface/tq1xcompatibility.cpp
  20. 33
    0
      qtinterface/tq1xcompatibility.h
  21. 23
    0
      qtinterface/tqabstractlayout.cpp
  22. 33
    0
      qtinterface/tqabstractlayout.h
  23. 23
    0
      qtinterface/tqaccel.cpp
  24. 36
    0
      qtinterface/tqaccel.h
  25. 23
    0
      qtinterface/tqaccessible.cpp
  26. 36
    0
      qtinterface/tqaccessible.h
  27. 23
    0
      qtinterface/tqaction.cpp
  28. 36
    0
      qtinterface/tqaction.h
  29. 35
    0
      qtinterface/tqapp.h
  30. 23
    0
      qtinterface/tqapplication.cpp
  31. 36
    0
      qtinterface/tqapplication.h
  32. 37
    0
      qtinterface/tqarray.h
  33. 23
    0
      qtinterface/tqasciicache.cpp
  34. 36
    0
      qtinterface/tqasciicache.h
  35. 23
    0
      qtinterface/tqasciidict.cpp
  36. 36
    0
      qtinterface/tqasciidict.h
  37. 23
    0
      qtinterface/tqasyncimageio.cpp
  38. 36
    0
      qtinterface/tqasyncimageio.h
  39. 23
    0
      qtinterface/tqasyncio.cpp
  40. 37
    0
      qtinterface/tqasyncio.h
  41. 23
    0
      qtinterface/tqbig5codec.cpp
  42. 36
    0
      qtinterface/tqbig5codec.h
  43. 23
    0
      qtinterface/tqbitarray.cpp
  44. 36
    0
      qtinterface/tqbitarray.h
  45. 35
    0
      qtinterface/tqbitarry.h
  46. 23
    0
      qtinterface/tqbitmap.cpp
  47. 36
    0
      qtinterface/tqbitmap.h
  48. 23
    0
      qtinterface/tqbrush.cpp
  49. 36
    0
      qtinterface/tqbrush.h
  50. 35
    0
      qtinterface/tqbttngrp.h
  51. 23
    0
      qtinterface/tqbuffer.cpp
  52. 36
    0
      qtinterface/tqbuffer.h
  53. 23
    0
      qtinterface/tqbutton.cpp
  54. 36
    0
      qtinterface/tqbutton.h
  55. 23
    0
      qtinterface/tqbuttongroup.cpp
  56. 36
    0
      qtinterface/tqbuttongroup.h
  57. 23
    0
      qtinterface/tqcache.cpp
  58. 36
    0
      qtinterface/tqcache.h
  59. 23
    0
      qtinterface/tqcanvas.cpp
  60. 36
    0
      qtinterface/tqcanvas.h
  61. 23
    0
      qtinterface/tqcdestyle.cpp
  62. 36
    0
      qtinterface/tqcdestyle.h
  63. 23
    0
      qtinterface/tqcheckbox.cpp
  64. 36
    0
      qtinterface/tqcheckbox.h
  65. 35
    0
      qtinterface/tqchkbox.h
  66. 23
    0
      qtinterface/tqcleanuphandler.cpp
  67. 36
    0
      qtinterface/tqcleanuphandler.h
  68. 23
    0
      qtinterface/tqclipboard.cpp
  69. 36
    0
      qtinterface/tqclipboard.h
  70. 35
    0
      qtinterface/tqclipbrd.h
  71. 35
    0
      qtinterface/tqcollect.h
  72. 35
    0
      qtinterface/tqcollection.h
  73. 23
    0
      qtinterface/tqcolor.cpp
  74. 36
    0
      qtinterface/tqcolor.h
  75. 23
    0
      qtinterface/tqcolordialog.cpp
  76. 36
    0
      qtinterface/tqcolordialog.h
  77. 35
    0
      qtinterface/tqcombo.h
  78. 23
    0
      qtinterface/tqcombobox.cpp
  79. 36
    0
      qtinterface/tqcombobox.h
  80. 23
    0
      qtinterface/tqcommonstyle.cpp
  81. 36
    0
      qtinterface/tqcommonstyle.h
  82. 23
    0
      qtinterface/tqcompactstyle.cpp
  83. 36
    0
      qtinterface/tqcompactstyle.h
  84. 35
    0
      qtinterface/tqconfig.h
  85. 35
    0
      qtinterface/tqconnect.h
  86. 23
    0
      qtinterface/tqconnection.cpp
  87. 36
    0
      qtinterface/tqconnection.h
  88. 23
    0
      qtinterface/tqcstring.cpp
  89. 38
    0
      qtinterface/tqcstring.h
  90. 23
    0
      qtinterface/tqcursor.cpp
  91. 36
    0
      qtinterface/tqcursor.h
  92. 23
    0
      qtinterface/tqdatabrowser.cpp
  93. 36
    0
      qtinterface/tqdatabrowser.h
  94. 23
    0
      qtinterface/tqdatastream.cpp
  95. 37
    0
      qtinterface/tqdatastream.h
  96. 23
    0
      qtinterface/tqdatatable.cpp
  97. 36
    0
      qtinterface/tqdatatable.h
  98. 23
    0
      qtinterface/tqdataview.cpp
  99. 36
    0
      qtinterface/tqdataview.h
  100. 0
    0
      qtinterface/tqdatetime.cpp

+ 3
- 0
AUTHORS View File

@@ -0,0 +1,3 @@
Timothy Pearson <kb9vqf@pearsoncomputing.net>

For the Trinity project

+ 346
- 0
COPYING View File

@@ -0,0 +1,346 @@
NOTE! The GPL below is copyrighted by the Free Software Foundation, but
the instance of code that it refers to (the Trinity programs) are copyrighted
by the authors who actually wrote it.

---------------------------------------------------------------------------
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991

Copyright (C) 1989, 1991 Free Software Foundation, Inc.
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.

Preamble

The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.) You can apply it to
your programs, too.

When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.

To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.

For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.

We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.

Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.

Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.

The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION

0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".

Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.

1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.

You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.

2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:

a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.

b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.

c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.

Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.

In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.

3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:

a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,

b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,

c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)

The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.

If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.

5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.

6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.

7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.

If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.

It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.

This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.

9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.

Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.

10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.

NO WARRANTY

11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.

12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.

END OF TERMS AND CONDITIONS

How to Apply These Terms to Your New Programs

If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.

To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.

<one line to give the program's name and a brief idea of what it does.>
Copyright (C) 19yy <name of author>

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA


Also add information on how to contact you by electronic and paper mail.

If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:

Gnomovision version 69, Copyright (C) 19yy name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.

The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.

You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:

Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.

<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice

This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Library General
Public License instead of this License.

+ 37
- 0
Makefile.am.in View File

@@ -0,0 +1,37 @@
# This file is part of the KDE libraries
# Copyright (C) 1996-1997 Matthias Kalle Dalheimer (kalle@kde.org)
# (C) 1997,1998 Stephan Kulow (coolo@kde.org)

# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Library General Public
# License as published by the Free Software Foundation; either
# version 2 of the License, or (at your option) any later version.

# This library 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
# Library General Public License for more details.

# You should have received a copy of the GNU Library General Public License
# along with this library; see the file COPYING.LIB. If not, write to
# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
# Boston, MA 02110-1301, USA.


COMPILE_FIRST = libltdl qtinterface
# COMPILE_BEFORE_doc = qtinterface

$(top_srcdir)/acinclude.m4: $(top_srcdir)/libltdl/ltdl.m4

AUTOMAKE_OPTIONS = foreign 1.6.1

EXTRA_DIST = admin \
COMPILING DEBUG \
NAMING tqtinterface.lsm \
configure.in.in configure.in.mid configure.in.bot

MAINTAINERCLEANFILES = configure.files subdirs

dist-hook:
cd $(top_distdir) && perl $(top_srcdir)/admin/am_edit -padmin


+ 14
- 0
NAMING View File

@@ -0,0 +1,14 @@
This document describes the naming convention for the various kinds
of DSOs (Dynamic Shared Objects).

NOTE: Files of the format xxxx.la are libtool files that describe the
actual DSO. The DSO itself is usually named xxxx.so or libxxxx.so.
Some platforms require that the name of a DSO starts with "lib". On
those platforms xxxx.la and libxxxx.la both generate DSOs with the
same name "libxxxx.so". Since this leads to problems you should never
use both "xxxx.la" and "libxxxx.la" as names for DSOs!!

*** Since <appname>.la is reserved for KDEInit loadable modules, it is
*** strongly recommended NEVER to use lib<appname>.la as the name of a
*** library.


+ 139
- 0
README View File

@@ -0,0 +1,139 @@
In this file:

* About tqtinterface
* Licensing
* Common Mistakes
* Upgrading
* Compile Problems
* More Info


About tqtinterface
-------------
This is version 3.5.12 of the Trinity Qt Interface

This package includes libraries that abstract the underlying Qt system from
the actual Trinity code, allowing easy, complete upgrades to new versions of Qt.

It also contains various functions that have been removed from newer versions of Qt,
but are completely portable and isolated from other APIs such as Xorg. This allows
the Trinity project to efficiently perform certain operations that are infeasible
or unneccessarily difficult when using pure Qt4 or above.

* qtinterface
The man Qt interface library. Any Qt functions you wish to use
need to be prefixed with a T. For example, QTimer becomes TQTimer.
We will handle all required Qt calls. Do not touch your television.
We will adjust it for you. ;-)


Licensing
---------
The libraries themselves have been covered (since Tuesday, June 29, 2010)
by the GNU General Public License (GPL). Any other programs (such
as the examples) are covered by the GNU General Public License (GPL). All
the gory details for the LGPL reside in COPYING.LIB, and for the GPL reside
in COPYING.

When in doubt, check the individual file, they should all have license
headings and other identifying marks.


Common Mistakes
---------------
If configure claims Qt cannot be found, look at http://www.trolltech.com
to get a copy of Qt, version 3.3.0 or newer. If you have peeked there
already, grab the SVN module qt-copy from anonsvn.kde.org, or a snapshot
thereof. Alternatively the svn module qt-copy from svn.kde.org can also be
used.


Debugging
---------
You can use --enable-debug with the configure script, if you want to have
debug code in your Trinity libs. If you have the space and can stand code that's
somewhat slower, this is worth it. The extra information really
helps debugging and thus bugfixing.

On the other hand, --disable-debug removes all debug messages, leading
to a faster and cleaner desktop.

See also the file DEBUG.


Compile Problems
----------------
Often, Trinity compile failures are not Trinity's fault but the one of the
compiler or the distribution used. For that reason, please have a look at
http://developer.kde.org/build/compilationfaq.html for known issues in certain OS
environments before reporting bugs or going mad :).

gcc 3.0/3.0.1 is not yet able to compile all of Trinity without errors, mostly
due to bugs in this version of the compiler. Some older version of gcc 2.96
also have problems compiling Trinity due to compiler bugs. Even though
compilation may not report errors with these compiler, the usage of these
compilers may cause crashes when using the resulting executables.

If you are running a FreeBSD system, you will need to make sure that LIBS
is set to "-Wl,-export-dynamic". The easiest way to do this is to prefix
configure with it, i.e.: LIBS="-Wl,-export-dynamic" ./configure. Thanks to
Will Andrews <will@FreeBSD.org> and Arun Sharma <adsharma@sharmas.dhs.org>
for identifying what needed to be done, and how to do it, and such.

If you get odd error such as:

as: Error: /var/tmp/ccK1Cfxa.s, line 2827: Truncating token:
__t4pair2Zt18__rb_tree_iterator3Zt4pair2ZCt12basic_string3ZcZt18string_char_trai
ts1ZcZt24__default_alloc_template2b0i0Zt12basic_string3ZcZt18string_char_traits1
ZcZt24__default_alloc_template2b0i0ZRt4pair2ZCt12basic_string3ZcZt18string_char_
traits1ZcZt24__default_alloc_template2b0i0Zt12basic_string3ZcZt18string_char_tra
its1ZcZt24__default_alloc_template2b0i0ZPt4pair2ZCt12basic_string3ZcZt18string_c
har_traits1ZcZt24__default_alloc_template2b0i0Zt12basic_string3ZcZt18string_char
_traits1ZcZt24__default_alloc_template2b0i0ZbRCt18__rb_tree_iterator3Zt4pair2ZCt
12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0Zt12b
asic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0ZRt4pair
2ZCt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0Z
t12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0ZPt4
pair2ZCt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b
0i0Zt12basic_string3ZcZt18strin!
g_char_traits1ZcZt24__default_al

and you're using egcs, try re-compiling all your C++ libs with -fsquangle,
and then recompiling whatever you were working on with -fsquangle. It
should help, and more information about this is available on the egcs FAQ
available at http://egcs.cygnus.com


How to report
-------------
Reporting bugs is an art. Why? Because bug reports can help and hinder.

They hinder if the developers are just buried in an avalanche of bug reports.
They spend hours figuring out which bug reports are valid and which aren't,
which bug reports are due to bugs or due to installation problems.

They can be of tremendous help to notify developers on problems in areas that
they normally don't have access (e.g. Trinity on AIX) to.

So, here are some tips on bug reporting:

* make sure your bug is due to Trinity ... and not due to a packaging problem of
your Linux distributor. For example, most "I can not install the XYZ.rpm"
problem are due to packaging issues. Refer with such questions to your
Linux Distributor and his appropriate mailing list or bug reporting tool.

* The chance is high that your bug has already been dealt with ... so look
if there is a newer version of tqtinterface available. Reporting bugs for
older, deprecated versions usually don't get that much attention :-)

* Also the chance is high that another one experienced your problem. The
bug report wizard at http://bugs.pearsoncomputing.net will help you to
find out if your problem has already been reported.

* The best bug report for a project based on voluntary work is of course one
that comes with a patch that solves the problem. :-)


More info
---------
http://trinity.pearsoncomputing.net

+ 1
- 0
TODO View File

@@ -0,0 +1 @@
Everything!

+ 2
- 0
configure.in.bot View File

@@ -0,0 +1,2 @@
dnl put here things which have to be done as very last part of configure


+ 385
- 0
configure.in.in View File

@@ -0,0 +1,385 @@
# Original Author was Kalle@kde.org
# I lifted it in some mater. (Stephan Kulow)
# I used much code from Janos Farkas

dnl Process this file with autoconf to produce a configure script.
AC_INIT(acinclude.m4) dnl a source file from your sub dir

dnl This is so we can use kde-common
AC_CONFIG_AUX_DIR(admin)

dnl Setting the prefix for kdelibs uses a special version of KDE_SET_PREFIX
dnl (since that one normally looks for existing kde installations)
KDE_SET_PREFIX_CORE


AC_CANONICAL_SYSTEM
AC_ARG_PROGRAM

dnl Automake doc recommends to do this only here. (Janos)
AM_INIT_AUTOMAKE(@MODULENAME@, @VERSION@) dnl searches for some needed programs

AM_MAINTAINER_MODE

AC_PROG_INSTALL

dnl generate the config header
AM_CONFIG_HEADER(config.h) dnl at the distribution this done

dnl Checks for programs.
AC_CHECK_COMPILERS
AC_LIBLTDL_CONVENIENCE

AC_ENABLE_SHARED(yes)
AC_ENABLE_STATIC(no)
KDE_PROG_LIBTOOL

AC_LANG_SAVE
AC_LANG_C
KDE_LIB_LTDL
AC_LANG_RESTORE

dnl for NLS support. Call them in this order!
dnl WITH_NLS is for the po files, GNU_GETTEXT for the sources
AM_KDE_WITH_NLS
AM_KDE_GNU_GETTEXT

dnl Checks for header files.
KDE_CHECK_STL
AC_HEADER_DIRENT
AC_HEADER_STDC
AC_CHECK_HEADERS(sys/param.h sys/mman.h sys/time.h sysent.h strings.h sys/stat.h sys/select.h paths.h malloc.h limits.h sys/soundcard.h dlfcn.h termios.h sys/prctl.h)

AC_ARG_WITH(acl,
[AC_HELP_STRING(--with-acl,
[enable support for POSIX ACLs @<:@default=check@:>@])],
[], with_acl=check)

ACL_LIBS=""
if test "x$with_acl" != xno; then
USE_POSIX_ACL=yes
HAVE_NON_POSIX_ACL_EXTENSIONS=no
KDE_CHECK_HEADER(sys/acl.h, ,[USE_POSIX_ACL="no"])
HAVE_SYS_XATTR_H=no
KDE_CHECK_HEADER(sys/xattr.h,[HAVE_SYS_XATTR_H="yes"],)
if test "$HAVE_SYS_XATTR_H" = "yes" ; then
AC_DEFINE([HAVE_SYS_XATTR_H], 1, [Define if system has the sys/xattr.h header.])
fi

case $host in
*-*-freebsd*)
KDE_CHECK_LIB(c,acl_init,[ACL_LIBS="-lc"],[USE_POSIX_ACL="no"])
;;
*)
KDE_CHECK_HEADER(attr/libattr.h, ,[USE_POSIX_ACL="no"])
KDE_CHECK_LIB(acl,acl_init,[ACL_LIBS="-lacl -lattr"],[USE_POSIX_ACL="no"])
KDE_CHECK_HEADER(acl/libacl.h,[HAVE_NON_POSIX_ACL_EXTENSIONS="yes"],)
if test "$HAVE_SYS_XATTR_H" = "no" ; then
USE_POSIX_ACL="no"
fi
;;
esac

if test "$USE_POSIX_ACL" = "yes" ; then
AC_DEFINE([USE_POSIX_ACL], 1, [Define if system has POSIX ACL support.])
if test "$HAVE_NON_POSIX_ACL_EXTENSIONS" = "yes" ; then
AC_DEFINE([HAVE_NON_POSIX_ACL_EXTENSIONS], 1, [Define if system has non-POSIX extensions to the ACL support.])
fi
fi

if test "x$with_acl" != xcheck && test "$USE_POSIX_ACL" != "yes"; then
AC_MSG_ERROR([--with-acl was given, but test for POSIX ACLs failed])
fi
fi
AC_SUBST(ACL_LIBS)

DCOPIDL2CPP="compiled"
DCOPIDL="compiled"
DCOPIDLNG="compiled"
MEINPROC="compiled"
KDECONFIG="compiled"
KCONFIG_COMPILER="compiled"
MAKEKDEWIDGETS="compiled"

dnl Checks for libraries etc
AC_BASE_PATH_KDE([don't test]) dnl kdelibs is a special case
KDE_ENABLE_HIDDEN_VISIBILITY

AC_CREATE_KFSSTND(default)
AC_SUBST_KFSSTND

KDE_CREATE_LIBS_ALIASES

AC_DEFUN([KDE_DO_UIC_AGAIN],
[
AC_REQUIRE([AC_PATH_QT_MOC_UIC])
UIC=$UIC_PATH
if test x$ac_uic_supports_nounload = xyes; then
UIC="$UIC -nounload"
fi
AC_SUBST(UIC)
])
KDE_DO_UIC_AGAIN

# configure would do this very late. Too late for us!
test "x$prefix" = xNONE && prefix=$ac_default_prefix

AC_DEFINE_UNQUOTED(KDEDIR, "$prefix", [The prefix to use as fallback])
KDE_EXPAND_MAKEVAR(ac_kde_sysconfdir, sysconfdir)
AC_DEFINE_UNQUOTED(KDESYSCONFDIR, "$ac_kde_sysconfdir", [The compiled in system configuration prefix])

ac_cpp_safe=$ac_cpp
ac_CPPFLAGS_safe=$CPPFLAGS
CPPFLAGS="$CPPFLAGS $X_INCLUDES"
ac_cpp='$CXXCPP $CPPFLAGS'
KDE_CHECK_HEADERS(X11/extensions/shape.h,,,
[
#include <X11/Xlib.h>
#include <X11/Xutil.h>
])
KDE_CHECK_HEADERS(X11/extensions/XShm.h,
[have_mitshm=yes], [have_mitshm=no], [#include <X11/Xlib.h>])
KDE_CHECK_HEADERS(X11/ICE/ICElib.h)
KDE_CHECK_HEADER(sys/sendfile.h, [have_sendfile=yes], )
ac_cpp=$ac_cpp_safe
CPPFLAGS=$ac_CPPFLAGS_safe

dnl Checks for typedefs, structures, and compiler characteristics.
AC_HEADER_TIME

AC_LANG_SAVE
AC_LANG_C
dnl AC_C_BIGENDIAN has a bug (one of its tests uses "main()" instead of
dnl "int main()") so C++ compilers would break. Thats why we switch languages
AC_C_BIGENDIAN
AC_LANG_RESTORE

dnl check if the compiler has bool
AC_CHECK_BOOL

dnl Checks for library functions.
AC_CHECK_SETENV
AC_CHECK_UNSETENV
AC_CHECK_RANDOM
AC_CHECK_MKSTEMPS
AC_CHECK_MKSTEMP
AC_CHECK_MKDTEMP
AC_CHECK_FUNCS(strtoll socket seteuid setegid strfmon stpcpy gettimeofday readdir_r setpriority tcgetattr tcsetattr)

AH_BOTTOM([
/* provide a definition for a 32 bit entity, usable as a typedef, possibly
extended by "unsigned" */
#undef INT32_BASETYPE
#ifdef SIZEOF_INT
#if SIZEOF_INT == 4
#define INT32_BASETYPE int
#endif
#endif
#if !defined(INT32_BASETYPE) && defined(SIZEOF_LONG)
#if SIZEOF_LONG == 4
#define INT32_BASETYPE long
#endif
#endif
#ifndef INT32_BASETYPE
#define INT32_BASETYPE int
#endif

#ifndef HAVE_SETEUID
#define HAVE_SETEUID
#define HAVE_SETEUID_FAKE
#ifdef __cplusplus
extern "C"
#endif
int seteuid(INT32_BASETYPE euid); /* defined in fakes.c */
#endif
])

AC_CHECK_USLEEP
AC_CHECK_GETHOSTNAME
AC_CHECK_RANDOM
AC_CHECK_S_ISSOCK
AC_CHECK_INITGROUPS

AC_MSG_CHECKING([for mount tab file])
AC_CACHE_VAL(kde_cv_mtab_file,
[
kde_cv_mtab_file=no

for ac_file in \
\
/etc/mtab \
/etc/mnttab \
; \
do
if test -r "$ac_file"; then
kde_cv_mtab_file=$ac_file
break
fi
done
])

AC_MSG_RESULT($kde_cv_mtab_file)
if test "$kde_cv_mtab_file" != "no"; then
AC_DEFINE_UNQUOTED(MTAB_FILE, "$kde_cv_mtab_file", [Define the file for mount entries])
fi

if test -n "$qt_includes"; then
QNAMESPACE_H="$qt_includes/qnamespace.h"
fi
AC_SUBST(QNAMESPACE_H)

AC_LANG_SAVE
AC_LANG_CPLUSPLUS
AC_MSG_CHECKING([if getmntinfo() uses struct statvfs])
AC_TRY_LINK([#include <sys/types.h>
#include <sys/statvfs.h>
],[int flags = 0; struct statvfs *mntbufp; return getmntinfo(&mntbufp, flags);],
[AC_MSG_RESULT(yes)
AC_DEFINE(GETMNTINFO_USES_STATVFS,,[getmntinfo() uses struct statvfs])],
AC_MSG_RESULT(no))
AC_LANG_RESTORE

dnl output files
AC_SUBST(x_includes)
AC_SUBST(x_libraries)
AC_SUBST(LIBSOCKET)
AC_SUBST(LIBCOMPAT)
AC_SUBST(LIBUTIL)
AC_SUBST(LIBRESOLV)
AC_SUBST(LIBICE)

AC_SUBST(LIB_TQT, '$(top_builddir)/qtinterface/libtqt.la')

AC_SUBST(EXTRA_SUBDIRS)

AC_MSG_CHECKING(if sendfile() is wanted)
AC_ARG_ENABLE(sendfile,
AC_HELP_STRING([--enable-sendfile],[enable the use of sendfile() (Linux only)]),
[if test "$enableval" = yes; then
AC_MSG_RESULT(yes)
want_sendfile="yes"
else
AC_MSG_RESULT(no)
fi], [AC_MSG_RESULT(no)])

if test "$want_sendfile" = "yes" -a "$have_sendfile" = "yes"; then
AC_SUBST(HAVE_SENDFILE)
AC_DEFINE(HAVE_SENDFILE,1,[Define if you want sendfile() support])
fi

AC_MSG_CHECKING(if MIT-SHM support is wanted)
AC_ARG_ENABLE(mitshm,
AC_HELP_STRING([--enable-mitshm],[use MIT-SHM for pixmap loading/saving]),
[if test "$enableval" = yes; then
AC_MSG_RESULT(yes)
want_mitshm="yes"
else
AC_MSG_RESULT(no)
fi], [AC_MSG_RESULT(yes); want_mitshm="yes"])

if test "$want_mitshm" = "yes" -a "$have_mitshm" = "yes"; then
AC_SUBST(HAVE_MITSHM)
AC_DEFINE(HAVE_MITSHM,1,[Define if you want MIT-SHM support])
fi

AC_CHECK_FUNC(posix_fadvise,[AC_DEFINE(HAVE_FADVISE,1,[Define is posix_fadvise is supported] )])

ac_save_LIBS="$LIBS"
LIBS="$LIBS $X_LDFLAGS -lICE"
AC_CHECK_FUNCS(_IceTransNoListen)
LIBS="$ac_save_LIBS"

if test "x$kde_use_qt_emb" != "xyes"; then
CXXFLAGS="$CXXFLAGS $USE_RTTI"
fi

AC_ARG_WITH([rgbfile],
AC_HELP_STRING([--with-rgbfile=path], [Define custom path for rgb.txt. (default: \$(x11libdir)/X11/rgb.txt)]),
[rgb_file=$withval], [rgb_file="$x_libraries/X11/rgb.txt"])

AC_DEFINE_UNQUOTED(X11_RGBFILE, "$rgb_file", [where rgb.txt is in])

AC_MSG_CHECKING([for Compiler version])
case "$CXX" in
xlC*)
# The __IBMCPP__ macro contains the C++ compiler version in decimal notation.
echo "__IBMCPP__" > conftest.C

# Preprocess and at least make sure it's returned a number.
changequote(, )dnl
$CXX -E conftest.C 2>&1 | grep "^[0-9][0-9][0-9]" > conftest.i
changequote([, ])dnl

# "502" would signify version 5.0.2.
clean_compiler_version="$CXX version "`cut -b1 conftest.i`"."`cut -b2 conftest.i`"."`cut -b3 conftest.i`
rm -f conftest.C conftest.i
;;
KCC*)
# KCC doesn't give it's version, if nothing is compiled (the frontend
# isn't called in that case)
rm -f conftest.C conftest.o
echo "void f(void) {}" > conftest.C
clean_compiler_version=`$CXX -V -c conftest.C -o conftest.o 2>&1 | sed 's/--.*//'`
rm -f conftest.C conftest.o
;;
*)
for flag in '-v' '-V' '--version' '-version'; do
compiler_version=`$CXX $flag 2>&1 | egrep -v "Reading specs|Using built-?in specs|Configured with|Thread model" | head -n 1`
clean_compiler_version=`echo $compiler_version | egrep -vi 'Usage|ERROR|unknown option|WARNING|missing|###'`
test -n "$clean_compiler_version" && break
done
;;
esac

# Quote backslashesm, as we are going to make this a string.
clean_compiler_version=`echo $clean_compiler_version | sed 's/\([\\\\]\)/\\\\\\1/g'`
if test -z "$clean_compiler_version"; then
clean_compiler_version="unknown"
fi
AC_DEFINE_UNQUOTED(KDE_COMPILER_VERSION, "$clean_compiler_version", [what C++ compiler was used for compilation])
AC_MSG_RESULT($clean_compiler_version)

AC_MSG_CHECKING([for uname])
case `uname -s` in
AIX)
IBM_ARCH=PowerPC #good default
if [ -x /usr/sbin/lsdev -a -x /usr/sbin/lsattr ]; then
IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | head -n 1 | awk '{ print $1 }'`
if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
IBM_ARCH=POWER
fi
fi
uname_string=`uname -svr | awk '{ print $1" "$3"."$2 }'`" ${IBM_ARCH}"
;;
*)
uname_string=`uname -smr`
;;
esac
AC_DEFINE_UNQUOTED(KDE_COMPILING_OS, "$uname_string", [what OS used for compilation])
AC_MSG_RESULT($uname_string)

AC_MSG_CHECKING([for distribution channel])
AC_ARG_WITH(distribution,
AC_HELP_STRING([--with-distribution],[indicate the distribution in bug reports]),
[kde_distribution_text="$withval"
], [kde_distribution_text='compiled sources'])
AC_DEFINE_UNQUOTED(KDE_DISTRIBUTION_TEXT, "$kde_distribution_text", [Distribution Text to append to OS])
AC_MSG_RESULT($kde_distribution_text)

AC_ARG_WITH(utempter,
[AC_HELP_STRING([--with-utempter], [use utempter for utmp management @<:@default=check@:>@])],
[], with_utempter=check)
if test "x$with_utempter" != xno; then
kde_have_utempter=yes
AC_CHECK_LIB(utempter, addToUtmp, [LIBUTEMPTER=-lutempter], kde_have_utempter=no)
AC_SUBST(LIBUTEMPTER)
if test "$kde_have_utempter" = "yes"; then
AC_DEFINE_UNQUOTED(HAVE_UTEMPTER, 1, [Define if you have the utempter helper for utmp managment])
fi
if test "x$with_utempter" != xcheck && test "x$kde_have_utempter" != xyes; then
AC_MSG_ERROR([--with-utempter was given, but test for utempter failed])
fi
fi

KDE_INIT_DOXYGEN([The KDE API Reference], [Version $VERSION])
KDE_CHECK_BINUTILS

+ 7
- 0
configure.in.mid View File

@@ -0,0 +1,7 @@
dnl put here things which have to be done after all usual autoconf macros
dnl have been run, but before the Makefiles are created

all_includes='-I$(top_srcdir)/qtinterface -I$(top_srcdir) $(QT_INCLUDES) $(X_INCLUDES) $(KDE_INCLUDES) $(USER_INCLUDES)'
AC_SUBST(all_includes)

CXXFLAGS="$CXXFLAGS $KDE_DEFAULT_CXXFLAGS"

+ 131
- 0
qtinterface/Makefile.am View File

@@ -0,0 +1,131 @@
# This Makefile.am was taken from the kdelibs distribution and
# modified for tqtinterface. Timothy Pearson (6/29/2010)
#
# Copyright (c) 2010 Timothy Pearson <kb9vqf@pearsoncomputing.net>
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

SUBDIRS = .
KDE_OPTIONS = qtonly

INCLUDES = $(all_includes)

bin_PROGRAMS =
check_PROGRAMS =

lib_LTLIBRARIES = libtqt.la
libtqt_la_SOURCES = tqt.cpp tqaccel.cpp tqaccessible.cpp tqaction.cpp tqapplication.cpp tqasyncio.cpp \
tqbuttongroup.cpp tqbutton.cpp \
tqcanvas.cpp tqcdestyle.cpp tqcheckbox.cpp tqclipboard.cpp tqcolordialog.cpp tqcombobox.cpp tqcommonstyle.cpp \
tqdatabrowser.cpp tqdatatable.cpp tqdataview.cpp tqdatetimeedit.cpp tqdesktopwidget.cpp tqdial.cpp tqdialog.cpp tqdns.cpp tqdockarea.cpp tqdockwindow.cpp tqdragobject.cpp \
tqerrormessage.cpp tqeventloop.cpp \
tqframe.cpp tqftp.cpp tqfiledialog.cpp \
tqgl.cpp tqgplugin.cpp tqgrid.cpp tqgridview.cpp tqgroupbox.cpp tqguardedptr.cpp \
tqhbox.cpp tqhbuttongroup.cpp tqheader.cpp tqhgroupbox.cpp tqhttp.cpp \
tqiconview.cpp tqimageformatplugin.cpp tqinputcontext.cpp tqinputdialog.cpp \
tqlabel.cpp tqlayout.cpp tqlcdnumber.cpp tqlineedit.cpp tqlistbox.cpp tqlistview.cpp tqlocalfs.cpp \
tqmainwindow.cpp tqmenubar.cpp tqmessagebox.cpp tqmotifplusstyle.cpp tqmotifstyle.cpp tqmultilineedit.cpp \
tqnetworkprotocol.cpp tqnp.cpp \
tqobjectcleanuphandler.cpp tqobject.cpp \
tqplatinumstyle.cpp tqpopupmenu.cpp tqprintdialog.cpp tqprocess.cpp tqprogressbar.cpp tqprogressdialog.cpp tqpushbutton.cpp \
tqradiobutton.cpp tqrangecontrol.cpp \
tqscrollbar.cpp tqscrollview.cpp tqsemimodal.cpp tqserversocket.cpp tqsessionmanager.cpp tqsgistyle.cpp tqsignal.cpp tqsignalmapper.cpp tqsizegrip.cpp tqslider.cpp tqsocket.cpp tqsocketnotifier.cpp tqsound.cpp tqspinbox.cpp tqsplashscreen.cpp tqsplitter.cpp tqsqldatabase.cpp tqsqldriver.cpp tqsqldriverplugin.cpp tqsqlform.cpp tqsqlquery.cpp tqstatusbar.cpp tqstyle.cpp tqstyleplugin.cpp tqstylesheet.cpp \
tqtabbar.cpp tqtabdialog.cpp tqtable.cpp tqtabwidget.cpp tqtextbrowser.cpp tqtextcodecplugin.cpp tqtextedit.cpp tqtextview.cpp tqtimer.cpp tqtoolbar.cpp tqtoolbox.cpp tqtoolbutton.cpp tqtooltip.cpp tqtranslator.cpp \
tqurloperator.cpp \
tqvalidator.cpp tqvbox.cpp tqvbuttongroup.cpp tqvgroupbox.cpp \
tqwidget.cpp tqwidgetplugin.cpp tqwidgetstack.cpp tqwindowsstyle.cpp tqwizard.cpp tqworkspace.cpp \
\
tq1xcompatibility.cpp \
tqabstractlayout.cpp tqasciicache.cpp tqasciidict.cpp tqasyncimageio.cpp \
tqbig5codec.cpp tqbitarray.cpp tqbitmap.cpp tqbrush.cpp tqbuffer.cpp \
tqcache.cpp tqcleanuphandler.cpp tqcolor.cpp tqcompactstyle.cpp tqconnection.cpp tqcstring.cpp tqcursor.cpp \
tqdatastream.cpp tqdatetime.cpp tqdeepcopy.cpp tqdict.cpp tqdir.cpp tqdom.cpp tqdrawutil.cpp tqdropsite.cpp \
tqeditorfactory.cpp tqeucjpcodec.cpp tqeuckrcodec.cpp tqevent.cpp \
tqfile.cpp tqfileinfo.cpp tqfocusdata.cpp tqfontdatabase.cpp tqfont.cpp tqfontinfo.cpp tqfontmetrics.cpp \
tqgarray.cpp tqgb18030codec.cpp tqgcache.cpp tqgdict.cpp tqglcolormap.cpp tqglist.cpp tqgvector.cpp \
tqhostaddress.cpp \
tqiconset.cpp tqimage.cpp tqinputcontextfactory.cpp tqintcache.cpp tqintdict.cpp tqinterlacestyle.cpp tqiodevice.cpp \
tqjiscodec.h tqjpunicode.cpp \
tqkeysequence.cpp \
tqlibrary.cpp tqlocale.cpp \
tqmap.cpp tqmemarray.cpp tqmenudata.cpp tqmetaobject.cpp tqmime.cpp tqmovie.cpp tqmutex.cpp \
tqnamespace.cpp \
tqobjectdict.cpp tqobjectlist.cpp \
tqpaintdevice.cpp tqpaintdevicemetrics.cpp tqpainter.cpp tqpair.cpp tqpalette.cpp tqpen.cpp tqpicture.cpp tqpixmapcache.cpp tqpixmap.cpp tqpngio.cpp tqpointarray.cpp tqpoint.cpp tqpolygonscanner.cpp tqprinter.cpp tqptrcollection.cpp tqptrdict.cpp tqptrlist.cpp tqptrqueue.cpp tqptrstack.cpp tqptrvector.cpp \
tqrect.cpp tqregexp.cpp tqregion.cpp tqrtlcodec.cpp \
tqsemaphore.cpp tqsettings.cpp tqshared.cpp tqsignalslotimp.cpp tqsimplerichtext.cpp tqsize.cpp tqsizepolicy.cpp tqsjiscodec.cpp tqsocketdevice.cpp tqsortedlist.cpp tqsqlcursor.cpp tqsqleditorfactory.cpp tqsqlerror.cpp tqsqlfield.cpp tqsql.cpp tqsqlindex.cpp tqsqlpropertymap.cpp tqsqlrecord.cpp tqsqlresult.cpp tqsqlselectcursor.cpp tqstring.cpp tqstringlist.cpp tqstrlist.cpp tqstrvec.cpp tqstylefactory.cpp tqsyntaxhighlighter.cpp \
tqtextcodecfactory.cpp tqtextcodec.cpp tqtextstream.cpp tqthread.cpp tqthreadstorage.cpp tqtl.cpp tqtsciicodec.cpp \
tqurl.cpp tqurlinfo.cpp tqutfcodec.cpp tquuid.cpp \
tqvaluelist.cpp tqvaluestack.cpp tqvaluevector.cpp tqvariant.cpp tqvfbhdr.cpp \
tqwaitcondition.cpp tqwhatsthis.cpp tqwidgetfactory.cpp tqwidgetintdict.cpp tqwidgetlist.cpp tqwmatrix.cpp
libtqt_la_LIBADD = $(LIB_QT)
libtqt_la_LDFLAGS = $(KDE_RPATH) -version-info 6:0:2 -no-undefined $(all_libraries)

include_HEADERS = tqt.h tqaccel.h tqaccessible.h tqaction.h tqapplication.h tqasyncio.h \
tqbuttongroup.h tqbutton.h \
tqcanvas.h tqcdestyle.h tqcheckbox.h tqclipboard.h tqcolordialog.h tqcombobox.h tqcommonstyle.h \
tqdatabrowser.h tqdatatable.h tqdataview.h tqdatetimeedit.h tqdesktopwidget.h tqdial.h tqdialog.h tqdns.h tqdockarea.h tqdockwindow.h tqdragobject.h \
tqerrormessage.h tqeventloop.h \
tqfiledialog.h tqframe.h tqftp.h \
tqgl.h tqgplugin.h tqgrid.h tqgridview.h tqgroupbox.h tqguardedptr.h \
tqhbox.h tqhbuttongroup.h tqheader.h tqhgroupbox.h tqhttp.h \
tqiconview.h tqimageformatplugin.h tqinputcontext.h tqinputdialog.h \
tqlabel.h tqlayout.h tqlcdnumber.h tqlineedit.h tqlistbox.h tqlistview.h tqlocalfs.h \
tqmainwindow.h tqmenubar.h tqmessagebox.h tqmotifplusstyle.h tqmotifstyle.h tqmultilineedit.h \
tqnetworkprotocol.h tqnp.h \
tqobjectcleanuphandler.h tqobject.h \
tqplatinumstyle.h tqpopupmenu.h tqprintdialog.h tqprocess.h tqprogressbar.h tqprogressdialog.h tqpushbutton.h \
tqradiobutton.h tqrangecontrol.h \
tqscrollbar.h tqscrollview.h tqsemimodal.h tqserversocket.h tqsessionmanager.h tqsgistyle.h tqsignal.h tqsignalmapper.h tqsizegrip.h tqslider.h tqsocket.h tqsocketnotifier.h tqsound.h tqspinbox.h tqsplashscreen.h tqsplitter.h tqsqldatabase.h tqsqldriver.h tqsqldriverplugin.h tqsqlform.h tqsqlquery.h tqstatusbar.h tqstyle.h tqstyleplugin.h tqstylesheet.h \
tqtabbar.h tqtabdialog.h tqtable.h tqtabwidget.h tqtextbrowser.h tqtextcodecplugin.h tqtextedit.h tqtextview.h tqtimer.h tqtoolbar.h tqtoolbox.h tqtoolbutton.h tqtooltip.h tqtranslator.h \
tqurloperator.h \
tqvalidator.h tqvbox.h tqvbuttongroup.h tqvgroupbox.h \
tqwidget.h tqwidgetplugin.h tqwidgetstack.h tqwindowsstyle.h tqwizard.h tqworkspace.h \
\
tqapp.h tqarray.h tqbitarry.h tqbttngrp.h tqchkbox.h tqclipbrd.h tqcollect.h tqcollection.h tqcombo.h tqconfig.h tqconnect.h tqdatetm.h tqdrawutl.h tqdstream.h tqfeatures.h tqfiledef.h tqfiledlg.h tqfileinf.h tqfontinf.h tqfontmet.h tqgbkcodec.h tqgeneric.h tqgif.h tqglobal.h tqgrpbox.h tqintcach.h tqiodev.h tqjpegio.h tqkeycode.h tqlcdnumber.h tqlined.h tqlist.h tqmenudta.h tqmetaobj.h tqmlined.h tqmngio.h tqmodules.h tqmsgbox.h tqmultilinedit.h tqnetwork.h tqobjcoll.h tqobjdefs.h tqpaintdc.h tqpaintd.h tqpdevmet.h tqpmcache.h tqpntarry.h tqpopmenu.h tqprndlg.h tqprogbar.h tqprogdlg.h tqpushbt.h tqqueue.h tqradiobt.h tqrangect.h tqscrbar.h tqsession.h tqsocknot.h tqstack.h tqtabdlg.h tqtstream.h tqvector.h tqwidcoll.h tqwindefs.h tqwindowdefs.h tqwinexport.h \
\
tq1xcompatibility.h \
tqabstractlayout.h tqasciicache.h tqasciidict.h tqasyncimageio.h \
tqbig5codec.h tqbitarray.h tqbitmap.h tqbrush.h tqbuffer.h \
tqcache.h tqcleanuphandler.h tqcolor.h tqcompactstyle.h tqconnection.h tqcstring.h tqcursor.h \
tqdatastream.h tqdatetime.h tqdeepcopy.h tqdict.h tqdir.h tqdom.h tqdrawutil.h tqdropsite.h \
tqeditorfactory.h tqeucjpcodec.h tqeuckrcodec.h tqevent.h \
tqfile.h tqfileinfo.h tqfocusdata.h tqfontdatabase.h tqfont.h tqfontinfo.h tqfontmetrics.h \
tqgarray.h tqgb18030codec.h tqgcache.h tqgdict.h tqglcolormap.h tqglist.h tqgvector.h \
tqhostaddress.h \
tqiconset.h tqimage.h tqinputcontextfactory.h tqintcache.h tqintdict.h tqinterlacestyle.h tqiodevice.h \
tqjiscodec.h tqjpunicode.h \
tqkeysequence.h \
tqlibrary.h tqlocale.h \
tqmap.h tqmemarray.h tqmenudata.h tqmetaobject.h tqmime.h tqmovie.h tqmutex.h \
tqnamespace.h \
tqobjectdict.h tqobjectlist.h \
tqpaintdevice.h tqpaintdevicemetrics.h tqpainter.h tqpair.h tqpalette.h tqpen.h tqpicture.h tqpixmapcache.h tqpixmap.h tqpngio.h tqpointarray.h tqpoint.h tqpolygonscanner.h tqprinter.h tqptrcollection.h tqptrdict.h tqptrlist.h tqptrqueue.h tqptrstack.h tqptrvector.h \
tqrect.h tqregexp.h tqregion.h tqrtlcodec.h \
tqsemaphore.h tqsettings.h tqshared.h tqsignalslotimp.h tqsimplerichtext.h tqsize.h tqsizepolicy.h tqsjiscodec.h tqsocketdevice.h tqsortedlist.h tqsqlcursor.h tqsqleditorfactory.h tqsqlerror.h tqsqlfield.h tqsql.h tqsqlindex.h tqsqlpropertymap.h tqsqlrecord.h tqsqlresult.h tqsqlselectcursor.h tqstring.h tqstringlist.h tqstrlist.h tqstrvec.h tqstylefactory.h tqsyntaxhighlighter.h \
tqtextcodecfactory.h tqtextcodec.h tqtextstream.h tqthread.h tqthreadstorage.h tqtl.h tqtsciicodec.h \
tqurl.h tqurlinfo.h tqutfcodec.h tquuid.h \
tqvaluelist.h tqvaluestack.h tqvaluevector.h tqvariant.h tqvfbhdr.h \
tqwaitcondition.h tqwhatsthis.h tqwidgetfactory.h tqwidgetintdict.h tqwidgetlist.h tqwmatrix.h
noinst_HEADERS =

METASOURCES = AUTO

DOXYGEN_REFERENCES = tqt
DOXYGEN_EXCLUDE = KDE-ICE
include ../admin/Doxyfile.am

+ 49
- 0
qtinterface/TODO View File

@@ -0,0 +1,49 @@
qaccessible




All headers that contain the keywork Q_OBJECT have been ported,
exept for these due to *@#$ private functions

qclipboard
qcolordialog
qdragobject (QDragManager)
qfontdialog
qguardedptr (TQGuardedPtr, weird compilation failure)
qinputdialog
qnetworkprotocol (QNetworkProtocolFactory, weird compilation failure)
qsessionmanager
qtranslator (QT_NO_TRANSLATION is set, MOC does not honor #ifdef)
qwidgetplugin (TQWidgetContainerPlugin, weird compilation failure)



And these that do not contain Q_OBJECT are failing:

qasciicache
qasciidict
qcache
qcleanuphandler
qdeepcopy
qdict
qintcache
qintdict
qmap
qmemarray
qptrdict
qptrlist
qptrqueue
qsortedlist
qsqlpropertymap
qsqlselectcursor
qthreadstorage
qtl
qvaluelist
qvaluestack

This may have something to do with the template class junk

Weird headers with no classes (???):

tqdrawutil

+ 2
- 0
qtinterface/configure.in.in View File

@@ -0,0 +1,2 @@

AC_PATH_PROGS(MD5SUM, [md5sum gmd5sum], [md5sum])

+ 356
- 0
qtinterface/filelist.txt View File

@@ -0,0 +1,356 @@
kdemacros.h.in
parser.sh
tq1xcompatibility.h
tqabstractlayout.h
tqaccel.h
tqaccessible.h
tqaction.h
tqapp.h
tqapplication.h
tqarray.h
tqasciicache.cpp
tqasciicache.h
tqasciidict.h
tqasyncimageio.h
tqasyncio.h
tqbig5codec.h
tqbitarray.h
tqbitarry.h
tqbitmap.h
tqbrush.cpp
tqbrush.h
tqbttngrp.h
tqbuffer.h
tqbuttongroup.h
tqbutton.h
tqcache.cpp
tqcache.h
tqcanvas.h
tqcdestyle.h
tqcheckbox.cpp
tqcheckbox.h
tqchkbox.h
tqcleanuphandler.cpp
tqcleanuphandler.h
tqclipboard.h
tqclipbrd.h
tqcollect.h
tqcollection.h
tqcolordialog.h
tqcolor.h
tqcombobox.h
tqcombo.h
tqcommonstyle.h
tqcompactstyle.h
tqconfig.h
tqconnect.h
tqconnection.h
tqcstring.h
tqcursor.h
tqdatabrowser.h
tqdatastream.h
tqdatatable.h
tqdataview.h
tqdatetimeedit.h
tqdatetime.h
tqdatetm.h
tqdeepcopy.h
tqdesktopwidget.h
tqdial.h
tqdialog.h
tqdict.h
tqdir.h
tqdns.h
tqdockarea.h
tqdockwindow.h
tqdom.h
tqdragobject.h
tqdrawutil.h
tqdrawutl.h
tqdropsite.h
tqdstream.h
tqeditorfactory.h
tqerrormessage.h
tqeucjpcodec.h
tqeuckrcodec.h
tqevent.h
tqeventloop.h
tqfeatures.h
tqfiledef.h
tqfiledialog.h
tqfiledlg.h
tqfile.h
tqfileinf.h
tqfileinfo.h
tqfocusdata.h
tqfontdatabase.h
tqfontdialog.h
tqfont.h
tqfontinf.h
tqfontinfo.h
tqfontmet.h
tqfontmetrics.h
tqframe.h
tqftp.h
tqgarray.h
tqgb18030codec.h
tqgbkcodec.h
tqgcache.cpp
tqgcache.h
tqgdict.h
tqgeneric.h
tqgif.h
tqglcolormap.h
tqgl.h
tqglist.h
tqglobal.h
tqgplugin.h
tqgrid.h
tqgridview.h
tqgroupbox.h
tqgrpbox.h
tqguardedptr.h
tqgvector.h
tqhbox.cpp
tqhbox.h
tqhbuttongroup.cpp
tqhbuttongroup.h
tqheader.cpp
tqheader.h
tqhgroupbox.cpp
tqhgroupbox.h
tqhostaddress.cpp
tqhostaddress.h
tqhttp.cpp
tqhttp.h
tqiconset.h
tqiconview.h
tqimageformatplugin.h
tqimage.h
tqinputcontextfactory.h
tqinputcontext.h
tqinputdialog.h
tqintcache.cpp
tqintcache.h
tqintcach.h
tqintdict.h
tqinterlacestyle.h
tqiodev.h
tqiodevice.h
tqjiscodec.h
tqjpegio.h
tqjpunicode.h
tqkeycode.h
tqkeysequence.h
tqlabel.h
tqlayout.h
tqlcdnumber.h
tqlcdnum.h
tqlibrary.h
tqlined.h
tqlineedit.h
tqlistbox.h
tqlist.h
tqlistview.h
tqlocale.h
tqlocalfs.h
tqmainwindow.h
tqmap.h
tqmemarray.h
tqmenubar.h
tqmenudata.h
tqmenudta.h
tqmessagebox.h
tqmetaobject.h
tqmetaobj.h
tqmime.h
tqmlined.h
tqmngio.h
tqmodules.h
tqmotifplusstyle.h
tqmotifstyle.h
tqmovie.h
tqmsgbox.h
tqmultilinedit.h
tqmultilineedit.h
tqmutex.h
tqnamespace.h
tqnetwork.h
tqnetworkprotocol.h
tqnp.h
tqobjcoll.h
tqobjdefs.h
tqobjectcleanuphandler.cpp
tqobjectcleanuphandler.h
tqobjectdict.h
tqobject.h
tqobjectlist.h
tqpaintdc.h
tqpaintdevice.h
tqpaintdevicemetrics.h
tqpaintd.h
tqpainter.h
tqpair.h
tqpalette.h
tqpdevmet.h
tqpen.h
tqpicture.h
tqpixmapcache.cpp
tqpixmapcache.h
tqpixmap.h
tqplatinumstyle.h
tqpmcache.h
tqpngio.h
tqpntarry.h
tqpointarray.h
tqpoint.h
tqpolygonscanner.h
tqpopmenu.h
tqpopupmenu.h
tqprintdialog.h
tqprinter.h
tqprndlg.h
tqprocess.h
tqprogbar.h
tqprogdlg.h
tqprogressbar.h
tqprogressdialog.h
tqptrcollection.h
tqptrdict.h
tqptrlist.h
tqptrqueue.h
tqptrstack.h
tqptrvector.h
tqpushbt.h
tqpushbutton.cpp
tqpushbutton.h
tqqueue.h
tqradiobt.h
tqradiobutton.h
tqrangecontrol.h
tqrangect.h
tqrect.h
tqregexp.h
tqregion.h
tqrtlcodec.h
tqscrbar.h
tqscrollbar.h
tqscrollview.h
tqsemaphore.cpp
tqsemaphore.h
tqsemimodal.h
tqserversocket.h
tqsession.h
tqsessionmanager.h
tqsettings.h
tqsgistyle.h
tqshared.cpp
tqshared.h
tqsignal.h
tqsignalmapper.h
tqsignalslotimp.h
tqsimplerichtext.cpp
tqsimplerichtext.h
tqsizegrip.h
tqsize.h
tqsizepolicy.h
tqsjiscodec.h
tqslider.h
tqsocketdevice.h
tqsocket.h
tqsocketnotifier.h
tqsocknot.h
tqsortedlist.h
tqsound.h
tqspinbox.h
tqsplashscreen.cpp
tqsplashscreen.h
tqsplitter.h
tqsqlcursor.h
tqsqldatabase.h
tqsqldriver.h
tqsqldriverplugin.h
tqsqleditorfactory.h
tqsqlerror.h
tqsqlfield.h
tqsqlform.h
tqsql.h
tqsqlindex.h
tqsqlpropertymap.h
tqsqlquery.h
tqsqlrecord.h
tqsqlresult.h
tqsqlselectcursor.h
tqstack.h
tqstatusbar.h
tqstring.h
tqstringlist.h
tqstrlist.h
tqstrvec.h
tqstylefactory.h
tqstyle.h
tqstyleplugin.h
tqstylesheet.cpp
tqstylesheet.h
tqsyntaxhighlighter.cpp
tqsyntaxhighlighter.h
tqtabbar.h
tqtabdialog.h
tqtabdlg.h
tqtable.h
tqtabwidget.h
tqtextbrowser.h
tqtextcodecfactory.h
tqtextcodec.h
tqtextcodecplugin.h
tqtextedit.h
tqtextstream.h
tqtextview.h
tqt.h
tqthread.cpp
tqthread.h
tqthreadstorage.cpp
tqthreadstorage.h
tqtimer.h
tqtl.h
tqtoolbar.h
tqtoolbox.h
tqtoolbutton.h
tqtooltip.h
tqtranslator.h
tqtsciicodec.h
tqtstream.h
tqurl.h
tqurlinfo.h
tqurloperator.h
tqutfcodec.h
tquuid.h
tqvalidator.h
tqvaluelist.h
tqvaluestack.h
tqvaluevector.h
tqvariant.h
tqvbox.h
tqvbuttongroup.h
tqvector.h
tqvfbhdr.cpp
tqvfbhdr.h
tqvgroupbox.h
tqwaitcondition.h
tqwhatsthis.cpp
tqwhatsthis.h
tqwidcoll.h
tqwidgetfactory.h
tqwidget.h
tqwidgetintdict.h
tqwidgetlist.h
tqwidgetplugin.h
tqwidgetstack.h
tqwindefs.h
tqwindowdefs.h
tqwindowsstyle.h
tqwinexport.h
tqwizard.h
tqwmatrix.h
tqworkspace.h
tqxml.h

+ 30
- 0
qtinterface/iqtimer.cpp View File

@@ -0,0 +1,30 @@
/*

Copyright (C) 2010 Timothy Pearson <kb9vqf@pearsoncomputing.net>

This library 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 library 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
Library General Public License for more details.

You should have received a copy of the GNU Library General Public License
along with this library; see the file COPYING.LIB. If not, write to
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA.

*/

#include <tqt.h>
#include <qtimer.h>

#ifdef USE_QT3

//class IQTimer : public QTimer {};
//typedef QTimer IQTimer;

#endif

+ 220
- 0
qtinterface/kdemacros.h.in View File

@@ -0,0 +1,220 @@
/* This file is part of the KDE libraries
Copyright (c) 2002-2003 KDE Team

This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.

This library 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
Library General Public License for more details.

You should have received a copy of the GNU Library General Public License
along with this library; see the file COPYING.LIB. If not, write to
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA.
*/

#ifndef _KDE_MACROS_H_
#define _KDE_MACROS_H_

/* Set by configure */
#undef __KDE_HAVE_GCC_VISIBILITY

/**
* The KDE_NO_EXPORT macro marks the symbol of the given variable
* to be hidden. A hidden symbol is stripped during the linking step,
* so it can't be used from outside the resulting library, which is similar
* to static. However, static limits the visibility to the current
* compilation unit. hidden symbols can still be used in multiple compilation
* units.
*
* \code
* int KDE_NO_EXPORT foo;
* int KDE_EXPORT bar;
* \end
*/

#ifdef __KDE_HAVE_GCC_VISIBILITY
#define KDE_NO_EXPORT __attribute__ ((visibility("hidden")))
#define KDE_EXPORT __attribute__ ((visibility("default")))
#elif defined(Q_WS_WIN)
#define KDE_NO_EXPORT
#define KDE_EXPORT __declspec(dllexport)
#else
#define KDE_NO_EXPORT
#define KDE_EXPORT
#endif

/**
* KDE_Q_EXPORT_PLUGIN is a workaround for Qt not being able to
* cope with symbol visibility.
*/
#define KDE_Q_EXPORT_PLUGIN(PLUGIN) \
Q_EXTERN_C KDE_EXPORT const char* qt_ucm_query_verification_data(); \
Q_EXTERN_C KDE_EXPORT QUnknownInterface* ucm_instantiate(); \
Q_EXPORT_PLUGIN(PLUGIN)

/**
* The KDE_PACKED can be used to hint the compiler that a particular
* structure or class should not contain unnecessary paddings.
*/

#ifdef __GNUC__
#define KDE_PACKED __attribute__((__packed__))
#else
#define KDE_PACKED
#endif

/**
* The KDE_DEPRECATED macro can be used to trigger compile-time warnings
* with newer compilers when deprecated functions are used.
*
* For non-inline functions, the macro gets inserted at the very end of the
* function declaration, right before the semicolon:
*
* \code
* DeprecatedConstructor() KDE_DEPRECATED;
* void deprecatedFunctionA() KDE_DEPRECATED;
* int deprecatedFunctionB() const KDE_DEPRECATED;
* \endcode
*
* Functions which are implemented inline are handled differently: for them,
* the KDE_DEPRECATED macro is inserted at the front, right before the return
* type, but after "static" or "virtual":
*
* \code
* KDE_DEPRECATED void deprecatedInlineFunctionA() { .. }
* virtual KDE_DEPRECATED int deprecatedInlineFunctionB() { .. }
* static KDE_DEPRECATED bool deprecatedInlineFunctionC() { .. }
* \end
*
* You can also mark whole structs or classes as deprecated, by inserting the
* KDE_DEPRECATED macro after the struct/class keyword, but before the
* name of the struct/class:
*
* \code
* class KDE_DEPRECATED DeprecatedClass { };
* struct KDE_DEPRECATED DeprecatedStruct { };
* \endcode
*
* \note
* It does not make much sense to use the KDE_DEPRECATED keyword for a Qt signal;
* this is because usually get called by the class which they belong to,
* and one'd assume that a class author doesn't use deprecated methods of his
* own class. The only exception to this are signals which are connected to
* other signals; they get invoked from moc-generated code. In any case,
* printing a warning message in either case is not useful.
* For slots, it can make sense (since slots can be invoked directly) but be
* aware that if the slots get triggered by a signal, the will get called from
* moc code as well and thus the warnings are useless.
*
* \par
* Also note that it is not possible to use KDE_DEPRECATED for classes which
* use the k_dcop keyword (to indicate a DCOP interface declaration); this is
* because the dcopidl program would choke on the unexpected declaration
* syntax.
*/

#ifndef KDE_DEPRECATED
#if __GNUC__ - 0 > 3 || (__GNUC__ - 0 == 3 && __GNUC_MINOR__ - 0 >= 2)
/* gcc >= 3.2 */
# define KDE_DEPRECATED __attribute__ ((deprecated))
#elif defined(_MSC_VER) && (_MSC_VER >= 1300)
/* msvc >= 7 */
# define KDE_DEPRECATED __declspec(deprecated)
#else
# define KDE_DEPRECATED
#endif
#endif

/**
* The KDE_ISLIKELY macro tags a boolean expression as likely to evaluate to
* 'true'. When used in an if ( ) statement, it gives a hint to the compiler
* that the following codeblock is likely to get executed. Providing this
* information helps the compiler to optimize the code for better performance.
* Using the macro has an insignificant code size or runtime memory footprint impact.
* The code semantics is not affected.
*
* \note
* Providing wrong information ( like marking a condition that almost never
* passes as 'likely' ) will cause a significant runtime slowdown. Therefore only
* use it for cases where you can be sure about the odds of the expression to pass
* in all cases ( independent from e.g. user configuration ).
*
* \par
* The KDE_ISUNLIKELY macro tags an expression as unlikely evaluating to 'true'.
*
* \note
* Do NOT use ( !KDE_ISLIKELY(foo) ) as an replacement for KDE_ISUNLIKELY !
*
* \code
* if ( KDE_ISUNLIKELY( testsomething() ) )
* abort(); // assume its unlikely that the application aborts
* \endcode
*/
#if __GNUC__ - 0 >= 3
# define KDE_ISLIKELY( x ) __builtin_expect(!!(x),1)
# define KDE_ISUNLIKELY( x ) __builtin_expect(!!(x),0)
#else
# define KDE_ISLIKELY( x ) ( x )
# define KDE_ISUNLIKELY( x ) ( x )
#endif

/**
* This macro, and it's friends going up to 10 reserve a fixed number of virtual
* functions in a class. Because adding virtual functions to a class changes the
* size of the vtable, adding virtual functions to a class breaks binary
* compatibility. However, by using this macro, and decrementing it as new
* virtual methods are added, binary compatibility can still be preserved.
*
* \note The added functions must be added to the header at the same location
* as the macro; changing the order of virtual functions in a header is also
* binary incompatible as it breaks the layout of the vtable.
*/

#define RESERVE_VIRTUAL_1 \
virtual void reservedVirtual1() {}
#define RESERVE_VIRTUAL_2 \
virtual void reservedVirtual2() {} \
RESERVE_VIRTUAL_1
#define RESERVE_VIRTUAL_3 \
virtual void reservedVirtual3() {} \
RESERVE_VIRTUAL_2
#define RESERVE_VIRTUAL_4 \
virtual void reservedVirtual4() {} \
RESERVE_VIRTUAL_3
#define RESERVE_VIRTUAL_5 \
virtual void reservedVirtual5() {} \
RESERVE_VIRTUAL_4
#define RESERVE_VIRTUAL_6 \
virtual void reservedVirtual6() {} \
RESERVE_VIRTUAL_5
#define RESERVE_VIRTUAL_7 \
virtual void reservedVirtual7() {} \
RESERVE_VIRTUAL_6
#define RESERVE_VIRTUAL_8 \
virtual void reservedVirtual8() {} \
RESERVE_VIRTUAL_7
#define RESERVE_VIRTUAL_9 \
virtual void reservedVirtual9() {} \
RESERVE_VIRTUAL_8
#define RESERVE_VIRTUAL_10 \
virtual void reservedVirtual10() {} \
RESERVE_VIRTUAL_9

/**
* The KDE_WEAK_SYMBOL macro can be used to tell the compiler that
* a particular function should be a weak symbol (that e.g. may be overriden
* in another library, -Bdirect will not bind this symbol directly)
*/

#ifdef __GNUC__
#define KDE_WEAK_SYMBOL __attribute__((__weak__))
#else
#define KDE_WEAK_SYMBOL
#endif

#endif /* _KDE_MACROS_H_ */

+ 19
- 0
qtinterface/parser.sh View File

@@ -0,0 +1,19 @@
#!/bin/bash
#
# Run me like this:
# ls tq* | grep '\.h' | sed 's/\.h/\\\.h/g' | xargs ./parser.sh

for var in "$@"
do
echo -n "find ./ -type f -iname \"*.c*\" -exec sed -i 's/\([^t]\)"
echo -n ${var##t} | sed 's/\.h/\\\.h/g'
echo -n "/\1"
echo -n $var | sed 's/\.h/\\\.h/g'
echo "/g' {} \;"

echo -n "find ./ -type f -iname \"*.h*\" -exec sed -i 's/\([^t]\)"
echo -n ${var##t} | sed 's/\.h/\\\.h/g'
echo -n "/\1"
echo -n $var | sed 's/\.h/\\\.h/g'
echo "/g' {} \;"
done

+ 27
- 0
qtinterface/parser2.sh View File

@@ -0,0 +1,27 @@
#!/bin/bash
#
# Run me like this:
# ls tq* | grep .h | xargs ./parser2.sh
#
# Before use, check for correct operation with this
# ls tq* | grep .h | xargs ./parser2.sh | grep EXPORT

echo "#!/bin/bash"

echo " "

for var in "$@"
do
cat $var | grep "class " | sed 's/class //g' | sed 's/QM_EXPORT_XML //g' | sed 's/Q_EXPORT //g' | sed 's/QM_EXPORT_TABLE //g' | sed 's/QM_EXPORT_SQL //g' | sed 's/QM_EXPORT_NETWORK //g' | sed 's/QM_EXPORT_CANVAS //g' | sed 's/QM_EXPORT_DOM //g' | sed 's/QM_EXPORT_HTTP //g' | sed 's/QM_EXPORT_ICONVIEW //g' | sed 's/QM_EXPORT_OPENGL //g' | sed 's/Q_EXPORT_CODECS_JP //g' | sed 's/Q_EXPORT_CODECS_CN //g' | sed 's/Q_PNGEXPORT //g' | sed 's/Q_EXPORT_STYLE_COMPACT //g' | sed 's/Q_EXPORT_CODECS_KR //g' | awk '{print $1}' | sed 's/\/\/.//g' | sed 's/\/\///g' | sed 's/://g' | sed 's/;//g' | xargs ./parser3.sh
done

echo " "

echo "find ./ -type f -iname \"*.h*\" -exec sed -i 's/TTQ/TQ/g' {} \;"
echo "find ./ -type f -iname \"*.h*\" -exec sed -i 's/TTQ/TQ/g' {} \;"
echo "find ./ -type f -iname \"*.h*\" -exec sed -i 's/TTQ/TQ/g' {} \;"
echo "find ./ -type f -iname \"*.h*\" -exec sed -i 's/TTQ/TQ/g' {} \;"
echo "find ./ -type f -iname \"*.c*\" -exec sed -i 's/TTQ/TQ/g' {} \;"
echo "find ./ -type f -iname \"*.c*\" -exec sed -i 's/TTQ/TQ/g' {} \;"
echo "find ./ -type f -iname \"*.c*\" -exec sed -i 's/TTQ/TQ/g' {} \;"
echo "find ./ -type f -iname \"*.c*\" -exec sed -i 's/TTQ/TQ/g' {} \;"

+ 24
- 0
qtinterface/parser3.sh View File

@@ -0,0 +1,24 @@
#!/bin/bash
#
# DO NOT RUN ME
# See parser2

for var in "$@"
do
# echo -n "find ./ -type f -iname \"*.c*\" -exec sed -i 's/\([^T]\)"
echo -n "find ./ -type f -iname \"*.c*\" -exec sed -i 's/"
echo -n ${var##T}
# echo -n "/\1"
echo -n "/"
echo -n $var
echo "/g' {} \;"

# echo -n "find ./ -type f -iname \"*.h*\" -exec sed -i 's/\([^T]\)"
echo -n "find ./ -type f -iname \"*.h*\" -exec sed -i 's/"
echo -n ${var##T}
# echo -n "/\1"
echo -n "/"
echo -n $var
echo "/g' {} \;"
done


+ 23
- 0
qtinterface/tq1xcompatibility.cpp View File

@@ -0,0 +1,23 @@
/*

Copyright (C) 2010 Timothy Pearson <kb9vqf@pearsoncomputing.net>

This library 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 library 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
Library General Public License for more details.

You should have received a copy of the GNU Library General Public License
along with this library; see the file COPYING.LIB. If not, write to
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA.

*/

#include <tqt.h>
//#include <tq1xcompatibility.h>

+ 33
- 0
qtinterface/tq1xcompatibility.h View File

@@ -0,0 +1,33 @@
/*

Copyright (C) 2010 Timothy Pearson <kb9vqf@pearsoncomputing.net>

This library 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 library 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
Library General Public License for more details.

You should have received a copy of the GNU Library General Public License
along with this library; see the file COPYING.LIB. If not, write to
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA.

*/

#ifndef TQ1XCOMPATIBILITY_H
#define TQ1XCOMPATIBILITY_H

#include <tqt.h>

#ifdef USE_QT3

#include <q1xcompatibility.h>

#endif // USE_QT3

#endif /* TQ1XCOMPATIBILITY_H */

+ 23
- 0
qtinterface/tqabstractlayout.cpp View File

@@ -0,0 +1,23 @@
/*

Copyright (C) 2010 Timothy Pearson <kb9vqf@pearsoncomputing.net>

This library 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 library 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
Library General Public License for more details.

You should have received a copy of the GNU Library General Public License
along with this library; see the file COPYING.LIB. If not, write to
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA.

*/

#include <tqt.h>
#include <tqabstractlayout.h>

+ 33
- 0
qtinterface/tqabstractlayout.h View File

@@ -0,0 +1,33 @@
/*

Copyright (C) 2010 Timothy Pearson <kb9vqf@pearsoncomputing.net>

This library 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 library 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
Library General Public License for more details.

You should have received a copy of the GNU Library General Public License
along with this library; see the file COPYING.LIB. If not, write to
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA.

*/

#ifndef TQABSTRACTLAYOUT_H
#define TQABSTRACTLAYOUT_H

#include <tqt.h>

#ifdef USE_QT3

#include <qabstractlayout.h>

#endif // USE_QT3

#endif /* TQABSTRACTLAYOUT_H */

+ 23
- 0
qtinterface/tqaccel.cpp View File

@@ -0,0 +1,23 @@
/*

Copyright (C) 2010 Timothy Pearson <kb9vqf@pearsoncomputing.net>

This library 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 library 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
Library General Public License for more details.

You should have received a copy of the GNU Library General Public License
along with this library; see the file COPYING.LIB. If not, write to
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA.

*/

#include <tqt.h>
#include <tqaccel.h>

+ 36
- 0
qtinterface/tqaccel.h View File

@@ -0,0 +1,36 @@
/*

Copyright (C) 2010 Timothy Pearson <kb9vqf@pearsoncomputing.net>

This library 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 library 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
Library General Public License for more details.

You should have received a copy of the GNU Library General Public License
along with this library; see the file COPYING.LIB. If not, write to
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA.

*/

#ifndef TQACCEL_H
#define TQACCEL_H

#include <tqt.h>

#ifdef USE_QT3

// Reimplement the QAccel class
// For Qt3, no changes are needed

#include <qaccel.h>

#endif // USE_QT3

#endif /* TQACCEL_H */

+ 23
- 0
qtinterface/tqaccessible.cpp View File

@@ -0,0 +1,23 @@
/*

Copyright (C) 2010 Timothy Pearson <kb9vqf@pearsoncomputing.net>

This library 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 library 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
Library General Public License for more details.

You should have received a copy of the GNU Library General Public License
along with this library; see the file COPYING.LIB. If not, write to
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA.

*/

#include <tqt.h>
#include <tqaccessible.h>

+ 36
- 0
qtinterface/tqaccessible.h View File

@@ -0,0 +1,36 @@
/*

Copyright (C) 2010 Timothy Pearson <kb9vqf@pearsoncomputing.net>

This library 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.