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) (ignore whitespace changes)
-rw-r--r--noncore/apps/oxygen/calcdlg.ui203
-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, 99 insertions, 151 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
@@ -10,10 +10,10 @@
10 <name>geometry</name> 10 <name>geometry</name>
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">
19 <name>caption</name> 19 <name>caption</name>
@@ -33,12 +33,12 @@
33 </property> 33 </property>
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>
44 <name>layoutMargin</name> 44 <name>layoutMargin</name>
@@ -64,12 +64,12 @@
64 </property> 64 </property>
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">
75 <name>frameShape</name> 75 <name>frameShape</name>
@@ -79,28 +79,8 @@
79 <name>frameShadow</name> 79 <name>frameShadow</name>
80 <enum>Raised</enum> 80 <enum>Raised</enum>
81 </property> 81 </property>
82 <widget> 82 <widget>
83 <class>QLabel</class>
84 <property stdset="1">
85 <name>name</name>
86 <cstring>TextLabel1_4</cstring>
87 </property>
88 <property stdset="1">
89 <name>geometry</name>
90 <rect>
91 <x>1</x>
92 <y>1</y>
93 <width>298</width>
94 <height>16</height>
95 </rect>
96 </property>
97 <property stdset="1">
98 <name>text</name>
99 <string>Formula:</string>
100 </property>
101 </widget>
102 <widget>
103 <class>QLayoutWidget</class> 83 <class>QLayoutWidget</class>
104 <property stdset="1"> 84 <property stdset="1">
105 <name>name</name> 85 <name>name</name>
106 <cstring>Layout7</cstring> 86 <cstring>Layout7</cstring>
@@ -108,14 +88,14 @@
108 <property stdset="1"> 88 <property stdset="1">
109 <name>geometry</name> 89 <name>geometry</name>
110 <rect> 90 <rect>
111 <x>0</x> 91 <x>0</x>
112 <y>50</y> 92 <y>0</y>
113 <width>175</width> 93 <width>260</width>
114 <height>30</height> 94 <height>320</height>
115 </rect> 95 </rect>
116 </property> 96 </property>
117 <hbox> 97 <vbox>
118 <property stdset="1"> 98 <property stdset="1">
119 <name>margin</name> 99 <name>margin</name>
120 <number>0</number> 100 <number>0</number>
121 </property> 101 </property>
@@ -123,98 +103,105 @@
123 <name>spacing</name> 103 <name>spacing</name>
124 <number>6</number> 104 <number>6</number>
125 </property> 105 </property>
126 <widget> 106 <widget>
127 <class>QPushButton</class> 107 <class>QLabel</class>
128 <property stdset="1"> 108 <property stdset="1">
129 <name>name</name> 109 <name>name</name>
130 <cstring>calculate</cstring> 110 <cstring>TextLabel1_4</cstring>
131 </property> 111 </property>
132 <property stdset="1"> 112 <property stdset="1">
133 <name>text</name> 113 <name>text</name>
134 <string>Calculate</string> 114 <string>Formula:</string>
115 </property>
116 </widget>
117 <widget>
118 <class>QLineEdit</class>
119 <property stdset="1">
120 <name>name</name>
121 <cstring>formula</cstring>
122 </property>
123 </widget>
124 <widget>
125 <class>QLayoutWidget</class>
126 <property stdset="1">
127 <name>name</name>
128 <cstring>Layout7</cstring>
135 </property> 129 </property>
130 <hbox>
131 <property stdset="1">
132 <name>margin</name>
133 <number>0</number>
134 </property>
135 <property stdset="1">
136 <name>spacing</name>
137 <number>6</number>
138 </property>
139 <widget>
140 <class>QPushButton</class>
141 <property stdset="1">
142 <name>name</name>
143 <cstring>calculate</cstring>
144 </property>
145 <property stdset="1">
146 <name>text</name>
147 <string>Calculate</string>
148 </property>
149 </widget>
150 <widget>
151 <class>QPushButton</class>
152 <property stdset="1">
153 <name>name</name>
154 <cstring>clear_fields</cstring>
155 </property>
156 <property stdset="1">
157 <name>text</name>
158 <string>Clear</string>
159 </property>
160 </widget>
161 </hbox>
136 </widget> 162 </widget>
137 <widget> 163 <widget>
138 <class>QPushButton</class> 164 <class>QLabel</class>
139 <property stdset="1"> 165 <property stdset="1">
140 <name>name</name> 166 <name>name</name>
141 <cstring>clear_fields</cstring> 167 <cstring>TextLabel2_4</cstring>
142 </property> 168 </property>
143 <property stdset="1"> 169 <property stdset="1">
144 <name>text</name> 170 <name>text</name>
145 <string>Clear</string> 171 <string>Result:</string>
146 </property> 172 </property>
147 </widget> 173 </widget>
148 </hbox> 174 <widget>
149 </widget> 175 <class>QLineEdit</class>
150 <widget> 176 <property stdset="1">
151 <class>QLineEdit</class> 177 <name>name</name>
152 <property stdset="1"> 178 <cstring>result</cstring>
153 <name>name</name> 179 </property>
154 <cstring>formula</cstring> 180 </widget>
155 </property> 181 <widget>
156 <property stdset="1"> 182 <class>QLabel</class>
157 <name>geometry</name> 183 <property stdset="1">
158 <rect> 184 <name>name</name>
159 <x>0</x> 185 <cstring>TextLabel1</cstring>
160 <y>20</y> 186 </property>
161 <width>170</width> 187 <property stdset="1">
162 <height>22</height> 188 <name>text</name>
163 </rect> 189 <string>Elemental composition (%):</string>
164 </property> 190 </property>
165 </widget> 191 </widget>
166 <widget> 192 <widget>
167 <class>QMultiLineEdit</class> 193 <class>QMultiLineEdit</class>
168 <property stdset="1"> 194 <property stdset="1">
169 <name>name</name> 195 <name>name</name>
170 <cstring>anal_display</cstring> 196 <cstring>anal_display</cstring>
171 </property> 197 </property>
172 <property stdset="1"> 198 <property stdset="1">
173 <name>geometry</name> 199 <name>readOnly</name>
174 <rect> 200 <bool>true</bool>
175 <x>0</x> 201 </property>
176 <y>130</y> 202 </widget>
177 <width>170</width> 203 </vbox>
178 <height>80</height>
179 </rect>
180 </property>
181 </widget>
182 <widget>
183 <class>QLineEdit</class>
184 <property stdset="1">
185 <name>name</name>
186 <cstring>result</cstring>
187 </property>
188 <property stdset="1">
189 <name>geometry</name>
190 <rect>
191 <x>0</x>
192 <y>100</y>
193 <width>170</width>
194 <height>22</height>
195 </rect>
196 </property>
197 </widget>
198 <widget>
199 <class>QLabel</class>
200 <property stdset="1">
201 <name>name</name>
202 <cstring>TextLabel2_4</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>
213 <property stdset="1">
214 <name>text</name>
215 <string>Result:</string>
216 </property>
217 </widget> 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
@@ -15,11 +15,13 @@
15#include <qpushbutton.h> 15#include <qpushbutton.h>
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()
25{ 27{
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,8 +1,8 @@
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
8/** 8/**
@@ -35,30 +35,11 @@ void KMolCalc::readElstable() {
35 weight = -1; // not calculated yet 35 weight = -1; // not calculated yet
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
64/** 45/**
@@ -187,25 +168,8 @@ void KMolCalc::readMwfile(QFile& f) {
187 f.close(); 168 f.close();
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) {
211 elstable->remove (name); 175 elstable->remove (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
@@ -77,13 +77,8 @@ public:
77 */ 77 */
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();
89 84