moved kdeaccessibility kdeaddons kdeadmin kdeartwork kdebindings kdeedu kdegames...
[kdeedu.git] / kvoctrain / kvoctrain / kva_config.cpp
blob2b7f70771b22ee294ceb26169a210b43b4e8b035
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 /***************************************************************************
18 * *
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. *
23 * *
24 ***************************************************************************/
26 #include <qfile.h>
28 #include "kvoctrain.h"
29 #include <kvoctraincore.h>
30 #include "common-dialogs/ProgressDlg.h"
31 #include "prefs.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");
40 if (view)
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();
57 saveLanguages();
58 Prefs::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()));
90 readLanguages();
93 void kvoctrainApp::readLanguages()
95 langset.clear();
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) {
104 shortId.setNum (i);
105 shortId.insert (0, "id");
108 QString longId = languageSettings.longId();
109 if (longId.stripWhiteSpace().length() == 0) {
110 longId.setNum (i);
111 longId.insert (0, "ident");
114 langset.addSet (shortId, longId, languageSettings.pixmapFile(), languageSettings.short2Id(),
115 languageSettings.keyboardLayout());
118 void kvoctrainApp::saveProperties(KConfig *config )
120 saveOptions();
121 if (doc) {
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);
130 saveDocProps(doc);
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);
143 if( modified ){
144 bool b_canRecover;
145 QString tempname = kapp->checkRecoverFile(filename,b_canRecover);
147 if(b_canRecover){
148 pdlg = new ProgressDlg (QString(), QString(),
149 kapp->makeStdCaption(""));
150 pdlg->show();
151 doc = new kvoctrainDoc (this, KURL(tempname), Prefs::separator(), &Prefs::pasteOrder());
152 removeProgressBar();
153 doc->setModified();
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(""));
163 pdlg->show();
164 doc = new kvoctrainDoc (this, KURL(filename), Prefs::separator(), &Prefs::pasteOrder());
165 removeProgressBar();
166 setCaption(kapp->makeStdCaption(doc->getTitle(), false, doc->isModified()));
169 show();
170 kapp->setTopWidget(this);
171 kapp->setMainWidget( this );