1 /***************************************************************************
2 awardswidget.cpp - description
3 -------------------
4 begin : nov 2019
5 copyright : (C) 2019 by Jaime Robles
6 email : jaime@robles.es
7 ***************************************************************************/
8
9 /*****************************************************************************
10 * This file is part of KLog. *
11 * *
12 * KLog is free software: you can redistribute it and/or modify *
13 * it under the terms of the GNU General Public License as published by *
14 * the Free Software Foundation, either version 3 of the License, or *
15 * (at your option) any later version. *
16 * *
17 * KLog is distributed in the hope that it will be useful, *
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
20 * GNU General Public License for more details. *
21 * *
22 * You should have received a copy of the GNU General Public License *
23 * along with KLog. If not, see <https://www.gnu.org/licenses/>. *
24 * *
25 *****************************************************************************/
26
27 #include "awardswidget.h"
28
AwardsWidget(DataProxy_SQLite * dp,QWidget * parent)29 AwardsWidget::AwardsWidget(DataProxy_SQLite *dp, QWidget *parent) :
30 QWidget(parent)
31 {
32 //qDebug() << "AwardsWidget::AwardsWidget" << QT_ENDL;
33 manageDXMarathon = false;
34 logSeverity = Info; //7 Debug /0=emergency or no debug
35 emit debugLog (Q_FUNC_INFO, "Start", Debug);
36 currentLog = -1;
37
38 dxccConfirmedQLCDNumber = new QLCDNumber;
39 dxccWorkedQLCDNumber = new QLCDNumber;
40 wazConfirmedQLCDNumber = new QLCDNumber;
41 wazWorkedQLCDNumber = new QLCDNumber;
42 //localConfirmedQLCDNumber = new QLCDNumber;
43 //localWorkedQLCDNumber = new QLCDNumber;
44 qsoConfirmedQLCDNumber = new QLCDNumber;
45 qsoWorkedQLCDNumber = new QLCDNumber;
46 yearlyQSOLCDNumber = new QLCDNumber;
47
48 yearlyDXCCQLCDNumber = new QLCDNumber;
49 yearlyCQQLCDNumber = new QLCDNumber;
50 yearlyScoreQLCDNumber = new QLCDNumber;
51 operatingYearsComboBox = new QComboBox;
52
53 yearlyLabelN = new QLabel();
54 yearlyScoreLabelN = new QLabel();
55
56 recalculateAwardsButton = new QPushButton;
57 operatingYearsComboBox = new QComboBox;
58 dataProxy = dp;
59 awards = new Awards(dataProxy, Q_FUNC_INFO);
60 //awards = new Awards(dataProxy, Q_FUNC_INFO);
61 //util = new Utilities;
62
63
64 clear();
65 createUI();
66 emit debugLog (Q_FUNC_INFO, "END", Debug);
67 //qDebug() << "AwardsWidget::AwardsWidget - END" << QT_ENDL;
68 }
69
~AwardsWidget()70 AwardsWidget::~AwardsWidget()
71 {
72
73 }
74
clear()75 void AwardsWidget::clear()
76 {
77 emit debugLog (Q_FUNC_INFO, "Start", Debug);
78 //qDebug() << "AwardsWidget::clear" << QT_ENDL;
79 /*
80 searchBoxLineEdit->clear();
81 searchResultsTreeWidget->clear();
82 qslingNeeded = false;
83 searchSelectAllClicked = false;
84 */
85
86 emit debugLog (Q_FUNC_INFO, "END", Debug);
87 //qDebug() << "AwardsWidget::clear-END" << QT_ENDL;
88 }
89
90
createUI()91 void AwardsWidget::createUI()
92 {
93 //searchBoxClearButton->setToolTip(tr("Clear the searches."));
94 //qDebug() << "AwardsWidget::createUI" << QT_ENDL;
95 emit debugLog (Q_FUNC_INFO, "Start", Debug);
96
97 recalculateAwardsButton = new QPushButton(tr("Recalculate"), this);
98 recalculateAwardsButton->setToolTip(tr("Click to recalculate the award status."));
99 operatingYearsComboBox->setToolTip(tr("Select the year you want to check."));
100
101 QLabel *yearlyQSOsLabelN = new QLabel(tr("QSOs"));
102 QLabel *yearlyDXCCLabelN = new QLabel(tr("DXCC"));
103 QLabel *yearlyCQLabelN = new QLabel(tr("CQ"));
104
105 QLabel *awardLabelN = new QLabel(tr("Award"));
106 awardLabelN->setAlignment(Qt::AlignVCenter | Qt::AlignCenter);
107 QLabel *confirmedLabelN = new QLabel(tr("Confirmed"));
108 confirmedLabelN->setAlignment(Qt::AlignVCenter | Qt::AlignCenter);
109
110 QLabel *workedLabelN = new QLabel(tr("Worked"));
111 workedLabelN->setAlignment(Qt::AlignVCenter | Qt::AlignCenter);
112
113 QLabel *dxccLabelN = new QLabel(tr("DXCC"));
114 dxccLabelN->setAlignment(Qt::AlignVCenter | Qt::AlignCenter);
115
116 QLabel *wazLabelN = new QLabel(tr("WAZ"));
117 wazLabelN->setAlignment(Qt::AlignVCenter | Qt::AlignCenter);
118
119 //QLabel *localLabelN = new QLabel(tr("Local"));
120 //localLabelN->setAlignment(Qt::AlignVCenter | Qt::AlignCenter);
121
122 QLabel *qsoNLabelN = new QLabel(tr("QSOs"));
123 qsoNLabelN->setAlignment(Qt::AlignVCenter | Qt::AlignCenter);
124
125 yearlyLabelN->setAlignment(Qt::AlignVCenter | Qt::AlignCenter);
126 yearlyQSOsLabelN->setAlignment(Qt::AlignVCenter | Qt::AlignCenter);
127 yearlyDXCCLabelN->setAlignment(Qt::AlignVCenter | Qt::AlignCenter);
128 yearlyQSOsLabelN->setAlignment(Qt::AlignVCenter | Qt::AlignCenter);
129 yearlyCQLabelN->setAlignment(Qt::AlignVCenter | Qt::AlignCenter);
130 yearlyScoreLabelN->setAlignment(Qt::AlignVCenter | Qt::AlignCenter);
131
132
133 #ifdef Q_OS_WIN
134 //qDebug() << "AwardsWidget::createUIDX - WINDOWS DETECTED!" << QT_ENDL;
135
136 qsoNLabelN->setFrameShadow(QFrame::Raised);
137 qsoNLabelN->setFrameStyle(QFrame::StyledPanel);
138 wazLabelN->setFrameShadow(QFrame::Raised);
139 wazLabelN->setFrameStyle(QFrame::StyledPanel);
140 //localLabelN->setFrameShadow(QFrame::Raised);
141 //localLabelN->setFrameStyle(QFrame::StyledPanel);
142 dxccLabelN->setFrameShadow(QFrame::Raised);
143 dxccLabelN->setFrameStyle(QFrame::StyledPanel);
144 workedLabelN->setFrameShadow(QFrame::Raised);
145 workedLabelN->setFrameStyle(QFrame::StyledPanel);
146 confirmedLabelN->setFrameShadow(QFrame::Raised);
147 confirmedLabelN->setFrameStyle(QFrame::StyledPanel);
148 awardLabelN->setFrameShadow(QFrame::Raised);
149 awardLabelN->setFrameStyle(QFrame::StyledPanel);
150
151 yearlyQSOsLabelN->setFrameShadow(QFrame::Raised);
152 yearlyDXCCLabelN->setFrameShadow(QFrame::Raised);
153 yearlyQSOsLabelN->setFrameShadow(QFrame::Raised);
154 yearlyScoreLabelN->setFrameShadow(QFrame::Raised);
155 yearlyLabelN->setFrameShadow(QFrame::Raised);
156 yearlyCQLabelN->setFrameShadow(QFrame::Raised);
157
158 yearlyQSOsLabelN->setFrameStyle(QFrame::StyledPanel);
159 yearlyDXCCLabelN->setFrameStyle(QFrame::StyledPanel);
160 yearlyQSOsLabelN->setFrameStyle(QFrame::StyledPanel);
161 yearlyScoreLabelN->setFrameStyle(QFrame::StyledPanel);
162 yearlyLabelN->setFrameStyle(QFrame::StyledPanel);
163 yearlyCQLabelN->setFrameStyle(QFrame::StyledPanel);
164
165
166 #else
167 //qDebug() << "AwardsWidget::createUIDX - NO WINDOWS DETECTED!" << QT_ENDL;
168
169 //localLabelN->setFrameStyle(QFrame::StyledPanel | QFrame::Raised);
170 qsoNLabelN->setFrameStyle(QFrame::StyledPanel | QFrame::Raised);
171 wazLabelN->setFrameStyle(QFrame::StyledPanel | QFrame::Raised);
172 dxccLabelN->setFrameStyle(QFrame::StyledPanel | QFrame::Raised);
173 workedLabelN->setFrameStyle(QFrame::StyledPanel | QFrame::Raised);
174 confirmedLabelN->setFrameStyle(QFrame::StyledPanel | QFrame::Raised);
175 awardLabelN->setFrameStyle(QFrame::StyledPanel | QFrame::Raised);
176 yearlyQSOsLabelN->setFrameStyle(QFrame::StyledPanel | QFrame::Raised);
177 yearlyDXCCLabelN->setFrameStyle(QFrame::StyledPanel | QFrame::Raised);
178 yearlyQSOsLabelN->setFrameStyle(QFrame::StyledPanel | QFrame::Raised);
179 yearlyCQLabelN->setFrameStyle(QFrame::StyledPanel | QFrame::Raised);
180 yearlyScoreLabelN->setFrameStyle(QFrame::StyledPanel | QFrame::Raised);
181 yearlyLabelN->setFrameStyle(QFrame::StyledPanel | QFrame::Raised);
182
183 #endif
184
185 //qDebug() << "AwardsWidget::createUI-125" << QT_ENDL;
186 //reconfigureyearlyUI(manageyearly);
187 yearlyScoreLabelN->setText(tr("Score"));
188 yearlyLabelN->setText(tr("Annual"));
189
190 //qDebug() << "AwardsWidget::createUI-135" << QT_ENDL;
191 QGridLayout *yearlyDLayout = new QGridLayout;
192
193 yearlyDLayout->addWidget(yearlyQSOsLabelN, 0, 0);
194 yearlyDLayout->addWidget(yearlyDXCCLabelN, 0, 1);
195 yearlyDLayout->addWidget(yearlyCQLabelN, 0, 2);
196 yearlyDLayout->addWidget(yearlyQSOLCDNumber, 1, 0);
197 yearlyDLayout->addWidget(yearlyDXCCQLCDNumber, 1, 1);
198 yearlyDLayout->addWidget(yearlyCQQLCDNumber, 1, 2);
199
200 //qDebug() << "AwardsWidget::createUI-145" << QT_ENDL;
201 QVBoxLayout *yearlyTLayout = new QVBoxLayout;
202 yearlyTLayout->addWidget(yearlyLabelN);
203 yearlyTLayout->addWidget(operatingYearsComboBox);
204
205 //qDebug() << "AwardsWidget::createUI-150" << QT_ENDL;
206 QGridLayout *dxUpRightAwardsTabLayout = new QGridLayout;
207 //qDebug() << "AwardsWidget::createUI-151" << QT_ENDL;
208 dxUpRightAwardsTabLayout->addWidget(awardLabelN, 0, 0);
209 //qDebug() << "AwardsWidget::createUI-152" << QT_ENDL;
210 dxUpRightAwardsTabLayout->addWidget(workedLabelN, 0, 1);
211 //qDebug() << "AwardsWidget::createUI-153" << QT_ENDL;
212 dxUpRightAwardsTabLayout->addWidget(confirmedLabelN, 0, 2);
213 //qDebug() << "AwardsWidget::createUI-154" << QT_ENDL;
214 dxUpRightAwardsTabLayout->addWidget(dxccLabelN, 1, 0);
215 //qDebug() << "AwardsWidget::createUI-155" << QT_ENDL;
216 dxUpRightAwardsTabLayout->addWidget(dxccWorkedQLCDNumber, 1, 1);
217 //qDebug() << "AwardsWidget::createUI-156" << QT_ENDL;
218 dxUpRightAwardsTabLayout->addWidget(dxccConfirmedQLCDNumber, 1, 2);
219 //qDebug() << "AwardsWidget::createUI-157" << QT_ENDL;
220 dxUpRightAwardsTabLayout->addWidget(wazLabelN, 2, 0);
221 //qDebug() << "AwardsWidget::createUI-158" << QT_ENDL;
222 dxUpRightAwardsTabLayout->addWidget(wazWorkedQLCDNumber, 2, 1);
223 //qDebug() << "AwardsWidget::createUI-159" << QT_ENDL;
224 dxUpRightAwardsTabLayout->addWidget(wazConfirmedQLCDNumber, 2, 2);
225 //qDebug() << "AwardsWidget::createUI-160" << QT_ENDL;
226 //dxUpRightAwardsTabLayout->addWidget(localLabelN, 3, 0);
227 //qDebug() << "AwardsWidget::createUI-161" << QT_ENDL;
228 //dxUpRightAwardsTabLayout->addWidget(localWorkedQLCDNumber, 3, 1);
229 //qDebug() << "AwardsWidget::createUI-162" << QT_ENDL;
230 //dxUpRightAwardsTabLayout->addWidget(localConfirmedQLCDNumber, 3, 2);
231 //qDebug() << "AwardsWidget::createUI-163" << QT_ENDL;
232 dxUpRightAwardsTabLayout->addWidget(qsoNLabelN, 4, 0);
233 //qDebug() << "AwardsWidget::createUI-164" << QT_ENDL;
234 dxUpRightAwardsTabLayout->addWidget(qsoWorkedQLCDNumber, 4, 1);
235 //qDebug() << "AwardsWidget::createUI-165" << QT_ENDL;
236 dxUpRightAwardsTabLayout->addWidget(qsoConfirmedQLCDNumber, 4, 2);
237 //qDebug() << "AwardsWidget::createUI-166" << QT_ENDL;
238 dxUpRightAwardsTabLayout->addLayout(yearlyTLayout, 5, 0);
239 //qDebug() << "AwardsWidget::createUI-167" << QT_ENDL;
240 dxUpRightAwardsTabLayout->addLayout(yearlyDLayout, 5, 1, 1, -1);
241 //qDebug() << "AwardsWidget::createUI-168" << QT_ENDL;
242 dxUpRightAwardsTabLayout->addWidget(recalculateAwardsButton, 6, 1);
243
244 //qDebug() << "AwardsWidget::createUI-200" << QT_ENDL;
245 setLayout(dxUpRightAwardsTabLayout);
246
247 //connect(dataProxy, SIGNAL(qsoFound(QStringList)), this, SLOT(slotQsoFound(QStringList)) );
248 //connect(searchBoxExportButton, SIGNAL(clicked()), this, SLOT(slotSearchExportButtonClicked() ) );
249
250 setToolTips();
251
252 connect(operatingYearsComboBox, SIGNAL(currentIndexChanged ( int)), this, SLOT(slotOperatingYearComboBoxChanged() ) ) ;
253 connect(recalculateAwardsButton, SIGNAL(clicked()), this, SLOT(slotRecalculateAwardsButtonClicked() ) );
254
255 emit debugLog (Q_FUNC_INFO, "END", Debug);
256 //qDebug() << "AwardsWidget::createUI-END" << QT_ENDL;
257 }
258
setManageDXMarathon(const bool _dx)259 void AwardsWidget::setManageDXMarathon(const bool _dx)
260 {
261 emit debugLog(Q_FUNC_INFO, "Start", logSeverity);
262 manageDXMarathon = _dx;
263 reconfigureDXMarathonUI(manageDXMarathon);
264 emit debugLog(Q_FUNC_INFO, "End", logSeverity);
265 }
266
267 /*
268 void AwardsWidget::slotSearchClearButtonClicked()
269 {
270 //qDebug() << "SearchWidget::slotSearchClearButtonClicked: " << QT_ENDL;
271 searchResultsTreeWidget->clear();
272 searchBoxLineEdit->clear();
273 searchSelectAllClicked = false;
274 qslingNeeded = false;
275 }
276 */
277
setToolTips()278 void AwardsWidget::setToolTips()
279 {
280 emit debugLog (Q_FUNC_INFO, "Start", Debug);
281 dxccConfirmedQLCDNumber->setToolTip(tr("Number of confirmed DXCC entities."));
282 dxccWorkedQLCDNumber->setToolTip(tr("Number of worked DXCC entities."));
283 wazConfirmedQLCDNumber->setToolTip(tr("Number of confirmed WAZ zones."));
284 wazWorkedQLCDNumber->setToolTip(tr("Number of worked WAZ zones."));
285 //localConfirmedQLCDNumber->setToolTip(tr("Number of confirmed local references."));
286 //localWorkedQLCDNumber->setToolTip(tr("Number of worked local references."));
287 qsoConfirmedQLCDNumber->setToolTip(tr("Number of confirmed QSOs."));
288 qsoWorkedQLCDNumber->setToolTip(tr("Number of worked QSOs."));
289
290 yearlyQSOLCDNumber->setToolTip(tr("Number of QSOs worked in the selected year."));
291 yearlyDXCCQLCDNumber->setToolTip(tr("Number of DXCCs worked in the selected year."));
292 yearlyCQQLCDNumber->setToolTip(tr("Number of CQ Zones worked in the selected year."));
293 yearlyScoreQLCDNumber->setToolTip(tr("Score for the DXMarathon in the selected year."));
294 operatingYearsComboBox->setToolTip(tr("Select the year you want to check."));
295
296 emit debugLog (Q_FUNC_INFO, "END", Debug);
297 }
298
slotRecalculateAwardsButtonClicked()299 void AwardsWidget::slotRecalculateAwardsButtonClicked()
300 {
301 emit debugLog (Q_FUNC_INFO, "Start", Debug);
302 awards->recalculateAwards();
303 //emit recalculateAwardsSignal();
304 showAwards();
305 emit debugLog (Q_FUNC_INFO, "END", Debug);
306 }
307
slotOperatingYearComboBoxChanged()308 void AwardsWidget::slotOperatingYearComboBoxChanged()
309 {
310 emit debugLog (Q_FUNC_INFO, "Start", Debug);
311 selectedYear = (operatingYearsComboBox->currentText()).toInt();
312 showDXMarathon(selectedYear);
313 emit debugLog (Q_FUNC_INFO, "END", Debug);
314 }
315
showAwards()316 void AwardsWidget::showAwards()
317 { // Updates and show all the award status tab.
318 //qDebug() << "AwardsWidget::showAwards" << QT_ENDL;
319 /*
320 WAZ
321 Local
322 */
323 emit debugLog(Q_FUNC_INFO, "Start", logSeverity);
324 checkIfValidLog();
325 int _num = 0;
326 //QSqlQuery query;
327 //QString aux;
328
329 _num = dataProxy->getHowManyQSOInLog(currentLog);
330 if (_num>99999)
331 {
332 qsoWorkedQLCDNumber->setDigitCount((QString::number(_num)).size());
333 }
334 else
335 {
336 qsoWorkedQLCDNumber->setDigitCount(5);
337 }
338 qsoWorkedQLCDNumber->display(_num);
339
340
341 _num = dataProxy->getHowManyConfirmedQSLInLog(currentLog);
342 if (_num>99999)
343 {
344 qsoConfirmedQLCDNumber->setDigitCount((QString::number(_num)).size());
345 }
346 else
347 {
348 qsoConfirmedQLCDNumber->setDigitCount(5);
349 }
350
351 qsoConfirmedQLCDNumber->display(_num);
352 //_num = 0;
353
354 dxccWorkedQLCDNumber->display(dataProxy->getFieldInBand (DXCC, "ALL", false, "ALL", currentLog));
355 int getFieldInBand(ValidFieldsForStats _field, const QString &_band, bool confirmedOnly, QString _mode = "ALL", int _log=-1);_num = 0;
356
357
358 dxccConfirmedQLCDNumber->display(dataProxy->getFieldInBand (DXCC, "ALL", true, "ALL", currentLog));
359 //_num = 0;
360
361 wazWorkedQLCDNumber->display(awards->getWAZWorked(currentLog));
362 //_num = 0;
363
364 wazConfirmedQLCDNumber->display(awards->getWAZConfirmed(currentLog));
365
366 showDXMarathon(selectedYear);
367 emit debugLog(Q_FUNC_INFO, "END", logSeverity);
368 //qDebug() << "AwardsWidget::showAwards - END" << QT_ENDL;
369 }
370
showDXMarathon(const int _year)371 void AwardsWidget::showDXMarathon(const int _year)
372 {
373 //qDebug() << "AwardsWidget::AwardsWidget::showDXMarathon: Year: " << QString::number(_year) << QT_ENDL;
374 emit debugLog(Q_FUNC_INFO, "Start", logSeverity);
375 int i = 0;
376
377 i = awards->getDXMarathonQSO(_year, currentLog);
378 //qDebug() << "AwardsWidget::AwardsWidget::showDXMarathon: QSO: " << QString::number(i) << QT_ENDL;
379 yearlyQSOLCDNumber->display(i);
380
381 i = awards->getDXMarathonDXCC(_year, currentLog);
382 //qDebug() << "AwardsWidget::AwardsWidget::showDXMarathon: DXCC: " << QString::number(i) << QT_ENDL;
383 yearlyDXCCQLCDNumber->display(i);
384
385 i = awards->getDXMarathonCQ(_year, currentLog);
386 yearlyCQQLCDNumber->display(i);
387 //qDebug() << "AwardsWidget::AwardsWidget::showDXMarathon: CQ: " << QString::number(i) << QT_ENDL;
388
389 if (manageDXMarathon)
390 {
391 i = awards->getDXMarathonScore(_year, currentLog);
392 }
393 else
394 {
395 i = 0;
396 }
397 yearlyScoreQLCDNumber->display(i);
398 emit debugLog(Q_FUNC_INFO, "End", logSeverity);
399 //qDebug() << "AwardsWidget::AwardsWidget::showDXMarathon: Score: " << QString::number(i) << QT_ENDL;
400 }
401
reconfigureDXMarathonUI(const bool _dxM)402 void AwardsWidget::reconfigureDXMarathonUI(const bool _dxM)
403 {
404 emit debugLog(Q_FUNC_INFO, "Start", logSeverity);
405 //dxClusterWidget->setDXMarathon(_dxM);
406 if (_dxM)
407 {
408 yearlyLabelN->setText(tr("DX-Marathon"));
409 yearlyScoreLabelN->setEnabled(true);
410 yearlyScoreQLCDNumber->setEnabled(true);
411 yearlyScoreQLCDNumber->display(0);
412 }
413 else
414 {
415 yearlyLabelN->setText(tr("Annual"));
416 yearlyScoreLabelN->setEnabled(false);
417 yearlyScoreQLCDNumber->setEnabled(false);
418 emit requireCurrentYearSignal();
419
420 int i = awards->getDXMarathonScore(selectedYear, currentLog);
421 if (i>0)
422 {
423 yearlyScoreQLCDNumber->display(i);
424 }
425 else
426 {
427 yearlyScoreQLCDNumber->display(0);
428 }
429 }
430 emit debugLog(Q_FUNC_INFO, "End", logSeverity);
431 }
432
checkIfValidLog()433 void AwardsWidget::checkIfValidLog()
434 {
435 emit debugLog(Q_FUNC_INFO, "Start", logSeverity);
436 if (currentLog < 1)
437 {
438 emit requireCurrentLogSignal();
439 }
440 emit debugLog(Q_FUNC_INFO, "End", logSeverity);
441 }
442
setLog(const int _log)443 void AwardsWidget::setLog(const int _log)
444 {
445 emit debugLog(Q_FUNC_INFO, "Start", logSeverity);
446 if (_log >= 1)
447 {
448 currentLog = _log;
449 }
450
451 //TODO: Define an action when the log received is NOK
452 emit debugLog(Q_FUNC_INFO, "End", logSeverity);
453 }
454
455
setYear(const int _year)456 void AwardsWidget::setYear(const int _year)
457 {
458 emit debugLog(Q_FUNC_INFO, "Start", logSeverity);
459 if (_year >= 1800)
460 {
461 selectedYear = _year;
462
463 if (operatingYearsComboBox->findText(QString::number(selectedYear), Qt::MatchCaseSensitive)>=0)
464 {
465 operatingYearsComboBox->setCurrentIndex(operatingYearsComboBox->findText(QString::number(selectedYear), Qt::MatchCaseSensitive));
466 }
467 else
468 {
469 //TODO: Define what to do when the year is NOK
470 }
471 }
472 emit debugLog(Q_FUNC_INFO, "End", logSeverity);
473 }
474
fillOperatingYears()475 void AwardsWidget::fillOperatingYears()
476 {
477 emit debugLog(Q_FUNC_INFO, "Start", logSeverity);
478 emit requireCurrentLogSignal();
479 emit requireCurrentYearSignal();
480 operatingYearsComboBox->clear();
481
482 if (dataProxy->getLastQSOid()<=1)
483 {
484 //qDebug() << "AwardsWidget::AwardsWidget: 18.4" << QT_ENDL;
485 operatingYearsComboBox->addItem(QString::number(selectedYear));
486 }
487 else
488 {
489 //qDebug() << "AwardsWidget::AwardsWidget: 18.5 - currentLog: " << QString::number(currentLog) << QT_ENDL;
490 operatingYearsComboBox->addItems(dataProxy->getOperatingYears(currentLog));
491 //qDebug() << "AwardsWidget::AwardsWidget: 18.5.1 - currentLog: " << QString::number(currentLog) << QT_ENDL;
492
493 QStringList a;
494 a.clear();
495 a << dataProxy->getOperatingYears(currentLog);
496 //qDebug() << "AwardsWidget::AwardsWidget: 18.5.1.1 - currentLog: " << QString::number(currentLog) << QT_ENDL;
497 if (!a.isEmpty())
498 {
499 //qDebug() << "AwardsWidget::AwardsWidget: 18.5.1.2 - currentLog: " << QString::number(currentLog) << QT_ENDL;
500 operatingYearsComboBox->setCurrentIndex(operatingYearsComboBox->findText(a.last(), Qt::MatchCaseSensitive));
501 //qDebug() << "AwardsWidget::AwardsWidget: 18.5.1.3 - currentLog: " << QString::number(currentLog) << QT_ENDL;
502 }
503
504 //qDebug() << "AwardsWidget::AwardsWidget: 18.5.2" << QT_ENDL;
505 }
506 emit debugLog(Q_FUNC_INFO, "End", logSeverity);
507 }
508
509