1 /***************************************************************************
3 configuration part of kvoctrain
5 -----------------------------------------------------------------------
7 begin : Thu Mar 11 20:50:53 MET 1999
9 copyright : (C) 1999-2001 Ewald Arnold <kvoctrain@ewald-arnold.de>
10 (C) 2001 The KDE-EDU team
11 (C) 2004, 2005 Peter Hedlund <peter@peterandlinda.com>
13 -----------------------------------------------------------------------
15 ***************************************************************************/
17 /***************************************************************************
19 * This program is free software; you can redistribute it and/or modify *
20 * it under the terms of the GNU General Public License as published by *
21 * the Free Software Foundation; either version 2 of the License, or *
22 * (at your option) any later version. *
24 ***************************************************************************/
28 #include "kvoctrain.h"
29 #include <kvoctraincore.h>
30 #include "common-dialogs/ProgressDlg.h"
32 #include "languagesettings.h"
33 #include "presettings.h"
35 void kvoctrainApp::saveOptions()
37 KConfig
*config
= KApplication::kApplication()->config();
38 fileOpenRecent
->saveEntries(config
, "Recent Files");
42 Prefs::setCurrentRow(view
->getTable()->currentRow());
43 Prefs::setCurrentCol(view
->getTable()->currentColumn());
46 Prefs::setNumPreSetting(presettings.size());
47 for (int i = 0 ; i < (int) presettings.size(); i++)
49 PreSettings preSettings(QString::number(i));
50 preSettings.setName(presettings[i].name);
51 preSettings.setQuery(presettings[i].query_set);
52 preSettings.setThreshold(presettings[i].thresh_set);
53 preSettings.setBlocking(presettings[i].block_set);
54 preSettings.writeConfig();
61 void kvoctrainApp::saveLanguages()
63 Prefs::setNumLangSet(langset
.size());
64 for (int i
= 0 ; i
< (int) langset
.size(); i
++)
66 LanguageSettings
languageSettings(QString::number(i
));
67 languageSettings
.setShortId(langset
.shortId(i
));
68 languageSettings
.setShort2Id(langset
.shortId2(i
));
69 languageSettings
.setLongId(langset
.longId(i
));
70 languageSettings
.setPixmapFile(langset
.PixMapFile(i
));
71 languageSettings
.setKeyboardLayout(langset
.keyboardLayout(i
));
72 languageSettings
.writeConfig();
76 void kvoctrainApp::readOptions()
78 KConfig
*config
= KApplication::kApplication()->config();
79 fileOpenRecent
->loadEntries(config
, "Recent Files");
81 int ls = Prefs::numPreSetting();
82 for (int i = 0 ; i < ls; i++)
84 PreSettings preSettings(QString::number(i));
85 preSettings.readConfig();
86 presettings.push_back(PreSetting(preSettings.name(), preSettings.query(),
87 preSettings.threshold(), preSettings.blocking()));
93 void kvoctrainApp::readLanguages()
96 int ls
= Prefs::numLangSet();
97 for (int i
= 0 ; i
< ls
; i
++)
99 LanguageSettings
languageSettings(QString::number(i
));
100 languageSettings
.readConfig();
102 QString shortId
= languageSettings
.shortId();
103 if (shortId
.stripWhiteSpace().length() == 0) {
105 shortId
.insert (0, "id");
108 QString longId
= languageSettings
.longId();
109 if (longId
.stripWhiteSpace().length() == 0) {
111 longId
.insert (0, "ident");
114 langset
.addSet (shortId
, longId
, languageSettings
.pixmapFile(), languageSettings
.short2Id(),
115 languageSettings
.keyboardLayout());
118 void kvoctrainApp::saveProperties(KConfig
*config
)
122 config
->writeEntry(CFG_FILENAME
,doc
->URL().path());
123 config
->writeEntry(CFG_TITLE
,doc
->getTitle());
124 config
->writeEntry(CFG_MODIFIED
,doc
->isModified());
126 config
->writeEntry(CFG_QUERYMODE
, querymode
);
128 QString filename
=doc
->URL().path();
129 QString tempname
= kapp
->tempSaveName(filename
);
131 doc
->saveAs(this, KURL(tempname
), doc
->getTitle(), kvoctrainDoc::automatic
, Prefs::separator(), &Prefs::pasteOrder());
136 void kvoctrainApp::readProperties(KConfig
*config
)
138 querymode
= config
->readBoolEntry(CFG_QUERYMODE
, 0);
140 QString filename
= config
->readEntry(CFG_FILENAME
);
141 QString title
= config
->readEntry(CFG_TITLE
);
142 bool modified
= config
->readBoolEntry(CFG_MODIFIED
,false);
145 QString tempname
= kapp
->checkRecoverFile(filename
,b_canRecover
);
148 pdlg
= new ProgressDlg (QString(), QString(),
149 kapp
->makeStdCaption(""));
151 doc
= new kvoctrainDoc (this, KURL(tempname
), Prefs::separator(), &Prefs::pasteOrder());
154 doc
->setTitle(title
);
155 doc
->setURL(KURL(filename
));
156 setCaption(kapp
->makeStdCaption(doc
->getTitle(), false, doc
->isModified()));
157 QFile::remove(tempname
);
160 else if(!filename
.isEmpty()){
161 pdlg
= new ProgressDlg (QString(), QString(),
162 kapp
->makeStdCaption(""));
164 doc
= new kvoctrainDoc (this, KURL(filename
), Prefs::separator(), &Prefs::pasteOrder());
166 setCaption(kapp
->makeStdCaption(doc
->getTitle(), false, doc
->isModified()));
170 kapp
->setTopWidget(this);
171 kapp
->setMainWidget( this );