summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--INSTALL4
-rw-r--r--README4
-rwxr-xr-xconfigure6
-rw-r--r--doc/Doxyfile2
-rw-r--r--doc/autolink.doc2
-rw-r--r--doc/doxygen_manual.tex2
-rw-r--r--doc/features.doc32
-rw-r--r--doc/index.doc2
-rw-r--r--doc/language.doc134
-rw-r--r--doc/translator.py6
-rw-r--r--doc/translator_report.txt115
-rw-r--r--qtools/qdir_win32.cpp149
-rw-r--r--qtools/qfile_win32.cpp53
-rw-r--r--qtools/qfileinfo_win32.cpp22
-rw-r--r--qtools/qstring.cpp109
-rw-r--r--qtools/qstring.h2
-rw-r--r--qtools/qtextcodec.cpp36
-rw-r--r--qtools/qtools.pro.in7
-rw-r--r--qtools/qutfcodec.cpp276
-rw-r--r--qtools/qutfcodec.h71
-rw-r--r--qtools/scstring.h1
-rw-r--r--src/classdef.cpp43
-rw-r--r--src/commentcnv.l4
-rw-r--r--src/commentscan.h2
-rw-r--r--src/commentscan.l75
-rw-r--r--src/config.l2
-rw-r--r--src/config.xml4
-rw-r--r--src/configoptions.cpp4
-rw-r--r--src/definition.cpp2
-rw-r--r--src/docparser.cpp4
-rw-r--r--src/dot.cpp5
-rw-r--r--src/doxygen.cpp5
-rw-r--r--src/filedef.cpp11
-rw-r--r--src/htmldocvisitor.cpp1
-rw-r--r--src/index.cpp8
-rw-r--r--src/language.cpp4
-rw-r--r--src/latexdocvisitor.cpp10
-rw-r--r--src/lodepng.cpp5
-rw-r--r--src/message.cpp3
-rw-r--r--src/pagedef.h2
-rw-r--r--src/portable.cpp11
-rw-r--r--src/portable.h2
-rw-r--r--src/pre.l29
-rw-r--r--src/store.cpp2
-rw-r--r--src/translator_adapter.h42
-rw-r--r--src/translator_fa.h157
-rw-r--r--src/translator_sk.h2952
-rw-r--r--src/util.cpp17
-rw-r--r--winbuild/qtools.vcproj12
49 files changed, 2776 insertions, 1677 deletions
diff --git a/INSTALL b/INSTALL
index 1ecaac2..d2ad6fd 100644
--- a/INSTALL
+++ b/INSTALL
@@ -1,7 +1,7 @@
-DOXYGEN Version 1.6.3-20100603
+DOXYGEN Version 1.7.0
Please read the installation section of the manual
(http://www.doxygen.org/install.html) for instructions.
--------
-Dimitri van Heesch (03 June 2010)
+Dimitri van Heesch (15 June 2010)
diff --git a/README b/README
index 45fd5b1..cb4b569 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-DOXYGEN Version 1.6.3_20100603
+DOXYGEN Version 1.7.0
Please read INSTALL for compilation instructions.
@@ -17,4 +17,4 @@ to subscribe to the lists or to visit the archives.
Enjoy,
-Dimitri van Heesch (dimitri@stack.nl) (03 June 2010)
+Dimitri van Heesch (dimitri@stack.nl) (15 June 2010)
diff --git a/configure b/configure
index f1d483a..2ebd4ab 100755
--- a/configure
+++ b/configure
@@ -16,11 +16,11 @@
# shell script to configure doxygen
doxygen_version_major=1
-doxygen_version_minor=6
-doxygen_version_revision=3
+doxygen_version_minor=7
+doxygen_version_revision=0
#NOTE: Setting version_mmn to "NO" will omit mmn info from the package.
-doxygen_version_mmn=20100603
+doxygen_version_mmn=NO
bin_dirs=`echo $PATH | sed -e "s/:/ /g"`
diff --git a/doc/Doxyfile b/doc/Doxyfile
index 01014fa..0c06390 100644
--- a/doc/Doxyfile
+++ b/doc/Doxyfile
@@ -34,7 +34,7 @@ IMAGE_PATH = .
INPUT = index.doc install.doc starting.doc docblocks.doc lists.doc \
grouping.doc formulas.doc diagrams.doc preprocessing.doc \
autolink.doc output.doc searching.doc customize.doc custcmd.doc \
- external.doc faq.doc trouble.doc history.doc features.doc \
+ external.doc faq.doc trouble.doc features.doc \
doxygen_usage.doc doxytag_usage.doc \
doxywizard_usage.doc installdox_usage.doc \
config.doc commands.doc htmlcmds.doc xmlcmds.doc language.doc \
diff --git a/doc/autolink.doc b/doc/autolink.doc
index 0325a7a..8279d90 100644
--- a/doc/autolink.doc
+++ b/doc/autolink.doc
@@ -82,7 +82,7 @@
the patterns above.
\par Note 4:
In the documentation of a class containing a member foo,
- a reference to a global variable is made using ::foo, whereas \#foo
+ a reference to a global variable is made using "::foo", whereas \#foo
will link to the member.
For non overloaded members the argument list may be omitted.
diff --git a/doc/doxygen_manual.tex b/doc/doxygen_manual.tex
index a755c19..a10cddd 100644
--- a/doc/doxygen_manual.tex
+++ b/doc/doxygen_manual.tex
@@ -17,6 +17,7 @@
\usepackage{makeidx}
\usepackage{fancyhdr}
\usepackage{float}
+\usepackage{longtable}
\usepackage{graphicx}
\usepackage{epsf}
\usepackage{doxygen}
@@ -68,7 +69,6 @@ Written by Dimitri van Heesch\\[2ex]
\chapter{Troubleshooting}\label{trouble}\hypertarget{trouble}{}\input{trouble}
\part{Reference Manual}
\chapter{Features}\label{features}\hypertarget{features}{}\input{features}
-\chapter{Doxygen History}\label{history}\hypertarget{history}{}\input{history}
\chapter{Doxygen usage}\label{doxygen_usage}\hypertarget{doxygen_usage}{}\input{doxygen_usage}
\chapter{Doxytag usage}\label{doxytag_usage}\hypertarget{doxytag_usage}{}\input{doxytag_usage}
\chapter{Doxywizard usage}\label{doxywizard_usage}\hypertarget{doxywizard_usage}{}\input{doxywizard_usage}
diff --git a/doc/features.doc b/doc/features.doc
index b1ebf0c..c1615ec 100644
--- a/doc/features.doc
+++ b/doc/features.doc
@@ -21,30 +21,41 @@
<li>Requires very little overhead from the writer of the documentation.
Plain text will do, but for more fancy or structured output HTML tags
and/or some of doxygen's special commands can be used.
-<li>Supports C/C++, Java, (Corba and Microsoft) Java, Python,
- IDL, C#, Objective-C and to some extent D and PHP sources.
+<li>Cross platform: works on Windows and many Unices (including Linux and
+ MacOSX).
+<li>Indexes, organizes and generates browsable and cross-referenced
+ output even from undocumented code.
+<li>Generates structured XML output for parsed sources, which can be
+ used by external tools.
+<li>Supports C/C++, Java, (Corba and Microsoft) Java, Python, VHDL, PHP
+ IDL, C#, Objective-C 2.0, and to some extent D and Fortran sources.
<li>Supports documentation of files, namespaces, packages, classes,
structs, unions, templates, variables, functions, typedefs, enums and
defines.
-<li>JavaDoc (1.1), Qt-Doc, and ECMA-334 (C# spec.) compatible.
+<li>JavaDoc (1.1), qdoc3 (partially), and ECMA-334 (C# spec.) compatible.
+<li>Comes with a GUI frontend (Doxywizard) to ease editing the options and run doxygen.
+ The GUI is available on Windows, Linux, and MacOSX.
<li>Automatically generates class and collaboration diagrams in HTML (as clickable
image maps) and \f$\mbox{\LaTeX}\f$ (as Encapsulated PostScript images).
<li>Uses the dot tool of the Graphviz tool kit to generate
include dependency graphs, collaboration diagrams, call graphs, directory structure
graphs, and graphical class hierarchy graphs.
+<li>Allows grouping of entities in modules and creating a hierarchy of modules.
<li>Flexible comment placement: Allows you to put documentation in the
header file (before the
declaration of an entity), source file (before the definition of an entity)
or in a separate file.
<li>Generates a list of all members of a class (including any inherited
members) along with their protection level.
-<li>Outputs documentation in on-line format (HTML and UNIX man page) and
+<li>Outputs documentation in on-line format (XHTML and UNIX man page) and
off-line format (\f$\mbox{\LaTeX}\f$ and RTF) simultaneously
(any of these can be disabled if desired). All formats are optimized for
ease of reading. <br>
Furthermore, compressed HTML can be generated from HTML output using
Microsoft's HTML Help Workshop (Windows only) and PDF can be generated
from the \f$\mbox{\LaTeX}\f$ output.
+<li>Support for various third party help formats including HTML Help,
+ docsets, Qt-Help, and eclipse help.
<li>Includes a full C preprocessor to allow proper parsing of conditional
code fragments and to allow expansion of all or part of macros definitions.
<li>Automatically detects public, protected and private sections, as well as
@@ -56,12 +67,14 @@
<li>References to base/super classes and inherited/overridden members are
generated automatically.
<li>Includes a fast, rank based search engine to search for strings or words
- in the class and member documentation.
+ in the class and member documentation (PHP based).
+<li>Includes an Javascript based live search feature to search for symbols
+ as you type (for small to medium sized projects).
<li>You can type normal HTML tags in your documentation. Doxygen will convert
them to their equivalent \f$\mbox{\LaTeX}\f$, RTF, and man-page
counterparts automatically.
-<li>Allows references to documentation generated for other projects
- (or another part of the same project) in a location independent way.
+<li>Allows references to documentation generated for other (doxygen documented)
+ projects (or another part of the same project) in a location independent way.
<li>Allows inclusion of source code examples that are automatically
cross-referenced with the documentation.
<li>Inclusion of undocumented classes is also supported, allowing to quickly
@@ -75,6 +88,11 @@
configuration file.
<li>Documentation and search engine can be transferred to another
location or machine without regenerating the documentation.
+<li>Supports many different character encodings and uses UTF-8 internally and
+ for the generated output.
+<li>Doxygen can generate a layout which you can use and edit to change the
+ layout of each page.
+<li>There more than a 100 configurable options to finetune the output.
<li>Can cope with large projects easily.
</UL>
diff --git a/doc/index.doc b/doc/index.doc
index 8633331..c36504d 100644
--- a/doc/index.doc
+++ b/doc/index.doc
@@ -87,8 +87,6 @@ The second part forms a reference manual:
<ul>
<li>Section \ref features presents an overview of what doxygen can do.
-<li>Section \ref history shows what has changed during the development
- of doxygen and what still has to be done.
<li>Section \ref doxygen_usage shows how to use the \c doxygen program.
<li>Section \ref doxytag_usage shows how to use the \c doxytag program.
<li>Section \ref doxywizard_usage shows how to use the \c doxywizard program.
diff --git a/doc/language.doc b/doc/language.doc
index b61b9f4..c4c1e10 100644
--- a/doc/language.doc
+++ b/doc/language.doc
@@ -73,7 +73,7 @@ when the translator was updated.
<tr bgcolor="#ffffff">
<td>Catalan</td>
<td>Maximiliano Pin<br/>Albert Mora</td>
- <td>max.pin at bitroit dot com<br/>[unreachable]</td>
+ <td>max dot pin at bitroit dot com<br/>[unreachable]</td>
<td>1.6.3</td>
</tr>
<tr bgcolor="#ffffff">
@@ -85,20 +85,20 @@ when the translator was updated.
<tr bgcolor="#ffffff">
<td>Chinese Traditional</td>
<td>Daniel YC Lin<br/>Gary Lee</td>
- <td>dlin.tw at gmail dot com<br/>garywlee at gmail dot com</td>
+ <td>dlin dot tw at gmail dot com<br/>garywlee at gmail dot com</td>
<td>1.6.0</td>
</tr>
<tr bgcolor="#ffffff">
<td>Croatian</td>
<td>Boris Bralo</td>
- <td>boris.bralo at gmail dot com</td>
+ <td>boris dot bralo at gmail dot com</td>
<td>up-to-date</td>
</tr>
<tr bgcolor="#ffffff">
<td>Czech</td>
<td>Petr P&#x0159;ikryl</td>
<td>prikrylp at skil dot cz</td>
- <td>1.6.3</td>
+ <td>up-to-date</td>
</tr>
<tr bgcolor="#ffffff">
<td>Danish</td>
@@ -127,7 +127,7 @@ when the translator was updated.
<tr bgcolor="#ffffff">
<td>Finnish</td>
<td>Antti Laine</td>
- <td>antti.a.laine at tut dot fi</td>
+ <td>antti dot a dot laine at tut dot fi</td>
<td>1.6.0</td>
</tr>
<tr bgcolor="#ffffff">
@@ -145,7 +145,7 @@ when the translator was updated.
<tr bgcolor="#ffffff">
<td>Greek</td>
<td>Paul Gessos</td>
- <td>gessos.paul at yahoo dot gr</td>
+ <td>gessos dot paul at yahoo dot gr</td>
<td>up-to-date</td>
</tr>
<tr bgcolor="#ffffff">
@@ -212,12 +212,12 @@ when the translator was updated.
<td>Persian</td>
<td>Ali Nadalizadeh</td>
<td>nadalizadeh at gmail dot com</td>
- <td>1.6.0</td>
+ <td>up-to-date</td>
</tr>
<tr bgcolor="#ffffff">
<td>Polish</td>
<td>Piotr Kaminski<br/>Grzegorz Kowal<br/>Krzysztof Kral</td>
- <td>[unreachable]<br/>[unreachable]<br/>krzysztof.kral at gmail dot com</td>
+ <td>[unreachable]<br/>[unreachable]<br/>krzysztof dot kral at gmail dot com</td>
<td>1.6.3</td>
</tr>
<tr bgcolor="#ffffff">
@@ -254,12 +254,12 @@ when the translator was updated.
<td>Slovak</td>
<td>-- searching for the maintainer --</td>
<td></td>
- <td>1.2.18</td>
+ <td>up-to-date</td>
</tr>
<tr bgcolor="#ffffff">
<td>Slovene</td>
<td>Matja&#x017e; Ostrover&#x0161;nik</td>
- <td>matjaz.ostroversnik at ostri dot org</td>
+ <td>matjaz dot ostroversnik at ostri dot org</td>
<td>1.4.6</td>
</tr>
<tr bgcolor="#ffffff">
@@ -301,111 +301,113 @@ when the translator was updated.
\latexonly
-\begin{tabular}{|l|l|l|l|}
+\footnotesize
+\begin{longtable}{|l|l|l|l|}
\hline
{\bf Language} & {\bf Maintainer} & {\bf Contact address} & {\bf Status} \\
\hline
\hline
- Afrikaans & Johan Prinsloo & {\tt\tiny johan@zippysnoek.com} & 1.6.0 \\
+ Afrikaans & Johan Prinsloo & {\tt\tiny johan at zippysnoek dot com} & 1.6.0 \\
\hline
- Arabic & Moaz Reyad & {\tt\tiny moazreyad@yahoo.com} & 1.4.6 \\
+ Arabic & Moaz Reyad & {\tt\tiny moazreyad at yahoo dot com} & 1.4.6 \\
\hline
- Brazilian Portuguese & Fabio "FJTC" Jun Takada Chino & {\tt\tiny jun-chino@uol.com.br} & up-to-date \\
+ Brazilian Portuguese & Fabio "FJTC" Jun Takada Chino & {\tt\tiny jun-chino at uol dot com dot br} & up-to-date \\
\hline
- Catalan & Maximiliano Pin & {\tt\tiny max.pin@bitroit.com} & 1.6.3 \\
- ~ & Albert Mora & {\tt\tiny [unreachable] amora@iua.upf.es} & ~ \\
+ Catalan & Maximiliano Pin & {\tt\tiny max dot pin at bitroit dot com} & 1.6.3 \\
+ ~ & Albert Mora & {\tt\tiny [unreachable] amora at iua dot upf dot es} & ~ \\
\hline
- Chinese & Li Daobing & {\tt\tiny lidaobing@gmail.com} & 1.6.0 \\
- ~ & Wei Liu & {\tt\tiny liuwei@asiainfo.com} & ~ \\
+ Chinese & Li Daobing & {\tt\tiny lidaobing at gmail dot com} & 1.6.0 \\
+ ~ & Wei Liu & {\tt\tiny liuwei at asiainfo dot com} & ~ \\
\hline
- Chinese Traditional & Daniel YC Lin & {\tt\tiny dlin.tw@gmail.com} & 1.6.0 \\
- ~ & Gary Lee & {\tt\tiny garywlee@gmail.com} & ~ \\
+ Chinese Traditional & Daniel YC Lin & {\tt\tiny dlin dot tw at gmail dot com} & 1.6.0 \\
+ ~ & Gary Lee & {\tt\tiny garywlee at gmail dot com} & ~ \\
\hline
- Croatian & Boris Bralo & {\tt\tiny boris.bralo@gmail.com} & up-to-date \\
+ Croatian & Boris Bralo & {\tt\tiny boris dot bralo at gmail dot com} & up-to-date \\
\hline
- Czech & Petr P\v{r}ikryl & {\tt\tiny prikrylp@skil.cz} & 1.6.3 \\
+ Czech & Petr P\v{r}ikryl & {\tt\tiny prikrylp at skil dot cz} & up-to-date \\
\hline
- Danish & Erik S\o{}e S\o{}rensen & {\tt\tiny eriksoe+doxygen@daimi.au.dk} & 1.5.4 \\
+ Danish & Erik S\o{}e S\o{}rensen & {\tt\tiny eriksoe+doxygen at daimi dot au dot dk} & 1.5.4 \\
\hline
- Dutch & Dimitri van Heesch & {\tt\tiny dimitri@stack.nl} & up-to-date \\
+ Dutch & Dimitri van Heesch & {\tt\tiny dimitri at stack dot nl} & up-to-date \\
\hline
- English & Dimitri van Heesch & {\tt\tiny dimitri@stack.nl} & up-to-date \\
+ English & Dimitri van Heesch & {\tt\tiny dimitri at stack dot nl} & up-to-date \\
\hline
- Esperanto & Ander Martinez & {\tt\tiny dwarfnauko@gmail.com} & 1.6.3 \\
+ Esperanto & Ander Martinez & {\tt\tiny dwarfnauko at gmail dot com} & 1.6.3 \\
\hline
- Finnish & Antti Laine & {\tt\tiny antti.a.laine@tut.fi} & 1.6.0 \\
+ Finnish & Antti Laine & {\tt\tiny antti dot a dot laine at tut dot fi} & 1.6.0 \\
\hline
- French & Xavier Outhier & {\tt\tiny xouthier@yahoo.fr} & 1.6.3 \\
+ French & Xavier Outhier & {\tt\tiny xouthier at yahoo dot fr} & 1.6.3 \\
\hline
- German & Jens Seidel & {\tt\tiny jensseidel@users.sf.net} & 1.6.3 \\
+ German & Jens Seidel & {\tt\tiny jensseidel at users dot sf dot net} & 1.6.3 \\
\hline
- Greek & Paul Gessos & {\tt\tiny gessos.paul@yahoo.gr} & up-to-date \\
+ Greek & Paul Gessos & {\tt\tiny gessos dot paul at yahoo dot gr} & up-to-date \\
\hline
- Hungarian & \'{A}kos Kiss & {\tt\tiny akiss@users.sourceforge.net} & 1.4.6 \\
- ~ & F\"{o}ldv\'{a}ri Gy\"{o}rgy & {\tt\tiny [unreachable] foldvari lost@cyberspace} & ~ \\
+ Hungarian & \'{A}kos Kiss & {\tt\tiny akiss at users dot sourceforge dot net} & 1.4.6 \\
+ ~ & F\"{o}ldv\'{a}ri Gy\"{o}rgy & {\tt\tiny [unreachable] foldvari lost at cyberspace} & ~ \\
\hline
- Indonesian & Hendy Irawan & {\tt\tiny ceefour@gauldong.net} & 1.4.6 \\
+ Indonesian & Hendy Irawan & {\tt\tiny ceefour at gauldong dot net} & 1.4.6 \\
\hline
- Italian & Alessandro Falappa & {\tt\tiny alessandro@falappa.net} & 1.6.0 \\
- ~ & Ahmed Aldo Faisal & {\tt\tiny aaf23@cam.ac.uk} & ~ \\
+ Italian & Alessandro Falappa & {\tt\tiny alessandro at falappa dot net} & 1.6.0 \\
+ ~ & Ahmed Aldo Faisal & {\tt\tiny aaf23 at cam dot ac dot uk} & ~ \\
\hline
- Japanese & Hiroki Iseri & {\tt\tiny goyoki@gmail.com} & 1.6.0 \\
- ~ & Ryunosuke Satoh & {\tt\tiny sun594@hotmail.com} & ~ \\
- ~ & Kenji Nagamatsu & {\tt\tiny naga@joyful.club.ne.jp} & ~ \\
- ~ & Iwasa Kazmi & {\tt\tiny [unreachable] iwasa@cosmo-system.jp} & ~ \\
+ Japanese & Hiroki Iseri & {\tt\tiny goyoki at gmail dot com} & 1.6.0 \\
+ ~ & Ryunosuke Satoh & {\tt\tiny sun594 at hotmail dot com} & ~ \\
+ ~ & Kenji Nagamatsu & {\tt\tiny naga at joyful dot club dot ne dot jp} & ~ \\
+ ~ & Iwasa Kazmi & {\tt\tiny [unreachable] iwasa at cosmo-system dot jp} & ~ \\
\hline
JapaneseEn & see the Japanese language & {\tt\tiny ~} & English based \\
\hline
- Korean & Kim Taedong & {\tt\tiny fly1004@gmail.com} & 1.6.3 \\
- ~ & SooYoung Jung & {\tt\tiny jung5000@gmail.com} & ~ \\
- ~ & Richard Kim & {\tt\tiny [unreachable] ryk@dspwiz.com} & ~ \\
+ Korean & Kim Taedong & {\tt\tiny fly1004 at gmail dot com} & 1.6.3 \\
+ ~ & SooYoung Jung & {\tt\tiny jung5000 at gmail dot com} & ~ \\
+ ~ & Richard Kim & {\tt\tiny [unreachable] ryk at dspwiz dot com} & ~ \\
\hline
KoreanEn & see the Korean language & {\tt\tiny ~} & English based \\
\hline
- Lithuanian & Tomas Simonaitis & {\tt\tiny [unreachable] haden@homelan.lt} & 1.4.6 \\
- ~ & Mindaugas Radzius & {\tt\tiny [unreachable] mindaugasradzius@takas.lt} & ~ \\
- ~ & Aidas Berukstis & {\tt\tiny [unreachable] aidasber@takas.lt} & ~ \\
+ Lithuanian & Tomas Simonaitis & {\tt\tiny [unreachable] haden at homelan dot lt} & 1.4.6 \\
+ ~ & Mindaugas Radzius & {\tt\tiny [unreachable] mindaugasradzius at takas dot lt} & ~ \\
+ ~ & Aidas Berukstis & {\tt\tiny [unreachable] aidasber at takas dot lt} & ~ \\
~ & -- contact lost -- & {\tt\tiny } & ~ \\
\hline
- Macedonian & Slave Jovanovski & {\tt\tiny slavejovanovski@yahoo.com} & 1.6.0 \\
+ Macedonian & Slave Jovanovski & {\tt\tiny slavejovanovski at yahoo dot com} & 1.6.0 \\
\hline
- Norwegian & Lars Erik Jordet & {\tt\tiny lejordet@gmail.com} & 1.4.6 \\
+ Norwegian & Lars Erik Jordet & {\tt\tiny lejordet at gmail dot com} & 1.4.6 \\
\hline
- Persian & Ali Nadalizadeh & {\tt\tiny nadalizadeh@gmail.com} & 1.6.0 \\
+ Persian & Ali Nadalizadeh & {\tt\tiny nadalizadeh at gmail dot com} & up-to-date \\
\hline
- Polish & Piotr Kaminski & {\tt\tiny [unreachable] Piotr.Kaminski@ctm.gdynia.pl} & 1.6.3 \\
- ~ & Grzegorz Kowal & {\tt\tiny [unreachable] g\_kowal@poczta.onet.pl} & ~ \\
- ~ & Krzysztof Kral & {\tt\tiny krzysztof.kral@gmail.com} & ~ \\
+ Polish & Piotr Kaminski & {\tt\tiny [unreachable] Piotr dot Kaminski at ctm dot gdynia dot pl} & 1.6.3 \\
+ ~ & Grzegorz Kowal & {\tt\tiny [unreachable] g\_kowal at poczta dot onet dot pl} & ~ \\
+ ~ & Krzysztof Kral & {\tt\tiny krzysztof dot kral at gmail dot com} & ~ \\
\hline
- Portuguese & Rui Godinho Lopes & {\tt\tiny [unreachable] ruiglopes@yahoo.com} & 1.3.3 \\
+ Portuguese & Rui Godinho Lopes & {\tt\tiny [unreachable] ruiglopes at yahoo dot com} & 1.3.3 \\
\hline
- Romanian & Ionut Dumitrascu & {\tt\tiny reddumy@yahoo.com} & 1.6.0 \\
- ~ & Alexandru Iosup & {\tt\tiny aiosup@yahoo.com} & ~ \\
+ Romanian & Ionut Dumitrascu & {\tt\tiny reddumy at yahoo dot com} & 1.6.0 \\
+ ~ & Alexandru Iosup & {\tt\tiny aiosup at yahoo dot com} & ~ \\
\hline
- Russian & Alexandr Chelpanov & {\tt\tiny cav@cryptopro.ru} & 1.6.0 \\
+ Russian & Alexandr Chelpanov & {\tt\tiny cav at cryptopro dot ru} & 1.6.0 \\
\hline
- Serbian & Dejan Milosavljevic & {\tt\tiny [unreachable] dmilos@email.com} & 1.6.0 \\
+ Serbian & Dejan Milosavljevic & {\tt\tiny [unreachable] dmilos at email dot com} & 1.6.0 \\
\hline
- SerbianCyrilic & Nedeljko Stefanovic & {\tt\tiny stenedjo@yahoo.com} & 1.6.0 \\
+ SerbianCyrilic & Nedeljko Stefanovic & {\tt\tiny stenedjo at yahoo dot com} & 1.6.0 \\
\hline
- Slovak & -- searching for the maintainer -- & {\tt\tiny } & 1.2.18 \\
+ Slovak & -- searching for the maintainer -- & {\tt\tiny } & up-to-date \\
\hline
- Slovene & Matja\v{z} Ostrover\v{s}nik & {\tt\tiny matjaz.ostroversnik@ostri.org} & 1.4.6 \\
+ Slovene & Matja\v{z} Ostrover\v{s}nik & {\tt\tiny matjaz dot ostroversnik at ostri dot org} & 1.4.6 \\
\hline
- Spanish & Bartomeu & {\tt\tiny bartomeu@loteria3cornella.com} & up-to-date \\
- ~ & Francisco Oltra Thennet & {\tt\tiny [unreachable] foltra@puc.cl} & ~ \\
- ~ & David Vaquero & {\tt\tiny david@grupoikusnet.com} & ~ \\
+ Spanish & Bartomeu & {\tt\tiny bartomeu at loteria3cornella dot com} & up-to-date \\
+ ~ & Francisco Oltra Thennet & {\tt\tiny [unreachable] foltra at puc dot cl} & ~ \\
+ ~ & David Vaquero & {\tt\tiny david at grupoikusnet dot com} & ~ \\
\hline
- Swedish & Mikael Hallin & {\tt\tiny mikaelhallin@yahoo.se} & 1.6.0 \\
+ Swedish & Mikael Hallin & {\tt\tiny mikaelhallin at yahoo dot se} & 1.6.0 \\
\hline
- Turkish & Emin Ilker Cetinbas & {\tt\tiny niw3@yahoo.com} & 1.6.0 \\
+ Turkish & Emin Ilker Cetinbas & {\tt\tiny niw3 at yahoo dot com} & 1.6.0 \\
\hline
Ukrainian & -- searching for the maintainer -- & {\tt\tiny } & 1.4.1 \\
\hline
- Vietnamese & Dang Minh Tuan & {\tt\tiny tuanvietkey@gmail.com} & 1.6.0 \\
+ Vietnamese & Dang Minh Tuan & {\tt\tiny tuanvietkey at gmail dot com} & 1.6.0 \\
\hline
-\end{tabular}
+\end{longtable}
+\normalsize
\endlatexonly
diff --git a/doc/translator.py b/doc/translator.py
index dd8fa00..14f8c3c 100644
--- a/doc/translator.py
+++ b/doc/translator.py
@@ -1910,13 +1910,15 @@ class TrManager:
# Define templates for LaTeX table parts of the documentation.
latexTableTpl = r'''
\latexonly
- \begin{tabular}{|l|l|l|l|}
+ \footnotesize
+ \begin{longtable}{|l|l|l|l|}
\hline
{\bf Language} & {\bf Maintainer} & {\bf Contact address} & {\bf Status} \\
\hline
%s
\hline
- \end{tabular}
+ \end{longtable}
+ \normalsize
\endlatexonly
'''
latexTableTpl = dedent(latexTableTpl)
diff --git a/doc/translator_report.txt b/doc/translator_report.txt
index 9501c7d..6d1c243 100644
--- a/doc/translator_report.txt
+++ b/doc/translator_report.txt
@@ -10,7 +10,7 @@ Persian, Polish, Portuguese, Romanian, Russian, Serbian,
SerbianCyrilic, Slovak, Slovene, Spanish, Swedish, Turkish, Ukrainian,
and Vietnamese.
-Of them, 6 translators are up-to-date, 32 translators are based on
+Of them, 9 translators are up-to-date, 29 translators are based on
some adapter class, and 2 are English based.
----------------------------------------------------------------------
@@ -21,9 +21,12 @@ still may be some details listed even for them:
TranslatorBrazilian
TranslatorCroatian
+ TranslatorCzech
TranslatorDutch
TranslatorEnglish
TranslatorGreek
+ TranslatorPersian -- The MAX_DOT_GRAPH_HEIGHT found in trLegendDocs()
+ TranslatorSlovak
TranslatorSpanish -- The MAX_DOT_GRAPH_HEIGHT found in trLegendDocs()
----------------------------------------------------------------------
@@ -41,7 +44,6 @@ must be implemented to become up-to-date:
Note: Reimplementation using UTF-8 suggested.
TranslatorEsperanto 1.6.3 4 methods to implement (1 %)
- TranslatorCzech 1.6.3 4 methods to implement (1 %)
TranslatorCatalan 1.6.3 4 methods to implement (1 %)
TranslatorVietnamese 1.6.0 9 methods to implement (4 %)
TranslatorTurkish 1.6.0 9 methods to implement (4 %)
@@ -58,9 +60,6 @@ must be implemented to become up-to-date:
TranslatorRomanian 1.6.0 9 methods to implement (4 %)
Note: Reimplementation using UTF-8 suggested.
- TranslatorPersian 1.6.0 9 methods to implement (4 %)
- Note: Reimplementation using UTF-8 suggested.
-
TranslatorMacedonian 1.6.0 9 methods to implement (4 %)
TranslatorJapanese 1.6.0 9 methods to implement (4 %)
Note: Reimplementation using UTF-8 suggested.
@@ -103,9 +102,6 @@ must be implemented to become up-to-date:
TranslatorPortuguese 1.3.3 44 methods to implement (19 %)
Note: Reimplementation using UTF-8 suggested.
- TranslatorSlovak 1.2.18 53 methods to implement (23 %)
- Note: Reimplementation using UTF-8 suggested.
-
----------------------------------------------------------------------
The following translator classes derive directly from the
@@ -254,19 +250,6 @@ TranslatorChinesetraditional (TranslatorAdapter_1_6_0) 9 methods to implement
virtual QCString trIncludesFileIn(const char * name)
-TranslatorCzech (TranslatorAdapter_1_6_3) 4 methods to implement (1 %)
----------------
-
- Implements 221 of the required methods (98 %).
-
- Missing methods (should be implemented):
-
- virtual QCString trDateTime(int year, int month, int day, int dayOfWeek, int hour, int minutes, int seconds, bool includeTime)
- virtual QCString trFileIn(const char * name)
- virtual QCString trDirDependency(const char * name)
- virtual QCString trIncludesFileIn(const char * name)
-
-
TranslatorDanish (TranslatorAdapter_1_5_4) 31 methods to implement (13 %)
----------------
@@ -661,22 +644,10 @@ TranslatorNorwegian (TranslatorAdapter_1_4_6) 32 methods to implement (14 %)
virtual QCString trNoDescriptionAvailable()
-TranslatorPersian (TranslatorAdapter_1_6_0) 9 methods to implement (4 %)
+TranslatorPersian (Translator)
-----------------
- Implements 216 of the required methods (96 %).
-
- Missing methods (should be implemented):
-
- virtual QCString trSearching()
- virtual QCString trNoMatches()
- virtual QCString trLoading()
- virtual QCString trDateTime(int year, int month, int day, int dayOfWeek, int hour, int minutes, int seconds, bool includeTime)
- virtual QCString trFileIn(const char * name)
- virtual QCString trGlobalNamespace()
- virtual QCString trDirRelation(const char * name)
- virtual QCString trDirDependency(const char * name)
- virtual QCString trIncludesFileIn(const char * name)
+ Implements 225 of the required methods (100 %).
TranslatorPolish (TranslatorAdapter_1_6_3) 4 methods to implement (1 %)
@@ -841,80 +812,6 @@ TranslatorSerbianCyrilic (TranslatorAdapter_1_6_0) 9 methods to implement (4
virtual QCString trIncludesFileIn(const char * name)
-TranslatorSlovak (TranslatorAdapter_1_2_18) 53 methods to implement (23 %)
-----------------
-
- Implements 172 of the required methods (76 %).
-
- Missing methods (should be implemented):
-
- virtual QCString trCompoundMembersDescriptionFortran(bool extractAll)
- virtual QCString trSearching()
- virtual QCString trOverloadText()
- virtual QCString trEventDocumentation()
- virtual QCString trDirIndex()
- virtual QCString trNoMatches()
- virtual QCString trGeneratedFromFilesFortran(ClassDef::CompoundType compType, bool single)
- virtual QCString trLoading()
- virtual QCString trSubprograms()
- virtual QCString trDateTime(int year, int month, int day, int dayOfWeek, int hour, int minutes, int seconds, bool includeTime)
- virtual QCString trPackageMembers()
- virtual QCString trStaticPackageMembers()
- virtual QCString trModulesListDescription(bool extractAll)
- virtual QCString trModulesList()
- virtual QCString trDirDocumentation()
- virtual QCString trSearchResultsTitle()
- virtual QCString trDirectories()
- virtual QCString trTypeConstraints()
- virtual QCString trFileIn(const char * name)
- virtual QCString trGlobalNamespace()
- virtual QCString trMemberFunctionDocumentationFortran()
- virtual QCString trDirDescription()
- virtual QCString trStaticPackageAttribs()
- virtual QCString trCompoundListDescriptionFortran()
- virtual QCString trCallGraph()
- virtual QCString trTypeDocumentation()
- virtual QCString trModuleReference(const char * namespaceName)
- virtual QCString trModulesMemberDescription(bool extractAll)
- virtual QCString trModulesMembers()
- virtual QCString trModulesIndex()
- virtual QCString trDirRelation(const char * name)
- virtual QCString trPackageTypes()
- virtual QCString trCompoundListFortran()
- virtual QCString trDataTypes()
- virtual QCString trSearchResults(int numDocuments)
- virtual QCString trDirDependency(const char * name)
- virtual QCString trIncludesFileIn(const char * name)
- virtual QCString trPackageAttribs()
- virtual QCString trSearchMatches()
- virtual QCString trCompoundIndexFortran()
- virtual QCString trSubprogram(bool first_capital, bool singular)
- virtual QCString trEvents()
- virtual QCString trCallerGraph()
- virtual QCString trCompoundReferenceFortran(const char * clName, ClassDef::CompoundType compType, bool isTemplate)
- virtual QCString trType(bool first_capital, bool singular)
- virtual QCString trModule(bool first_capital, bool singular)
- virtual QCString trCompoundMembersFortran()
- virtual QCString trSourceFile(QCString & filename)
- virtual QCString trDirReference(const char * dirName)
- virtual QCString trDir(bool first_capital, bool singular)
- virtual QCString trSearchForIndex()
- virtual QCString trAll()
- virtual QCString trSubprogramDocumentation()
-
- Obsolete methods (should be removed, never used):
-
- virtual QCString trHeaderFilesDescription()
- virtual QCString trField(bool first_capital, bool singular)
- virtual QCString trPackageDocumentation()
- virtual QCString trSources()
- virtual QCString trReimplementedForInternalReasons()
- virtual QCString trInterfaces()
- virtual QCString trHeaderFiles()
- virtual QCString trBugsAndLimitations()
- virtual QCString trNoDescriptionAvailable()
-
-
TranslatorSlovene (TranslatorAdapter_1_4_6) 33 methods to implement (14 %)
-----------------
diff --git a/qtools/qdir_win32.cpp b/qtools/qdir_win32.cpp
index 33c8cec..f1515a1 100644
--- a/qtools/qdir_win32.cpp
+++ b/qtools/qdir_win32.cpp
@@ -59,6 +59,24 @@ extern int qt_cmp_si( const void *, const void * );
}
#endif
+static QString p_getenv( QString name )
+{
+ DWORD len = GetEnvironmentVariableW( ( LPCWSTR ) qt_winTchar ( name, TRUE ), NULL, 0 );
+ if ( len == 0 )
+ return QString::null;
+ /* ansi: we allocate too much memory, but this shouldn't be the problem here ... */
+ LPWSTR buf = (LPWSTR)new WCHAR[ len ];
+ len = GetEnvironmentVariableW ( ( LPCWSTR ) qt_winTchar ( name, TRUE ), buf, len );
+ if ( len == 0 )
+ {
+ delete[] buf;
+ return QString::null;
+ }
+ QString ret = qt_winQString ( buf );
+ delete[] buf;
+ return ret;
+}
+
void QDir::slashify( QString& n )
{
@@ -71,12 +89,21 @@ void QDir::slashify( QString& n )
QString QDir::homeDirPath()
{
- QString d;
- d = QFile::decodeName(getenv("HOME"));
- slashify( d );
- if ( d.isNull() )
- d = rootDirPath();
- return d;
+ QString d = p_getenv ( "HOME" );
+ if ( d.isNull () ) {
+ d = p_getenv ( "USERPROFILE" );
+ if ( d.isNull () ) {
+ QString homeDrive = p_getenv ( "HOMEDRIVE" );
+ QString homePath = p_getenv ( "HOMEPATH" );
+ if ( !homeDrive.isNull () && !homePath.isNull () ) {
+ d = homeDrive + homePath;
+ } else {
+ d = rootDirPath ();
+ }
+ }
+ }
+ slashify( d );
+ return d;
}
QString QDir::canonicalPath() const
@@ -99,27 +126,38 @@ QString QDir::canonicalPath() const
bool QDir::mkdir( const QString &dirName, bool acceptAbsPath ) const
{
#if defined(__CYGWIN32_)
- return MKDIR( QFile::encodeName(filePath(dirName,acceptAbsPath)), 0777 )
- == 0;
+ return MKDIR( QFile::encodeName(filePath(dirName,acceptAbsPath)), 0777 ) == 0;
#else
- return MKDIR( QFile::encodeName(filePath(dirName,acceptAbsPath)) ) == 0;
-
+ return _wmkdir( ( LPCWSTR ) filePath( dirName, acceptAbsPath ).ucs2() ) == 0;
#endif
}
bool QDir::rmdir( const QString &dirName, bool acceptAbsPath ) const
{
+#if defined(__CYGWIN32_)
return RMDIR( QFile::encodeName(filePath(dirName,acceptAbsPath)) ) == 0;
+#else
+ return _wrmdir( ( LPCWSTR ) filePath( dirName, acceptAbsPath ).ucs2() ) == 0;
+#endif
}
bool QDir::isReadable() const
{
+ QString path = dPath;
+ if ( ( path[ 0 ] == '\\' ) || ( path[ 0 ] == '/' ) )
+ path = rootDirPath() + path;
+#if defined(__CYGWIN32_)
return ACCESS( QFile::encodeName(dPath), R_OK ) == 0;
+#else
+ return ( _waccess( (wchar_t*) path.ucs2(), R_OK ) == 0 );
+#endif
}
bool QDir::isRoot() const
{
- return dPath == QString::fromLatin1("/");
+ QString path = dPath;
+ slashify( path );
+ return path == rootDirPath ();
}
bool QDir::rename( const QString &name, const QString &newName,
@@ -133,21 +171,33 @@ bool QDir::rename( const QString &name, const QString &newName,
}
QString fn1 = filePath( name, acceptAbsPaths );
QString fn2 = filePath( newName, acceptAbsPaths );
+#if defined(__CYGWIN32_)
return ::rename( QFile::encodeName(fn1),
QFile::encodeName(fn2) ) == 0;
+#else
+ return MoveFileW( ( LPCWSTR ) fn1.ucs2(), ( LPCWSTR ) fn2.ucs2() ) != 0;
+#endif
}
bool QDir::setCurrent( const QString &path )
{
+#if defined(__CYGWIN32_)
int r;
r = CHDIR( QFile::encodeName(path) );
return r >= 0;
+#else
+ if ( !QDir( path ).exists() )
+ return false;
+ return ( SetCurrentDirectoryW( ( LPCWSTR ) path.ucs2() ) >= 0 );
+#endif
}
QString QDir::currentDirPath()
{
QString result;
+#if defined(__CYGWIN32_)
+
STATBUF st;
if ( STAT( ".", &st ) == 0 ) {
char currentName[PATH_MAX];
@@ -162,25 +212,47 @@ QString QDir::currentDirPath()
qWarning( "QDir::currentDirPath: stat(\".\") failed" );
#endif
}
+
+#else
+
+ DWORD size = 0;
+ WCHAR currentName[ PATH_MAX ];
+ size = ::GetCurrentDirectoryW( PATH_MAX, currentName );
+ if ( size != 0 ) {
+ if ( size > PATH_MAX ) {
+ WCHAR * newCurrentName = new WCHAR[ size ];
+ if ( ::GetCurrentDirectoryW( PATH_MAX, newCurrentName ) != 0 )
+ result = QString::fromUcs2( ( ushort* ) newCurrentName );
+ delete [] newCurrentName;
+ } else {
+ result = QString::fromUcs2( ( ushort* ) currentName );
+ }
+ }
+
+ if ( result.length() >= 2 && result[ 1 ] == ':' )
+ result[ 0 ] = result.at( 0 ).upper(); // Force uppercase drive letters.
+#endif
slashify( result );
return result;
}
QString QDir::rootDirPath()
{
- QString d = QString::fromLatin1( "/" );
- return d;
+ QString d = p_getenv ( "SystemDrive" );
+ if ( d.isNull () )
+ d = QString::fromLatin1( "c:" ); // not "c:\\" !
+ slashify ( d );
+ return d;
}
bool QDir::isRelativePath( const QString &path )
{
- int len = path.length();
- if ( len == 0 )
- return TRUE;
- int i = 0;
- if ( isalpha(path[0]) && path[1] == ':' ) // drive, e.g. a:
- i = 2;
- return path[i] != '/' && path[i] != '\\';
+ if ( path.isEmpty() )
+ return TRUE;
+ int p = 0;
+ if ( path[ 0 ].isLetter() && path[ 1 ] == ':' )
+ p = 2; // we have checked the first 2.
+ return ( ( path[ p ] != '/' ) && ( path[ p ] != '\\' ) );
}
#undef IS_SUBDIR
@@ -249,7 +321,7 @@ bool QDir::readDirEntries( const QString &nameFilter,
int plen = p.length();
#if defined(_OS_WIN32_)
HANDLE ff;
- WIN32_FIND_DATA finfo;
+ WIN32_FIND_DATAW finfo;
#else
long ff;
_finddata_t finfo;
@@ -266,7 +338,11 @@ bool QDir::readDirEntries( const QString &nameFilter,
p += '/';
p += "*.*";
+#if defined(__CYGWIN32_)
ff = FF_GETFIRST( p.data(), &finfo );
+#else
+ ff = FindFirstFileW ( ( LPCWSTR ) p.ucs2(), &finfo );
+#endif
if ( ff == FF_ERROR )
{
#if defined(DEBUG)
@@ -282,18 +358,20 @@ bool QDir::readDirEntries( const QString &nameFilter,
first = FALSE;
else
{
-#if defined(_OS_WIN32_)
- if ( !FF_GETNEXT(ff,&finfo) )
- break;
-#else
+#if defined(__CYGWIN32_)
if ( FF_GETNEXT(ff,&finfo) == -1 )
break;
+#else
+ //if ( !FF_GETNEXT(ff,&finfo) )
+ // break;
+ if (!FindNextFileW(ff, &finfo ))
+ break;
#endif
}
-#if defined(_OS_WIN32_)
- int attrib = finfo.dwFileAttributes;
-#else
+#if defined(__CYGWIN32_)
int attrib = finfo.attrib;
+#else
+ int attrib = finfo.dwFileAttributes;
#endif
bool isDir = (attrib & IS_SUBDIR) != 0;
bool isFile = !isDir;
@@ -305,12 +383,13 @@ bool QDir::readDirEntries( const QString &nameFilter,
bool isHidden = (attrib & IS_HIDDEN) != 0;
bool isSystem = (attrib & IS_SYSTEM) != 0;
-#if defined(_OS_WIN32_)
- const char *fname = finfo.cFileName;
-#else
+#if defined(__CYGWIN32_)
const char *fname = finfo.name;
+#else
+ //const char *fname = finfo.cFileName;
+ QString fname = QString::fromUcs2( ( const unsigned short* ) finfo.cFileName);
#endif
- if ( wc.match(fname) == -1 && !(allDirs && isDir) )
+ if ( wc.match(fname.utf8()) == -1 && !(allDirs && isDir) )
continue;
QString name = fname;
@@ -341,10 +420,10 @@ bool QDir::readDirEntries( const QString &nameFilter,
fiList->append( new QFileInfo( fi ) );
}
}
-#if defined(_OS_WIN32_)
- FindClose( ff );
-#else
+#if defined(__CYGWIN32_)
_findclose( ff );
+#else
+ FindClose( ff );
#endif
// Sort...
diff --git a/qtools/qfile_win32.cpp b/qtools/qfile_win32.cpp
index 0cc91de..80ad628 100644
--- a/qtools/qfile_win32.cpp
+++ b/qtools/qfile_win32.cpp
@@ -34,11 +34,26 @@
# define OPEN_ASYNC O_NDELAY
#endif
+static void reslashify( QString& n )
+{
+ for ( int i=0; i<(int)n.length(); i++ )
+ {
+ if ( n[i] == '/' )
+ n[i] = '\\';
+ }
+}
+
bool qt_file_access( const QString& fn, int t )
{
if ( fn.isEmpty() )
return FALSE;
+#if defined(__CYGWIN32_)
return ACCESS( QFile::encodeName(fn), t ) == 0;
+#else
+ QString str = fn;
+ reslashify(str);
+ return ( _waccess( (wchar_t*) str.ucs2(), t ) == 0 );
+#endif
}
/*!
@@ -54,8 +69,14 @@ bool QFile::remove( const QString &fileName )
#endif
return FALSE;
}
- return ::remove( QFile::encodeName(fileName) ) == 0;
+#if defined(__CYGWIN32_)
// unlink more common in UNIX
+ return ::remove( QFile::encodeName(fileName) ) == 0;
+#else
+ QString str = fileName;
+ reslashify(str);
+ return ( _wunlink( (wchar_t*) str.ucs2() ) == 0 );
+#endif
}
#if defined(O_NONBLOCK)
@@ -166,7 +187,15 @@ bool QFile::open( int m )
if ( isAsynchronous() )
oflags |= OPEN_ASYNC;
#endif
+
+
+#if defined(__CYGWIN32_)
fd = OPEN( QFile::encodeName(fn), oflags, 0666 );
+#else
+ QString str = fn;
+ reslashify(str);
+ fd = _wopen( (wchar_t*) str.ucs2(), oflags, 0666 );
+#endif
if ( fd != -1 ) { // open successful
FSTAT( fd, &st ); // get the stat for later usage
@@ -201,7 +230,14 @@ bool QFile::open( int m )
strcat( perm2, "b" );
while (1) { // At most twice
+#if defined(__CYGWIN32_)
fh = fopen( QFile::encodeName(fn), perm2 );
+#else
+ QString str = fn;
+ QString prm( perm2 );
+ reslashify(str);
+ fh = _wfopen( (wchar_t*) str.ucs2(), (wchar_t*) prm.ucs2() );
+#endif
if ( !fh && try_create ) {
perm2[0] = 'w'; // try "w+" instead of "r+"
@@ -372,10 +408,23 @@ uint QFile::size() const
STATBUF st;
if ( isOpen() ) {
FSTAT( fh ? FILENO(fh) : fd, &st );
+ return st.st_size;
} else {
+#if defined(__CYGWIN32_)
STAT( QFile::encodeName(fn), &st );
+#else
+ QString str = fn;
+ reslashify(str);
+#ifdef QT_LARGEFILE_SUPPORT
+ if ( _wstati64( (wchar_t*) str.ucs2(), &st ) != -1 ) {
+#else
+ if ( _wstat( (wchar_t*) str.ucs2(), &st ) != -1 ) {
+#endif
+#endif
+ return st.st_size;
+ }
}
- return st.st_size;
+ return 0;
}
/*!
diff --git a/qtools/qfileinfo_win32.cpp b/qtools/qfileinfo_win32.cpp
index bfcc6ac..8f83107 100644
--- a/qtools/qfileinfo_win32.cpp
+++ b/qtools/qfileinfo_win32.cpp
@@ -25,6 +25,15 @@
#include "qdatetime.h"
#include "qdir.h"
+static void reslashify( QString& n )
+{
+ for ( int i=0; i<(int)n.length(); i++ )
+ {
+ if ( n[i] == '/' )
+ n[i] = '\\';
+ }
+}
+
void QFileInfo::slashify( QString& n )
{
for ( int i=0; i<(int)n.length(); i++ )
@@ -246,6 +255,7 @@ void QFileInfo::doStat() const
STATBUF *b = &that->fic->st;
that->fic->isSymLink = FALSE;
+#if defined(__CYGWIN32_)
int r;
r = STAT( QFile::encodeName(fn), b );
@@ -254,6 +264,18 @@ void QFileInfo::doStat() const
delete that->fic;
that->fic = 0;
}
+#else
+ QString file = fn;
+ reslashify(file);
+#ifdef QT_LARGEFILE_SUPPORT
+ if ( _wstati64( (wchar_t*) file.ucs2(), b ) == -1 ) {
+#else
+ if ( _wstat( (wchar_t*) file.ucs2(), b ) == -1 ) {
+#endif
+ delete that->fic;
+ that->fic = 0;
+ }
+#endif
}
/*!
diff --git a/qtools/qstring.cpp b/qtools/qstring.cpp
index b582445..5d50060 100644
--- a/qtools/qstring.cpp
+++ b/qtools/qstring.cpp
@@ -12065,6 +12065,69 @@ char* QString::unicodeToAscii(const QChar *uc, uint l)
return result;
}
+static uint computeNewMax( uint len )
+{
+ if (len >= 0x80000000)
+ return len;
+
+ uint newMax = 4;
+ while ( newMax < len )
+ newMax *= 2;
+ // try to save some memory
+ if ( newMax >= 1024 * 1024 && len <= newMax - (newMax >> 2) )
+ newMax -= newMax >> 2;
+ return newMax;
+}
+
+/*!
+ Returns the QString as a zero terminated array of unsigned shorts
+ if the string is not null; otherwise returns zero.
+
+ The result remains valid so long as one unmodified
+ copy of the source string exists.
+ */
+const unsigned short *QString::ucs2() const
+{
+ if ( ! d->unicode )
+ return 0;
+ unsigned int len = d->len;
+ if ( d->maxl < len + 1 ) {
+ // detach, grow or shrink
+ uint newMax = computeNewMax( len + 1 );
+ QChar* nd = QT_ALLOC_QCHAR_VEC( newMax );
+ if ( nd ) {
+ if ( d->unicode )
+ memcpy( nd, d->unicode, sizeof(QChar)*len );
+ ((QString *)this)->deref();
+ ((QString *)this)->d = new QStringData( nd, len, newMax );
+ }
+ }
+ d->unicode[len] = 0;
+ return (unsigned short *) d->unicode;
+}
+
+/*!
+ Constructs a string that is a deep copy of \a str, interpreted as a
+ UCS2 encoded, zero terminated, Unicode string.
+
+ If \a str is 0, then a null string is created.
+ \sa isNull()
+ */
+QString QString::fromUcs2( const unsigned short *str )
+{
+ if ( !str ) {
+ return QString::null;
+ } else {
+ int length = 0;
+ while ( str[length] != 0 )
+ length++;
+ QChar* uc = QT_ALLOC_QCHAR_VEC( length );
+ memcpy( uc, str, length*sizeof(QChar) );
+ return QString( new QStringData( uc, length, length ), TRUE );
+ }
+}
+
+
/*****************************************************************************
QString member functions
*****************************************************************************/
@@ -12214,10 +12277,14 @@ QString::QString( const QByteArray& ba )
QString::QString( const QCString& ba )
{
- Q2HELPER(stat_construct_ba++)
- uint l;
- QChar *uc = internalAsciiToUnicode(ba,&l);
- d = new QStringData(uc,l,l);
+ //Q2HELPER(stat_construct_ba++)
+ //uint l;
+ //QChar *uc = internalAsciiToUnicode(ba,&l);
+ //d = new QStringData(uc,l,l);
+ Q2HELPER(stat_fast_copy++)
+ QString s = QString::fromUtf8(ba.data(),ba.length());
+ d = s.d;
+ d->ref();
}
/*!
@@ -12265,11 +12332,15 @@ QString::QString( const QChar* unicode, uint length )
QString::QString( const char *str )
{
- Q2HELPER(stat_construct_charstar++)
- uint l;
- QChar *uc = internalAsciiToUnicode(str,&l);
- Q2HELPER(stat_construct_charstar_size+=l)
- d = new QStringData(uc,l,l);
+ //Q2HELPER(stat_construct_charstar++)
+ //uint l;
+ //QChar *uc = internalAsciiToUnicode(str,&l);
+ //Q2HELPER(stat_construct_charstar_size+=l)
+ //d = new QStringData(uc,l,l);
+ Q2HELPER(stat_fast_copy++)
+ QString s = QString::fromUtf8(str);
+ d = s.d;
+ d->ref();
}
@@ -14329,7 +14400,25 @@ const char* QString::latin1() const
}
Q2HELPER(stat_get_ascii++)
Q2HELPER(stat_get_ascii_size+=d->len)
- d->ascii = unicodeToAscii( d->unicode, d->len );
+ static QTextCodec* codec = QTextCodec::codecForMib(106);
+ if (codec) // we use utf8 coding also for latin1 if possible
+ {
+ QCString utf8str(codec->fromUnicode(*this));
+ d->ascii = new char[utf8str.length()+1];
+ if (utf8str.isEmpty())
+ {
+ d->ascii[0]='\0'; // make empty string
+ }
+ else // copy string
+ {
+ qstrcpy(d->ascii,utf8str.data());
+ }
+ }
+ else // fall back to latin1
+ {
+ d->ascii = unicodeToAscii( d->unicode, d->len );
+ }
+ QCString utf8str(utf8());
d->dirtyascii = 0;
return d->ascii;
}
diff --git a/qtools/qstring.h b/qtools/qstring.h
index c64d756..4357809 100644
--- a/qtools/qstring.h
+++ b/qtools/qstring.h
@@ -501,6 +501,8 @@ public:
const char* ascii() const;
const char* latin1() const;
static QString fromLatin1(const char*, int len=-1);
+ const unsigned short *ucs2() const;
+ static QString fromUcs2( const unsigned short *ucs2 );
#ifndef QT_NO_TEXTCODEC
QCString utf8() const;
static QString fromUtf8(const char*, int len=-1);
diff --git a/qtools/qtextcodec.cpp b/qtools/qtextcodec.cpp
index fbbc1f9..4eb8ba5 100644
--- a/qtools/qtextcodec.cpp
+++ b/qtools/qtextcodec.cpp
@@ -41,14 +41,14 @@
#include "qlist.h"
#ifndef QT_NO_CODECS
#include "qutfcodec.h"
-#include "qgbkcodec.h"
-#include "qeucjpcodec.h"
-#include "qjiscodec.h"
-#include "qsjiscodec.h"
-#include "qeuckrcodec.h"
-#include "qbig5codec.h"
-#include "qrtlcodec.h"
-#include "qtsciicodec.h"
+//#include "qgbkcodec.h"
+//#include "qeucjpcodec.h"
+//#include "qjiscodec.h"
+//#include "qsjiscodec.h"
+//#include "qeuckrcodec.h"
+//#include "qbig5codec.h"
+//#include "qrtlcodec.h"
+//#include "qtsciicodec.h"
#endif
#include "qfile.h"
@@ -1006,7 +1006,7 @@ public:
break;
else if (incmap) {
char* cursor = line;
- int byte,unicode=-1;
+ int byte=0,unicode=-1;
ushort* mb_unicode=0;
const int maxmb=8; // more -> we'll need to improve datastructures
char mb[maxmb+1];
@@ -2054,17 +2054,17 @@ static void setupBuiltinCodecs()
(void)new QSimpleTextCodec( i );
} while( unicodevalues[i++].mib != LAST_MIB );
- (void)new QEucJpCodec;
- (void)new QSjisCodec;
- (void)new QJisCodec;
- (void)new QEucKrCodec;
- (void)new QGbkCodec;
- (void)new QBig5Codec;
+ //(void)new QEucJpCodec;
+ //(void)new QSjisCodec;
+ //(void)new QJisCodec;
+ //(void)new QEucKrCodec;
+ //(void)new QGbkCodec;
+ //(void)new QBig5Codec;
(void)new QUtf8Codec;
(void)new QUtf16Codec;
- (void)new QHebrewCodec;
- (void)new QArabicCodec;
- (void)new QTsciiCodec;
+ //(void)new QHebrewCodec;
+ //(void)new QArabicCodec;
+ //(void)new QTsciiCodec;
#endif // QT_NO_CODECS
}
diff --git a/qtools/qtools.pro.in b/qtools/qtools.pro.in
index f0a1ffa..3eabed9 100644
--- a/qtools/qtools.pro.in
+++ b/qtools/qtools.pro.in
@@ -49,6 +49,7 @@ HEADERS = qarray.h \
qthread_p.h \
qmutex.h \
qmutex_p.h \
+ qutfcodec.h \
qwaitcondition.h
SOURCES = qbuffer.cpp \
@@ -75,7 +76,8 @@ SOURCES = qbuffer.cpp \
qxml.cpp \
qmap.cpp \
qthread.cpp \
- qmutex.cpp
+ qmutex.cpp \
+ qutfcodec.cpp
unix:SOURCES += qfile_unix.cpp \
qdir_unix.cpp \
@@ -92,7 +94,8 @@ win32:SOURCES += qfile_win32.cpp \
qwaitcondition_win32.cpp
INCLUDEPATH = .
-TMAKE_CXXFLAGS += -DQT_NO_CODECS -DQT_LITE_UNICODE
+#TMAKE_CXXFLAGS += -DQT_NO_CODECS -DQT_LITE_UNICODE
+TMAKE_CXXFLAGS += -DQT_LITE_UNICODE
win32:TMAKE_CXXFLAGS += -DQT_NODLL
win32-g++:TMAKE_CXXFLAGS += -D__CYGWIN__ -DALL_STATIC
OBJECTS_DIR = ../objects
diff --git a/qtools/qutfcodec.cpp b/qtools/qutfcodec.cpp
new file mode 100644
index 0000000..f64812c
--- /dev/null
+++ b/qtools/qutfcodec.cpp
@@ -0,0 +1,276 @@
+/****************************************************************************
+**
+**
+** Implementation of QEucCodec class
+**
+** Created : 981015
+**
+** Copyright (C)1998-2000 Trolltech AS. All rights reserved.
+**
+** This file is part of the tools module of the Qt GUI Toolkit.
+**
+** This file may be distributed under the terms of the Q Public License
+** as defined by Trolltech AS of Norway and appearing in the file
+** LICENSE.QPL included in the packaging of this file.
+**
+** This file may be distributed and/or modified under the terms of the
+** GNU General Public License version 2 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file.
+**
+** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition
+** licenses may use this file in accordance with the Qt Commercial License
+** Agreement provided with the Software.
+**
+** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+**
+** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
+** information about Qt Commercial License Agreements.
+** See http://www.trolltech.com/qpl/ for QPL licensing information.
+** See http://www.trolltech.com/gpl/ for GPL licensing information.
+**
+** Contact info@trolltech.com if any conditions of this licensing are
+** not clear to you.
+**
+**********************************************************************/
+
+#include "qutfcodec.h"
+
+#ifndef QT_NO_TEXTCODEC
+
+int QUtf8Codec::mibEnum() const
+{
+ return 106;
+}
+
+QCString QUtf8Codec::fromUnicode(const QString& uc, int& len_in_out) const
+{
+ int l = QMIN((int)uc.length(),len_in_out);
+ int rlen = l*3+1;
+ QCString rstr(rlen);
+ uchar* cursor = (uchar*)rstr.data();
+ for (int i=0; i<l; i++) {
+ QChar ch = uc[i];
+ if ( !ch.row() && ch.cell() < 0x80 ) {
+ *cursor++ = ch.cell();
+ } else {
+ uchar b = (ch.row() << 2) | (ch.cell() >> 6);
+ if ( ch.row() < 0x08 ) {
+ *cursor++ = 0xc0 | b;
+ } else {
+ *cursor++ = 0xe0 | (ch.row() >> 4);
+ *cursor++ = 0x80 | (b&0x3f);
+ }
+ *cursor++ = 0x80 | (ch.cell()&0x3f);
+ }
+ }
+ len_in_out = cursor - (uchar*)rstr.data();
+ rstr.truncate(len_in_out);
+ return rstr;
+}
+
+const char* QUtf8Codec::name() const
+{
+ return "UTF-8";
+}
+
+int QUtf8Codec::heuristicContentMatch(const char* chars, int len) const
+{
+ int score = 0;
+ for (int i=0; i<len; i++) {
+ uchar ch = chars[i];
+ // No nulls allowed.
+ if ( !ch )
+ return -1;
+ if ( ch < 128 ) {
+ // Inconclusive
+ score++;
+ } else if ( (ch&0xe0) == 0xc0 ) {
+ if ( i < len-1 ) {
+ uchar c2 = chars[++i];
+ if ( (c2&0xc0) != 0x80 )
+ return -1;
+ score+=3;
+ }
+ } else if ( (ch&0xf0) == 0xe0 ) {
+ if ( i < len-1 ) {
+ uchar c2 = chars[++i];
+ if ( (c2&0xc0) != 0x80 ) {
+ return -1;
+#if 0
+ if ( i < len-1 ) {
+ uchar c3 = chars[++i];
+ if ( (c3&0xc0) != 0x80 )
+ return -1;
+ score+=3;
+ }
+#endif
+ }
+ score+=2;
+ }
+ }
+ }
+ return score;
+}
+
+
+
+
+class QUtf8Decoder : public QTextDecoder {
+ ushort uc;
+ int need;
+public:
+ QUtf8Decoder() : need(0)
+ {
+ }
+
+ QString toUnicode(const char* chars, int len)
+ {
+ QString result;
+ for (int i=0; i<len; i++) {
+ uchar ch = chars[i];
+ if (need) {
+ if ( (ch&0xc0) == 0x80 ) {
+ uc = (uc << 6) | (ch & 0x3f);
+ need--;
+ if ( !need ) {
+ result += QChar(uc);
+ }
+ } else {
+ // error
+ result += QChar::replacement;
+ need = 0;
+ }
+ } else {
+ if ( ch < 128 ) {
+ result += QChar(ch);
+ } else if ( (ch&0xe0) == 0xc0 ) {
+ uc = ch &0x1f;
+ need = 1;
+ } else if ( (ch&0xf0) == 0xe0 ) {
+ uc = ch &0x0f;
+ need = 2;
+ }
+ }
+ }
+ return result;
+ }
+};
+
+QTextDecoder* QUtf8Codec::makeDecoder() const
+{
+ return new QUtf8Decoder;
+}
+
+
+
+
+
+
+int QUtf16Codec::mibEnum() const
+{
+ return 1000;
+}
+
+const char* QUtf16Codec::name() const
+{
+ return "ISO-10646-UCS-2";
+}
+
+int QUtf16Codec::heuristicContentMatch(const char* chars, int len) const
+{
+ uchar* uchars = (uchar*)chars;
+ if ( len >= 2 && (uchars[0] == 0xff && uchars[1] == 0xfe ||
+ uchars[1] == 0xff && uchars[0] == 0xfe) )
+ return len;
+ else
+ return 0;
+}
+
+
+
+
+class QUtf16Encoder : public QTextEncoder {
+ bool headerdone;
+public:
+ QUtf16Encoder() : headerdone(FALSE)
+ {
+ }
+
+ QCString fromUnicode(const QString& uc, int& len_in_out)
+ {
+ if ( headerdone ) {
+ len_in_out = uc.length()*sizeof(QChar);
+ QCString d(len_in_out);
+ memcpy(d.data(),uc.unicode(),len_in_out);
+ return d;
+ } else {
+ headerdone = TRUE;
+ len_in_out = (1+uc.length())*sizeof(QChar);
+ QCString d(len_in_out);
+ memcpy(d.data(),&QChar::byteOrderMark,sizeof(QChar));
+ memcpy(d.data()+sizeof(QChar),uc.unicode(),uc.length()*sizeof(QChar));
+ return d;
+ }
+ }
+};
+
+class QUtf16Decoder : public QTextDecoder {
+ uchar buf;
+ bool half;
+ bool swap;
+ bool headerdone;
+
+public:
+ QUtf16Decoder() : half(FALSE), swap(FALSE), headerdone(FALSE)
+ {
+ }
+
+ QString toUnicode(const char* chars, int len)
+ {
+ QString r;
+
+ while ( len-- ) {
+ if ( half ) {
+ QChar ch;
+ if ( swap ) {
+ ch.row() = *chars++;
+ ch.cell() = buf;
+ } else {
+ ch.row() = buf;
+ ch.cell() = *chars++;
+ }
+ if ( !headerdone ) {
+ if ( ch == QChar::byteOrderSwapped ) {
+ swap = !swap;
+ } else if ( ch == QChar::byteOrderMark ) {
+ // Ignore ZWNBSP
+ } else {
+ r += ch;
+ }
+ headerdone = TRUE;
+ } else
+ r += ch;
+ half = FALSE;
+ } else {
+ buf = *chars++;
+ half = TRUE;
+ }
+ }
+
+ return r;
+ }
+};
+
+QTextDecoder* QUtf16Codec::makeDecoder() const
+{
+ return new QUtf16Decoder;
+}
+
+QTextEncoder* QUtf16Codec::makeEncoder() const
+{
+ return new QUtf16Encoder;
+}
+
+#endif // QT_NO_TEXTCODEC
diff --git a/qtools/qutfcodec.h b/qtools/qutfcodec.h
new file mode 100644
index 0000000..af864be
--- /dev/null
+++ b/qtools/qutfcodec.h
@@ -0,0 +1,71 @@
+/****************************************************************************
+**
+**
+** Definition of QEucCodec class
+**
+** Created : 981015
+**
+** Copyright (C) 1998-2000 Trolltech AS. All rights reserved.
+**
+** This file is part of the tools module of the Qt GUI Toolkit.
+**
+** This file may be distributed under the terms of the Q Public License
+** as defined by Trolltech AS of Norway and appearing in the file
+** LICENSE.QPL included in the packaging of this file.
+**
+** This file may be distributed and/or modified under the terms of the
+** GNU General Public License version 2 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file.
+**
+** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition
+** licenses may use this file in accordance with the Qt Commercial License
+** Agreement provided with the Software.
+**
+** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+**
+** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
+** information about Qt Commercial License Agreements.
+** See http://www.trolltech.com/qpl/ for QPL licensing information.
+** See http://www.trolltech.com/gpl/ for GPL licensing information.
+**
+** Contact info@trolltech.com if any conditions of this licensing are
+** not clear to you.
+**
+**********************************************************************/
+
+#ifndef QUTFCODEC_H
+#define QUTFCODEC_H
+
+#ifndef QT_H
+#include "qtextcodec.h"
+#endif // QT_H
+
+#ifndef QT_NO_TEXTCODEC
+
+class Q_EXPORT QUtf8Codec : public QTextCodec {
+public:
+ virtual int mibEnum() const;
+ const char* name() const;
+
+ QTextDecoder* makeDecoder() const;
+
+ QCString fromUnicode(const QString& uc, int& len_in_out) const;
+
+ int heuristicContentMatch(const char* chars, int len) const;
+};
+
+class Q_EXPORT QUtf16Codec : public QTextCodec {
+public:
+ virtual int mibEnum() const;
+ const char* name() const;
+
+ QTextDecoder* makeDecoder() const;
+ QTextEncoder* makeEncoder() const;
+
+ int heuristicContentMatch(const char* chars, int len) const;
+};
+
+#endif //QT_NO_TEXTCODEC
+#endif // QUTFCODEC_H
diff --git a/qtools/scstring.h b/qtools/scstring.h
index 08de44b..a9b462c 100644
--- a/qtools/scstring.h
+++ b/qtools/scstring.h
@@ -58,6 +58,7 @@ public:
int find( char c, int index=0, bool cs=TRUE ) const;
int find( const char *str, int index=0, bool cs=TRUE ) const;
int find( const QRegExp &, int index=0 ) const;
+ int find( const QCString &str, int index, bool cs ) const;
int findRev( char c, int index=-1, bool cs=TRUE) const;
int findRev( const char *str, int index=-1, bool cs=TRUE) const;
int findRev( const QRegExp &, int index=-1 ) const;
diff --git a/src/classdef.cpp b/src/classdef.cpp
index bfd2fa3..625df51 100644
--- a/src/classdef.cpp
+++ b/src/classdef.cpp
@@ -213,7 +213,7 @@ void ClassDefImpl::init(const char *defFileName, const char *name,
//extractNamespaceName(name,className,ns);
//printf("m_name=%s m_className=%s ns=%s\n",m_name.data(),m_className.data(),ns.data());
- if (((QCString)defFileName).right(5)!=".java" &&
+ if (getLanguageFromFileName(defFileName)!=SrcLangExt_Java &&
guessSection(defFileName)==Entry::SOURCE_SEC)
{
isLocal=TRUE;
@@ -1225,9 +1225,8 @@ void ClassDef::writeIncludeFiles(OutputList &ol)
{
ol.startParagraph();
ol.startTypewriter();
- bool isIDLorJava = nm.right(4)==".idl" ||
- nm.right(5)==".pidl" ||
- nm.right(5)==".java";
+ SrcLangExt lang = getLanguageFromFileName(nm);
+ bool isIDLorJava = lang==SrcLangExt_IDL || lang==SrcLangExt_Java;
if (isIDLorJava)
{
ol.docify("import ");
@@ -3059,30 +3058,28 @@ QCString ClassDef::qualifiedNameWithTemplateParameters(
static bool hideScopeNames = Config_getBool("HIDE_SCOPE_NAMES");
//printf("qualifiedNameWithTemplateParameters() localName=%s\n",localName().data());
QCString scName;
- if (!hideScopeNames)
+ Definition *d=getOuterScope();
+ if (d)
{
- Definition *d=getOuterScope();
- if (d)
+ if (d->definitionType()==Definition::TypeClass)
{
- if (d->definitionType()==Definition::TypeClass)
- {
- ClassDef *cd=(ClassDef *)d;
- scName = cd->qualifiedNameWithTemplateParameters(actualParams);
- }
- else
- {
- scName = d->qualifiedName();
- }
+ ClassDef *cd=(ClassDef *)d;
+ scName = cd->qualifiedNameWithTemplateParameters(actualParams);
+ }
+ else if (!hideScopeNames)
+ {
+ scName = d->qualifiedName();
}
+ }
- QCString scopeSeparator;
- if (optimizeOutputJava)
- scopeSeparator=".";
- else
- scopeSeparator="::";
+ QCString scopeSeparator;
+ if (optimizeOutputJava)
+ scopeSeparator=".";
+ else
+ scopeSeparator="::";
+
+ if (!scName.isEmpty()) scName+=scopeSeparator;
- if (!scName.isEmpty()) scName+=scopeSeparator;
- }
scName+=className();
ArgumentList *al=0;
bool isSpecialization = localName().find('<')!=-1;
diff --git a/src/commentcnv.l b/src/commentcnv.l
index e508221..ab56812 100644
--- a/src/commentcnv.l
+++ b/src/commentcnv.l
@@ -322,7 +322,7 @@ void replaceComment(int offset);
int i=3;
if (yytext[2]=='/')
{
- while (i<yyleng && yytext[i]=='/') i++;
+ while (i<(int)yyleng && yytext[i]=='/') i++;
}
g_blockHeadCol=g_col;
copyToOutput("/**",3);
@@ -700,6 +700,8 @@ void replaceComment(int offset);
g_lastEscaped=0;
BEGIN( ReadAliasArgs );
}
+<ReadAliasArgs>^[ \t]*"//"[/!]/[^\n]+ { // skip leading special comments (see bug 618079)
+ }
<ReadAliasArgs>[^{}\n\\\*]+ {
g_aliasString+=yytext;
g_lastEscaped=FALSE;
diff --git a/src/commentscan.h b/src/commentscan.h
index 89c5721..914a231 100644
--- a/src/commentscan.h
+++ b/src/commentscan.h
@@ -77,7 +77,7 @@ void groupLeaveFile(const char *file,int line);
void groupLeaveCompound(const char *file,int line,const char *name);
void groupEnterCompound(const char *file,int line,const char *name);
void openGroup(Entry *e,const char *file,int line);
-void closeGroup(Entry *,const char *file,int line);
+void closeGroup(Entry *,const char *file,int line,bool foundInline=FALSE);
void initGroupInfo(Entry *e);
diff --git a/src/commentscan.l b/src/commentscan.l
index 902a4f4..b805fff 100644
--- a/src/commentscan.l
+++ b/src/commentscan.l
@@ -346,7 +346,7 @@ class GuardedSection
};
void openGroup(Entry *e,const char *file,int line);
-void closeGroup(Entry *e,const char *file,int line);
+void closeGroup(Entry *e,const char *file,int line,bool foundInline=FALSE);
void initGroupInfo(Entry *e);
static void groupAddDocs(Entry *e,const char *fileName);
@@ -844,6 +844,7 @@ RCSTAG "$"{ID}":"[^\n$]+"$"
%x FormatBlock
%x LineParam
%x GuardParam
+%x GuardParamEnd
%x SkipGuardedSection
%x SkipInternal
%x NameParam
@@ -929,8 +930,9 @@ RCSTAG "$"{ID}":"[^\n$]+"$"
<Comment>"<!--" {
BEGIN(HtmlComment);
}
-<Comment>{CMD}[a-z_A-Z]+{B}* { // potentially interesting command
- QCString cmdName = QCString(&yytext[1]).stripWhiteSpace();
+<Comment>{B}*{CMD}[a-z_A-Z]+{B}* { // potentially interesting command
+ // the {B}* in the front was added for bug620924
+ QCString cmdName = QCString(yytext).stripWhiteSpace().data()+1;
DocCmdMapper::Cmd *cmdPtr = DocCmdMapper::map(cmdName);
if (cmdPtr) // special action is required
{
@@ -970,20 +972,20 @@ RCSTAG "$"{ID}":"[^\n$]+"$"
addOutput(yytext);
}
}
-<Comment>("\\\\"|"@@")"f"[$\[{] { // escaped formula command
+<Comment>{B}*("\\\\"|"@@")"f"[$\[{] { // escaped formula command
addOutput(yytext);
}
-<Comment>{CMD}"~"[a-z_A-Z]* { // language switch command
- QCString langId = &yytext[2];
+<Comment>{B}*{CMD}"~"[a-z_A-Z]* { // language switch command
+ QCString langId = QString(yytext).stripWhiteSpace().data()+2;
if (!langId.isEmpty() &&
stricmp(Config_getEnum("OUTPUT_LANGUAGE"),langId)!=0)
{ // enable language specific section
BEGIN(SkipLang);
}
}
-<Comment>{CMD}"f{"[^}\n]+"}"("{"?) { // start of a formula with custom environment
+<Comment>{B}*{CMD}"f{"[^}\n]+"}"("{"?) { // start of a formula with custom environment
formulaText="\\begin";
- formulaEnv=&yytext[2];
+ formulaEnv=QString(yytext).stripWhiteSpace().data()+2;
if (formulaEnv.at(formulaEnv.length()-1)=='{')
{
// remove trailing open brace
@@ -993,26 +995,34 @@ RCSTAG "$"{ID}":"[^\n$]+"$"
formulaNewLines=0;
BEGIN(ReadFormulaLong);
}
-<Comment>{CMD}"f$" { // start of a inline formula
+<Comment>{B}*{CMD}"f$" { // start of a inline formula
formulaText="$";
formulaNewLines=0;
BEGIN(ReadFormulaShort);
}
-<Comment>{CMD}"f[" { // start of a block formula
+<Comment>{B}*{CMD}"f[" { // start of a block formula
formulaText="\\[";
formulaNewLines=0;
BEGIN(ReadFormulaLong);
}
-<Comment>{CMD}"{" { // begin of a group
+<Comment>{B}*{CMD}"{" { // begin of a group
//langParser->handleGroupStartCommand(g_memberGroupHeader);
openGroup(current,yyFileName,yyLineNr);
}
-<Comment>{CMD}"}" { // end of a group
+<Comment>{B}*{CMD}"}" { // end of a group
//langParser->handleGroupEndCommand();
- closeGroup(current,yyFileName,yyLineNr);
+ closeGroup(current,yyFileName,yyLineNr,TRUE);
g_memberGroupHeader.resize(0);
+ parseMore=TRUE;
+ needNewEntry = TRUE;
+#if YY_FLEX_MINOR_VERSION>=5 && YY_FLEX_SUBMINOR_VERSION>=33
+ inputPosition=prevPosition + yy_bp - YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + strlen(yytext);
+#else
+ inputPosition=prevPosition + yy_bp - yy_current_buffer->yy_ch_buf + strlen(yytext);
+#endif
+ yyterminate();
}
-<Comment>{CMD}[$@\\&~<>#%] { // escaped character
+<Comment>{B}*{CMD}[$@\\&~<>#%] { // escaped character
addOutput(yytext);
}
<Comment>[a-z_A-Z]+ { // normal word
@@ -1605,7 +1615,7 @@ RCSTAG "$"{ID}":"[^\n$]+"$"
{
guards.push(new GuardedSection(TRUE,TRUE));
enabledSectionFound=TRUE;
- BEGIN( Comment );
+ BEGIN( GuardParamEnd );
}
else // section is invisible
{
@@ -1624,7 +1634,8 @@ RCSTAG "$"{ID}":"[^\n$]+"$"
}
<GuardParam>{DOCNL} { // end of argument
if (*yytext=='\n') yyLineNr++;
- addOutput('\n');
+ //next line is commented out due to bug620924
+ //addOutput('\n');
BEGIN( Comment );
}
<GuardParam>{LC} { // line continuation
@@ -1634,6 +1645,16 @@ RCSTAG "$"{ID}":"[^\n$]+"$"
<GuardParam>. { // ignore other stuff
addOutput(*yytext);
}
+<GuardParamEnd>{B}*{DOCNL} {
+ BEGIN(Comment);
+ }
+<GuardParamEnd>{B}* {
+ BEGIN(Comment);
+ }
+<GuardParamEnd>. {
+ unput(*yytext);
+ BEGIN(Comment);
+ }
/* ----- handle skipping of conditional sections ------- */
@@ -1654,7 +1675,7 @@ RCSTAG "$"{ID}":"[^\n$]+"$"
else
{
delete guards.pop();
- BEGIN( Comment );
+ BEGIN( GuardParamEnd );
}
}
<SkipGuardedSection>{CMD}"else"/{NW} {
@@ -1670,7 +1691,7 @@ RCSTAG "$"{ID}":"[^\n$]+"$"
delete guards.pop();
guards.push(new GuardedSection(TRUE,TRUE));
enabledSectionFound=TRUE;
- BEGIN( Comment );
+ BEGIN( GuardParamEnd );
}
}
}
@@ -1691,7 +1712,7 @@ RCSTAG "$"{ID}":"[^\n$]+"$"
}
<SkipGuardedSection>{DOCNL} { // skip line
if (*yytext=='\n') yyLineNr++;
- addOutput('\n');
+ //addOutput('\n');
}
<SkipGuardedSection>[^ \\@\n]+ { // skip non-special characters
}
@@ -2114,7 +2135,7 @@ static bool handleName(const QCString &)
BEGIN( NameParam );
if (g_memberGroupId!=DOX_NOGROUP) // end of previous member group
{
- closeGroup(current,yyFileName,yyLineNr);
+ closeGroup(current,yyFileName,yyLineNr,TRUE);
}
}
return stop;
@@ -2293,6 +2314,7 @@ static bool handleEndIf(const QCString &)
delete guards.pop();
}
enabledSectionFound=FALSE;
+ BEGIN( GuardParamEnd );
return FALSE;
}
@@ -2646,7 +2668,7 @@ void openGroup(Entry *e,const char *,int)
}
}
-void closeGroup(Entry *e,const char *fileName,int)
+void closeGroup(Entry *e,const char *fileName,int,bool foundInline)
{
//printf("==> closeGroup(name=%s,sec=%x) g_autoGroupStack=%d\n",
// e->name.data(),e->section,g_autoGroupStack.count());
@@ -2667,17 +2689,18 @@ void closeGroup(Entry *e,const char *fileName,int)
else if (!g_autoGroupStack.isEmpty()) // end of auto group
{
Grouping *grp = g_autoGroupStack.pop();
- e->groups->removeLast();
- //printf("Removing %s\n",grp->groupname.data());
+ // see bug577005: we should not remove the last group for e
+ if (!foundInline) e->groups->removeLast();
+ //printf("Removing %s e=%p\n",grp->groupname.data(),e);
delete grp;
- initGroupInfo(e);
+ if (!foundInline) initGroupInfo(e);
}
}
void initGroupInfo(Entry *e)
{
- //printf("==> initGroup(id=%d,related=%s)\n",g_memberGroupId,
- // g_memberGroupRelates.data());
+ //printf("==> initGroup(id=%d,related=%s,e=%p)\n",g_memberGroupId,
+ // g_memberGroupRelates.data(),e);
e->mGrpId = g_memberGroupId;
e->relates = g_memberGroupRelates;
if (!g_autoGroupStack.isEmpty())
diff --git a/src/config.l b/src/config.l
index da34aeb..5f1ba37 100644
--- a/src/config.l
+++ b/src/config.l
@@ -496,7 +496,7 @@ static FILE *tryPath(const char *path,const char *fileName)
QFileInfo fi(absName);
if (fi.exists() && fi.isFile())
{
- FILE *f=fopen(absName,"r");
+ FILE *f=portable_fopen(absName,"r");
if (!f) config_err("Error: could not open file %s for reading\n",absName.data());
return f;
}
diff --git a/src/config.xml b/src/config.xml
index f78a620..b58e33b 100644
--- a/src/config.xml
+++ b/src/config.xml
@@ -226,8 +226,8 @@ Doxygen selects the parser to use depending on the extension of the files it
parses. With this tag you can assign which parser to use for a given extension.
Doxygen has a built-in mapping, but you can override or extend it using this
tag. The format is ext=language, where ext is a file extension, and language
-is one of the parsers supported by doxygen: IDL, Java, Javascript, C#, C, C++,
-D, PHP, Objective-C, Python, Fortran, VHDL, C, C++. For instance to make
+is one of the parsers supported by doxygen: IDL, Java, Javascript, CSharp, C,
+C++, D, PHP, Objective-C, Python, Fortran, VHDL, C, C++. For instance to make
doxygen treat .inc files as Fortran files (default is PHP), and .f files as C
(default is Fortran), use: inc=Fortran f=C. Note that for custom extensions
you also need to set FILE_PATTERNS otherwise the files are not read by doxygen.
diff --git a/src/configoptions.cpp b/src/configoptions.cpp
index 08be034..abbc7c8 100644
--- a/src/configoptions.cpp
+++ b/src/configoptions.cpp
@@ -316,8 +316,8 @@ void addConfigOptions(Config *cfg)
"parses. With this tag you can assign which parser to use for a given extension.\n"
"Doxygen has a built-in mapping, but you can override or extend it using this\n"
"tag. The format is ext=language, where ext is a file extension, and language\n"
- "is one of the parsers supported by doxygen: IDL, Java, Javascript, C#, C, C++,\n"
- "D, PHP, Objective-C, Python, Fortran, VHDL, C, C++. For instance to make\n"
+ "is one of the parsers supported by doxygen: IDL, Java, Javascript, CSharp, C,\n"
+ "C++, D, PHP, Objective-C, Python, Fortran, VHDL, C, C++. For instance to make\n"
"doxygen treat .inc files as Fortran files (default is PHP), and .f files as C\n"
"(default is Fortran), use: inc=Fortran f=C. Note that for custom extensions\n"
"you also need to set FILE_PATTERNS otherwise the files are not read by doxygen."
diff --git a/src/definition.cpp b/src/definition.cpp
index 7db9417..4abf509 100644
--- a/src/definition.cpp
+++ b/src/definition.cpp
@@ -532,7 +532,7 @@ static bool readCodeFragment(const char *fileName,
bool usePipe = !filter.isEmpty() && filterSourceFiles;
if (!usePipe) // no filter given or wanted
{
- f = fopen(fileName,"r");
+ f = portable_fopen(fileName,"r");
}
else // use filter
{
diff --git a/src/docparser.cpp b/src/docparser.cpp
index 8a8d0ad..e552365 100644
--- a/src/docparser.cpp
+++ b/src/docparser.cpp
@@ -1087,7 +1087,7 @@ static void handleLinkedWord(DocNode *parent,QList<DocNode> &children)
}
else // normal non-linkable word
{
- if (g_token->name.at(0)=='#')
+ if (g_token->name.at(0)=='#' || g_token->name.left(2)=="::")
{
warn_doc_error(g_fileName,doctokenizerYYlineno,"Warning: explicit link request to '%s' could not be resolved",name.data());
}
@@ -4983,7 +4983,7 @@ int DocPara::handleHtmlStartTag(const QCString &tagName,const HtmlAttribList &ta
handleStyleEnter(this,m_children,DocStyleChange::Bold,&g_token->attribs);
break;
case HTML_CODE:
- if (g_fileName.right(3)==".cs")
+ if (getLanguageFromFileName(g_fileName)==SrcLangExt_CSharp)
// for C# code we treat <code> as an XML tag
{
doctokenizerYYsetStateXmlCode();
diff --git a/src/dot.cpp b/src/dot.cpp
index 565aa68..4847d08 100644
--- a/src/dot.cpp
+++ b/src/dot.cpp
@@ -795,9 +795,12 @@ int DotManager::addFigure(const QCString &file,const QCString &baseName,
bool DotManager::run()
{
- msg("Generating dot graphs using %d parallel threads...\n",m_workers.count());
uint numDotRuns = m_dotRuns.count();
uint numDotMaps = m_dotMaps.count();
+ if (numDotRuns+numDotMaps>0)
+ {
+ msg("Generating dot graphs using %d parallel threads...\n",m_workers.count());
+ }
int i=1;
QListIterator<DotRunner> li(m_dotRuns);
diff --git a/src/doxygen.cpp b/src/doxygen.cpp
index 6a288ad..6b3720e 100644
--- a/src/doxygen.cpp
+++ b/src/doxygen.cpp
@@ -10537,7 +10537,10 @@ void generateOutput()
}
}
- DotManager::instance()->run();
+ if (Config_getBool("HAVE_DOT"))
+ {
+ DotManager::instance()->run();
+ }
if (Debug::isFlagSet(Debug::Time))
{
diff --git a/src/filedef.cpp b/src/filedef.cpp
index 7593834..d963688 100644
--- a/src/filedef.cpp
+++ b/src/filedef.cpp
@@ -92,8 +92,9 @@ FileDef::FileDef(const char *p,const char *nm,
{
docname.prepend(stripFromPath(path.copy()));
}
- m_isJava = name().right(5)==".java";
- m_isCSharp = name().right(5)==".cs";
+ SrcLangExt lang = getLanguageFromFileName(name());
+ m_isJava = lang==SrcLangExt_Java;
+ m_isCSharp = lang==SrcLangExt_CSharp;
memberGroupSDict = 0;
acquireFileVersion();
m_subGrouping=Config_getBool("SUBGROUPING");
@@ -263,10 +264,8 @@ void FileDef::writeIncludeFiles(OutputList &ol)
bool isIDLorJava = FALSE;
if (fd)
{
- isIDLorJava = fd->name().right(4)==".idl" || // M$ or Corba IDL
- fd->name().right(5)==".pidl" ||
- fd->name().right(5)==".java" || // Sun's Java
- fd->name().right(4)==".jsl"; // M$ J#
+ SrcLangExt lang = getLanguageFromFileName(fd->name());
+ isIDLorJava = lang==SrcLangExt_IDL || lang==SrcLangExt_Java;
}
ol.startTypewriter();
if (isIDLorJava) // IDL/Java include
diff --git a/src/htmldocvisitor.cpp b/src/htmldocvisitor.cpp
index 790a59e..ae89918 100644
--- a/src/htmldocvisitor.cpp
+++ b/src/htmldocvisitor.cpp
@@ -1506,7 +1506,6 @@ void HtmlDocVisitor::startLink(const QCString &ref,const QCString &file,
const QCString &relPath,const QCString &anchor,
const QCString &tooltip)
{
- QCString *dest;
if (!ref.isEmpty()) // link to entity imported via tag file
{
m_t << "<a class=\"elRef\" ";
diff --git a/src/index.cpp b/src/index.cpp
index 8899d43..0add07b 100644
--- a/src/index.cpp
+++ b/src/index.cpp
@@ -1237,7 +1237,7 @@ void writeAlphabeticalClassList(OutputList &ol)
{
int index = getPrefixIndex(cd->className());
//printf("name=%s index=%d\n",cd->className().data(),index);
- startLetter=toupper(cd->className().at(index));
+ startLetter=toupper(cd->className().at(index))&0xFF;
indexLetterUsed[startLetter] = true;
}
}
@@ -2649,10 +2649,11 @@ void writeJavascriptSearchIndex()
{
t << "#" << ((MemberDef *)d)->anchor();
}
+ t << "\"";
static bool extLinksInWindow = Config_getBool("EXT_LINKS_IN_WINDOW");
if (!extLinksInWindow || d->getReference().isEmpty())
{
- t << "\" target=\"";
+ t << " target=\"";
if (treeView) t << "basefrm"; else t << "_parent";
t << "\"";
}
@@ -2729,10 +2730,11 @@ void writeJavascriptSearchIndex()
{
t << "#" << ((MemberDef *)d)->anchor();
}
+ t << "\"";
static bool extLinksInWindow = Config_getBool("EXT_LINKS_IN_WINDOW");
if (!extLinksInWindow || d->getReference().isEmpty())
{
- t << "\" target=\"";
+ t << " target=\"";
if (treeView) t << "basefrm"; else t << "_parent";
t << "\"";
}
diff --git a/src/language.cpp b/src/language.cpp
index b0ab2d5..db116e3 100644
--- a/src/language.cpp
+++ b/src/language.cpp
@@ -319,7 +319,7 @@ bool setTranslator(const char *langName)
#ifdef LANG_SK
else if (L_EQUAL("slovak"))
{
- theTranslator=new TranslatorDecoder(new TranslatorSlovak);
+ theTranslator=new TranslatorSlovak;
}
#endif
#ifdef LANG_UA
@@ -373,7 +373,7 @@ bool setTranslator(const char *langName)
#ifdef LANG_FA
else if (L_EQUAL("persian") || L_EQUAL("farsi"))
{
- theTranslator=new TranslatorDecoder(new TranslatorPersian);
+ theTranslator=new TranslatorPersian;
}
#endif
#ifdef LANG_MK
diff --git a/src/latexdocvisitor.cpp b/src/latexdocvisitor.cpp
index 8e9c1bf..4c39d45 100644
--- a/src/latexdocvisitor.cpp
+++ b/src/latexdocvisitor.cpp
@@ -1137,20 +1137,20 @@ void LatexDocVisitor::visitPre(DocParamList *pl)
m_t << "\\item[";
if (pl->direction()!=DocParamSect::Unspecified)
{
- m_t << "\\mbox{";
+ m_t << "\\mbox{\\tt[";
if (pl->direction()==DocParamSect::In)
{
- m_t << "$\\leftarrow$";
+ m_t << "in";
}
else if (pl->direction()==DocParamSect::Out)
{
- m_t << "$\\rightarrow$";
+ m_t << "out";
}
else if (pl->direction()==DocParamSect::InOut)
{
- m_t << "$\\leftrightarrow$";
+ m_t << "in,out";
}
- m_t << "} ";
+ m_t << "]} ";
}
m_t << "{\\em ";
//QStrListIterator li(pl->parameters());
diff --git a/src/lodepng.cpp b/src/lodepng.cpp
index 494e357..8da4293 100644
--- a/src/lodepng.cpp
+++ b/src/lodepng.cpp
@@ -29,6 +29,7 @@ You are free to name this file lodepng.cpp or lodepng.c depending on your usage.
*/
#include "lodepng.h"
+#include "portable.h"
#define VERSION_STRING "20080927"
@@ -4061,7 +4062,7 @@ unsigned LodePNG_loadFile(unsigned char** out, size_t* outsize, const char* file
*out = 0;
*outsize = 0;
- file = fopen(filename, "rb");
+ file = portable_fopen(filename, "rb");
if(!file) return 78;
/*get filesize:*/
@@ -4083,7 +4084,7 @@ unsigned LodePNG_loadFile(unsigned char** out, size_t* outsize, const char* file
unsigned LodePNG_saveFile(const unsigned char* buffer, size_t buffersize, const char* filename)
{
FILE* file;
- file = fopen(filename, "wb" );
+ file = portable_fopen(filename, "wb" );
if(!file) return 79;
fwrite((char*)buffer , 1 , buffersize, file);
fclose(file);
diff --git a/src/message.cpp b/src/message.cpp
index 8669650..cc9925a 100644
--- a/src/message.cpp
+++ b/src/message.cpp
@@ -22,6 +22,7 @@
#include "util.h"
#include "debug.h"
#include "doxygen.h"
+#include "portable.h"
static QCString outputFormat;
//static int warnFormatOrder; // 1 = $file,$line,$text
@@ -88,7 +89,7 @@ void initWarningFormat()
if (!Config_getString("WARN_LOGFILE").isEmpty())
{
- warnFile = fopen(Config_getString("WARN_LOGFILE"),"w");
+ warnFile = portable_fopen(Config_getString("WARN_LOGFILE"),"w");
}
if (!warnFile) // point it to something valid, because warn() relies on it
{
diff --git a/src/pagedef.h b/src/pagedef.h
index e1afe99..40649ef 100644
--- a/src/pagedef.h
+++ b/src/pagedef.h
@@ -29,7 +29,7 @@ class PageDef : public Definition
DefType definitionType() const { return TypePage; }
bool isLinkableInProject() const
{
- return hasDocumentation() && !isReference();
+ return /*hasDocumentation() &&*/ !isReference();
}
bool isLinkable() const
{
diff --git a/src/portable.cpp b/src/portable.cpp
index eee8239..ff9b803 100644
--- a/src/portable.cpp
+++ b/src/portable.cpp
@@ -310,6 +310,17 @@ portable_off_t portable_ftell(FILE *f)
#endif
}
+FILE *portable_fopen(const char *fileName,const char *mode)
+{
+#if defined(_WIN32) && !defined(__CYGWIN__)
+ QString fn(fileName);
+ QString m(mode);
+ return _wfopen((wchar_t*)fn.ucs2(),(wchar_t*)m.ucs2());
+#else
+ return fopen(fileName,mode);
+#endif
+}
+
char portable_pathSeparator()
{
#if defined(_WIN32) && !defined(__CYGWIN__)
diff --git a/src/portable.h b/src/portable.h
index cbd8df0..f698e32 100644
--- a/src/portable.h
+++ b/src/portable.h
@@ -3,6 +3,7 @@
#include <sys/types.h>
#include <stdio.h>
+#include <qglobal.h>
#if defined(_WIN32)
typedef __int64 portable_off_t;
@@ -21,6 +22,7 @@ void portable_setenv(const char *variable,const char *value);
void portable_unsetenv(const char *variable);
portable_off_t portable_fseek(FILE *f,portable_off_t offset, int whence);
portable_off_t portable_ftell(FILE *f);
+FILE * portable_fopen(const char *fileName,const char *mode);
char portable_pathSeparator();
char portable_pathListSeparator();
const char * portable_ghostScriptCommand();
diff --git a/src/pre.l b/src/pre.l
index 784c8b2..a5ceb83 100644
--- a/src/pre.l
+++ b/src/pre.l
@@ -131,7 +131,7 @@ static void setFileName(const char *name)
//printf("setFileName(%s) g_yyFileName=%s g_yyFileDef=%p\n",
// name,g_yyFileName.data(),g_yyFileDef);
if (g_yyFileDef && g_yyFileDef->isReference()) g_yyFileDef=0;
- g_insideCS = g_yyFileName.right(3)==".cs";
+ g_insideCS = getLanguageFromFileName(g_yyFileName)==SrcLangExt_CSharp;
}
static void incrLevel()
@@ -1365,6 +1365,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
%x Command
%x SkipCommand
%x SkipLine
+%x SkipString
%x CopyLine
%x CopyString
%x Include
@@ -1822,13 +1823,17 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
BEGIN(SkipLine);
}
<SkipCommand>.
-<SkipLine>[^/\n]+
+<SkipLine>[^'"/\n]+
+<SkipLine>{CHARLIT} { }
+<SkipLine>\" {
+ BEGIN(SkipString);
+ }
<SkipLine>.
-<SkipLine,SkipCommand,SkipCPPBlock>"//"[^\n]* {
+<SkipLine,SkipCommand,SkipCPPBlock,SkipString>"//"[^\n]* {
g_lastCPPContext=YY_START;
BEGIN(RemoveCPPComment);
}
-<SkipLine,SkipCommand,SkipCPPBlock>"/*"/[^\n]* {
+<SkipLine,SkipCommand,SkipCPPBlock,SkipString>"/*"/[^\n]* {
g_lastCContext=YY_START;
BEGIN(RemoveCComment);
}
@@ -1837,6 +1842,12 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
g_yyLineNr++;
BEGIN(SkipCPPBlock);
}
+<SkipString>[^"\\\n]+ { }
+<SkipString>\\. { }
+<SkipString>\" {
+ BEGIN(SkipLine);
+ }
+<SkipString>. { }
<IncludeID>{ID}{B}*/"(" {
g_nospaces=TRUE;
g_roundCount=0;
@@ -2104,6 +2115,16 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
g_defLitText+=yytext;
g_defText+=' ';
}
+<RemoveCComment>"*/"{B}*"#" { // see bug 594021 for a usecase for this rule
+ if (g_lastCContext==SkipCPPBlock)
+ {
+ BEGIN(SkipCommand);
+ }
+ else
+ {
+ REJECT;
+ }
+ }
<RemoveCComment>"*/" { BEGIN(g_lastCContext); }
<RemoveCComment>"//"
<RemoveCComment>"/*"
diff --git a/src/store.cpp b/src/store.cpp
index 669fb9c..55f3026 100644
--- a/src/store.cpp
+++ b/src/store.cpp
@@ -68,7 +68,7 @@ int Store::open(const char *name)
int i;
STORE_ASSERT(m_state==Init);
if (m_file) return 0; // already open
- m_file = fopen(name,"w+b");
+ m_file = portable_fopen(name,"w+b");
if (m_file==0) return -1;
// first block serves as header, so offset=0 can be used as the end of the list.
diff --git a/src/translator_adapter.h b/src/translator_adapter.h
index 74819bd..3c99783 100644
--- a/src/translator_adapter.h
+++ b/src/translator_adapter.h
@@ -230,47 +230,5 @@ class TranslatorAdapter_1_3_3 : public TranslatorAdapter_1_3_8
};
-class TranslatorAdapter_1_3_1 : public TranslatorAdapter_1_3_3
-{
- public:
- virtual QCString updateNeededMessage()
- { return createUpdateNeededMessage(idLanguage(),"release 1.3.1"); }
- virtual QCString trAll()
- { return english.trAll(); }
- virtual QCString trCallGraph()
- { return english.trCallGraph(); }
-};
-
-class TranslatorAdapter_1_3 : public TranslatorAdapter_1_3_1
-{
- public:
- virtual QCString updateNeededMessage()
- { return createUpdateNeededMessage(idLanguage(),"release 1.3"); }
-
- virtual QCString trPackageTypes()
- { return english.trPackageTypes(); }
- virtual QCString trPackageMembers()
- { return english.trPackageMembers(); }
- virtual QCString trStaticPackageMembers()
- { return english.trStaticPackageMembers(); }
- virtual QCString trPackageAttribs()
- { return english.trPackageAttribs(); }
- virtual QCString trStaticPackageAttribs()
- { return english.trStaticPackageAttribs(); }
-};
-
-class TranslatorAdapter_1_2_18 : public TranslatorAdapter_1_3
-{
- public:
- virtual QCString updateNeededMessage()
- { return createUpdateNeededMessage(idLanguage(),"release 1.2.18"); }
-
- virtual QCString trEvents()
- { return english.trEvents(); }
- virtual QCString trEventDocumentation()
- { return english.trEventDocumentation(); }
-};
-
-
#endif
diff --git a/src/translator_fa.h b/src/translator_fa.h
index fc90abe..5cdb725 100644
--- a/src/translator_fa.h
+++ b/src/translator_fa.h
@@ -14,14 +14,21 @@
* input used in their production; they are not affected by this license.
*
*
- * Description : Doxygen Persian Translator
- * Author : Ali Nadalizadeh < nadalizadeh @ gmail dot com >
+ * Description : Doxygen Persian (Farsi) Translator
+ * Author : Ali Nadalizadeh < nadalizadeh at gmail dot com >
+ *
* ChangeLog :
* Thu 06 Jul 2006 11:54:09 PM IRDT <nadalizadeh at gmail dot com>
* >> First version of persian language support has been completed.
- * Mon Feb 4 11:52:09 IRST 2008 <nadalizadeh at gmail dot com>
+ *
+ * Mon 04 Feb 2008 11:52:09 AM IRDT <nadalizadeh at gmail dot com>
* >> Obsolete methods removed. Translated more string(s) to persian. Upgraded to 1_5_4 adapter.
+ *
+ * Fri 04 Jun 2010 04:05:24 PM IRDT <nadalizadeh at gmail dot com>
+ * >> Implement missing new methods since 1.6.0.
+ * >> Add English to Persian digit convertor. (for date/time digits)
*
+ * Translation feedbacks are really appreciated.
*/
#ifndef TRANSLATOR_FA_H
@@ -32,8 +39,26 @@
#define HtmlDivEnd QCString("</div>")
-class TranslatorPersian : public TranslatorAdapter_1_6_0
+class TranslatorPersian : public Translator
{
+ private:
+ /** Converts english digits of an input string to persian equivalents.
+ */
+ QCString convertDigitsToFarsi(QCString str)
+ {
+ QCString output;
+ const char * PersianDigits[] = { "۰", "۱", "۲", "۳", "۴", "۵", "۶", "۷", "۸", "۹" };
+ for(unsigned i=0; i<str.length(); i++)
+ {
+ if (str[i] >= '0' && str[i] <= '9')
+ output += PersianDigits[ str[i] - '0' ];
+ else
+ output += str[i];
+ }
+
+ return output;
+ }
+
public:
// --- Language control methods -------------------
@@ -88,11 +113,11 @@ class TranslatorPersian : public TranslatorAdapter_1_6_0
/*! header that is put before the list of typedefs. */
virtual QCString trMemberTypedefDocumentation()
- { return "های عضو Typedef مستندات"; }
+ { return "مستندات تعریف گونه ها"; }
/*! header that is put before the list of enumerations. */
virtual QCString trMemberEnumerationDocumentation()
- { return "Member Enumeration Documentation"; }
+ { return "های عضو Enumeration مستندات"; }
/*! header that is put before the list of member functions. */
virtual QCString trMemberFunctionDocumentation()
@@ -204,7 +229,7 @@ class TranslatorPersian : public TranslatorAdapter_1_6_0
}
else
{
- return "اعضاء فايل";
+ return "اعضاء پرونده";
}
}
@@ -310,7 +335,7 @@ class TranslatorPersian : public TranslatorAdapter_1_6_0
/*! This is used in HTML as the title of index.html. */
virtual QCString trDocumentation()
- { return "مستند سازی"; }
+ { return "مستندات"; }
/*! This is used in LaTeX as the title of the chapter with the
* index of all groups.
@@ -404,7 +429,7 @@ class TranslatorPersian : public TranslatorAdapter_1_6_0
* list of typedefs
*/
virtual QCString trTypedefs()
- { return "Typedefs"; }
+ { return "تعریف گونه ها"; }
/*! This is used in the documentation of a file as a header before the
* list of enumerations
@@ -446,7 +471,7 @@ class TranslatorPersian : public TranslatorAdapter_1_6_0
* of documentation blocks for typedefs
*/
virtual QCString trTypedefDocumentation()
- { return "Typedef Documentation"; }
+ { return "Typedef"; }
/*! This is used in the documentation of a file/namespace before the list
* of documentation blocks for enumeration types
@@ -819,12 +844,12 @@ class TranslatorPersian : public TranslatorAdapter_1_6_0
/*! this text is put before an include dependency graph */
virtual QCString trInclDepGraph(const char *fName)
{
- return (QCString)"Include dependency graph for "+fName+":";
+ return (QCString)"نمودار شامل شدن ها برای "+fName+":";
}
/*! header that is put before the list of constructor/destructors. */
virtual QCString trConstructorDocumentation()
{
- return "Constructor و Destructor مستندات";
+ return "مستندات توباع آغازین و پایانی";
}
/*! Used in the file documentation to point to the corresponding sources. */
virtual QCString trGotoSourceCode()
@@ -867,11 +892,11 @@ class TranslatorPersian : public TranslatorAdapter_1_6_0
}
virtual QCString trGotoGraphicalHierarchy()
{
- return "Go to the graphical class hierarchy";
+ return "نمایش نمودار درختی گرافیکی کلاس";
}
virtual QCString trGotoTextualHierarchy()
{
- return "Go to the textual class hierarchy";
+ return "نمایش نمودار درختی متنی کلاس";
}
virtual QCString trPageIndex()
{
@@ -955,7 +980,7 @@ class TranslatorPersian : public TranslatorAdapter_1_6_0
}
virtual QCString trRemarks()
{
- return "Remarks";
+ return "ملاحظات";
}
virtual QCString trAttention()
{
@@ -1057,7 +1082,7 @@ class TranslatorPersian : public TranslatorAdapter_1_6_0
/*! Used as a marker that is put before a test item */
virtual QCString trTest()
{
- return "Test";
+ return "تست";
}
/*! Used as the header of the test list */
virtual QCString trTestList()
@@ -1119,7 +1144,7 @@ class TranslatorPersian : public TranslatorAdapter_1_6_0
/*! The description of the package index page */
virtual QCString trPackageListDescription()
{
- return "Here are the packages with brief descriptions (if available):";
+ return "لیست بسته ها به همراه توضیح مختر در صورت وجود :";
}
/*! The link name in the Quick links header for each page */
virtual QCString trPackages()
@@ -1129,7 +1154,7 @@ class TranslatorPersian : public TranslatorAdapter_1_6_0
/*! Text shown before a multi-line define */
virtual QCString trDefineValue()
{
- return "Value:";
+ return "مقدار:";
}
//////////////////////////////////////////////////////////////////////////
@@ -1350,12 +1375,12 @@ class TranslatorPersian : public TranslatorAdapter_1_6_0
*/
virtual QCString trEvents()
{
- return "Events";
+ return "رویداد ها";
}
/*! Header used for the documentation section of a class' events. */
virtual QCString trEventDocumentation()
{
- return "Event Documentation";
+ return "مستندات رویداد";
}
//////////////////////////////////////////////////////////////////////////
@@ -1449,7 +1474,7 @@ class TranslatorPersian : public TranslatorAdapter_1_6_0
}
else if (numDocuments==1)
{
- return "Found <b>1</b> document matching your query.";
+ return "یک سند برای این مورد یافت شد.";
}
else
{
@@ -1714,6 +1739,96 @@ class TranslatorPersian : public TranslatorAdapter_1_6_0
{
return "Type Constraints";
}
+
+//////////////////////////////////////////////////////////////////////////
+// new since 1.6.0 (mainly for the new search engine)
+//////////////////////////////////////////////////////////////////////////
+
+ /*! directory relation for \a name */
+ virtual QCString trDirRelation(const char *name)
+ {
+ return QCString(name) + " Relation";
+ }
+
+ /*! Loading message shown when loading search results */
+ virtual QCString trLoading()
+ {
+ return "در حال بارگذاری...";
+ }
+
+ /*! Label used for search results in the global namespace */
+ virtual QCString trGlobalNamespace()
+ {
+ return "فضای نام جهانی";
+ }
+
+ /*! Message shown while searching */
+ virtual QCString trSearching()
+ {
+ return "در حال جستجو...";
+ }
+
+ /*! Text shown when no search results are found */
+ virtual QCString trNoMatches()
+ {
+ return "یافت نشد";
+ }
+
+//////////////////////////////////////////////////////////////////////////
+// new since 1.6.3 (missing items for the directory pages)
+//////////////////////////////////////////////////////////////////////////
+
+ /*! introduction text for the directory dependency graph */
+ virtual QCString trDirDependency(const char *name)
+ {
+ return (QCString)"نمودار وابستگی دایرکتوری ها برای "+name;
+ }
+
+ /*! when clicking a directory dependency label, a page with a
+ * table is shown. The heading for the first column mentions the
+ * source file that has a relation to another file.
+ */
+ virtual QCString trFileIn(const char *name)
+ {
+ return (QCString)"پرونده ای در "+name;
+ }
+
+ /*! when clicking a directory dependency label, a page with a
+ * table is shown. The heading for the second column mentions the
+ * destination file that is included.
+ */
+ virtual QCString trIncludesFileIn(const char *name)
+ {
+ return (QCString)"Includes file in "+name;
+ }
+
+ /** Compiles a date string.
+ * @param year Year in 4 digits
+ * @param month Month of the year: 1=January
+ * @param day Day of the Month: 1..31
+ * @param dayOfWeek Day of the week: 1=Monday..7=Sunday
+ * @param hour Hour of the day: 0..23
+ * @param minutes Minutes in the hour: 0..59
+ * @param seconds Seconds within the minute: 0..59
+ * @param includeTime Include time in the result string?
+ */
+ virtual QCString trDateTime(int year,int month,int day,int dayOfWeek,
+ int hour,int minutes,int seconds,
+ bool includeTime)
+ {
+ static const char *days[] = { "دوشنبه","سه‌شنبه","چهارشنبه","پنجشنبه","جمعه","شنبه","یکشنبه" };
+ static const char *months[] = { "ژانویه","فوریه","مارس","آوریل","می","جون","جولای","آگوست","سپتامبر","اکتبر","نوامبر","دسامبر" };
+ QCString sdate;
+ sdate.sprintf("%s %d %s %d",days[dayOfWeek-1],day,months[month-1],year);
+ if (includeTime)
+ {
+ QCString stime;
+ stime.sprintf(" %.2d:%.2d:%.2d",hour,minutes,seconds);
+ sdate+=stime;
+ }
+ return convertDigitsToFarsi(sdate);
+ }
+
};
#endif
diff --git a/src/translator_sk.h b/src/translator_sk.h
index 4493dfe..afcc0f2 100644
--- a/src/translator_sk.h
+++ b/src/translator_sk.h
@@ -13,1386 +13,1824 @@
* Documents produced by Doxygen are derivative works derived from the
* input used in their production; they are not affected by this license.
*
- * ----------------------------------------------------------------------------
- *
- * Slovak translation by Stanislav Kudlac (skudlac@pobox.sk)
- *
- * ----------------------------------------------------------------------------
- */
+ * ----------------------------------------------------------------------------*/
+
+// Updates:
+// --------
+// 2010/06/04 - big leap from 1.2.18 to 1.6.3+
+//
+// Slovak translation started by Stanislav Kudlac (skudlac at pobox dot sk).
+// He resigned in March 2008 (thanks for the work). Until a "native Slovak"
+// maintainer is found, the TranslatorSlovak is maintained by Petr Prikryl with
+// Slovak speaking Kali and Laco Švec.
+// ----------------------------------------------------------------------------
#ifndef TRANSLATOR_SK_H
#define TRANSLATOR_SK_H
-class TranslatorSlovak : public TranslatorAdapter_1_2_18
+class TranslatorSlovak : public Translator
{
- private:
- /*! The Decode() inline assumes the source written in the
- Windows encoding (maintainer only dependent).
- */
- inline QCString Decode(const QCString & sInput)
- {
-//#ifdef _WIN32
- return sInput;
-//#else
-// return Win1250ToISO88592(sInput);
-//#endif
- }
-
public:
- // --- Language control methods -------------------
-
- virtual QCString idLanguage()
- { return "slovak"; }
-
- virtual QCString latexLanguageSupportCommand()
- { return "\\usepackage[slovak]{babel}\n"; }
-
- /*! return the language charset. This will be used for the HTML output */
- virtual QCString idLanguageCharset()
- {
-//#ifdef _WIN32
- return "windows-1250";
-//#else
-// return "iso-8859-2";
-//#endif
- }
-
- // --- Language translation methods -------------------
-
- /*! used in the compound documentation before a list of related functions. */
- virtual QCString trRelatedFunctions()
- { return Decode("Svisiace funkcie"); }
-
- /*! subscript for the related functions. */
- virtual QCString trRelatedSubscript()
- { return Decode("(Uveden funkcie nies lenskmi funkciami.)"); }
-
- /*! header that is put before the detailed description of files, classes and namespaces. */
- virtual QCString trDetailedDescription()
- { return Decode("Detailn popis"); }
-
- /*! header that is put before the list of typedefs. */
- virtual QCString trMemberTypedefDocumentation()
- { return Decode("Dokumentcia k lenskm typom"); }
-
- /*! header that is put before the list of enumerations. */
- virtual QCString trMemberEnumerationDocumentation()
- { return Decode("Dokumentcia k lenskm enumercim"); }
-
- /*! header that is put before the list of member functions. */
- virtual QCString trMemberFunctionDocumentation()
- { return Decode("Dokumentcia k metdam"); }
-
- /*! header that is put before the list of member attributes. */
- virtual QCString trMemberDataDocumentation()
- {
- if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
- {
- return Decode("Dokumentcia k polokm");
- }
- else
- {
- return Decode("Dokumentcia k dtovm lenom");
- }
- }
-
- /*! this is the text of a link put after brief descriptions. */
- virtual QCString trMore()
- { return Decode("..."); }
-
- /*! put in the class documentation */
- virtual QCString trListOfAllMembers()
- { return Decode("Zoznam vetkch lenov."); }
-
- /*! used as the title of the "list of all members" page of a class */
- virtual QCString trMemberList()
- { return Decode("Zoznam lenov triedy"); }
-
- /*! this is the first part of a sentence that is followed by a class name */
- virtual QCString trThisIsTheListOfAllMembers()
- { return Decode("Tu njdete pln zoznam lenov triedy "); }
-
- /*! this is the remainder of the sentence after the class name */
- virtual QCString trIncludingInheritedMembers()
- { return Decode(", vrtane vetkch zdedench lenov."); }
-
- /*! this is put at the author sections at the bottom of man pages.
- * parameter s is name of the project name.
- */
- virtual QCString trGeneratedAutomatically(const char *s)
- { QCString result="Generovan automaticky programom Doxygen "
- "zo zdrojovch textov";
- if (s) result+=(QCString)" projektu "+s;
- result+=".";
- return Decode(result);
- }
-
- /*! put after an enum name in the list of all members */
- virtual QCString trEnumName()
- { return Decode("meno enumercie"); }
-
- /*! put after an enum value in the list of all members */
- virtual QCString trEnumValue()
- { return Decode("hodnota enumercie"); }
-
- /*! put after an undocumented member in the list of all members */
- virtual QCString trDefinedIn()
- { return Decode("definovan v"); }
-
- // quick reference sections
-
- /*! This is put above each page as a link to the list of all groups of
- * compounds or files (see the \\group command).
- */
- virtual QCString trModules()
- { return Decode("Moduly"); }
-
- /*! This is put above each page as a link to the class hierarchy */
- virtual QCString trClassHierarchy()
- { return Decode("Hierarchia tried"); }
-
- /*! This is put above each page as a link to the list of annotated classes */
- virtual QCString trCompoundList()
- {
- if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
- {
- return Decode("Dtov truktry");
- }
- else
- {
- return Decode("Zoznam tried");
- }
- }
-
- /*! This is put above each page as a link to the list of documented files */
- virtual QCString trFileList()
- { return Decode("Zoznam sborov"); }
-
- /*! This is put above each page as a link to the list of all verbatim headers */
- virtual QCString trHeaderFiles()
- { return Decode("Zoznam hlavikovch sborov"); }
-
- /*! This is put above each page as a link to all members of compounds. */
- virtual QCString trCompoundMembers()
- {
- if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
- {
- return Decode("Dtov poloky");
- }
- else
- {
- return Decode("Zoznam lenov tried");
- }
- }
-
- /*! This is put above each page as a link to all members of files. */
- virtual QCString trFileMembers()
- {
- if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
- {
- return Decode("Globlne symboly");
- }
- else
- {
- return Decode("Symboly v sboroch");
- }
- }
-
- /*! This is put above each page as a link to all related pages. */
- virtual QCString trRelatedPages()
- { return Decode("Ostatn strnky"); }
-
- /*! This is put above each page as a link to all examples. */
- virtual QCString trExamples()
- { return Decode("Prklady"); }
-
- /*! This is put above each page as a link to the search engine. */
- virtual QCString trSearch()
- { return Decode("Hada"); }
-
- /*! This is an introduction to the class hierarchy. */
- virtual QCString trClassHierarchyDescription()
- { return Decode("Tu njdete zoznam, vyjadrujci vzah dedinosti tried. "
- "Je zoraden pribline (ale nie plne) poda abecedy:");
- }
-
- /*! This is an introduction to the list with all files. */
- virtual QCString trFileListDescription(bool extractAll)
- {
- QCString result="Tu njdete zoznam vetkch ";
- if (!extractAll) result+="dokumentovanch ";
- result+="sborov so strunmi popismi:";
- return Decode(result);
- }
-
- /*! This is an introduction to the annotated compound list. */
- virtual QCString trCompoundListDescription()
- {
- if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
- {
- return Decode("Nasledujci zoznam obsahuje identifikciu dtovch "
- "truktr a ich strun popisy:");
- }
- else
- {
- return Decode("Nasledujci zoznam obsahuje predovetkm identifikciu "
- "tried, ale nachdzaj sa tu i alie netrivilne prvky, "
- "ako s truktry (struct), uniony (union) a rozhrania "
- "(interface). V zozname s uveden ich strun "
- "popisy:");
- }
- }
-
- /*! This is an introduction to the page with all class members. */
- virtual QCString trCompoundMembersDescription(bool extractAll)
- {
- QCString result= "Tu njdete zoznam vetkch ";
- if (!extractAll)
- {
- result += "dokumentovanch ";
- }
-
- if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
- {
- result += "poloiek truktr (struct) a unionov (union) ";
- }
- else
- {
- result += "lenov tried ";
- }
-
- result += "s odkazmi na ";
-
- if (!extractAll)
- {
- if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
- {
- result += "dokumentciu truktr/unionov, ku ktorm prislchaj:";
- }
- else
- {
- result += "dokumentciu tried, ku ktorm prislchaj:";
- }
- }
- else
- {
- if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
- {
- result+="truktry/uniony, ku ktorm prislchaj:";
- }
- else
- {
- result+="triedy, ku ktorm prislchaj:";
- }
- }
-
- return Decode(result);
- }
-
- /*! This is an introduction to the page with all file members. */
- virtual QCString trFileMembersDescription(bool extractAll)
- {
- QCString result="Tu njdete zoznam vetkch ";
- if (!extractAll) result+="dokumentovanch ";
-
- if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
- {
- result+="funkci, premennch, makier, enumerci a definci typov (typedef) "
- "s odkazmi na ";
- }
- else
- {
- result+="symbolov, ktor s definovan na rovni svojich sborov. "
- "Pre kad symbol je uveden odkaz na ";
- }
-
- if (extractAll)
- result+="sbory, ku ktorm prislchaj:";
- else
- result+="dokumentciu:";
-
- return Decode(result);
- }
-
- /*! This is an introduction to the page with the list of all header files. */
- virtual QCString trHeaderFilesDescription()
- { return Decode("Tu njdete hlavikov sbory, ktor tvoria "
- "aplikan programov rozhranie (API):"); }
-
- /*! This is an introduction to the page with the list of all examples */
- virtual QCString trExamplesDescription()
- { return Decode("Tu njdete zoznam vetkch prkladov:"); }
-
- /*! This is an introduction to the page with the list of related pages */
- virtual QCString trRelatedPagesDescription()
- { return Decode("Nasledujci zoznam odkazuje na alie strnky projektu, "
- "ktor maj charakter usporiadanch zoznamov informci, "
- "pozbieranch z rznych miest v zdrojovch sboroch:"); }
-
- /*! This is an introduction to the page with the list of class/file groups */
- virtual QCString trModulesDescription()
- { return Decode("Tu njdete zoznam vetkch modulov:"); }
-
- /*! This sentences is used in the annotated class/file lists if no brief
- * description is given.
- */
- virtual QCString trNoDescriptionAvailable()
- { return Decode("Popis nieje k dispozcii"); }
-
- // index titles (the project name is prepended for these)
-
-
- /*! This is used in HTML as the title of index.html. */
- virtual QCString trDocumentation()
- { return Decode("Dokumentcia"); }
-
- /*! This is used in LaTeX as the title of the chapter with the
- * index of all groups.
- */
- virtual QCString trModuleIndex()
- { return Decode("Register modulov"); }
-
- /*! This is used in LaTeX as the title of the chapter with the
- * class hierarchy.
- */
- virtual QCString trHierarchicalIndex()
- { return Decode("Register hierarchie tried"); }
-
- /*! This is used in LaTeX as the title of the chapter with the
- * annotated compound index.
- */
- virtual QCString trCompoundIndex()
- {
- if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
- {
- return Decode("Register dtovch truktr");
- }
- else
- {
- return Decode("Register tried");
- }
- }
-
- /*! This is used in LaTeX as the title of the chapter with the
- * list of all files.
- */
- virtual QCString trFileIndex()
- { return Decode("Register sborov"); }
-
- /*! This is used in LaTeX as the title of the chapter containing
- * the documentation of all groups.
- */
- virtual QCString trModuleDocumentation()
- { return Decode("Dokumentcia modulov"); }
-
- /*! This is used in LaTeX as the title of the chapter containing
- * the documentation of all classes, structs and unions.
- */
- virtual QCString trClassDocumentation()
- { return Decode("Dokumentcia tried"); }
-
- /*! This is used in LaTeX as the title of the chapter containing
- * the documentation of all files.
- */
- virtual QCString trFileDocumentation()
- { return Decode("Dokumentcia sborov"); }
-
- /*! This is used in LaTeX as the title of the chapter containing
- * the documentation of all examples.
- */
- virtual QCString trExampleDocumentation()
- { return Decode("Dokumentcia prkladov"); }
-
- /*! This is used in LaTeX as the title of the chapter containing
- * the documentation of all related pages.
- */
- virtual QCString trPageDocumentation()
- { return Decode("Dokumentcia svisiacich strnok"); }
-
- /*! This is used in LaTeX as the title of the document */
- virtual QCString trReferenceManual()
- { return Decode("Referenn prruka"); }
-
- /*! This is used in the documentation of a file as a header before the
- * list of defines
- */
- virtual QCString trDefines()
- { return Decode("Defincia makier"); }
-
- /*! This is used in the documentation of a file as a header before the
- * list of function prototypes
- */
- virtual QCString trFuncProtos()
- { return Decode("Prototypy"); }
-
- /*! This is used in the documentation of a file as a header before the
- * list of typedefs
- */
- virtual QCString trTypedefs()
- { return Decode("Defincia typov"); }
-
- /*! This is used in the documentation of a file as a header before the
- * list of enumerations
- */
- virtual QCString trEnumerations()
- { return Decode("Enumercie"); }
-
- /*! This is used in the documentation of a file as a header before the
- * list of (global) functions
- */
- virtual QCString trFunctions()
- { return Decode("Funkcie"); }
-
- /*! This is used in the documentation of a file as a header before the
- * list of (global) variables
- */
- virtual QCString trVariables()
- { return Decode("Premenn"); }
-
- /*! This is used in the documentation of a file as a header before the
- * list of (global) variables
- */
- virtual QCString trEnumerationValues()
- { return Decode("Hodnoty enumerci"); }
-
- /*! This is used in the documentation of a file before the list of
- * documentation blocks for defines
- */
- virtual QCString trDefineDocumentation()
- { return Decode("Dokumentcia k defincim makier"); }
-
- /*! This is used in the documentation of a file/namespace before the list
- * of documentation blocks for function prototypes
- */
- virtual QCString trFunctionPrototypeDocumentation()
- { return Decode("Dokumentcia prototypov"); }
-
- /*! This is used in the documentation of a file/namespace before the list
- * of documentation blocks for typedefs
- */
- virtual QCString trTypedefDocumentation()
- { return Decode("Dokumentcia definci typov"); }
-
- /*! This is used in the documentation of a file/namespace before the list
- * of documentation blocks for enumeration types
- */
- virtual QCString trEnumerationTypeDocumentation()
- { return Decode("Dokumentcia enumeranch typov"); }
-
- /*! This is used in the documentation of a file/namespace before the list
- * of documentation blocks for enumeration values
- */
- virtual QCString trEnumerationValueDocumentation()
- { return Decode("Dokumentcia enumeranch hodnt"); }
-
- /*! This is used in the documentation of a file/namespace before the list
- * of documentation blocks for functions
- */
- virtual QCString trFunctionDocumentation()
- { return Decode("Dokumentcia funkci"); }
-
- /*! This is used in the documentation of a file/namespace before the list
- * of documentation blocks for variables
- */
- virtual QCString trVariableDocumentation()
- { return Decode("Dokumentcia premennch"); }
-
- /*! This is used in the documentation of a file/namespace/group before
- * the list of links to documented compounds
- */
- virtual QCString trCompounds()
- {
- if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
- {
- return Decode("Dtov truktry");
- }
- else
- {
- return Decode("Triedy");
- }
- }
-
- /*! This is used in the standard footer of each page and indicates when
- * the page was generated
- */
- virtual QCString trGeneratedAt(const char *date,const char *projName)
- {
- QCString result=(QCString)"Generovan "+date;
- if (projName) result+=(QCString)" pre projekt "+projName;
- result+=(QCString)" programom";
- return Decode(result);
- }
-
- /*! This is part of the sentence used in the standard footer of each page.
- */
- virtual QCString trWrittenBy()
- {
- return Decode(" -- autor ");
- }
-
- /*! this text is put before a class diagram */
- virtual QCString trClassDiagram(const char *clName)
- {
- return Decode((QCString)"Diagram dedinosti pre triedu "+clName);
- }
-
- /*! this text is generated when the \\internal command is used. */
- virtual QCString trForInternalUseOnly()
- { return Decode("Iba pre intern pouitie."); }
-
- /*! this text is generated when the \\reimp command is used. */
- virtual QCString trReimplementedForInternalReasons()
- { return Decode("Reimplementovan z internch dvodov; "
- "aplikan rozhranie zachovan."); }
-
- /*! this text is generated when the \\warning command is used. */
- virtual QCString trWarning()
- { return Decode("Pozor"); }
-
- /*! this text is generated when the \\bug command is used. */
- virtual QCString trBugsAndLimitations()
- { return Decode("Chyby a obmedzenia"); }
-
- /*! this text is generated when the \\version command is used. */
- virtual QCString trVersion()
- { return Decode("Verzia"); }
-
- /*! this text is generated when the \\date command is used. */
- virtual QCString trDate()
- { return Decode("Dtum"); }
-
- /*! this text is generated when the \\return command is used. */
- virtual QCString trReturns()
- { return Decode("Nvratov hodnota"); }
-
- /*! this text is generated when the \\sa command is used. */
- virtual QCString trSeeAlso()
- { return Decode("Viz tie"); }
-
- /*! this text is generated when the \\param command is used. */
- virtual QCString trParameters()
- { return Decode("Parametre"); }
-
- /*! this text is generated when the \\exception command is used. */
- virtual QCString trExceptions()
- { return Decode("Vnimky"); }
-
- /*! this text is used in the title page of a LaTeX document. */
- virtual QCString trGeneratedBy()
- { return Decode("Generovan programom"); }
-
- // new since 0.49-990307
-
- /*! used as the title of page containing all the index of all namespaces. */
- virtual QCString trNamespaceList()
- { return Decode("Zoznam priestorov mien"); }
-
- /*! used as an introduction to the namespace list */
- virtual QCString trNamespaceListDescription(bool extractAll)
- {
- QCString result="Tu njdete zoznam vetkch ";
- if (!extractAll) result+="dokumentovanch ";
- result+="priestorov mien so strunm popisom:";
- return Decode(result);
- }
-
- /*! used in the class documentation as a header before the list of all
- * friends of a class
- */
- virtual QCString trFriends()
- { return Decode("Priatelia (friends)"); }
+ // --- Language control methods -------------------
+
+ virtual QCString idLanguage()
+ { return "slovak"; }
+
+ virtual QCString latexLanguageSupportCommand()
+ { return "\\usepackage[slovak]{babel}\n"; }
+
+ /*! return the language charset. This will be used for the HTML output */
+ virtual QCString idLanguageCharset()
+ {
+ return "utf-8";
+ }
+
+ // --- Language translation methods -------------------
+
+ /*! used in the compound documentation before a list of related functions. */
+ virtual QCString trRelatedFunctions()
+ { return "Súvisiace funkcie"; }
+
+ /*! subscript for the related functions. */
+ virtual QCString trRelatedSubscript()
+ { return "(Uvedené funkcie niesú členskými funkciami.)"; }
+
+ /*! header that is put before the detailed description of files, classes and namespaces. */
+ virtual QCString trDetailedDescription()
+ { return "Detailný popis"; }
+
+ /*! header that is put before the list of typedefs. */
+ virtual QCString trMemberTypedefDocumentation()
+ { return "Dokumentácia k členským typom"; }
+
+ /*! header that is put before the list of enumerations. */
+ virtual QCString trMemberEnumerationDocumentation()
+ { return "Dokumentácia k členským enumeráciám"; }
+
+ /*! header that is put before the list of member functions. */
+ virtual QCString trMemberFunctionDocumentation()
+ { return "Dokumentácia k metódam"; }
+
+ /*! header that is put before the list of member attributes. */
+ virtual QCString trMemberDataDocumentation()
+ {
+ if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
+ {
+ return "Dokumentácia k položkám";
+ }
+ else
+ {
+ return "Dokumentácia k dátovým členom";
+ }
+ }
+
+ /*! this is the text of a link put after brief descriptions. */
+ virtual QCString trMore()
+ { return "..."; }
+
+ /*! put in the class documentation */
+ virtual QCString trListOfAllMembers()
+ { return "Zoznam všetkých členov."; }
+
+ /*! used as the title of the "list of all members" page of a class */
+ virtual QCString trMemberList()
+ { return "Zoznam členov triedy"; }
+
+ /*! this is the first part of a sentence that is followed by a class name */
+ virtual QCString trThisIsTheListOfAllMembers()
+ { return "Tu nájdete úplný zoznam členov triedy "; }
+
+ /*! this is the remainder of the sentence after the class name */
+ virtual QCString trIncludingInheritedMembers()
+ { return ", vrátane všetkých zdedených členov."; }
+
+ /*! this is put at the author sections at the bottom of man pages.
+ * parameter s is name of the project name.
+ */
+ virtual QCString trGeneratedAutomatically(const char *s)
+ { QCString result("Generované automaticky programom Doxygen "
+ "zo zdrojových textov");
+ if (s)
+ result+=(QCString)" projektu "+s;
+ result+=".";
+ return result;
+ }
+
+ /*! put after an enum name in the list of all members */
+ virtual QCString trEnumName()
+ { return "meno enumerácie"; }
+
+ /*! put after an enum value in the list of all members */
+ virtual QCString trEnumValue()
+ { return "hodnota enumerácie"; }
+
+ /*! put after an undocumented member in the list of all members */
+ virtual QCString trDefinedIn()
+ { return "definovaný v"; }
+
+ // quick reference sections
+
+ /*! This is put above each page as a link to the list of all groups of
+ * compounds or files (see the \\group command).
+ */
+ virtual QCString trModules()
+ { return "Moduly"; }
+
+ /*! This is put above each page as a link to the class hierarchy */
+ virtual QCString trClassHierarchy()
+ { return "Hierarchia tried"; }
+
+ /*! This is put above each page as a link to the list of annotated classes */
+ virtual QCString trCompoundList()
+ {
+ if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
+ {
+ return "Dátové štruktúry";
+ }
+ else
+ {
+ return "Zoznam tried";
+ }
+ }
+
+ /*! This is put above each page as a link to the list of documented files */
+ virtual QCString trFileList()
+ { return "Zoznam súborov"; }
+
+ /*! This is put above each page as a link to all members of compounds. */
+ virtual QCString trCompoundMembers()
+ {
+ if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
+ {
+ return "Dátové položky";
+ }
+ else
+ {
+ return "Zoznam členov tried";
+ }
+ }
+
+ /*! This is put above each page as a link to all members of files. */
+ virtual QCString trFileMembers()
+ {
+ if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
+ {
+ return "Globálne symboly";
+ }
+ else
+ {
+ return "Symboly v súboroch";
+ }
+ }
+
+ /*! This is put above each page as a link to all related pages. */
+ virtual QCString trRelatedPages()
+ { return "Ostatné stránky"; }
+
+ /*! This is put above each page as a link to all examples. */
+ virtual QCString trExamples()
+ { return "Príklady"; }
+
+ /*! This is put above each page as a link to the search engine. */
+ virtual QCString trSearch()
+ { return "Hľadať"; }
+
+ /*! This is an introduction to the class hierarchy. */
+ virtual QCString trClassHierarchyDescription()
+ { return "Tu nájdete zoznam, vyjadrujúci vzťah dedičnosti tried. "
+ "Je zoradený približne (ale nie úplne) podľa abecedy:";
+ }
+
+ /*! This is an introduction to the list with all files. */
+ virtual QCString trFileListDescription(bool extractAll)
+ {
+ QCString result("Tu nájdete zoznam všetkých ");
+ if (!extractAll) result+="dokumentovaných ";
+ result+="súborov so stručnými popismi:";
+ return result;
+ }
+
+ /*! This is an introduction to the annotated compound list. */
+ virtual QCString trCompoundListDescription()
+ {
+ if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
+ {
+ return "Nasledujúci zoznam obsahuje identifikáciu dátových "
+ "štruktúr a ich stručné popisy:";
+ }
+ else
+ {
+ return "Nasledujúci zoznam obsahuje predovšetkým identifikáciu "
+ "tried, ale nachádzajú sa tu i ďalšie netriviálne prvky, "
+ "ako sú štruktúry (struct), uniony (union) a rozhrania "
+ "(interface). V zozname sú uvedené ich stručné "
+ "popisy:";
+ }
+ }
+
+ /*! This is an introduction to the page with all class members. */
+ virtual QCString trCompoundMembersDescription(bool extractAll)
+ {
+ QCString result= "Tu nájdete zoznam všetkých ";
+ if (!extractAll)
+ {
+ result += "dokumentovaných ";
+ }
+
+ if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
+ {
+ result += "položiek štruktúr (struct) a unionov (union) ";
+ }
+ else
+ {
+ result += "členov tried ";
+ }
+
+ result += "s odkazmi na ";
+
+ if (!extractAll)
+ {
+ if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
+ {
+ result += "dokumentáciu štruktúr/unionov, ku ktorým prislúchajú:";
+ }
+ else
+ {
+ result += "dokumentáciu tried, ku ktorým prislúchajú:";
+ }
+ }
+ else
+ {
+ if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
+ {
+ result+="štruktúry/uniony, ku ktorým prislúchajú:";
+ }
+ else
+ {
+ result+="triedy, ku ktorým prislúchajú:";
+ }
+ }
+
+ return result;
+ }
+
+ /*! This is an introduction to the page with all file members. */
+ virtual QCString trFileMembersDescription(bool extractAll)
+ {
+ QCString result="Tu nájdete zoznam všetkých ";
+ if (!extractAll) result+="dokumentovaných ";
+
+ if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
+ {
+ result+="funkcií, premenných, makier, enumerácií a definícií typov (typedef) "
+ "s odkazmi na ";
+ }
+ else
+ {
+ result+="symbolov, ktoré sú definované na úrovni svojich súborov. "
+ "Pre každý symbol je uvedený odkaz na ";
+ }
+
+ if (extractAll)
+ result+="súbory, ku ktorým prislúchajú:";
+ else
+ result+="dokumentáciu:";
+
+ return result;
+ }
+
+ /*! This is an introduction to the page with the list of all examples */
+ virtual QCString trExamplesDescription()
+ { return "Tu nájdete zoznam všetkých príkladov:"; }
+
+ /*! This is an introduction to the page with the list of related pages */
+ virtual QCString trRelatedPagesDescription()
+ { return "Nasledujúci zoznam odkazuje na ďalšie stránky projektu, "
+ "ktoré majú charakter usporiadaných zoznamov informácií, "
+ "pozbieraných z rôznych miest v zdrojových súboroch:"; }
+
+ /*! This is an introduction to the page with the list of class/file groups */
+ virtual QCString trModulesDescription()
+ { return "Tu nájdete zoznam všetkých modulov:"; }
+
+ // index titles (the project name is prepended for these)
+
+ /*! This is used in HTML as the title of index.html. */
+ virtual QCString trDocumentation()
+ { return "Dokumentácia"; }
+
+ /*! This is used in LaTeX as the title of the chapter with the
+ * index of all groups.
+ */
+ virtual QCString trModuleIndex()
+ { return "Register modulov"; }
+
+ /*! This is used in LaTeX as the title of the chapter with the
+ * class hierarchy.
+ */
+ virtual QCString trHierarchicalIndex()
+ { return "Register hierarchie tried"; }
+
+ /*! This is used in LaTeX as the title of the chapter with the
+ * annotated compound index.
+ */
+ virtual QCString trCompoundIndex()
+ {
+ if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
+ {
+ return "Register dátových štruktúr";
+ }
+ else
+ {
+ return "Register tried";
+ }
+ }
+
+ /*! This is used in LaTeX as the title of the chapter with the
+ * list of all files.
+ */
+ virtual QCString trFileIndex()
+ { return "Register súborov"; }
+
+ /*! This is used in LaTeX as the title of the chapter containing
+ * the documentation of all groups.
+ */
+ virtual QCString trModuleDocumentation()
+ { return "Dokumentácia modulov"; }
+
+ /*! This is used in LaTeX as the title of the chapter containing
+ * the documentation of all classes, structs and unions.
+ */
+ virtual QCString trClassDocumentation()
+ { return "Dokumentácia tried"; }
+
+ /*! This is used in LaTeX as the title of the chapter containing
+ * the documentation of all files.
+ */
+ virtual QCString trFileDocumentation()
+ { return "Dokumentácia súborov"; }
+
+ /*! This is used in LaTeX as the title of the chapter containing
+ * the documentation of all examples.
+ */
+ virtual QCString trExampleDocumentation()
+ { return "Dokumentácia príkladov"; }
+
+ /*! This is used in LaTeX as the title of the chapter containing
+ * the documentation of all related pages.
+ */
+ virtual QCString trPageDocumentation()
+ { return "Dokumentácia súvisiacich stránok"; }
+
+ /*! This is used in LaTeX as the title of the document */
+ virtual QCString trReferenceManual()
+ { return "Referenčná príručka"; }
+
+ /*! This is used in the documentation of a file as a header before the
+ * list of defines
+ */
+ virtual QCString trDefines()
+ { return "Definícia makier"; }
+
+ /*! This is used in the documentation of a file as a header before the
+ * list of function prototypes
+ */
+ virtual QCString trFuncProtos()
+ { return "Prototypy"; }
+
+ /*! This is used in the documentation of a file as a header before the
+ * list of typedefs
+ */
+ virtual QCString trTypedefs()
+ { return "Definícia typov"; }
+
+ /*! This is used in the documentation of a file as a header before the
+ * list of enumerations
+ */
+ virtual QCString trEnumerations()
+ { return "Enumerácie"; }
+
+ /*! This is used in the documentation of a file as a header before the
+ * list of (global) functions
+ */
+ virtual QCString trFunctions()
+ { return "Funkcie"; }
+
+ /*! This is used in the documentation of a file as a header before the
+ * list of (global) variables
+ */
+ virtual QCString trVariables()
+ { return "Premenné"; }
+
+ /*! This is used in the documentation of a file as a header before the
+ * list of (global) variables
+ */
+ virtual QCString trEnumerationValues()
+ { return "Hodnoty enumerácií"; }
+
+ /*! This is used in the documentation of a file before the list of
+ * documentation blocks for defines
+ */
+ virtual QCString trDefineDocumentation()
+ { return "Dokumentácia k definíciám makier"; }
+
+ /*! This is used in the documentation of a file/namespace before the list
+ * of documentation blocks for function prototypes
+ */
+ virtual QCString trFunctionPrototypeDocumentation()
+ { return "Dokumentácia prototypov"; }
+
+ /*! This is used in the documentation of a file/namespace before the list
+ * of documentation blocks for typedefs
+ */
+ virtual QCString trTypedefDocumentation()
+ { return "Dokumentácia definícií typov"; }
+
+ /*! This is used in the documentation of a file/namespace before the list
+ * of documentation blocks for enumeration types
+ */
+ virtual QCString trEnumerationTypeDocumentation()
+ { return "Dokumentácia enumeračných typov"; }
+
+ /*! This is used in the documentation of a file/namespace before the list
+ * of documentation blocks for functions
+ */
+ virtual QCString trFunctionDocumentation()
+ { return "Dokumentácia funkcií"; }
+
+ /*! This is used in the documentation of a file/namespace before the list
+ * of documentation blocks for variables
+ */
+ virtual QCString trVariableDocumentation()
+ { return "Dokumentácia premenných"; }
+
+ /*! This is used in the documentation of a file/namespace/group before
+ * the list of links to documented compounds
+ */
+ virtual QCString trCompounds()
+ {
+ if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
+ {
+ return "Dátové štruktúry";
+ }
+ else
+ {
+ return "Triedy";
+ }
+ }
+
+ /*! This is used in the standard footer of each page and indicates when
+ * the page was generated
+ */
+ virtual QCString trGeneratedAt(const char *date,const char *projName)
+ {
+ QCString result=(QCString)"Generované "+date;
+ if (projName) result+=(QCString)" pre projekt "+projName;
+ result+=(QCString)" programom";
+ return result;
+ }
+
+ /*! This is part of the sentence used in the standard footer of each page.
+ */
+ virtual QCString trWrittenBy()
+ {
+ return " -- autor ";
+ }
+
+ /*! this text is put before a class diagram */
+ virtual QCString trClassDiagram(const char *clName)
+ {
+ return (QCString)"Diagram dedičnosti pre triedu "+clName;
+ }
+
+ /*! this text is generated when the \\internal command is used. */
+ virtual QCString trForInternalUseOnly()
+ { return "Iba pre interné použitie."; }
+
+ /*! this text is generated when the \\warning command is used. */
+ virtual QCString trWarning()
+ { return "Pozor"; }
+
+ /*! this text is generated when the \\version command is used. */
+ virtual QCString trVersion()
+ { return "Verzia"; }
+
+ /*! this text is generated when the \\date command is used. */
+ virtual QCString trDate()
+ { return "Dátum"; }
+
+ /*! this text is generated when the \\return command is used. */
+ virtual QCString trReturns()
+ { return "Návratová hodnota"; }
+
+ /*! this text is generated when the \\sa command is used. */
+ virtual QCString trSeeAlso()
+ { return "Viz tiež"; }
+
+ /*! this text is generated when the \\param command is used. */
+ virtual QCString trParameters()
+ { return "Parametre"; }
+
+ /*! this text is generated when the \\exception command is used. */
+ virtual QCString trExceptions()
+ { return "Výnimky"; }
+
+ /*! this text is used in the title page of a LaTeX document. */
+ virtual QCString trGeneratedBy()
+ { return "Generované programom"; }
+
+ // new since 0.49-990307
+
+ /*! used as the title of page containing all the index of all namespaces. */
+ virtual QCString trNamespaceList()
+ { return "Zoznam priestorov mien"; }
+
+ /*! used as an introduction to the namespace list */
+ virtual QCString trNamespaceListDescription(bool extractAll)
+ {
+ QCString result="Tu nájdete zoznam všetkých ";
+ if (!extractAll) result+="dokumentovaných ";
+ result+="priestorov mien so stručným popisom:";
+ return result;
+ }
+
+ /*! used in the class documentation as a header before the list of all
+ * friends of a class
+ */
+ virtual QCString trFriends()
+ { return "Priatelia (friends)"; }
//////////////////////////////////////////////////////////////////////////
// new since 0.49-990405
//////////////////////////////////////////////////////////////////////////
- /*! used in the class documentation as a header before the list of all
- * related classes
- */
- virtual QCString trRelatedFunctionDocumentation()
- { return Decode("Dokumentcia k priateom (friends)"); }
+ /*! used in the class documentation as a header before the list of all
+ * related classes
+ */
+ virtual QCString trRelatedFunctionDocumentation()
+ { return "Dokumentácia k priateľom (friends)"; }
//////////////////////////////////////////////////////////////////////////
// new since 0.49-990425
//////////////////////////////////////////////////////////////////////////
- /*! used as the title of the HTML page of a class/struct/union */
- virtual QCString trCompoundReference(const char *clName,
- ClassDef::CompoundType compType,
- bool isTemplate)
- {
- QCString result("Dokumentcia ");
- if (isTemplate) result+="ablny ";
- switch(compType)
- {
- case ClassDef::Class: result+="triedy "; break;
- case ClassDef::Struct: result+="truktry "; break;
- case ClassDef::Union: result+="unionu "; break;
- case ClassDef::Interface: result+="rozhrania "; break;
- case ClassDef::Protocol: result+="protocol "; break; // translate me!
- case ClassDef::Category: result+="category "; break; // translate me!
- case ClassDef::Exception: result+="vnimky "; break;
- }
- result+=clName;
- return Decode(result);
- }
-
- /*! used as the title of the HTML page of a file */
- virtual QCString trFileReference(const char *fileName)
- {
- QCString result("Dokumentcia sboru ");
- result+=fileName;
- return Decode(result);
- }
-
- /*! used as the title of the HTML page of a namespace */
- virtual QCString trNamespaceReference(const char *namespaceName)
- {
- QCString result("Dokumentcia priestoru mien ");
- result+=namespaceName;
- return Decode(result);
- }
-
- /* these are for the member sections of a class, struct or union */
- virtual QCString trPublicMembers()
- { return Decode("Verejn metdy"); }
- virtual QCString trPublicSlots()
- { return Decode("Verejn sloty"); }
- virtual QCString trSignals()
- { return Decode("Signly"); }
- virtual QCString trStaticPublicMembers()
- { return Decode("Statick verejn metdy"); }
- virtual QCString trProtectedMembers()
- { return Decode("Chrnen metdy"); }
- virtual QCString trProtectedSlots()
- { return Decode("Chrnen sloty"); }
- virtual QCString trStaticProtectedMembers()
- { return Decode("Statick chrnen metdy"); }
- virtual QCString trPrivateMembers()
- { return Decode("Privtne metdy"); }
- virtual QCString trPrivateSlots()
- { return Decode("Privtne sloty"); }
- virtual QCString trStaticPrivateMembers()
- { return Decode("Statick privtne metdy"); }
-
- /*! this function is used to produce a comma-separated list of items.
- * use generateMarker(i) to indicate where item i should be put.
- */
- virtual QCString trWriteList(int numEntries)
- {
- QCString result;
- int i;
- // the inherits list contain `numEntries' classes
- for (i=0;i<numEntries;i++)
- {
- // use generateMarker to generate placeholders for the class links!
- result+=generateMarker(i); // generate marker for entry i in the list
- // (order is left to right)
-
- if (i!=numEntries-1) // not the last entry, so we need a separator
- {
- if (i<numEntries-2) // not the fore last entry
- result+=", ";
- else // the fore last entry
- result+=" a ";
- }
- }
- return Decode(result);
- }
-
- /*! used in class documentation to produce a list of base classes,
- * if class diagrams are disabled.
- */
- virtual QCString trInheritsList(int numEntries)
- {
- QCString result("Ded od ");
- result += (numEntries == 1) ? "bzovej triedy " : "bzovch tried ";
- result += trWriteList(numEntries)+".";
- return Decode(result);
- }
-
- /*! used in class documentation to produce a list of super classes,
- * if class diagrams are disabled.
- */
- virtual QCString trInheritedByList(int numEntries)
- {
- QCString result("Zdeden ");
- result += (numEntries == 1) ? "triedou " : "triedami ";
- result += trWriteList(numEntries)+".";
- return Decode(result);
- }
-
- /*! used in member documentation blocks to produce a list of
- * members that are hidden by this one.
- */
- virtual QCString trReimplementedFromList(int numEntries)
- {
- QCString result("Reimplementuje ");
- result += (numEntries == 1) ? "metdu triedy " : "metdy tried ";
- result += trWriteList(numEntries)+".";
- return Decode(result);
- }
-
- /*! used in member documentation blocks to produce a list of
- * all member that overwrite the implementation of this member.
- */
- virtual QCString trReimplementedInList(int numEntries)
- {
- QCString result("Reimplementovan ");
- result += (numEntries == 1) ? "triedou " : "triedami ";
- result += trWriteList(numEntries)+".";
- return Decode(result);
- }
-
- /*! This is put above each page as a link to all members of namespaces. */
- virtual QCString trNamespaceMembers()
- { return Decode("Symboly v priestoroch mien"); }
-
- /*! This is an introduction to the page with all namespace members */
- virtual QCString trNamespaceMemberDescription(bool extractAll)
- {
- QCString result="Tu njdete zoznam vetkch ";
- if (!extractAll) result+="dokumentovanch ";
- result+="symbolov, ktor s definovan vo svojich priestoroch mien. "
- "U kadho je uveden odkaz na ";
- if (extractAll)
- result+="dokumentciu prslunho priestoru mien:";
- else
- result+="prslun priestor mien:";
- return Decode(result);
- }
- /*! This is used in LaTeX as the title of the chapter with the
- * index of all namespaces.
- */
- virtual QCString trNamespaceIndex()
- { return Decode("Register priestorov mien"); }
-
- /*! This is used in LaTeX as the title of the chapter containing
- * the documentation of all namespaces.
- */
- virtual QCString trNamespaceDocumentation()
- { return Decode("Dokumentcia priestorov mien"); }
+ /*! used as the title of the HTML page of a class/struct/union */
+ virtual QCString trCompoundReference(const char *clName,
+ ClassDef::CompoundType compType,
+ bool isTemplate)
+ {
+ QCString result("Dokumentácia ");
+ if (isTemplate) result+="šablóny ";
+ switch(compType)
+ {
+ case ClassDef::Class: result+="triedy "; break;
+ case ClassDef::Struct: result+="štruktúry "; break;
+ case ClassDef::Union: result+="unionu "; break;
+ case ClassDef::Interface: result+="rozhrania "; break;
+ case ClassDef::Protocol: result+="protokol "; break;
+ case ClassDef::Category: result+="kategória "; break;
+ case ClassDef::Exception: result+="výnimky "; break;
+ }
+ result+=clName;
+ return result;
+ }
+
+ /*! used as the title of the HTML page of a file */
+ virtual QCString trFileReference(const char *fileName)
+ {
+ QCString result("Dokumentácia súboru ");
+ result+=fileName;
+ return result;
+ }
+
+ /*! used as the title of the HTML page of a namespace */
+ virtual QCString trNamespaceReference(const char *namespaceName)
+ {
+ QCString result("Dokumentácia priestoru mien ");
+ result+=namespaceName;
+ return result;
+ }
+
+ /* these are for the member sections of a class, struct or union */
+ virtual QCString trPublicMembers()
+ { return "Verejné metódy"; }
+ virtual QCString trPublicSlots()
+ { return "Verejné sloty"; }
+ virtual QCString trSignals()
+ { return "Signály"; }
+ virtual QCString trStaticPublicMembers()
+ { return "Statické verejné metódy"; }
+ virtual QCString trProtectedMembers()
+ { return "Chránené metódy"; }
+ virtual QCString trProtectedSlots()
+ { return "Chránené sloty"; }
+ virtual QCString trStaticProtectedMembers()
+ { return "Statické chránené metódy"; }
+ virtual QCString trPrivateMembers()
+ { return "Privátne metódy"; }
+ virtual QCString trPrivateSlots()
+ { return "Privátne sloty"; }
+ virtual QCString trStaticPrivateMembers()
+ { return "Statické privátne metódy"; }
+
+ /*! this function is used to produce a comma-separated list of items.
+ * use generateMarker(i) to indicate where item i should be put.
+ */
+ virtual QCString trWriteList(int numEntries)
+ {
+ QCString result;
+ int i;
+ // the inherits list contain `numEntries' classes
+ for (i=0;i<numEntries;i++)
+ {
+ // use generateMarker to generate placeholders for the class links!
+ result+=generateMarker(i); // generate marker for entry i in the list
+ // (order is left to right)
+
+ if (i!=numEntries-1) // not the last entry, so we need a separator
+ {
+ if (i<numEntries-2) // not the fore last entry
+ result+=", ";
+ else // the fore last entry
+ result+=" a ";
+ }
+ }
+ return result;
+ }
+
+ /*! used in class documentation to produce a list of base classes,
+ * if class diagrams are disabled.
+ */
+ virtual QCString trInheritsList(int numEntries)
+ {
+ QCString result("Dedí od ");
+ result += (numEntries == 1) ? "bázovej triedy " : "bázových tried ";
+ result += trWriteList(numEntries)+".";
+ return result;
+ }
+
+ /*! used in class documentation to produce a list of super classes,
+ * if class diagrams are disabled.
+ */
+ virtual QCString trInheritedByList(int numEntries)
+ {
+ QCString result("Zdedená ");
+ result += (numEntries == 1) ? "triedou " : "triedami ";
+ result += trWriteList(numEntries)+".";
+ return result;
+ }
+
+ /*! used in member documentation blocks to produce a list of
+ * members that are hidden by this one.
+ */
+ virtual QCString trReimplementedFromList(int numEntries)
+ {
+ QCString result("Reimplementuje ");
+ result += (numEntries == 1) ? "metódu triedy " : "metódy tried ";
+ result += trWriteList(numEntries)+".";
+ return result;
+ }
+
+ /*! used in member documentation blocks to produce a list of
+ * all member that overwrite the implementation of this member.
+ */
+ virtual QCString trReimplementedInList(int numEntries)
+ {
+ QCString result("Reimplementované ");
+ result += (numEntries == 1) ? "triedou " : "triedami ";
+ result += trWriteList(numEntries)+".";
+ return result;
+ }
+
+ /*! This is put above each page as a link to all members of namespaces. */
+ virtual QCString trNamespaceMembers()
+ { return "Symboly v priestoroch mien"; }
+
+ /*! This is an introduction to the page with all namespace members */
+ virtual QCString trNamespaceMemberDescription(bool extractAll)
+ {
+ QCString result="Tu nájdete zoznam všetkých ";
+ if (!extractAll) result+="dokumentovaných ";
+ result+="symbolov, ktoré sú definované vo svojich priestoroch mien. "
+ "U každého je uvedený odkaz na ";
+ if (extractAll)
+ result+="dokumentáciu príslušného priestoru mien:";
+ else
+ result+="príslušný priestor mien:";
+ return result;
+ }
+ /*! This is used in LaTeX as the title of the chapter with the
+ * index of all namespaces.
+ */
+ virtual QCString trNamespaceIndex()
+ { return "Register priestorov mien"; }
+
+ /*! This is used in LaTeX as the title of the chapter containing
+ * the documentation of all namespaces.
+ */
+ virtual QCString trNamespaceDocumentation()
+ { return "Dokumentácia priestorov mien"; }
//////////////////////////////////////////////////////////////////////////
// new since 0.49-990522
//////////////////////////////////////////////////////////////////////////
- /*! This is used in the documentation before the list of all
- * namespaces in a file.
- */
- virtual QCString trNamespaces()
- { return Decode("Priestory mien"); }
+ /*! This is used in the documentation before the list of all
+ * namespaces in a file.
+ */
+ virtual QCString trNamespaces()
+ { return "Priestory mien"; }
//////////////////////////////////////////////////////////////////////////
// new since 0.49-990728
//////////////////////////////////////////////////////////////////////////
- /*! This is put at the bottom of a class documentation page and is
- * followed by a list of files that were used to generate the page.
- */
- virtual QCString trGeneratedFromFiles(ClassDef::CompoundType compType,
- bool single)
- { // here s is one of " Class", " Struct" or " Union"
- // single is true implies a single file
- QCString result=(QCString)"Dokumentcia pre ";
- switch(compType)
- {
- case ClassDef::Class: result+="tto triedu"; break;
- case ClassDef::Struct: result+="tto truktru (struct)"; break;
- case ClassDef::Union: result+="tento union"; break;
- case ClassDef::Interface: result+="toto rozhranie"; break;
- case ClassDef::Protocol: result+="protocol"; break; // translate me!
- case ClassDef::Category: result+="category"; break; // translate me!
- case ClassDef::Exception: result+="tto vnimku"; break;
- }
- result+=" bola generovan z ";
- if (single) result+="nasledujceho sboru:";
- else result+="nasledujcich sborov:";
- return Decode(result);
- }
-
- /*! This is in the (quick) index as a link to the alphabetical compound
- * list.
- */
- virtual QCString trAlphabeticalList()
- { return Decode("Register tried"); }
+ /*! This is put at the bottom of a class documentation page and is
+ * followed by a list of files that were used to generate the page.
+ */
+ virtual QCString trGeneratedFromFiles(ClassDef::CompoundType compType,
+ bool single)
+ { // here s is one of " Class", " Struct" or " Union"
+ // single is true implies a single file
+ QCString result=(QCString)"Dokumentácia pre ";
+ switch(compType)
+ {
+ case ClassDef::Class: result+="túto triedu"; break;
+ case ClassDef::Struct: result+="túto štruktúru (struct)"; break;
+ case ClassDef::Union: result+="tento union"; break;
+ case ClassDef::Interface: result+="toto rozhranie"; break;
+ case ClassDef::Protocol: result+="protokol"; break;
+ case ClassDef::Category: result+="kategória"; break;
+ case ClassDef::Exception: result+="túto výnimku"; break;
+ }
+ result+=" bola generovaná z ";
+ if (single) result+="nasledujúceho súboru:";
+ else result+="nasledujúcich súborov:";
+ return result;
+ }
+
+ /*! This is in the (quick) index as a link to the alphabetical compound
+ * list.
+ */
+ virtual QCString trAlphabeticalList()
+ { return "Register tried"; }
//////////////////////////////////////////////////////////////////////////
// new since 0.49-990901
//////////////////////////////////////////////////////////////////////////
- /*! This is used as the heading text for the retval command. */
- virtual QCString trReturnValues()
- { return Decode("Nvratov hodnoty"); }
+ /*! This is used as the heading text for the retval command. */
+ virtual QCString trReturnValues()
+ { return "Návratové hodnoty"; }
- /*! This is in the (quick) index as a link to the main page (index.html)
- */
- virtual QCString trMainPage()
- { return Decode("Hlavn strnka"); }
+ /*! This is in the (quick) index as a link to the main page (index.html)
+ */
+ virtual QCString trMainPage()
+ { return "Hlavná stránka"; }
- /*! This is used in references to page that are put in the LaTeX
- * documentation. It should be an abbreviation of the word page.
- */
- virtual QCString trPageAbbreviation()
- { return Decode("s."); }
+ /*! This is used in references to page that are put in the LaTeX
+ * documentation. It should be an abbreviation of the word page.
+ */
+ virtual QCString trPageAbbreviation()
+ { return "s."; }
//////////////////////////////////////////////////////////////////////////
// new since 0.49-991003
//////////////////////////////////////////////////////////////////////////
- virtual QCString trSources()
- {
- return Decode("Zdroje");
- }
- virtual QCString trDefinedAtLineInSourceFile()
- {
- return Decode("Defincia je uveden na riadku @0 v sbore @1.");
- }
- virtual QCString trDefinedInSourceFile()
- {
- return Decode("Defincia v sbore @0.");
- }
+ virtual QCString trDefinedAtLineInSourceFile()
+ {
+ return "Definícia je uvedená na riadku @0 v súbore @1.";
+ }
+ virtual QCString trDefinedInSourceFile()
+ {
+ return "Definícia v súbore @0.";
+ }
//////////////////////////////////////////////////////////////////////////
// new since 0.49-991205
//////////////////////////////////////////////////////////////////////////
- virtual QCString trDeprecated()
- {
- return Decode("Zastaral");
- }
+ virtual QCString trDeprecated()
+ {
+ return "Zastaralé";
+ }
//////////////////////////////////////////////////////////////////////////
// new since 1.0.0
//////////////////////////////////////////////////////////////////////////
- /*! this text is put before a collaboration diagram */
- virtual QCString trCollaborationDiagram(const char *clName)
- {
- return Decode((QCString)"Diagram tried pre "+clName+":");
- }
- /*! this text is put before an include dependency graph */
- virtual QCString trInclDepGraph(const char *fName)
- {
- return Decode((QCString)"Graf zvislost na vkladanch sboroch "
- "pre "+fName+":");
- }
- /*! header that is put before the list of constructor/destructors. */
- virtual QCString trConstructorDocumentation()
- {
- return Decode("Dokumentcia kontruktoru a detruktoru");
- }
- /*! Used in the file documentation to point to the corresponding sources. */
- virtual QCString trGotoSourceCode()
- {
- return Decode("Zobrazi zdrojov text tohoto sboru.");
- }
- /*! Used in the file sources to point to the corresponding documentation. */
- virtual QCString trGotoDocumentation()
- {
- return Decode("Zobrazi dokumentciu tohoto sboru.");
- }
- /*! Text for the \\pre command */
- virtual QCString trPrecondition()
- {
- return Decode("Prepodmienka");
- }
- /*! Text for the \\post command */
- virtual QCString trPostcondition()
- {
- return Decode("Postpodmienka");
- }
- /*! Text for the \\invariant command */
- virtual QCString trInvariant()
- {
- return Decode("Invariant");
- }
- /*! Text shown before a multi-line variable/enum initialization */
- virtual QCString trInitialValue()
- {
- return Decode("Inicializtor:");
- }
- /*! Text used the source code in the file index */
- virtual QCString trCode()
- {
- return Decode("zdrojov text");
- }
- virtual QCString trGraphicalHierarchy()
- {
- return Decode("Grafick zobrazenie hierarchie tried");
- }
- virtual QCString trGotoGraphicalHierarchy()
- {
- return Decode("Zobrazi grafick podobu hierarchie tried");
- }
- virtual QCString trGotoTextualHierarchy()
- {
- return Decode("Zobrazi textov podobu hierarchie tried");
- }
- virtual QCString trPageIndex()
- {
- return Decode("Register strnok");
- }
+ /*! this text is put before a collaboration diagram */
+ virtual QCString trCollaborationDiagram(const char *clName)
+ {
+ return (QCString)"Diagram tried pre "+clName+":";
+ }
+ /*! this text is put before an include dependency graph */
+ virtual QCString trInclDepGraph(const char *fName)
+ {
+ return (QCString)"Graf závislostí na vkladaných súboroch "
+ "pre "+fName+":";
+ }
+ /*! header that is put before the list of constructor/destructors. */
+ virtual QCString trConstructorDocumentation()
+ {
+ return "Dokumentácia konštruktoru a deštruktoru";
+ }
+ /*! Used in the file documentation to point to the corresponding sources. */
+ virtual QCString trGotoSourceCode()
+ {
+ return "Zobraziť zdrojový text tohoto súboru.";
+ }
+ /*! Used in the file sources to point to the corresponding documentation. */
+ virtual QCString trGotoDocumentation()
+ {
+ return "Zobraziť dokumentáciu tohoto súboru.";
+ }
+ /*! Text for the \\pre command */
+ virtual QCString trPrecondition()
+ {
+ return "Prepodmienka";
+ }
+ /*! Text for the \\post command */
+ virtual QCString trPostcondition()
+ {
+ return "Postpodmienka";
+ }
+ /*! Text for the \\invariant command */
+ virtual QCString trInvariant()
+ {
+ return "Invariant";
+ }
+ /*! Text shown before a multi-line variable/enum initialization */
+ virtual QCString trInitialValue()
+ {
+ return "Inicializátor:";
+ }
+ /*! Text used the source code in the file index */
+ virtual QCString trCode()
+ {
+ return "zdrojový text";
+ }
+ virtual QCString trGraphicalHierarchy()
+ {
+ return "Grafické zobrazenie hierarchie tried";
+ }
+ virtual QCString trGotoGraphicalHierarchy()
+ {
+ return "Zobraziť grafickú podobu hierarchie tried";
+ }
+ virtual QCString trGotoTextualHierarchy()
+ {
+ return "Zobraziť textovú podobu hierarchie tried";
+ }
+ virtual QCString trPageIndex()
+ {
+ return "Register stránok";
+ }
//////////////////////////////////////////////////////////////////////////
// new since 1.1.0
//////////////////////////////////////////////////////////////////////////
- virtual QCString trNote()
- {
- return Decode("Poznmka");
- }
- virtual QCString trPublicTypes()
- {
- return Decode("Verejn typy");
- }
- virtual QCString trPublicAttribs()
- {
- if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
- {
- return Decode("Dtov poloky");
- }
- else
- {
- return Decode("Verejn atribty");
- }
- }
- virtual QCString trStaticPublicAttribs()
- {
- return Decode("Statick verejn atribty");
- }
- virtual QCString trProtectedTypes()
- {
- return Decode("Chrnen typy");
- }
- virtual QCString trProtectedAttribs()
- {
- return Decode("Chrnen atribty");
- }
- virtual QCString trStaticProtectedAttribs()
- {
- return Decode("Statick chrnen atribty");
- }
- virtual QCString trPrivateTypes()
- {
- return Decode("Privtne typy");
- }
- virtual QCString trPrivateAttribs()
- {
- return Decode("Privtne atribty");
- }
- virtual QCString trStaticPrivateAttribs()
- {
- return Decode("Statick privtne atribty");
- }
+ virtual QCString trNote()
+ {
+ return "Poznámka";
+ }
+ virtual QCString trPublicTypes()
+ {
+ return "Verejné typy";
+ }
+ virtual QCString trPublicAttribs()
+ {
+ if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
+ {
+ return "Dátové položky";
+ }
+ else
+ {
+ return "Verejné atribúty";
+ }
+ }
+ virtual QCString trStaticPublicAttribs()
+ {
+ return "Statické verejné atribúty";
+ }
+ virtual QCString trProtectedTypes()
+ {
+ return "Chránené typy";
+ }
+ virtual QCString trProtectedAttribs()
+ {
+ return "Chránené atribúty";
+ }
+ virtual QCString trStaticProtectedAttribs()
+ {
+ return "Statické chránené atribúty";
+ }
+ virtual QCString trPrivateTypes()
+ {
+ return "Privátne typy";
+ }
+ virtual QCString trPrivateAttribs()
+ {
+ return "Privátne atribúty";
+ }
+ virtual QCString trStaticPrivateAttribs()
+ {
+ return "Statické privátne atribúty";
+ }
//////////////////////////////////////////////////////////////////////////
// new since 1.1.3
//////////////////////////////////////////////////////////////////////////
- /*! Used as a marker that is put before a todo item */
- virtual QCString trTodo()
- {
- return Decode("Plnovan pravy");
- }
- /*! Used as the header of the todo list */
- virtual QCString trTodoList()
- {
- return Decode("Zoznam plnovanch prav");
- }
+ /*! Used as a marker that is put before a todo item */
+ virtual QCString trTodo()
+ {
+ return "Plánované úpravy";
+ }
+ /*! Used as the header of the todo list */
+ virtual QCString trTodoList()
+ {
+ return "Zoznam plánovaných úprav";
+ }
//////////////////////////////////////////////////////////////////////////
// new since 1.1.4
//////////////////////////////////////////////////////////////////////////
- virtual QCString trReferencedBy()
- {
- return Decode("Pouva sa v");
- }
- virtual QCString trRemarks()
- {
- return Decode("Poznmky"); // ??? not checked in a context
- }
- virtual QCString trAttention()
- {
- return Decode("Upozornenie"); // ??? not checked in a context
- }
- virtual QCString trInclByDepGraph()
- {
- return Decode("Nasledujci graf ukazuje, ktor sbory priamo alebo "
- "nepriamo vkladaj tento sbor:");
- }
- virtual QCString trSince()
- {
- return Decode("Od"); // ??? not checked in a context
- }
+ virtual QCString trReferencedBy()
+ {
+ return "Používa sa v";
+ }
+ virtual QCString trRemarks()
+ {
+ return "Poznámky";
+ }
+ virtual QCString trAttention()
+ {
+ return "Upozornenie";
+ }
+ virtual QCString trInclByDepGraph()
+ {
+ return "Nasledujúci graf ukazuje, ktoré súbory priamo alebo "
+ "nepriamo vkladajú tento súbor:";
+ }
+ virtual QCString trSince()
+ {
+ return "Od";
+ }
////////////////////////////////////////////////////////////////////////////
// new since 1.1.5
//////////////////////////////////////////////////////////////////////////
- /*! title of the graph legend page */
- virtual QCString trLegendTitle()
- {
- return Decode("Vysvetlivky ku grafu");
- }
- /*! page explaining how the dot graph's should be interpreted */
- virtual QCString trLegendDocs()
- {
- QCString result(
- "Tu njdete vysvetlenie, ako maj by interpretovan grafy, "
- "ktor boli generovan programom doxygen.<p>\n"
- "Uvaujte nasledujci prklad:\n"
- "\\code\n"
- "/*! Neviditeln trieda, ktor sa v grafe nezobrazuje, pretoe "
- "dolo k orezaniu grafu. */\n"
- "class Invisible { };\n\n"
- "/*! Trieda, u ktorej dolo k orezaniu grafu. Vzah dedinosti "
- "je skryt. */\n"
- "class Truncated : public Invisible { };\n\n"
- "/* Trieda, ktor nieje dokumentovan komentrmi programu doxygen. */\n"
- "class Undocumented { };\n\n"
- "/*! Odvoden trieda s verejnm (public) dedenm bzovej triedy. */\n"
- "class PublicBase : public Truncated { };\n\n"
- "/*! Odvoden trieda s chrnenm (protected) dedenm bzovej triedy. */\n"
- "/*! A template class */\n"
- "template<class T> class Templ { };\n\n"
- "class ProtectedBase { };\n\n"
- "/*! Odvoden trieda s privtnym dedenm bzovej triedy. */\n"
- "class PrivateBase { };\n\n"
- "/*! Trieda, ktor je vyuvan triedou Inherited. */\n"
- "class Used { };\n\n"
- "/*! Odvoden trieda, ktor rznym spsobom ded od viacerch bzovch "
- "tried. */\n"
- "class Inherited : public PublicBase,\n"
- " protected ProtectedBase,\n"
- " private PrivateBase,\n"
- " public Undocumented,\n"
- " public Templ<int>\n"
- "{\n"
- " private:\n"
- " Used *m_usedClass;\n"
- "};\n"
- "\\endcode\n"
- "Pokia je poloka \\c MAX_DOT_GRAPH_HEIGHT konfiguranho sboru "
- "nastaven na hodnotu 200, bude vygenerovan nasledujci graf:"
- "<p><center><img src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center>\n"
- "<p>\n"
- "Bloky (tj. uzly) v uvedenom grafe maj nasledujci vznam:\n"
- "<ul>\n"
- "<li>ierne vyplnen obdnik reprezentuje truktru alebo triedu, "
- "pre ktor bol graf generovan.\n"
- "<li>Obdnik s iernym obrysom oznauje dokumentovan "
- "truktru alebo triedu.\n"
- "<li>Obdnik so edm obrysom oznauje nedokumentovan "
- "truktru alebo triedu.\n"
- "<li>Obdnik s ervenm obrysom oznauje dokumentovan "
- "truktru alebo triedu, pre ktor\n"
- "nies zobrazen vetky vzahy dedinosti alebo obsiahnutia. "
- "Graf je orezan v prpade, kedy ho\n"
- "nieje mon umiestni do vymedzench hranc.\n"
- "</ul>\n"
- "pky (tj. hrany grafu) maj nasledujc vznam:\n"
- "<ul>\n"
- "<li>Tmavo modr pka sa pouva pre oznaenie vzahu verejnej "
- "dedinosti medzi dvoma triedami.\n"
- "<li>Tmavo zelen pka oznauje vzah chrnenej dedinosti "
- "(protected).\n"
- "<li>Tmavo erven pka oznauje vzah privtnej dedinosti.\n"
- "<li>Purpurov pka kreslen iarkovane sa pouva v prpade, "
- "ak je trieda obsiahnut v inej triede,\n"
- "alebo ak je pouvan inou triedou. Je oznaen identifiktorom "
- "jednej alebo viacerch premennch (objektov), cez ktor\n"
- "je trieda alebo truktra zprstupnena.\n"
- "</ul>\n");
-
- return Decode(result);
- }
- /*! text for the link to the legend page */
- virtual QCString trLegend()
- {
- return Decode("vysvetlivky");
- }
+ /*! title of the graph legend page */
+ virtual QCString trLegendTitle()
+ {
+ return "Vysvetlivky ku grafu";
+ }
+ /*! page explaining how the dot graph's should be interpreted */
+ virtual QCString trLegendDocs()
+ {
+ return
+ "Tu nájdete vysvetlenie, ako majú byť interpretované grafy, "
+ "ktoré boli generované programom doxygen.<p>\n"
+ "Uvažujte nasledujúci príklad:\n"
+ "\\code\n"
+ "/*! Neviditelná trieda, ktorá sa v grafe nezobrazuje, pretože "
+ "došlo k orezaniu grafu. */\n"
+ "class Invisible { };\n\n"
+ "/*! Trieda, u ktorej došlo k orezaniu grafu. Vzťah dedičnosti "
+ "je skrytý. */\n"
+ "class Truncated : public Invisible { };\n\n"
+ "/* Trieda, ktorá nieje dokumentovaná komentármi programu doxygen. */\n"
+ "class Undocumented { };\n\n"
+ "/*! Odvodená trieda s verejným (public) dedením bázovej triedy. */\n"
+ "class PublicBase : public Truncated { };\n\n"
+ "/*! Šablóna triedy. */\n"
+ "template<class T> class Templ { };\n\n"
+ "/*! Odvodená trieda s chráneným (protected) dedením bázovej triedy. */\n"
+ "class ProtectedBase { };\n\n"
+ "/*! Odvodená trieda s privátnym dedením bázovej triedy. */\n"
+ "class PrivateBase { };\n\n"
+ "/*! Trieda, ktorá je využívaná triedou Inherited. */\n"
+ "class Used { };\n\n"
+ "/*! Odvodená trieda, ktorá rôznym spôsobom dedí od viacerých bázových "
+ "tried. */\n"
+ "class Inherited : public PublicBase,\n"
+ " protected ProtectedBase,\n"
+ " private PrivateBase,\n"
+ " public Undocumented,\n"
+ " public Templ<int>\n"
+ "{\n"
+ " private:\n"
+ " Used *m_usedClass;\n"
+ "};\n"
+ "\\endcode\n"
+ "K vyššie uvedenému bude vygenerovaný nasledujúci graf:"
+ "<p><center><img src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center>\n"
+ "<p>\n"
+ "Bloky (tj. uzly) v uvedenom grafe majú nasledujúci význam:\n"
+ "<ul>\n"
+ "<li>Čierne vyplnený obdĺžnik reprezentuje štruktúru alebo triedu, "
+ "pre ktorú bol graf generovaný.\n"
+ "<li>Obdĺžnik s čiernym obrysom označuje dokumentovanú "
+ "štruktúru alebo triedu.\n"
+ "<li>Obdĺžnik so šedým obrysom označuje nedokumentovanú "
+ "štruktúru alebo triedu.\n"
+ "<li>Obdĺžnik s červeným obrysom označuje dokumentovanú "
+ "štruktúru alebo triedu, pre ktorú\n"
+ "niesú zobrazené všetky vzťahy dedičnosti alebo obsiahnutia. "
+ "Graf je orezaný v prípade, kedy ho\n"
+ "nieje možné umiestniť do vymedzených hraníc.\n"
+ "</ul>\n"
+ "Šípky (tj. hrany grafu) majú nasledujúcí význam:\n"
+ "<ul>\n"
+ "<li>Tmavo modrá šípka sa používa pre označenie vzťahu verejnej "
+ "dedičnosti medzi dvoma triedami.\n"
+ "<li>Tmavo zelená šípka označuje vzťah chránenej dedičnosti "
+ "(protected).\n"
+ "<li>Tmavo červená šípka označuje vzťah privátnej dedičnosti.\n"
+ "<li>Purpurová šípka kreslená čiarkovane sa používa v prípade, "
+ "ak je trieda obsiahnutá v inej triede,\n"
+ "alebo ak je používaná inou triedou. Je označená identifikátorom "
+ "jednej alebo viacerých premenných (objektov), cez ktoré\n"
+ "je trieda alebo štruktúra zprístupnena.\n"
+ "</ul>\n";
+ }
+ /*! text for the link to the legend page */
+ virtual QCString trLegend()
+ {
+ return "vysvetlivky";
+ }
//////////////////////////////////////////////////////////////////////////
// new since 1.2.0
//////////////////////////////////////////////////////////////////////////
- /*! Used as a marker that is put before a test item */
- virtual QCString trTest()
- {
- return Decode("Test");
- }
+ /*! Used as a marker that is put before a test item */
+ virtual QCString trTest()
+ {
+ return "Test";
+ }
- /*! Used as the header of the test list */
- virtual QCString trTestList()
- {
- return Decode("Zoznam testov");
- }
+ /*! Used as the header of the test list */
+ virtual QCString trTestList()
+ {
+ return "Zoznam testov";
+ }
//////////////////////////////////////////////////////////////////////////
// new since 1.2.1
//////////////////////////////////////////////////////////////////////////
- /*! Used as a section header for KDE-2 IDL methods */
- virtual QCString trDCOPMethods()
- {
- return Decode("Metdy DCOP");
- }
+ /*! Used as a section header for KDE-2 IDL methods */
+ virtual QCString trDCOPMethods()
+ {
+ return "Metódy DCOP";
+ }
//////////////////////////////////////////////////////////////////////////
// new since 1.2.2
//////////////////////////////////////////////////////////////////////////
- /*! Used as a section header for IDL properties */
- virtual QCString trProperties()
- {
- return Decode("Vlastnosti");
- }
- /*! Used as a section header for IDL property documentation */
- virtual QCString trPropertyDocumentation()
- {
- return Decode("Dokumentcia k vlastnosti");
- }
+ /*! Used as a section header for IDL properties */
+ virtual QCString trProperties()
+ {
+ return "Vlastnosti";
+ }
+ /*! Used as a section header for IDL property documentation */
+ virtual QCString trPropertyDocumentation()
+ {
+ return "Dokumentácia k vlastnosti";
+ }
//////////////////////////////////////////////////////////////////////////
// new since 1.2.4
//////////////////////////////////////////////////////////////////////////
- /*! Used for Java interfaces in the summary section of Java packages */
- virtual QCString trInterfaces()
- {
- return Decode("Rozhranie");
- }
- /*! Used for Java classes in the summary section of Java packages */
- virtual QCString trClasses()
- {
- return Decode("Triedy");
- }
- /*! Used as the title of a Java package */
- virtual QCString trPackage(const char *name)
- {
- return Decode((QCString)"Balk "+name);
- }
- /*! Title of the package index page */
- virtual QCString trPackageList()
- {
- return Decode("Zoznam balkov");
- }
- /*! The description of the package index page */
- virtual QCString trPackageListDescription()
- {
- return Decode("Tu njdete zoznam balkov so strunm popisom "
- "(pokia bol uveden):");
- }
- /*! The link name in the Quick links header for each page */
- virtual QCString trPackages()
- {
- return Decode("Balky");
- }
- /*! Used as a chapter title for Latex & RTF output */
- virtual QCString trPackageDocumentation()
- {
- return Decode("Dokumentcia balku");
- }
- /*! Text shown before a multi-line define */
- virtual QCString trDefineValue()
- {
- return Decode("Hodnota:");
- }
+ /*! Used for Java classes in the summary section of Java packages */
+ virtual QCString trClasses()
+ {
+ return "Triedy";
+ }
+ /*! Used as the title of a Java package */
+ virtual QCString trPackage(const char *name)
+ {
+ return (QCString)"Balík "+name;
+ }
+ /*! Title of the package index page */
+ virtual QCString trPackageList()
+ {
+ return "Zoznam balíkov";
+ }
+ /*! The description of the package index page */
+ virtual QCString trPackageListDescription()
+ {
+ return "Tu nájdete zoznam balíkov so stručným popisom "
+ "(pokiaľ bol uvedený):";
+ }
+ /*! The link name in the Quick links header for each page */
+ virtual QCString trPackages()
+ {
+ return "Balíky";
+ }
+ /*! Text shown before a multi-line define */
+ virtual QCString trDefineValue()
+ {
+ return "Hodnota:";
+ }
//////////////////////////////////////////////////////////////////////////
// new since 1.2.5
//////////////////////////////////////////////////////////////////////////
- /*! Used as a marker that is put before a \\bug item */
- virtual QCString trBug()
- {
- return Decode("Chyba");
- }
- /*! Used as the header of the bug list */
- virtual QCString trBugList()
- {
- return Decode("Zoznam chb");
- }
+ /*! Used as a marker that is put before a \\bug item */
+ virtual QCString trBug()
+ {
+ return "Chyba";
+ }
+ /*! Used as the header of the bug list */
+ virtual QCString trBugList()
+ {
+ return "Zoznam chýb";
+ }
//////////////////////////////////////////////////////////////////////////
// new since 1.2.6-20010422
//////////////////////////////////////////////////////////////////////////
- /*! Used as ansicpg for RTF file */
- virtual QCString trRTFansicp()
- {
- return "1250";
- }
-
- /*! Used as ansicpg for RTF fcharset */
- virtual QCString trRTFCharSet()
- {
- return "3";
- }
-
- /*! Used as header RTF general index */
- virtual QCString trRTFGeneralIndex()
- {
- return "Index";
- }
-
- /*! This is used for translation of the word that will possibly
- * be followed by a single name or by a list of names
- * of the category.
- */
- virtual QCString trClass(bool first_capital, bool singular)
- {
- QCString result((first_capital ? "Tried" : "tried"));
- result+=(singular ? "a" : "y");
- return Decode(result);
- }
-
- /*! This is used for translation of the word that will possibly
- * be followed by a single name or by a list of names
- * of the category.
- */
- virtual QCString trFile(bool first_capital, bool singular)
- {
- QCString result((first_capital ? "Sbor" : "sbor"));
- if (!singular) result+="y";
- return Decode(result);
- }
-
- /*! This is used for translation of the word that will possibly
- * be followed by a single name or by a list of names
- * of the category.
- */
- virtual QCString trNamespace(bool first_capital, bool singular)
- {
- QCString result((first_capital ? "Priestor" : "priestor"));
- if (!singular) result+="y";
- result+=" mien";
- return Decode(result);
- }
-
- /*! This is used for translation of the word that will possibly
- * be followed by a single name or by a list of names
- * of the category.
- */
- virtual QCString trGroup(bool first_capital, bool singular)
- {
- QCString result((first_capital ? "Skupin" : "skupin"));
- result+=(singular ? "a" : "y");
- return Decode(result);
- }
-
- /*! This is used for translation of the word that will possibly
- * be followed by a single name or by a list of names
- * of the category.
- */
- virtual QCString trPage(bool first_capital, bool singular)
- {
- QCString result((first_capital ? "Strnk" : "strnk"));
- result+=(singular ? "a" : "y");
- return Decode(result);
- }
-
- /*! This is used for translation of the word that will possibly
- * be followed by a single name or by a list of names
- * of the category.
- */
- virtual QCString trMember(bool first_capital, bool singular)
- {
- QCString result((first_capital ? "len" : "len"));
- if (!singular) result+="y";
- return Decode(result);
- }
-
- /*! This is used for translation of the word that will possibly
- * be followed by a single name or by a list of names
- * of the category.
- */
- virtual QCString trField(bool first_capital, bool singular)
- {
- QCString result((first_capital ? "Polok" : "polok"));
- result+=(singular ? "a" : "y");
- return Decode(result);
- }
-
- /*! This is used for translation of the word that will possibly
- * be followed by a single name or by a list of names
- * of the category.
- */
- virtual QCString trGlobal(bool first_capital, bool singular)
- {
- QCString result((first_capital ? "Globln" : "globln"));
- result+=(singular ? "y" : "e");
- return result;
- }
+ /*! Used as ansicpg for RTF file */
+ virtual QCString trRTFansicp()
+ {
+ return "1250";
+ }
+
+ /*! Used as ansicpg for RTF fcharset */
+ virtual QCString trRTFCharSet()
+ {
+ return "3";
+ }
+
+ /*! Used as header RTF general index */
+ virtual QCString trRTFGeneralIndex()
+ {
+ return "Index";
+ }
+
+ /*! This is used for translation of the word that will possibly
+ * be followed by a single name or by a list of names
+ * of the category.
+ */
+ virtual QCString trClass(bool first_capital, bool singular)
+ {
+ QCString result((first_capital ? "Tried" : "tried"));
+ result+=(singular ? "a" : "y");
+ return result;
+ }
+
+ /*! This is used for translation of the word that will possibly
+ * be followed by a single name or by a list of names
+ * of the category.
+ */
+ virtual QCString trFile(bool first_capital, bool singular)
+ {
+ QCString result((first_capital ? "Súbor" : "súbor"));
+ if (!singular) result+="y";
+ return result;
+ }
+
+ /*! This is used for translation of the word that will possibly
+ * be followed by a single name or by a list of names
+ * of the category.
+ */
+ virtual QCString trNamespace(bool first_capital, bool singular)
+ {
+ QCString result((first_capital ? "Priestor" : "priestor"));
+ if (!singular) result+="y";
+ result+=" mien";
+ return result;
+ }
+
+ /*! This is used for translation of the word that will possibly
+ * be followed by a single name or by a list of names
+ * of the category.
+ */
+ virtual QCString trGroup(bool first_capital, bool singular)
+ {
+ QCString result((first_capital ? "Skupin" : "skupin"));
+ result+=(singular ? "a" : "y");
+ return result;
+ }
+
+ /*! This is used for translation of the word that will possibly
+ * be followed by a single name or by a list of names
+ * of the category.
+ */
+ virtual QCString trPage(bool first_capital, bool singular)
+ {
+ QCString result((first_capital ? "Stránk" : "stránk"));
+ result+=(singular ? "a" : "y");
+ return result;
+ }
+
+ /*! This is used for translation of the word that will possibly
+ * be followed by a single name or by a list of names
+ * of the category.
+ */
+ virtual QCString trMember(bool first_capital, bool singular)
+ {
+ QCString result((first_capital ? "Člen" : "člen"));
+ if (!singular) result+="y";
+ return result;
+ }
+
+ /*! This is used for translation of the word that will possibly
+ * be followed by a single name or by a list of names
+ * of the category.
+ */
+ virtual QCString trGlobal(bool first_capital, bool singular)
+ {
+ QCString result((first_capital ? "Globáln" : "globáln"));
+ result+=(singular ? "y" : "e");
+ return result;
+ }
//////////////////////////////////////////////////////////////////////////
// new since 1.2.7
//////////////////////////////////////////////////////////////////////////
- /*! This text is generated when the \\author command is used and
- * for the author section in man pages. */
- virtual QCString trAuthor(bool first_capital, bool singular)
- {
- QCString result((first_capital ? "Auto" : "auto"));
- result += (singular) ? "r" : "ri";
- return result;
- }
+ /*! This text is generated when the \\author command is used and
+ * for the author section in man pages. */
+ virtual QCString trAuthor(bool first_capital, bool singular)
+ {
+ QCString result((first_capital ? "Auto" : "auto"));
+ result += (singular) ? "r" : "ri";
+ return result;
+ }
//////////////////////////////////////////////////////////////////////////
// new since 1.2.11
//////////////////////////////////////////////////////////////////////////
- /*! This text is put before the list of members referenced by a member
- */
- virtual QCString trReferences()
- {
- return Decode("Odkazuje sa na");
- }
+ /*! This text is put before the list of members referenced by a member
+ */
+ virtual QCString trReferences()
+ {
+ return "Odkazuje sa na";
+ }
//////////////////////////////////////////////////////////////////////////
// new since 1.2.13
//////////////////////////////////////////////////////////////////////////
- /*! used in member documentation blocks to produce a list of
- * members that are implemented by this one.
- */
- virtual QCString trImplementedFromList(int numEntries)
- {
- return "Implementuje " + trWriteList(numEntries) + ".";
- }
-
- /*! used in member documentation blocks to produce a list of
- * all members that implement this member.
- */
- virtual QCString trImplementedInList(int numEntries)
- {
- return Decode("Implementovan v " + trWriteList(numEntries) + ".");
- }
+ /*! used in member documentation blocks to produce a list of
+ * members that are implemented by this one.
+ */
+ virtual QCString trImplementedFromList(int numEntries)
+ {
+ return "Implementuje " + trWriteList(numEntries) + ".";
+ }
+
+ /*! used in member documentation blocks to produce a list of
+ * all members that implement this member.
+ */
+ virtual QCString trImplementedInList(int numEntries)
+ {
+ return "Implementované v " + trWriteList(numEntries) + ".";
+ }
//////////////////////////////////////////////////////////////////////////
// new since 1.2.16
//////////////////////////////////////////////////////////////////////////
- /*! used in RTF documentation as a heading for the Table
- * of Contents.
- */
- virtual QCString trRTFTableOfContents()
- {
- return "Obsah";
- }
+ /*! used in RTF documentation as a heading for the Table
+ * of Contents.
+ */
+ virtual QCString trRTFTableOfContents()
+ {
+ return "Obsah";
+ }
//////////////////////////////////////////////////////////////////////////
// new since 1.2.17
//////////////////////////////////////////////////////////////////////////
- /*! Used as the header of the list of item that have been
- * flagged deprecated
- */
- virtual QCString trDeprecatedList()
- {
- return "Zastaran metdy";
- }
+ /*! Used as the header of the list of item that have been
+ * flagged deprecated
+ */
+ virtual QCString trDeprecatedList()
+ {
+ return "Zastarané metódy";
+ }
+
+//////////////////////////////////////////////////////////////////////////
+// new since 1.2.18
+//////////////////////////////////////////////////////////////////////////
+
+ /*! Used as a header for declaration section of the events found in
+ * a C# program
+ */
+ virtual QCString trEvents()
+ {
+ return "Udalosti";
+ }
+ /*! Header used for the documentation section of a class' events. */
+ virtual QCString trEventDocumentation()
+ {
+ return "Dokumentácia udalostí";
+ }
+
+//////////////////////////////////////////////////////////////////////////
+// new since 1.3
+//////////////////////////////////////////////////////////////////////////
+
+ /*! Used as a heading for a list of Java class types with package scope.
+ */
+ virtual QCString trPackageTypes()
+ {
+ return "Typy v balíku";
+ }
+ /*! Used as a heading for a list of Java class functions with package
+ * scope.
+ */
+ virtual QCString trPackageMembers()
+ {
+ return "Funkcie v balíku";
+ }
+ /*! Used as a heading for a list of static Java class functions with
+ * package scope.
+ */
+ virtual QCString trStaticPackageMembers()
+ {
+ return "Statické funkcie v balíku";
+ }
+ /*! Used as a heading for a list of Java class variables with package
+ * scope.
+ */
+ virtual QCString trPackageAttribs()
+ {
+ return "Atribúty balíku";
+ }
+ /*! Used as a heading for a list of static Java class variables with
+ * package scope.
+ */
+ virtual QCString trStaticPackageAttribs()
+ {
+ return "Statické atribúty balíku";
+ }
+
+//////////////////////////////////////////////////////////////////////////
+// new since 1.3.1
+//////////////////////////////////////////////////////////////////////////
+
+ /*! Used in the quick index of a class/file/namespace member list page
+ * to link to the unfiltered list of all members.
+ */
+ virtual QCString trAll()
+ {
+ return "Všetko";
+ }
+ /*! Put in front of the call graph for a function. */
+ virtual QCString trCallGraph()
+ {
+ return "Táto funkcia volá...";
+ }
+
+//////////////////////////////////////////////////////////////////////////
+// new since 1.3.3
+//////////////////////////////////////////////////////////////////////////
+
+ /*! When the search engine is enabled this text is put in the index
+ * of each page before the search field.
+ */
+ virtual QCString trSearchForIndex()
+ {
+ return "Vyhľadať";
+ }
+ /*! This string is used as the title for the page listing the search
+ * results.
+ */
+ virtual QCString trSearchResultsTitle()
+ {
+ return "Výsledky vyhľadávania";
+ }
+ /*! This string is put just before listing the search results. The
+ * text can be different depending on the number of documents found.
+ * Inside the text you can put the special marker $num to insert
+ * the number representing the actual number of search results.
+ * The @a numDocuments parameter can be either 0, 1 or 2, where the
+ * value 2 represents 2 or more matches. HTML markup is allowed inside
+ * the returned string.
+ */
+ virtual QCString trSearchResults(int numDocuments)
+ {
+ if (numDocuments==0)
+ {
+ return "Ľutujem. Vášmu dotazu neodpovedá žiadny dokument.";
+ }
+ else if (numDocuments==1)
+ {
+ return "Bol nájdený jediný dokument, ktorý vyhovuje vášmu dotazu.";
+ }
+ else
+ {
+ return "Bolo nájdených <b>$num</b> dokumentov, ktoré vyhovujú vášmu "
+ "dotazu. Najviac odpovedajúce dokumenty sú ako prvé.";
+ }
+ }
+ /*! This string is put before the list of matched words, for each search
+ * result. What follows is the list of words that matched the query.
+ */
+ virtual QCString trSearchMatches()
+ {
+ return "Nájdené slová:";
+ }
+
+//////////////////////////////////////////////////////////////////////////
+// new since 1.3.8
+//////////////////////////////////////////////////////////////////////////
+
+ /*! This is used in HTML as the title of page with source code for file filename
+ */
+ virtual QCString trSourceFile(QCString& filename)
+ {
+ return QCString("Zdrojový súbor ") + filename;
+ }
+
+
+//////////////////////////////////////////////////////////////////////////
+// new since 1.3.9
+//////////////////////////////////////////////////////////////////////////
+
+
+ /*! This is used as the name of the chapter containing the directory
+ * hierarchy.
+ */
+ virtual QCString trDirIndex()
+ { return "Hierarchia adresárov"; }
+
+ /*! This is used as the name of the chapter containing the documentation
+ * of the directories.
+ */
+ virtual QCString trDirDocumentation()
+ { return "Dokumentácia k adresárom"; }
+
+ /*! This is used as the title of the directory index and also in the
+ * Quick links of a HTML page, to link to the directory hierarchy.
+ */
+ virtual QCString trDirectories()
+ { return "Adresáre"; }
+
+ /*! This returns a sentences that introduces the directory hierarchy.
+ * and the fact that it is sorted alphabetically per level
+ */
+ virtual QCString trDirDescription()
+ {
+ return "Následujúca hierarchia adresárov je zhruba, "
+ "ale nie úplne, zoradená podľa abecedy:";
+ }
+
+ /*! This returns the title of a directory page. The name of the
+ * directory is passed via \a dirName.
+ */
+ virtual QCString trDirReference(const char *dirName)
+ {
+ QCString result = "Referencia k adresáru ";
+ result += dirName;
+ return result;
+ }
+
+ /*! This returns the word directory with or without starting capital
+ * (\a first_capital) and in sigular or plural form (\a singular).
+ */
+ virtual QCString trDir(bool first_capital, bool singular)
+ {
+ QCString result((first_capital ? "Adresár" : "adresár"));
+ if ( ! singular)
+ result += "e";
+ return result;
+ }
+
+//////////////////////////////////////////////////////////////////////////
+// new since 1.4.1
+//////////////////////////////////////////////////////////////////////////
+
+ /*! This text is added to the documentation when the \\overload command
+ * is used for a overloaded function.
+ */
+ virtual QCString trOverloadText()
+ {
+ return "Ide o preťaženú (overloaded) metódu, "
+ "ktorá má uľahčiť používanie. Od vyššie uvedenej metódy sa odlišuje "
+ "iba inak zadávanými argumentami.";
+ }
+
+//////////////////////////////////////////////////////////////////////////
+// new since 1.4.6
+//////////////////////////////////////////////////////////////////////////
+
+ virtual QCString trCallerGraph()
+ { return "Túto funkciu volajú..."; }
+
+
+ /*! This is used in the documentation of a file/namespace before the list
+ * of documentation blocks for enumeration values
+ */
+ virtual QCString trEnumerationValueDocumentation()
+ { return "Dokumentácia enumeračných hodnôt"; }
+
+
+//////////////////////////////////////////////////////////////////////////
+// new since 1.5.4 (mainly for Fortran)
+//////////////////////////////////////////////////////////////////////////
+
+ /*! header that is put before the list of member subprograms (Fortran). */
+ virtual QCString trMemberFunctionDocumentationFortran()
+ { return "Dokumentácia členských funkcií/podprogramov"; }
+
+ /*! This is put above each page as a link to the list of annotated data types (Fortran). */
+ virtual QCString trCompoundListFortran()
+ { return "Zoznam dátových typov"; }
+
+ /*! This is put above each page as a link to all members of compounds (Fortran). */
+ virtual QCString trCompoundMembersFortran()
+ { return "Dátové polia"; }
+
+ /*! This is an introduction to the annotated compound list (Fortran). */
+ virtual QCString trCompoundListDescriptionFortran()
+ { return "Dátové typy so stručnými popismi:"; }
+
+ /*! This is an introduction to the page with all data types (Fortran). */
+ virtual QCString trCompoundMembersDescriptionFortran(bool extractAll)
+ {
+
+ QCString result="Nasleduje zoznam všetkých ";
+ if (!extractAll)
+ {
+ result+="dokumentovaných ";
+ }
+ result+="zložiek dátových typov";
+ result+=" s odkazmi na ";
+ if (!extractAll)
+ {
+ result+="dokumentáciu dátovej štruktúry pre každú zložku:";
+ }
+ else
+ {
+ result+="příslušné dátové typy:";
+ }
+ return result;
+ }
+
+ /*! This is used in LaTeX as the title of the chapter with the
+ * annotated compound index (Fortran).
+ */
+ virtual QCString trCompoundIndexFortran()
+ { return "Register dátových typov"; }
+
+ /*! This is used in LaTeX as the title of the chapter containing
+ * the documentation of all data types (Fortran).
+ */
+ virtual QCString trTypeDocumentation()
+ { return "Dokumentácia k dátovým typom"; }
+
+ /*! This is used in the documentation of a file as a header before the
+ * list of (global) subprograms (Fortran).
+ */
+ virtual QCString trSubprograms()
+ { return "Funkcie/podprogramy"; }
+
+ /*! This is used in the documentation of a file/namespace before the list
+ * of documentation blocks for subprograms (Fortran)
+ */
+ virtual QCString trSubprogramDocumentation()
+ { return "Dokumentácia funkcie/podprogramu"; }
+
+ /*! This is used in the documentation of a file/namespace/group before
+ * the list of links to documented compounds (Fortran)
+ */
+ virtual QCString trDataTypes()
+ { return "Dátové typy"; }
+
+ /*! used as the title of page containing all the index of all modules (Fortran). */
+ virtual QCString trModulesList()
+ { return "Zoznam modulov"; }
+
+ /*! used as an introduction to the modules list (Fortran) */
+ virtual QCString trModulesListDescription(bool extractAll)
+ {
+ QCString result="Nasleduje zoznam všetkých ";
+ if (!extractAll) result+="dokumentovaných ";
+ result+="modulov so stručnými popismi:";
+ return result;
+ }
+
+ /*! used as the title of the HTML page of a module/type (Fortran) */
+ virtual QCString trCompoundReferenceFortran(const char *clName,
+ ClassDef::CompoundType compType,
+ bool isTemplate)
+ {
+ QCString result("Dokumentácia ");
+ if (isTemplate) result += "šablóny ";
+ switch(compType)
+ {
+ case ClassDef::Class: result += "triedy "; break;
+ case ClassDef::Struct: result += "typu "; break;
+ case ClassDef::Union: result += "únie "; break;
+ case ClassDef::Interface: result += "rozhrania "; break;
+ case ClassDef::Protocol: result += "protokolu "; break;
+ case ClassDef::Category: result += "kategórie "; break;
+ case ClassDef::Exception: result += "výnimky "; break;
+ }
+ result += clName;
+ return result;
+
+ }
+ /*! used as the title of the HTML page of a module (Fortran) */
+ virtual QCString trModuleReference(const char *namespaceName)
+ {
+ QCString result="Dokumentácia modulu ";
+ result += namespaceName;
+ return result;
+ }
+
+ /*! This is put above each page as a link to all members of modules. (Fortran) */
+ virtual QCString trModulesMembers()
+ { return "Časti modulu"; }
+
+ /*! This is an introduction to the page with all modules members (Fortran) */
+ virtual QCString trModulesMemberDescription(bool extractAll)
+ {
+ QCString result="Nasleduje zoznam všetkých ";
+ if (!extractAll) result+="dokumentovaných ";
+ result+="častí modulov s odkazmi ";
+ if (extractAll)
+ {
+ result+="na dokumentáciu modulov pre danú časť:";
+ }
+ else
+ {
+ result+="na moduly, ku ktorým časť patrí:";
+ }
+ return result;
+ }
+
+ /*! This is used in LaTeX as the title of the chapter with the
+ * index of all modules (Fortran).
+ */
+ virtual QCString trModulesIndex()
+ { return "Register modulov"; }
+
+ /*! This is used for translation of the word that will possibly
+ * be followed by a single name or by a list of names
+ * of the category.
+ */
+ virtual QCString trModule(bool first_capital, bool singular)
+ {
+ QCString result((first_capital ? "Modul" : "modul"));
+ if (!singular) result+="y";
+ return result;
+ }
+ /*! This is put at the bottom of a module documentation page and is
+ * followed by a list of files that were used to generate the page.
+ */
+ virtual QCString trGeneratedFromFilesFortran(ClassDef::CompoundType compType,
+ bool single)
+ { // here s is one of " Module", " Struct" or " Union"
+ // single is true implies a single file
+ QCString result=(QCString)"Dokumentácia ";
+ switch(compType)
+ {
+ case ClassDef::Class: result+="k tomuto modulu"; break;
+ case ClassDef::Struct: result+="k tomuto typu"; break;
+ case ClassDef::Union: result+="k tejto únii"; break;
+ case ClassDef::Interface: result+="k tomuto rozhraniu"; break;
+ case ClassDef::Protocol: result+="k tomuto protokolu"; break;
+ case ClassDef::Category: result+="k tejto kategórii"; break;
+ case ClassDef::Exception: result+="k tejto výnimke"; break;
+ }
+ result+=" bola vygenerovaná z ";
+ if (single) result+="nasledujúceho súboru:";
+ else result+="nasledujúcich súborov:";
+ return result;
+ }
+ /*! This is used for translation of the word that will possibly
+ * be followed by a single name or by a list of names
+ * of the category.
+ */
+ virtual QCString trType(bool first_capital, bool singular)
+ {
+ QCString result((first_capital ? "Typ" : "typ"));
+ if (!singular) result+="y";
+ return result;
+ }
+ /*! This is used for translation of the word that will possibly
+ * be followed by a single name or by a list of names
+ * of the category.
+ */
+ virtual QCString trSubprogram(bool first_capital, bool singular)
+ {
+ QCString result((first_capital ? "Podprogram" : "podprogram"));
+ if (!singular) result+="y";
+ return result;
+ }
+
+ /*! C# Type Contraint list */
+ virtual QCString trTypeConstraints()
+ {
+ return "Obmedzenie typov (Type Constraints)";
+ }
+
+//////////////////////////////////////////////////////////////////////////
+// new since 1.6.0 (mainly for the new search engine)
+//////////////////////////////////////////////////////////////////////////
+
+ /*! directory relation for \a name */
+ virtual QCString trDirRelation(const char *name)
+ {
+ return "Relácia " + QCString(name);
+ }
+
+ /*! Loading message shown when loading search results */
+ virtual QCString trLoading()
+ {
+ return "Načítam...";
+ }
+
+ /*! Label used for search results in the global namespace */
+ virtual QCString trGlobalNamespace()
+ {
+ return "Globálny priestor mien";
+ }
+
+ /*! Message shown while searching */
+ virtual QCString trSearching()
+ {
+ return "Vyhľadávam...";
+ }
+
+ /*! Text shown when no search results are found */
+ virtual QCString trNoMatches()
+ {
+ return "Nič sa nenašlo";
+ }
+
+//////////////////////////////////////////////////////////////////////////
+// new since 1.6.3 (missing items for the directory pages)
+//////////////////////////////////////////////////////////////////////////
+
+ /*! introduction text for the directory dependency graph */
+ virtual QCString trDirDependency(const char *name)
+ {
+ return (QCString)"Graf závislosti adresárov pre "+name;
+ }
+
+ /*! when clicking a directory dependency label, a page with a
+ * table is shown. The heading for the first column mentions the
+ * source file that has a relation to another file.
+ */
+ virtual QCString trFileIn(const char *name)
+ {
+ return (QCString)"Súbor v "+name;
+ }
+
+ /*! when clicking a directory dependency label, a page with a
+ * table is shown. The heading for the second column mentions the
+ * destination file that is included.
+ */
+ virtual QCString trIncludesFileIn(const char *name)
+ {
+ return (QCString)"Vkladá (include) súbor z "+name;
+ }
+
+ /** Compiles a date string.
+ * @param year Year in 4 digits
+ * @param month Month of the year: 1=January
+ * @param day Day of the Month: 1..31
+ * @param dayOfWeek Day of the week: 1=Monday..7=Sunday
+ * @param hour Hour of the day: 0..23
+ * @param minutes Minutes in the hour: 0..59
+ * @param seconds Seconds within the minute: 0..59
+ * @param includeTime Include time in the result string?
+ */
+ virtual QCString trDateTime(int year,int month,int day,int dayOfWeek,
+ int hour,int minutes,int seconds,
+ bool includeTime)
+ {
+ static const char *days[] = { "po","ut","st","št","pi","so","ne" };
+ static const char *months[] = { "jan","feb","mar","apr","máj","jún","júl","aug","sep","okt","nov","dec" };
+ QCString sdate;
+ sdate.sprintf("%s %d. %s %d",days[dayOfWeek-1],day,months[month-1],year);
+ if (includeTime)
+ {
+ QCString stime;
+ stime.sprintf(" %.2d.%.2d:%.2d",hour,minutes,seconds);
+ sdate+=stime;
+ }
+ return sdate;
+ }
+
};
#endif // TRANSLATOR_SK_H
diff --git a/src/util.cpp b/src/util.cpp
index 2a288e4..31c8cf7 100644
--- a/src/util.cpp
+++ b/src/util.cpp
@@ -4131,13 +4131,18 @@ bool resolveRef(/* in */ const char *scName,
)
{
QCString tsName = name;
- bool memberScopeFirst = tsName.find('#')!=-1;
+ //bool memberScopeFirst = tsName.find('#')!=-1;
QCString fullName = substitute(tsName,"#","::");
fullName = removeRedundantWhiteSpace(substitute(fullName,".","::"));
int bracePos=fullName.findRev('('); // reverse is needed for operator()(...)
int endNamePos=bracePos!=-1 ? bracePos : fullName.length();
int scopePos=fullName.findRev("::",endNamePos);
+ bool explicitScope = fullName.left(2)=="::" && // ::scope or #scope
+ (scopePos>2 || // ::N::A
+ tsName.left(2)=="::" || // ::foo in local scope
+ scName==0 // #foo in global scope
+ );
// default result values
*resContext=0;
@@ -4184,6 +4189,7 @@ bool resolveRef(/* in */ const char *scName,
// extract userscope+name
QCString nameStr=fullName.left(endNamePos);
+ if (explicitScope) nameStr=nameStr.mid(2);
// extract arguments
QCString argsStr;
@@ -4222,7 +4228,8 @@ bool resolveRef(/* in */ const char *scName,
// scopeStr.data(),nameStr.data(),argsStr.data(),checkScope);
if (getDefs(scopeStr,nameStr,argsStr,
md,cd,fd,nd,gd,
- scopePos==0 && !memberScopeFirst, // forceEmptyScope
+ //scopePos==0 && !memberScopeFirst, // forceEmptyScope
+ explicitScope, // replaces prev line due to bug 600829
currentFile,
TRUE // checkCV
)
@@ -6375,7 +6382,7 @@ g_lang2extMap[] =
{ "idl", "c", SrcLangExt_IDL },
{ "java", "c", SrcLangExt_Java },
{ "javascript", "c", SrcLangExt_JS },
- { "c#", "c", SrcLangExt_CSharp },
+ { "csharp", "c", SrcLangExt_CSharp },
{ "d", "c", SrcLangExt_D },
{ "php", "c", SrcLangExt_PHP },
{ "objective-c", "c", SrcLangExt_ObjC },
@@ -6432,7 +6439,7 @@ void initDefaultExtensionMapping()
updateLanguageMapping(".java", "java");
updateLanguageMapping(".as", "javascript");
updateLanguageMapping(".js", "javascript");
- updateLanguageMapping(".cs", "c#");
+ updateLanguageMapping(".cs", "csharp");
updateLanguageMapping(".d", "d");
updateLanguageMapping(".php", "php");
updateLanguageMapping(".php4", "php");
@@ -7017,7 +7024,7 @@ QCString externalRef(const QCString &relPath,const QCString &ref,bool href)
result.prepend(relPath);
}
if (!href) result.prepend("doxygen=\""+ref+":");
- if (l>0 && !result.at(l-1)!='/') result+='/';
+ if (l>0 && result.at(l-1)!='/') result+='/';
if (!href) result.append("\" ");
}
}
diff --git a/winbuild/qtools.vcproj b/winbuild/qtools.vcproj
index 73d91da..6c11c85 100644
--- a/winbuild/qtools.vcproj
+++ b/winbuild/qtools.vcproj
@@ -46,7 +46,7 @@
OmitFramePointers="true"
WholeProgramOptimization="true"
AdditionalIncludeDirectories="..\qtools"
- PreprocessorDefinitions="QT_NO_CODECS;WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_DEPRECATE"
+ PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_DEPRECATE"
StringPooling="true"
RuntimeLibrary="0"
EnableFunctionLevelLinking="true"
@@ -121,7 +121,7 @@
AdditionalOptions=""
Optimization="0"
AdditionalIncludeDirectories="..\qtools"
- PreprocessorDefinitions="QT_NO_CODECS;WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_DEPRECATE"
+ PreprocessorDefinitions="WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_DEPRECATE"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
@@ -702,6 +702,10 @@
>
</File>
<File
+ RelativePath="..\qtools\qutfcodec.cpp"
+ >
+ </File>
+ <File
RelativePath="..\qtools\qwaitcondition_win32.cpp"
>
</File>
@@ -935,6 +939,10 @@
>
</File>
<File
+ RelativePath="..\qtools\qutfcodec.h"
+ >
+ </File>
+ <File
RelativePath="..\qtools\qvaluelist.h"
>
</File>