Skip to content

Commit

Permalink
Build fixes and translation updates
Browse files Browse the repository at this point in the history
  • Loading branch information
jmbowman committed Mar 6, 2004
1 parent a8e970c commit 6a05821
Show file tree
Hide file tree
Showing 85 changed files with 4,608 additions and 4,765 deletions.
7 changes: 7 additions & 0 deletions CHANGES
Original file line number Diff line number Diff line change
@@ -1,3 +1,10 @@
2004-03-05 JMB Zaurus build fixes, translation file updates

Fixed some places where compilation for the Zaurus broke during the
process of desktop version development. Also updated all the UI
translation files with the current set of messages used so that they
are ready for the translators to prepare for the version 1.9 release.

2004-02-27 JMB Localization improvements

Made several changes that let PortaBase work better for non-English
Expand Down
75 changes: 46 additions & 29 deletions INSTALL
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,10 @@ will need the following:
Metakit Compilation
-------------------
To compile PortaBase, Metakit must be compiled first. PortaBase uses a
version of 2.4.9.3 patched to allow case-sensitive searches and
locale-sensitive sorting. Therefore, the patch file metakit-2.4.9.3.patch
must be applied to the Metakit 2.4.9.3 source tree before building.
version of 2.4.9.3 patched to allow case-sensitive searches, locale-sensitive
sorting, and unicode filename support where available. Therefore, the patch
file metakit-2.4.9.3.patch must be applied to the Metakit 2.4.9.3 source tree
before building.

To build Metakit for the desktop test environment, run dev-x86-qpe.sh and then
follow the Metakit installation instructions (in the Metakit README file).
Expand Down Expand Up @@ -60,51 +61,63 @@ Metakit for use in Linux desktop PortaBase, just follow the README directions.
BeeCrypt compilation
--------------------
Get BeeCrypt version 3.1.0. For the desktop versions of PortaBase, just
follow the build instructions found in Beecrypt's INSTALL file. For the
follow the build instructions found in BeeCrypt's INSTALL file. For the
Zaurus version, run the configure script as follows:

NM=arm-linux-nm LD=arm-linux-ld CC=arm-linux-gcc CXX=arm-linux-g++ RANLIB=arm-linux-ranlib AR=arm-linux-ar ./configure --prefix=/output/dir --host=arm-linux --enable-aio=no --with-javaglue=no --enable-static --enable-optimized=no
NM=arm-linux-nm LD=arm-linux-ld CC=arm-linux-gcc CXX=arm-linux-g++ RANLIB=arm-linux-ranlib AR=arm-linux-ar ./configure --prefix=/output/dir --host=arm-linux --enable-aio=no

As with Metakit, replace /output/dir with the directory in which to place
the results. Copy libbeecrypt.a to the same place the Metakit library went.

libjpeg compilation
-------------------
Get version 6b from http://www.ijg.org. For the desktop versions, follow the
build instructions from the install.doc file that comes with the source code.
For the Zaurus version, run the configure script as follows:
For desktop Linux, this is probably already on your system; just make sure to
install the appropriate dev package if it hasn't already been installed (for
Debian this is libjpeg62-dev). For Windows, get version 6b from
http://www.ijg.org and follow the build instructions from the install.doc file
that comes with the source code. For the Zaurus version, it's easiest to just
use the Debian arm package for libjpeg62-dev; after downloading the .deb file,
you can extract the necessary files by running:

NM=arm-linux-nm LD=arm-linux-ld CC=arm-linux-gcc CXX=arm-linux-g++ RANLIB=arm-linux-ranlib AR=arm-linux-ar ./configure --prefix=/output/dir --host=arm-linux
ar x libjpeg62-dev_6b-9_arm.deb
tar xzf data.tar.gz

Move libjpeg.a to /opt/Qtopia/sharp/lib and the include files to
/opt/Qtopia/sharp/include.

Note that if you're attempting to compile using Borland C++, you'll have to
make a few changes to the code: see http://www.bcbdev.com/articles/jpeg.htm
for details.

PortaBase for Zaurus Compilation
--------------------------------
After compiling Metakit and Beecrypt as described above, PortaBase can be
compiled in the usual manner for Qtopia applications. Use tmake on
portabase_test.pro for desktop testing and portabase.pro when building for
the Zaurus; tmake usage is described in the compiler setup HOWTO mentioned
above. "arm-linux-strip" should be run on the Arm version of the
"portabase" executable in order to reduce its size by removing unneeded
debugging information and such.
After compiling Metakit, BeeCrypt, and libjpeg as described above, PortaBase
can be compiled in the usual manner for Qtopia applications. Use tmake on
portabase.pro; tmake usage is described in the compiler setup HOWTO mentioned
above. Use "qtopia" as one of the CONFIG parameters in the file.
"arm-linux-strip" should be run on the resulting "portabase" executable in
order to reduce its size by removing unneeded debugging information and such.

