summaryrefslogtreecommitdiff
authorcniehaus <cniehaus>2002-09-16 10:45:04 (UTC)
committer cniehaus <cniehaus>2002-09-16 10:45:04 (UTC)
commitd5d64f7617836096a4e9de81997ada7b6f220b47 (patch) (unidiff)
treeb0ad367ecd4327d8a95b22e725ec4e5b14efa230
parent1286c243028874523eb2805a0d07ae478537a20c (diff)
downloadopie-d5d64f7617836096a4e9de81997ada7b6f220b47.zip
opie-d5d64f7617836096a4e9de81997ada7b6f220b47.tar.gz
opie-d5d64f7617836096a4e9de81997ada7b6f220b47.tar.bz2
yes, there is still a lot missing and it won't work for anyone due to
a hardcoded path but at least in theorie (if you copy kmolweights to the correct position) it will work now. more to come this evening or so.
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--noncore/apps/oxygen/calcdlg.ui119
-rw-r--r--noncore/apps/oxygen/calcdlgui.cpp2
-rw-r--r--noncore/apps/oxygen/kmolcalc.cpp40
-rw-r--r--noncore/apps/oxygen/kmolcalc.h5
4 files changed, 57 insertions, 109 deletions
diff --git a/noncore/apps/oxygen/calcdlg.ui b/noncore/apps/oxygen/calcdlg.ui
index e0b19f9..5b0c53e 100644
--- a/noncore/apps/oxygen/calcdlg.ui
+++ b/noncore/apps/oxygen/calcdlg.ui
@@ -11,8 +11,8 @@
11 <rect> 11 <rect>
12 <x>0</x> 12 <x>0</x>
13 <y>0</y> 13 <y>0</y>
14 <width>218</width> 14 <width>275</width>
15 <height>274</height> 15 <height>357</height>
16 </rect> 16 </rect>
17 </property> 17 </property>
18 <property stdset="1"> 18 <property stdset="1">
@@ -34,10 +34,10 @@
34 <property stdset="1"> 34 <property stdset="1">
35 <name>geometry</name> 35 <name>geometry</name>
36 <rect> 36 <rect>
37 <x>10</x> 37 <x>0</x>
38 <y>0</y> 38 <y>0</y>
39 <width>200</width> 39 <width>270</width>
40 <height>260</height> 40 <height>350</height>
41 </rect> 41 </rect>
42 </property> 42 </property>
43 <property> 43 <property>
@@ -65,10 +65,10 @@
65 <property stdset="1"> 65 <property stdset="1">
66 <name>geometry</name> 66 <name>geometry</name>
67 <rect> 67 <rect>
68 <x>2</x> 68 <x>0</x>
69 <y>2</y> 69 <y>0</y>
70 <width>180</width> 70 <width>260</width>
71 <height>220</height> 71 <height>320</height>
72 </rect> 72 </rect>
73 </property> 73 </property>
74 <property stdset="1"> 74 <property stdset="1">
@@ -80,39 +80,52 @@
80 <enum>Raised</enum> 80 <enum>Raised</enum>
81 </property> 81 </property>
82 <widget> 82 <widget>
83 <class>QLabel</class> 83 <class>QLayoutWidget</class>
84 <property stdset="1"> 84 <property stdset="1">
85 <name>name</name> 85 <name>name</name>
86 <cstring>TextLabel1_4</cstring> 86 <cstring>Layout7</cstring>
87 </property> 87 </property>
88 <property stdset="1"> 88 <property stdset="1">
89 <name>geometry</name> 89 <name>geometry</name>
90 <rect> 90 <rect>
91 <x>1</x> 91 <x>0</x>
92 <y>1</y> 92 <y>0</y>
93 <width>298</width> 93 <width>260</width>
94 <height>16</height> 94 <height>320</height>
95 </rect> 95 </rect>
96 </property> 96 </property>
97 <vbox>
98 <property stdset="1">
99 <name>margin</name>
100 <number>0</number>
101 </property>
102 <property stdset="1">
103 <name>spacing</name>
104 <number>6</number>
105 </property>
106 <widget>
107 <class>QLabel</class>
108 <property stdset="1">
109 <name>name</name>
110 <cstring>TextLabel1_4</cstring>
111 </property>
97 <property stdset="1"> 112 <property stdset="1">
98 <name>text</name> 113 <name>text</name>
99 <string>Formula:</string> 114 <string>Formula:</string>
100 </property> 115 </property>
101 </widget> 116 </widget>
102 <widget> 117 <widget>
103 <class>QLayoutWidget</class> 118 <class>QLineEdit</class>
104 <property stdset="1"> 119 <property stdset="1">
105 <name>name</name> 120 <name>name</name>
106 <cstring>Layout7</cstring> 121 <cstring>formula</cstring>
107 </property> 122 </property>
123 </widget>
124 <widget>
125 <class>QLayoutWidget</class>
108 <property stdset="1"> 126 <property stdset="1">
109 <name>geometry</name> 127 <name>name</name>
110 <rect> 128 <cstring>Layout7</cstring>
111 <x>0</x>
112 <y>50</y>
113 <width>175</width>
114 <height>30</height>
115 </rect>
116 </property> 129 </property>
117 <hbox> 130 <hbox>
118 <property stdset="1"> 131 <property stdset="1">
@@ -148,73 +161,47 @@
148 </hbox> 161 </hbox>
149 </widget> 162 </widget>
150 <widget> 163 <widget>
151 <class>QLineEdit</class> 164 <class>QLabel</class>
152 <property stdset="1"> 165 <property stdset="1">
153 <name>name</name> 166 <name>name</name>
154 <cstring>formula</cstring> 167 <cstring>TextLabel2_4</cstring>
155 </property> 168 </property>
156 <property stdset="1"> 169 <property stdset="1">
157 <name>geometry</name> 170 <name>text</name>
158 <rect> 171 <string>Result:</string>
159 <x>0</x>
160 <y>20</y>
161 <width>170</width>
162 <height>22</height>
163 </rect>
164 </property> 172 </property>
165 </widget> 173 </widget>
166 <widget> 174 <widget>
167 <class>QMultiLineEdit</class> 175 <class>QLineEdit</class>
168 <property stdset="1"> 176 <property stdset="1">
169 <name>name</name> 177 <name>name</name>
170 <cstring>anal_display</cstring> 178 <cstring>result</cstring>
171 </property>
172 <property stdset="1">
173 <name>geometry</name>
174 <rect>
175 <x>0</x>
176 <y>130</y>
177 <width>170</width>
178 <height>80</height>
179 </rect>
180 </property> 179 </property>
181 </widget> 180 </widget>
182 <widget> 181 <widget>
183 <class>QLineEdit</class> 182 <class>QLabel</class>
184 <property stdset="1"> 183 <property stdset="1">
185 <name>name</name> 184 <name>name</name>
186 <cstring>result</cstring> 185 <cstring>TextLabel1</cstring>
187 </property> 186 </property>
188 <property stdset="1"> 187 <property stdset="1">
189 <name>geometry</name> 188 <name>text</name>
190 <rect> 189 <string>Elemental composition (%):</string>
191 <x>0</x>
192 <y>100</y>
193 <width>170</width>
194 <height>22</height>
195 </rect>
196 </property> 190 </property>
197 </widget> 191 </widget>
198 <widget> 192 <widget>
199 <class>QLabel</class> 193 <class>QMultiLineEdit</class>
200 <property stdset="1"> 194 <property stdset="1">
201 <name>name</name> 195 <name>name</name>
202 <cstring>TextLabel2_4</cstring> 196 <cstring>anal_display</cstring>
203 </property>
204 <property stdset="1">
205 <name>geometry</name>
206 <rect>
207 <x>1</x>
208 <y>86</y>
209 <width>298</width>
210 <height>16</height>
211 </rect>
212 </property> 197 </property>
213 <property stdset="1"> 198 <property stdset="1">
214 <name>text</name> 199 <name>readOnly</name>
215 <string>Result:</string> 200 <bool>true</bool>
216 </property> 201 </property>
217 </widget> 202 </widget>
203 </vbox>
204 </widget>
218 </widget> 205 </widget>
219 </widget> 206 </widget>
220 <widget> 207 <widget>
diff --git a/noncore/apps/oxygen/calcdlgui.cpp b/noncore/apps/oxygen/calcdlgui.cpp
index e9b40d3..e40e2c7 100644
--- a/noncore/apps/oxygen/calcdlgui.cpp
+++ b/noncore/apps/oxygen/calcdlgui.cpp
@@ -16,9 +16,11 @@
16 16
17calcDlgUI::calcDlgUI() : CalcDlg() 17calcDlgUI::calcDlgUI() : CalcDlg()
18{ 18{
19 this->showMaximized();
19 kmolcalc = new KMolCalc; 20 kmolcalc = new KMolCalc;
20 connect( calculate, SIGNAL( clicked() ), this, SLOT( calc() ) ); 21 connect( calculate, SIGNAL( clicked() ), this, SLOT( calc() ) );
21 connect( clear_fields, SIGNAL( clicked() ), this, SLOT( clear() ) ); 22 connect( clear_fields, SIGNAL( clicked() ), this, SLOT( clear() ) );
23 result->setReadOnly( true );
22} 24}
23 25
24void calcDlgUI::calc() 26void calcDlgUI::calc()
diff --git a/noncore/apps/oxygen/kmolcalc.cpp b/noncore/apps/oxygen/kmolcalc.cpp
index 7257c4a..0ba52da 100644
--- a/noncore/apps/oxygen/kmolcalc.cpp
+++ b/noncore/apps/oxygen/kmolcalc.cpp
@@ -1,7 +1,7 @@
1/* 1/*
2 * kmolcalc.cpp 2 * kmolcalc.cpp
3 * 3 *
4 * Copyright (C) 2000 Tomislav Gountchev <tomi@idiom.com> 4 * Copyright (C) 2000,2001 Tomislav Gountchev <tomi@idiom.com>
5 * Copyright (C) 2002 Carsten Niehaus <cniehaus@handhelds.org> 5 * Copyright (C) 2002 Carsten Niehaus <cniehaus@handhelds.org>
6 */ 6 */
7 7
@@ -36,28 +36,9 @@ void KMolCalc::readElstable() {
36 if (elstable) delete elstable; 36 if (elstable) delete elstable;
37 elstable = new QDict<SubUnit> (197, TRUE); 37 elstable = new QDict<SubUnit> (197, TRUE);
38 elstable->setAutoDelete(TRUE); 38 elstable->setAutoDelete(TRUE);
39 QStringList files = "/home/opie/opie/noncore/apps/oxigen/kmolweights"; 39 mwfile = "/home/opie/opie/noncore/apps/oxygen/kmolweights";
40 mwfile = "/home/opie/opie/noncore/apps/oxigen/kmolweights";
41 QFile f(mwfile); 40 QFile f(mwfile);
42 QString* latest_f = &mwfile;
43 for (uint i=0; i<files.count(); i++) {
44 if (QFileInfo(QFile(files[i])).lastModified() > QFileInfo(QFile(*latest_f)).lastModified()) {
45 latest_f = &files[i];
46 }
47 }
48 QFile lf(*latest_f);
49 if (f.exists()) readMwfile(f); 41 if (f.exists()) readMwfile(f);
50 if (!f.exists()) {
51 readMwfile(lf);
52 writeElstable();
53 } else if (QFileInfo(f).lastModified() < QFileInfo(lf).lastModified()) {
54 // announce
55 QMessageBox::information
56 (0, "Warning:", "Found new global Mw file.\nLocal definitions will be updated.", QMessageBox::Ok);
57 readMwfile(lf);
58 writeElstable();
59 }
60
61} 42}
62 43
63 44
@@ -188,23 +169,6 @@ void KMolCalc::readMwfile(QFile& f) {
188} 169}
189 170
190/** 171/**
191 * Save the element definitions file.
192 */
193void KMolCalc::writeElstable() {
194 QFile f(mwfile);
195 if (! f.open(IO_WriteOnly)) return; //ERROR
196 QTextStream fs (&f);
197 QString line;
198 QDictIterator<SubUnit> it(*elstable);
199 while (it.current()) {
200 it.current()->writeOut(line);
201 fs << line << endl;
202 ++it;
203 }
204 f.close();
205}
206
207/**
208 * Remove a group or element definition from ELSTABLE. 172 * Remove a group or element definition from ELSTABLE.
209 */ 173 */
210void KMolCalc::undefineGroup (const QString& name) { 174void KMolCalc::undefineGroup (const QString& name) {
diff --git a/noncore/apps/oxygen/kmolcalc.h b/noncore/apps/oxygen/kmolcalc.h
index c3e02f3..c589133 100644
--- a/noncore/apps/oxygen/kmolcalc.h
+++ b/noncore/apps/oxygen/kmolcalc.h
@@ -78,11 +78,6 @@ public:
78 void undefineGroup(const QString& name); 78 void undefineGroup(const QString& name);
79 79
80 /** 80 /**
81 * Save the element definitions file.
82 */
83 void writeElstable();
84
85 /**
86 * Read the element definitions file and construct ELSTABLE. 81 * Read the element definitions file and construct ELSTABLE.
87 */ 82 */
88 void readElstable(); 83 void readElstable();