summaryrefslogtreecommitdiff
authortille <tille>2002-06-27 22:28:03 (UTC)
committer tille <tille>2002-06-27 22:28:03 (UTC)
commit2f9c9f9dfe6aff27381a3c671bbd50870976677c (patch) (unidiff)
tree28ea446384f0abc3b8c9b49d9631b46bd174b32d
parent49710f20cf0e52ea3393027ed066f11e977e3457 (diff)
downloadopie-2f9c9f9dfe6aff27381a3c671bbd50870976677c.zip
opie-2f9c9f9dfe6aff27381a3c671bbd50870976677c.tar.gz
opie-2f9c9f9dfe6aff27381a3c671bbd50870976677c.tar.bz2
conffile count
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/settings/netsystemtime/ntp.cpp9
-rw-r--r--noncore/settings/netsystemtime/settime.cpp3
2 files changed, 8 insertions, 4 deletions
diff --git a/noncore/settings/netsystemtime/ntp.cpp b/noncore/settings/netsystemtime/ntp.cpp
index 830c0c3..7971f9a 100644
--- a/noncore/settings/netsystemtime/ntp.cpp
+++ b/noncore/settings/netsystemtime/ntp.cpp
@@ -119,144 +119,145 @@ void Ntp::slotRunNtp()
119 bool ret = ntpProcess->start(OProcess::NotifyOnExit,OProcess::AllOutput); 119 bool ret = ntpProcess->start(OProcess::NotifyOnExit,OProcess::AllOutput);
120 if ( !ret ) { 120 if ( !ret ) {
121 qDebug("Error while executing ntpdate"); 121 qDebug("Error while executing ntpdate");
122 ntpOutPut( tr("Error while executing ntpdate")); 122 ntpOutPut( tr("Error while executing ntpdate"));
123 } 123 }
124} 124}
125 125
126void Ntp::getNtpOutput(OProcess *proc, char *buffer, int buflen) 126void Ntp::getNtpOutput(OProcess *proc, char *buffer, int buflen)
127{ 127{
128 QString lineStr, lineStrOld; 128 QString lineStr, lineStrOld;
129 lineStr = buffer; 129 lineStr = buffer;
130 lineStr=lineStr.left(buflen); 130 lineStr=lineStr.left(buflen);
131 if (lineStr!=lineStrOld) 131 if (lineStr!=lineStrOld)
132 { 132 {
133 ntpOutPut(lineStr); 133 ntpOutPut(lineStr);
134 _ntpOutput += lineStr; 134 _ntpOutput += lineStr;
135 } 135 }
136 lineStrOld = lineStr; 136 lineStrOld = lineStr;
137} 137}
138 138
139void Ntp::ntpFinished(OProcess *p) 139void Ntp::ntpFinished(OProcess *p)
140{ 140{
141 qDebug("p->exitStatus() %i",p->exitStatus()); 141 qDebug("p->exitStatus() %i",p->exitStatus());
142 if (p->exitStatus()!=0 || !p->normalExit()) 142 if (p->exitStatus()!=0 || !p->normalExit())
143 { 143 {
144 slotProbeNtpServer(); 144 slotProbeNtpServer();
145 return; 145 return;
146 } 146 }
147 Config cfg("ntp",Config::User); 147 Config cfg("ntp",Config::User);
148 cfg.setGroup("lookups"); 148 cfg.setGroup("lookups");
149 int lastLookup = cfg.readNumEntry("time",0); 149 int lastLookup = cfg.readNumEntry("time",0);
150 int lookupCount = cfg.readNumEntry("count",0); 150 int lookupCount = cfg.readNumEntry("count",0);
151 bool lastNtp = cfg.readBoolEntry("lastNtp",false);
151 int time = TimeConversion::toUTC( QDateTime::currentDateTime() ); 152 int time = TimeConversion::toUTC( QDateTime::currentDateTime() );
152 cfg.writeEntry("time", time); 153 cfg.writeEntry("time", time);
153 cfg.setGroup("correction");
154 cfg.writeEntry("time", time);
155 154
156 float timeShift = getTimeShift(); 155 float timeShift = getTimeShift();
157 if (timeShift == 0.0) return; 156 if (timeShift == 0.0) return;
158 int secsSinceLast = time - lastLookup; 157 int secsSinceLast = time - lastLookup;
159 TextLabelNewTime->setText(QDateTime::currentDateTime().toString()); 158 TextLabelNewTime->setText(QDateTime::currentDateTime().toString());
160 TextLabelTimeShift->setText(QString::number(timeShift)+tr(" seconds")); 159 TextLabelTimeShift->setText(QString::number(timeShift)+tr(" seconds"));
161 if ( lastLookup > 0 && secsSinceLast > 60* SpinBoxMinLookupDelay->value()) 160 if ( lastNtp && lastLookup > 0 && secsSinceLast > 60* SpinBoxMinLookupDelay->value())
162 { 161 {
162 cfg.setGroup("lookup_"+QString::number(lookupCount));
163 lookupCount++; 163 lookupCount++;
164 cfg.writeEntry("count",lookupCount); 164 cfg.writeEntry("count",lookupCount);
165 cfg.setGroup("lookup_"+QString::number(lookupCount));
166 _shiftPerSec = timeShift / secsSinceLast; 165 _shiftPerSec = timeShift / secsSinceLast;
167 qDebug("secs since last lookup %i", secsSinceLast);qDebug("timeshift since last lookup %f", timeShift);qDebug("timeshift since per sec %f", _shiftPerSec); 166 qDebug("secs since last lookup %i", secsSinceLast);qDebug("timeshift since last lookup %f", timeShift);qDebug("timeshift since per sec %f", _shiftPerSec);
168 cfg.writeEntry("secsSinceLast",secsSinceLast); 167 cfg.writeEntry("secsSinceLast",secsSinceLast);
169 cfg.writeEntry("timeShift",QString::number(timeShift)); 168 cfg.writeEntry("timeShift",QString::number(timeShift));
169 cfg.writeEntry("lastNtp",true);
170 } 170 }
171} 171}
172 172
173 173
174float Ntp::getTimeShift() 174float Ntp::getTimeShift()
175{ 175{
176 QString _offset = "offset"; 176 QString _offset = "offset";
177 QString _sec = "sec"; 177 QString _sec = "sec";
178 QRegExp _reOffset = QRegExp(_offset); 178 QRegExp _reOffset = QRegExp(_offset);
179 QRegExp _reEndOffset = QRegExp(_sec); 179 QRegExp _reEndOffset = QRegExp(_sec);
180 int posOffset = _reOffset.match( _ntpOutput ); 180 int posOffset = _reOffset.match( _ntpOutput );
181 int posEndOffset = _reEndOffset.match( _ntpOutput, posOffset ); 181 int posEndOffset = _reEndOffset.match( _ntpOutput, posOffset );
182 posOffset += _offset.length() + 1; 182 posOffset += _offset.length() + 1;
183 QString diff = _ntpOutput.mid(posOffset, posEndOffset-posOffset-1); 183 QString diff = _ntpOutput.mid(posOffset, posEndOffset-posOffset-1);
184 qDebug("%s", _ntpOutput.latin1()); 184 qDebug("%s", _ntpOutput.latin1());
185 qDebug("diff = >%s<",diff.latin1()); 185 qDebug("diff = >%s<",diff.latin1());
186 return diff.toFloat(); 186 return diff.toFloat();
187} 187}
188 188
189void Ntp::readLookups() 189void Ntp::readLookups()
190{ 190{
191 Config cfg("ntp",Config::User); 191 Config cfg("ntp",Config::User);
192 cfg.setGroup("lookups"); 192 cfg.setGroup("lookups");
193 int lookupCount = cfg.readNumEntry("count",0); 193 int lookupCount = cfg.readNumEntry("count",0);
194 float last, shift, shiftPerSec; 194 float last, shift, shiftPerSec;
195 qDebug("lookupCount = %i",lookupCount); 195 qDebug("lookupCount = %i",lookupCount);
196 TableLookups->setNumCols( 3 ); 196 TableLookups->setNumCols( 3 );
197 TableLookups->setNumRows( lookupCount); 197 TableLookups->setNumRows( lookupCount);
198 TableLookups->horizontalHeader()->setLabel(1,tr("last [h]")); 198 TableLookups->horizontalHeader()->setLabel(1,tr("last [h]"));
199 TableLookups->horizontalHeader()->setLabel(2,tr("offset [s]")); 199 TableLookups->horizontalHeader()->setLabel(2,tr("offset [s]"));
200 TableLookups->horizontalHeader()->setLabel(0,tr("shift [s/h]")); 200 TableLookups->horizontalHeader()->setLabel(0,tr("shift [s/h]"));
201 int cw = TableLookups->width()/4; 201 int cw = TableLookups->width()/4;
202 qDebug("column width %i",cw); 202 qDebug("column width %i",cw);
203 cw = 50; 203 cw = 50;
204 TableLookups->setColumnWidth( 0, cw+30 ); 204 TableLookups->setColumnWidth( 0, cw+30 );
205 TableLookups->setColumnWidth( 1, cw ); 205 TableLookups->setColumnWidth( 1, cw );
206 TableLookups->setColumnWidth( 2, cw ); 206 TableLookups->setColumnWidth( 2, cw );
207 TableLookups->sortColumn(0, false, true ); 207 TableLookups->sortColumn(0, false, true );
208 // TableLookups->setSorting( true ); 208 // TableLookups->setSorting( true );
209 for (int i=0; i < lookupCount; i++) 209 for (int i=0; i < lookupCount; i++)
210 { 210 {
211 cfg.setGroup("lookup_"+QString::number(i)); 211 cfg.setGroup("lookup_"+QString::number(i));
212 last = cfg.readEntry("secsSinceLast",0).toFloat(); 212 last = cfg.readEntry("secsSinceLast",0).toFloat();
213 shift = QString(cfg.readEntry("timeShift",0)).toFloat(); 213 shift = QString(cfg.readEntry("timeShift",0)).toFloat();
214 // qDebug("%i last %f",i,last); 214 // qDebug("%i last %f",i,last);
215 // qDebug("%i shift %f",i,shift); 215 // qDebug("%i shift %f",i,shift);
216 shiftPerSec = shift / last; 216 shiftPerSec = shift / last;
217 _shiftPerSec += shiftPerSec; 217 _shiftPerSec += shiftPerSec;
218 TableLookups->setText( i,0,QString::number(shiftPerSec*60*60)); 218 TableLookups->setText( i,0,QString::number(shiftPerSec*60*60));
219 TableLookups->setText( i,2,QString::number(shift)); 219 TableLookups->setText( i,2,QString::number(shift));
220 TableLookups->setText( i,1,QString::number(last/(60*60))); 220 TableLookups->setText( i,1,QString::number(last/(60*60)));
221 } 221 }
222 _shiftPerSec /= lookupCount; 222 _shiftPerSec /= lookupCount;
223 TextLabelShift->setText(QString::number(_shiftPerSec*60*60)+tr(" s/h")); 223 TextLabelShift->setText(QString::number(_shiftPerSec*60*60)+tr(" s/h"));
224} 224}
225 225
226void Ntp::preditctTime() 226void Ntp::preditctTime()
227{ 227{
228 Config cfg("ntp",Config::User); 228 Config cfg("ntp",Config::User);
229 cfg.setGroup("lookups"); 229 cfg.setGroup("lookups");
230 int lastTime = cfg.readNumEntry("time",0); 230 int lastTime = cfg.readNumEntry("time",0);
231 cfg.writeEntry("lastNtp",true);
231 setenv( "TZ", tz->currentZone(), 1 ); 232 setenv( "TZ", tz->currentZone(), 1 );
232 int now = TimeConversion::toUTC( QDateTime::currentDateTime() ); 233 int now = TimeConversion::toUTC( QDateTime::currentDateTime() );
233 int corr = int((now - lastTime) * _shiftPerSec); 234 int corr = int((now - lastTime) * _shiftPerSec);
234 TextLabelEstimatedShift->setText(QString::number(corr)+tr(" seconds")); 235 TextLabelEstimatedShift->setText(QString::number(corr)+tr(" seconds"));
235 predictedTime = QDateTime::currentDateTime().addSecs(corr); 236 predictedTime = QDateTime::currentDateTime().addSecs(corr);
236 TextLabelPredTime->setText(predictedTime.toString()); 237 TextLabelPredTime->setText(predictedTime.toString());
237 TextLabelMainPredTime->setText(tr("Predicted time:")+"<br><b>"+predictedTime.toString()+"</b>"); 238 TextLabelMainPredTime->setText(tr("Predicted time:")+"<br><b>"+predictedTime.toString()+"</b>");
238} 239}
239 240
240void Ntp::setPredictTime() 241void Ntp::setPredictTime()
241{ 242{
242 preditctTime(); 243 preditctTime();
243 setTime( predictedTime ); 244 setTime( predictedTime );
244} 245}
245 246
246void Ntp::slotCheckNtp(int i) 247void Ntp::slotCheckNtp(int i)
247{ 248{
248 if (i == 0) 249 if (i == 0)
249 { 250 {
250 TextLabelMainPredTime->hide(); 251 TextLabelMainPredTime->hide();
251 ButtonSetTime->setText( tr("Get time from network") ); 252 ButtonSetTime->setText( tr("Get time from network") );
252 connect( ButtonSetTime, SIGNAL(clicked()), SLOT(slotRunNtp()) ); 253 connect( ButtonSetTime, SIGNAL(clicked()), SLOT(slotRunNtp()) );
253 if ( ntpDelayElapsed() ) 254 if ( ntpDelayElapsed() )
254 { 255 {
255 slotRunNtp(); 256 slotRunNtp();
256 disconnect(ntpTimer, SIGNAL( timeout() ), this, SLOT(slotProbeNtpServer()) ); 257 disconnect(ntpTimer, SIGNAL( timeout() ), this, SLOT(slotProbeNtpServer()) );
257 connect(ntpTimer, SIGNAL( timeout() ), SLOT(slotRunNtp()) ); 258 connect(ntpTimer, SIGNAL( timeout() ), SLOT(slotRunNtp()) );
258 }else{ 259 }else{
259 disconnect(ntpTimer, SIGNAL( timeout() ), this, SLOT(slotRunNtp()) ); 260 disconnect(ntpTimer, SIGNAL( timeout() ), this, SLOT(slotRunNtp()) );
260 connect(ntpTimer, SIGNAL( timeout() ), SLOT(slotProbeNtpServer()) ); 261 connect(ntpTimer, SIGNAL( timeout() ), SLOT(slotProbeNtpServer()) );
261 } 262 }
262 }else{ 263 }else{
diff --git a/noncore/settings/netsystemtime/settime.cpp b/noncore/settings/netsystemtime/settime.cpp
index e7e604f..9c5323a 100644
--- a/noncore/settings/netsystemtime/settime.cpp
+++ b/noncore/settings/netsystemtime/settime.cpp
@@ -201,64 +201,67 @@ SetDateTime::SetDateTime(QWidget *parent, const char *name, WFlags f )
201 SLOT(updateSystem(int ) )); 201 SLOT(updateSystem(int ) ));
202 QObject::connect( clockAppletCombo, SIGNAL( activated ( int )), 202 QObject::connect( clockAppletCombo, SIGNAL( activated ( int )),
203 SLOT(updateSystem(int ) )); 203 SLOT(updateSystem(int ) ));
204} 204}
205 205
206SetDateTime::~SetDateTime() 206SetDateTime::~SetDateTime()
207{ 207{
208 writeSettings(); 208 writeSettings();
209 209
210} 210}
211 211
212void SetDateTime::writeSettings() 212void SetDateTime::writeSettings()
213{ 213{
214 Config config("qpe"); 214 Config config("qpe");
215 config.setGroup( "Time" ); 215 config.setGroup( "Time" );
216 config.writeEntry( "AMPM", ampmCombo->currentItem() ); 216 config.writeEntry( "AMPM", ampmCombo->currentItem() );
217 config.writeEntry( "MONDAY", weekStartCombo->currentItem() ); 217 config.writeEntry( "MONDAY", weekStartCombo->currentItem() );
218 config.setGroup( "Date" ); 218 config.setGroup( "Date" );
219 DateFormat df = date_formats[dateFormatCombo->currentItem()]; 219 DateFormat df = date_formats[dateFormatCombo->currentItem()];
220 config.writeEntry( "Separator", QString(df.separator())); 220 config.writeEntry( "Separator", QString(df.separator()));
221 config.writeEntry( "ShortOrder", df.shortOrder()); 221 config.writeEntry( "ShortOrder", df.shortOrder());
222 config.writeEntry( "LongOrder", df.longOrder()); 222 config.writeEntry( "LongOrder", df.longOrder());
223 config.writeEntry( "ClockApplet", clockAppletCombo->currentItem() ); 223 config.writeEntry( "ClockApplet", clockAppletCombo->currentItem() );
224 224
225 Config lconfig("locale"); 225 Config lconfig("locale");
226 lconfig.setGroup( "Location" ); 226 lconfig.setGroup( "Location" );
227 lconfig.writeEntry( "Timezone", tz->currentZone() ); 227 lconfig.writeEntry( "Timezone", tz->currentZone() );
228 228
229} 229}
230 230
231void SetDateTime::commitTime() 231void SetDateTime::commitTime()
232{ 232{
233 Config cfg("ntp",Config::User);
234 cfg.setGroup("lookups");
235 cfg.writeEntry("lastNtp",false);
233 tz->setFocus(); 236 tz->setFocus();
234 // Need to process the QCOP event generated above before proceeding 237 // Need to process the QCOP event generated above before proceeding
235 qApp->processEvents(); 238 qApp->processEvents();
236 239
237 // before we progress further, set our TZ! 240 // before we progress further, set our TZ!
238 setenv( "TZ", tz->currentZone(), 1 ); 241 setenv( "TZ", tz->currentZone(), 1 );
239 // now set the time... 242 // now set the time...
240 QDateTime dt( dateButton->date(), timeButton->time() ); 243 QDateTime dt( dateButton->date(), timeButton->time() );
241 244
242 if ( dt.isValid() ) setTime(dt); 245 if ( dt.isValid() ) setTime(dt);
243} 246}
244 247
245void SetDateTime::setTime(QDateTime dt) 248void SetDateTime::setTime(QDateTime dt)
246{ 249{
247 // really turn off the screensaver before doing anything 250 // really turn off the screensaver before doing anything
248 { 251 {
249 // Needs to be encased in { } so that it deconstructs and sends 252 // Needs to be encased in { } so that it deconstructs and sends
250 QCopEnvelope disableScreenSaver( "QPE/System", "setScreenSaverIntervals(int,int,int)" ); 253 QCopEnvelope disableScreenSaver( "QPE/System", "setScreenSaverIntervals(int,int,int)" );
251 disableScreenSaver << 0 << 0 << 0; 254 disableScreenSaver << 0 << 0 << 0;
252 } 255 }
253 Config cfg("ntp",Config::User); 256 Config cfg("ntp",Config::User);
254 cfg.setGroup("correction"); 257 cfg.setGroup("correction");
255 int t = TimeConversion::toUTC(dt); 258 int t = TimeConversion::toUTC(dt);
256 struct timeval myTv; 259 struct timeval myTv;
257 myTv.tv_sec = t; 260 myTv.tv_sec = t;
258 cfg.writeEntry("time", t ); 261 cfg.writeEntry("time", t );
259 myTv.tv_usec = 0; 262 myTv.tv_usec = 0;
260 263
261 if ( myTv.tv_sec != -1 ) 264 if ( myTv.tv_sec != -1 )
262 ::settimeofday( &myTv, 0 ); 265 ::settimeofday( &myTv, 0 );
263 Global::writeHWClock(); 266 Global::writeHWClock();
264 // since time has changed quickly load in the datebookdb 267 // since time has changed quickly load in the datebookdb