To compile a version with support for the file navigation widget on
newer Sharp ROMs, use portabase_sharp.pro instead. You will also need the
development files for Sharp's custom Zaurus libraries; these are available
from the following (Japanese) page:
newer Sharp ROMs, replace the "qtopia" CONFIG parameter with "sharp". You
will also need the development files for Sharp's custom Zaurus libraries;
these are available from the following (Japanese) page:

http://developer.ezaurus.com/sl_j/doc/reference.htm

To compile for the desktop Qtopia test environment, add "test" to the list of
CONFIG parameters.

PortaBase for Windows Compilation, Packaging
--------------------------------------------
- Install Qt version 3.2 or newer and configure it (make sure the "bin"
directory is in your path and that the QTDIR and QMAKESPEC environment
variables are set correctly).
- Adjust the value of INCLUDEPATH in portabase_desktop.pro as needed to locate
the library header files on your system.
- Run "qmake -t vcapp -o portabase.dsp portabase_desktop.pro"
- Adjust the value of INCLUDEPATH in portabase.pro as needed to locate the
library header files on your system.
- Make sure that "desktop" is among the CONFIG parameters in portabase.pro
(and that "qtopia", "sharp", and "test" aren't).
- Run "qmake -t vcapp -o portabase.dsp portabase.pro"
- Copy beecrypt.dll, beecrypt.lib, libjpeg.lib, and mk4vc60s.lib to the
PortaBase source directory.
- Open the generated portabase.dsp file in Visual C++, and from
Expand All @@ -113,7 +126,7 @@ PortaBase for Windows Compilation, Packaging
- Copy qt-mtnc321.dll from Qt's "lib" directory to the Release subdirectory
created by Visual C++.
- Copy msvcrt.dll to the PortaBase source directory.
- Run "lrelease portabase_desktop.pro" to generate the UI translation files.
- Run "lrelease portabase.pro" to generate the UI translation files.
- Open portabase.iss with Inno Setup and choose "Compile"

Debian Package Building
Expand All @@ -130,9 +143,11 @@ Linux/UNIX compilation
----------------------
- Set the QMAKESPEC and QTDIR environment variables as appropriate for your
platform
- Make sure the Metakit and Beecrypt static libraries (.a) are in your
- Make sure the Metakit and BeeCrypt static libraries (.a) are in your
LD_LIBRARY_PATH, and that the other library files (.so, .la, etc.) aren't.
- Run qmake on portabase_desktop.pro
- Make sure that "desktop" is among the CONFIG parameters in portabase.pro
(and that "qtopia", "sharp", and "test" aren't).
- Run qmake on portabase.pro
- Run make

Linux/UNIX installation
Expand All @@ -154,8 +169,8 @@ files into the correct locations:
/usr/share/doc/portabase/ja/portabase.html
/usr/share/doc/portabase/ja/portabase.qm

...and so on. (The portabase.qm files are created by running lrelease on the
.pro file.)
...and so on. (The portabase.qm files are created by running lrelease on
portabase.pro.)

Package Building
----------------
Expand All @@ -168,17 +183,19 @@ directory hierarchy as root in a directory of your choice:
/portabase/opt/QtPalmtop/bin/portabase
/portabase/opt/QtPalmtop/help/en/html/portabase.html
/portabase/opt/QtPalmtop/help/ja/html/portabase.html
/portabase/opt/QtPalmtop/help/tw/html/portabase.html
/portabase/opt/QtPalmtop/help/zh_TW/html/portabase.html
/portabase/opt/QtPalmtop/i18n/cs/portabase.qm
/portabase/opt/QtPalmtop/i18n/fr/portabase.qm
/portabase/opt/QtPalmtop/i18n/ja/portabase.qm
/portabase/opt/QtPalmtop/i18n/tw/portabase.qm
/portabase/opt/QtPalmtop/i18n/zh_TW/portabase.qm
/portabase/opt/QtPalmtop/pics/PortaBase.png
/portabase/opt/QtPalmtop/pics/portabase/QtaDatePickerNext.xpm
/portabase/opt/QtPalmtop/pics/portabase/QtaDatePickerPrev.xpm
/portabase/opt/QtPalmtop/pics/portabase/calc.png
/portabase/opt/QtPalmtop/pics/portabase/calendar.xpm
/portabase/opt/QtPalmtop/pics/portabase/checked.png
/portabase/opt/QtPalmtop/pics/portabase/image.png
/portabase/opt/QtPalmtop/pics/portabase/note.png
/portabase/opt/QtPalmtop/pics/portabase/save.png
/portabase/opt/QtPalmtop/pics/portabase/save_disabled.png
/portabase/opt/QtPalmtop/pics/portabase/unchecked.png
Expand Down
4 changes: 2 additions & 2 deletions QtaDatePicker.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ QDatePicker::QDatePicker(QDate *inDate, QWidget *parent)
new QWidget(hbox);

// Create the 'OK' button
QPushButton *okButton = new QPushButton(tr("OK"), hbox);
QPushButton *okButton = new QPushButton(PBDialog::tr("OK"), hbox);
connect(okButton, SIGNAL(clicked()), this, SLOT(accept()));
new QWidget(hbox);

Expand All @@ -130,7 +130,7 @@ QDatePicker::QDatePicker(QDate *inDate, QWidget *parent)
new QWidget(hbox);

// Create the 'Cancel' button
QPushButton *cancelButton = new QPushButton(tr("Cancel"), hbox);
QPushButton *cancelButton = new QPushButton(PBDialog::tr("Cancel"), hbox);
connect(cancelButton, SIGNAL(clicked()), this, SLOT(reject()));
new QWidget(hbox);

Expand Down
13 changes: 8 additions & 5 deletions README.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
PortaBase 1.8 (August 2003)
PortaBase 1.9 (March 2004)
---------------------------
PortaBase (portable database) is a personal database application originally
written for the Linux-based models of Sharp Zaurus PDA (and should work on
Expand All @@ -8,7 +8,7 @@ run as a Linux or Windows desktop application.
The main features PortaBase currently has are:
- One data table per file
- String, Integer, Decimal, Boolean, Note (multi-line text), Date, Time,
Calculation, Sequence, and Enum column types
Calculation, Sequence, Image, and Enum column types
- Add, edit, and delete rows of data
- Custom data views (subsets of the columns in any order)
- Filter the displayed rows using sets of conditions
Expand All @@ -27,6 +27,7 @@ The main features PortaBase currently has are:
- Pick any available font to use throughout the application
- User-specified alternating row background colors
- Simple calculator widget for entering numeric data
- Customizable menu and toolbar configuration

See the help file (help/html/portabase.html) for more information on features
and usage. This help file is also the online help for the application,
Expand All @@ -43,9 +44,9 @@ To upgrade from a previous version of PortaBase, do the following:
3) delete the .ipk file (you don't have to, but it frees up space)

IMPORTANT NOTE: Metakit is no longer installed as a separate library.
PortaBase now also uses the Beecrypt encryption library, and installing
PortaBase now also uses the BeeCrypt and libjpeg libraries, and installing
each library separately makes things more complicated than most people
would prefer. Both libraries are now compiled into the PortaBase
would prefer. All these libraries are now compiled into the PortaBase
executable.

Windows Installation and Upgrades
Expand All @@ -64,12 +65,14 @@ available from http://prdownloads.sourceforge.net/zaurus/
- MobileDB import code based on code from ZReader
(http://www.codecubed.com/zreader/index.html)
- CSV import code based on code from KSpread (http://www.koffice.org/kspread/)
- the Beecrypt library (http://www.virtualunlimited.com/products/beecrypt/)
- the BeeCrypt library (http://www.virtualunlimited.com/products/beecrypt/)
for encryption algorithms and good random number generation
- the color picker dialog from HTML@Zaurus
(http://www.codefactor.de/htmlAtZaurus.html), itself based on Qt's QColorDialog
- a modified version of the calculator widget from KMyMoney2
(http://kmymoney2.sourceforge.net/)
- libjpeg (http://www.ijg.org) for efficient loading and manipulation of JPEG
image files

License
-------
Expand Down
26 changes: 13 additions & 13 deletions calc/calcnode.cpp
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/*
* calcnode.cpp
*
* (c) 2003 by Jeremy Bowman <[email protected]>
* (c) 2003-2004 by Jeremy Bowman <[email protected]>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
Expand All @@ -15,7 +15,7 @@
#include "calcnode.h"
#include "../database.h"

CalcNode::CalcNode(int type, const QString &value) : nodeType(type)
CalcNode::CalcNode(int type, const QString &value) : QObject(), nodeType(type)
{
nodeValue = value;
}
Expand Down Expand Up @@ -216,27 +216,27 @@ QString CalcNode::description(Database *db, int type, const QString &value)
case CALC_DIVIDE:
return "/";
case CALC_DAYS:
return QObject::tr("Days_Between");
return tr("Days_Between");
case CALC_MAX:
return QObject::tr("MAX");
return tr("MAX");
case CALC_MIN:
return QObject::tr("MIN");
return tr("MIN");
case CALC_AVERAGE:
return QObject::tr("AVERAGE");
return tr("AVERAGE");
case CALC_ABS:
return QObject::tr("ABS");
return tr("ABS");
case CALC_SQRT:
return QObject::tr("SQRT");
return tr("SQRT");
case CALC_LOG:
return QObject::tr("LOG");
return tr("LOG");
case CALC_LN:
return QObject::tr("LN");
return tr("LN");
case CALC_SECONDS:
return QObject::tr("Seconds_Between");
return tr("Seconds_Between");
case CALC_MINUTES:
return QObject::tr("Minutes_Between");
return tr("Minutes_Between");
case CALC_HOURS:
return QObject::tr("Hours_Between");
return tr("Hours_Between");
default:
return "";
}
Expand Down
6 changes: 4 additions & 2 deletions calc/calcnode.h
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/*
* calcnode.h
*
* (c) 2003 by Jeremy Bowman <[email protected]>
* (c) 2003-2004 by Jeremy Bowman <[email protected]>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
Expand Down Expand Up @@ -37,15 +37,17 @@
#define CALC_HOURS 34
#define CALC_LAST_OP 34

#include <qobject.h>
#include <qstringlist.h>

class CalcNode;
class Database;

typedef QValueList<CalcNode*> CalcNodeList;

class CalcNode
class CalcNode : public QObject
{
Q_OBJECT
public:
CalcNode(int type, const QString &value);
~CalcNode();
Expand Down
2 changes: 1 addition & 1 deletion calc/calcnodeeditor.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -140,7 +140,7 @@ bool CalcNodeEditor::isValid()
bool ok = FALSE;
number->getValue().toDouble(&ok);
if (!ok) {
QMessageBox::warning(this, tr("PortaBase"),
QMessageBox::warning(this, QQDialog::tr("PortaBase"),
tr("Constant must be a decimal value"));
}
return ok;
Expand Down
2 changes: 1 addition & 1 deletion calc/calctimeeditor.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,7 @@ bool CalcTimeEditor::isValid()
QString error = db->isValidValue(TIME, time);
if (error != "") {
QString message = tr("Constant") + ": " + error;
QMessageBox::warning(this, tr("PortaBase"), message);
QMessageBox::warning(this, QQDialog::tr("PortaBase"), message);
return FALSE;
}
return TRUE;
Expand Down
5 changes: 3 additions & 2 deletions calculator.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
#include <qregexp.h>

#include "calculator.h"
#include "pbdialog.h"

Calculator::Calculator(QWidget* parent, const char *name)
: QQDialog("", parent, name, TRUE)
Expand Down Expand Up @@ -132,10 +133,10 @@ Calculator::Calculator(QWidget* parent, const char *name)
#if !defined(Q_WS_QWS)
QHBox *hbox = new QHBox(this);
new QWidget(hbox);
QPushButton *okButton = new QPushButton(tr("OK"), hbox);
QPushButton *okButton = new QPushButton(PBDialog::tr("OK"), hbox);
connect(okButton, SIGNAL(clicked()), this, SLOT(accept()));
new QWidget(hbox);
QPushButton *cancelButton = new QPushButton(tr("Cancel"), hbox);
QPushButton *cancelButton = new QPushButton(PBDialog::tr("Cancel"), hbox);
connect(cancelButton, SIGNAL(clicked()), this, SLOT(reject()));
new QWidget(hbox);
grid->addMultiCellWidget(hbox, 5, 5, 0, 4);
Expand Down
4 changes: 2 additions & 2 deletions colorbutton.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,14 @@
* (at your option) any later version.
*/

#include "colorbutton.h"

#if defined(Q_WS_QWS)
#include "colordialog.h"
#else
#include <qcolordialog.h>
#endif

#include "colorbutton.h"

ColorButton::ColorButton(const QColor &color, QWidget *parent, const char *name)
: QPushButton(parent, name)
{
Expand Down
Loading

0 comments on commit 6a05821

Please sign in to comment.