summaryrefslogtreecommitdiff
path: root/library/global.cpp
Side-by-side diff
Diffstat (limited to 'library/global.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--library/global.cpp63
1 files changed, 31 insertions, 32 deletions
diff --git a/library/global.cpp b/library/global.cpp
index f7a0767..7bdd0b1 100644
--- a/library/global.cpp
+++ b/library/global.cpp
@@ -187,97 +187,96 @@ static QString dictDir()
\section1 Quoting
The shellQuote() function quotes a string suitable for passing to a
shell. The stringQuote() function backslash escapes '\' and '"'
characters.
\section1 Hardware
The implementation of the writeHWClock() function depends on the AlarmServer
implementation. If the AlarmServer is using atd the clock will be synced to
hardware. If opie-alarm is used the hardware clock will be synced before
suspending the device. opie-alarm is used by iPAQ and Zaurii implementation
\ingroup qtopiaemb
*/
/*!
\internal
*/
Global::Global()
{
}
/*!
Returns the unchangeable QDawg that contains general
words for the current locale.
\sa addedDawg()
*/
const QDawg& Global::fixedDawg()
{
if ( !fixed_dawg ) {
- if ( !docDirCreated )
- createDocDir();
-
- fixed_dawg = new QDawg;
- QString dawgfilename = dictDir() + "/dawg";
- QString words_lang;
- QStringList langs = Global::languageList();
- for (QStringList::ConstIterator it = langs.begin(); it!=langs.end(); ++it) {
- QString lang = *it;
- words_lang = dictDir() + "/words." + lang;
- QString dawgfilename_lang = dawgfilename + "." + lang;
- if ( QFile::exists(dawgfilename_lang) ||
- QFile::exists(words_lang) ) {
- dawgfilename = dawgfilename_lang;
- break;
- }
- }
- QFile dawgfile(dawgfilename);
-
- if ( !dawgfile.exists() ) {
- QString fn = dictDir() + "/words";
- if ( QFile::exists(words_lang) )
- fn = words_lang;
- QFile in(fn);
- if ( in.open(IO_ReadOnly) ) {
- fixed_dawg->createFromWords(&in);
- dawgfile.open(IO_WriteOnly);
- fixed_dawg->write(&dawgfile);
- dawgfile.close();
+ if ( !docDirCreated )
+ createDocDir();
+
+ fixed_dawg = new QDawg;
+ QString dawgfilename = dictDir() + "/dawg";
+ QString words_lang;
+ QStringList langs = Global::languageList();
+ for (QStringList::ConstIterator it = langs.begin(); it!=langs.end(); ++it) {
+ QString lang = *it;
+ words_lang = dictDir() + "/words." + lang;
+ QString dawgfilename_lang = dawgfilename + "." + lang;
+ if ( QFile::exists(dawgfilename_lang) ||
+ QFile::exists(words_lang) ) {
+ dawgfilename = dawgfilename_lang;
+ break;
+ }
}
- } else {
- fixed_dawg->readFile(dawgfilename);
- }
+ QFile dawgfile(dawgfilename);
+
+ if ( !dawgfile.exists() ) {
+ QString fn = dictDir() + "/words";
+ if ( QFile::exists(words_lang) )
+ fn = words_lang;
+ QFile in(fn);
+ if ( in.open(IO_ReadOnly) ) {
+ fixed_dawg->createFromWords(&in);
+ if (dawgfile.open(IO_WriteOnly))
+ fixed_dawg->write(&dawgfile);
+ dawgfile.close();
+ }
+ } else
+ fixed_dawg->readFile(dawgfilename);
}
return *fixed_dawg;
}
/*!
Returns the changeable QDawg that contains general
words for the current locale.
\sa fixedDawg()
*/
const QDawg& Global::addedDawg()
{
return dawg("local");
}
/*!
Returns the QDawg with the given \a name.
This is an application-specific word list.
\a name should not contain "/".
*/
const QDawg& Global::dawg(const QString& name)
{
createDocDir();
if ( !named_dawg )
named_dawg = new QDict<QDawg>;
QDawg* r = named_dawg->find(name);
if ( !r ) {
r = new QDawg;
named_dawg->insert(name,r);
QString dawgfilename = applicationFileName("Dictionary", name ) + ".dawg";