1
#include "awardswidget.h"
3
AwardsWidget::AwardsWidget(DataProxy_SQLite *dp, QWidget *parent) :
6
//qDebug() << "AwardsWidget::AwardsWidget" << endl;
7
manageDXMarathon = false;
8
logSeverity = 7; //7 Debug /0=emergency or no debug
9
emit debugLog (Q_FUNC_INFO, "Start", logSeverity);
12
dxccConfirmedQLCDNumber = new QLCDNumber;
13
dxccWorkedQLCDNumber = new QLCDNumber;
14
wazConfirmedQLCDNumber = new QLCDNumber;
15
wazWorkedQLCDNumber = new QLCDNumber;
16
//localConfirmedQLCDNumber = new QLCDNumber;
17
//localWorkedQLCDNumber = new QLCDNumber;
18
qsoConfirmedQLCDNumber = new QLCDNumber;
19
qsoWorkedQLCDNumber = new QLCDNumber;
20
yearlyQSOLCDNumber = new QLCDNumber;
22
yearlyDXCCQLCDNumber = new QLCDNumber;
23
yearlyCQQLCDNumber = new QLCDNumber;
24
yearlyScoreQLCDNumber = new QLCDNumber;
25
operatingYearsComboBox = new QComboBox;
27
yearlyLabelN = new QLabel();
28
yearlyScoreLabelN = new QLabel();
30
recalculateAwardsButton = new QPushButton;
31
operatingYearsComboBox = new QComboBox;
33
awards = new Awards(dataProxy, Q_FUNC_INFO);
34
//awards = new Awards(dataProxy, Q_FUNC_INFO);
35
//util = new Utilities;
40
emit debugLog (Q_FUNC_INFO, "End", logSeverity);
41
//qDebug() << "AwardsWidget::AwardsWidget - END" << endl;
44
AwardsWidget::~AwardsWidget()
49
void AwardsWidget::clear()
51
emit debugLog (Q_FUNC_INFO, "Start", logSeverity);
52
//qDebug() << "AwardsWidget::clear" << endl;
54
searchBoxLineEdit->clear();
55
searchResultsTreeWidget->clear();
57
searchSelectAllClicked = false;
60
emit debugLog (Q_FUNC_INFO, "End", logSeverity);
61
//qDebug() << "AwardsWidget::clear-END" << endl;
65
void AwardsWidget::createUI()
67
//searchBoxClearButton->setToolTip(tr("Clear the searches."));
68
//qDebug() << "AwardsWidget::createUI" << endl;
69
emit debugLog (Q_FUNC_INFO, "Start", logSeverity);
71
recalculateAwardsButton = new QPushButton(tr("Recalculate"), this);
72
recalculateAwardsButton->setToolTip(tr("Click to recalculate the award status."));
73
operatingYearsComboBox->setToolTip(tr("Select the year you want to check."));
75
QLabel *yearlyQSOsLabelN = new QLabel(tr("QSOs"));
76
QLabel *yearlyDXCCLabelN = new QLabel(tr("DXCC"));
77
QLabel *yearlyCQLabelN = new QLabel(tr("CQ"));
79
QLabel *awardLabelN = new QLabel(tr("Award"));
80
awardLabelN->setAlignment(Qt::AlignVCenter | Qt::AlignCenter);
81
QLabel *confirmedLabelN = new QLabel(tr("Confirmed"));
82
confirmedLabelN->setAlignment(Qt::AlignVCenter | Qt::AlignCenter);
84
QLabel *workedLabelN = new QLabel(tr("Worked"));
85
workedLabelN->setAlignment(Qt::AlignVCenter | Qt::AlignCenter);
87
QLabel *dxccLabelN = new QLabel(tr("DXCC"));
88
dxccLabelN->setAlignment(Qt::AlignVCenter | Qt::AlignCenter);
90
QLabel *wazLabelN = new QLabel(tr("WAZ"));
91
wazLabelN->setAlignment(Qt::AlignVCenter | Qt::AlignCenter);
93
//QLabel *localLabelN = new QLabel(tr("Local"));
94
//localLabelN->setAlignment(Qt::AlignVCenter | Qt::AlignCenter);
96
QLabel *qsoNLabelN = new QLabel(tr("QSOs"));
97
qsoNLabelN->setAlignment(Qt::AlignVCenter | Qt::AlignCenter);
99
yearlyLabelN->setAlignment(Qt::AlignVCenter | Qt::AlignCenter);
100
yearlyQSOsLabelN->setAlignment(Qt::AlignVCenter | Qt::AlignCenter);
101
yearlyDXCCLabelN->setAlignment(Qt::AlignVCenter | Qt::AlignCenter);
102
yearlyQSOsLabelN->setAlignment(Qt::AlignVCenter | Qt::AlignCenter);
103
yearlyCQLabelN->setAlignment(Qt::AlignVCenter | Qt::AlignCenter);
104
yearlyScoreLabelN->setAlignment(Qt::AlignVCenter | Qt::AlignCenter);
108
//qDebug() << "AwardsWidget::createUIDX - WINDOWS DETECTED!" << endl;
110
qsoNLabelN->setFrameShadow(QFrame::Raised);
111
qsoNLabelN->setFrameStyle(QFrame::StyledPanel);
112
wazLabelN->setFrameShadow(QFrame::Raised);
113
wazLabelN->setFrameStyle(QFrame::StyledPanel);
114
//localLabelN->setFrameShadow(QFrame::Raised);
115
//localLabelN->setFrameStyle(QFrame::StyledPanel);
116
dxccLabelN->setFrameShadow(QFrame::Raised);
117
dxccLabelN->setFrameStyle(QFrame::StyledPanel);
118
workedLabelN->setFrameShadow(QFrame::Raised);
119
workedLabelN->setFrameStyle(QFrame::StyledPanel);
120
confirmedLabelN->setFrameShadow(QFrame::Raised);
121
confirmedLabelN->setFrameStyle(QFrame::StyledPanel);
122
awardLabelN->setFrameShadow(QFrame::Raised);
123
awardLabelN->setFrameStyle(QFrame::StyledPanel);
125
yearlyQSOsLabelN->setFrameShadow(QFrame::Raised);
126
yearlyDXCCLabelN->setFrameShadow(QFrame::Raised);
127
yearlyQSOsLabelN->setFrameShadow(QFrame::Raised);
128
yearlyScoreLabelN->setFrameShadow(QFrame::Raised);
129
yearlyLabelN->setFrameShadow(QFrame::Raised);
130
yearlyCQLabelN->setFrameShadow(QFrame::Raised);
132
yearlyQSOsLabelN->setFrameStyle(QFrame::StyledPanel);
133
yearlyDXCCLabelN->setFrameStyle(QFrame::StyledPanel);
134
yearlyQSOsLabelN->setFrameStyle(QFrame::StyledPanel);
135
yearlyScoreLabelN->setFrameStyle(QFrame::StyledPanel);
136
yearlyLabelN->setFrameStyle(QFrame::StyledPanel);
137
yearlyCQLabelN->setFrameStyle(QFrame::StyledPanel);
141
//qDebug() << "AwardsWidget::createUIDX - NO WINDOWS DETECTED!" << endl;
143
//localLabelN->setFrameStyle(QFrame::StyledPanel | QFrame::Raised);
144
qsoNLabelN->setFrameStyle(QFrame::StyledPanel | QFrame::Raised);
145
wazLabelN->setFrameStyle(QFrame::StyledPanel | QFrame::Raised);
146
dxccLabelN->setFrameStyle(QFrame::StyledPanel | QFrame::Raised);
147
workedLabelN->setFrameStyle(QFrame::StyledPanel | QFrame::Raised);
148
confirmedLabelN->setFrameStyle(QFrame::StyledPanel | QFrame::Raised);
149
awardLabelN->setFrameStyle(QFrame::StyledPanel | QFrame::Raised);
150
yearlyQSOsLabelN->setFrameStyle(QFrame::StyledPanel | QFrame::Raised);
151
yearlyDXCCLabelN->setFrameStyle(QFrame::StyledPanel | QFrame::Raised);
152
yearlyQSOsLabelN->setFrameStyle(QFrame::StyledPanel | QFrame::Raised);
153
yearlyCQLabelN->setFrameStyle(QFrame::StyledPanel | QFrame::Raised);
154
yearlyScoreLabelN->setFrameStyle(QFrame::StyledPanel | QFrame::Raised);
155
yearlyLabelN->setFrameStyle(QFrame::StyledPanel | QFrame::Raised);
159
//qDebug() << "AwardsWidget::createUI-125" << endl;
160
//reconfigureyearlyUI(manageyearly);
161
yearlyScoreLabelN->setText(tr("Score"));
162
yearlyLabelN->setText(tr("Annual"));
164
//qDebug() << "AwardsWidget::createUI-135" << endl;
165
QGridLayout *yearlyDLayout = new QGridLayout;
167
yearlyDLayout->addWidget(yearlyQSOsLabelN, 0, 0);
168
yearlyDLayout->addWidget(yearlyDXCCLabelN, 0, 1);
169
yearlyDLayout->addWidget(yearlyCQLabelN, 0, 2);
170
yearlyDLayout->addWidget(yearlyQSOLCDNumber, 1, 0);
171
yearlyDLayout->addWidget(yearlyDXCCQLCDNumber, 1, 1);
172
yearlyDLayout->addWidget(yearlyCQQLCDNumber, 1, 2);
174
//qDebug() << "AwardsWidget::createUI-145" << endl;
175
QVBoxLayout *yearlyTLayout = new QVBoxLayout;
176
yearlyTLayout->addWidget(yearlyLabelN);
177
yearlyTLayout->addWidget(operatingYearsComboBox);
179
//qDebug() << "AwardsWidget::createUI-150" << endl;
180
QGridLayout *dxUpRightAwardsTabLayout = new QGridLayout;
181
//qDebug() << "AwardsWidget::createUI-151" << endl;
182
dxUpRightAwardsTabLayout->addWidget(awardLabelN, 0, 0);
183
//qDebug() << "AwardsWidget::createUI-152" << endl;
184
dxUpRightAwardsTabLayout->addWidget(workedLabelN, 0, 1);
185
//qDebug() << "AwardsWidget::createUI-153" << endl;
186
dxUpRightAwardsTabLayout->addWidget(confirmedLabelN, 0, 2);
187
//qDebug() << "AwardsWidget::createUI-154" << endl;
188
dxUpRightAwardsTabLayout->addWidget(dxccLabelN, 1, 0);
189
//qDebug() << "AwardsWidget::createUI-155" << endl;
190
dxUpRightAwardsTabLayout->addWidget(dxccWorkedQLCDNumber, 1, 1);
191
//qDebug() << "AwardsWidget::createUI-156" << endl;
192
dxUpRightAwardsTabLayout->addWidget(dxccConfirmedQLCDNumber, 1, 2);
193
//qDebug() << "AwardsWidget::createUI-157" << endl;
194
dxUpRightAwardsTabLayout->addWidget(wazLabelN, 2, 0);
195
//qDebug() << "AwardsWidget::createUI-158" << endl;
196
dxUpRightAwardsTabLayout->addWidget(wazWorkedQLCDNumber, 2, 1);
197
//qDebug() << "AwardsWidget::createUI-159" << endl;
198
dxUpRightAwardsTabLayout->addWidget(wazConfirmedQLCDNumber, 2, 2);
199
//qDebug() << "AwardsWidget::createUI-160" << endl;
200
//dxUpRightAwardsTabLayout->addWidget(localLabelN, 3, 0);
201
//qDebug() << "AwardsWidget::createUI-161" << endl;
202
//dxUpRightAwardsTabLayout->addWidget(localWorkedQLCDNumber, 3, 1);
203
//qDebug() << "AwardsWidget::createUI-162" << endl;
204
//dxUpRightAwardsTabLayout->addWidget(localConfirmedQLCDNumber, 3, 2);
205
//qDebug() << "AwardsWidget::createUI-163" << endl;
206
dxUpRightAwardsTabLayout->addWidget(qsoNLabelN, 4, 0);
207
//qDebug() << "AwardsWidget::createUI-164" << endl;
208
dxUpRightAwardsTabLayout->addWidget(qsoWorkedQLCDNumber, 4, 1);
209
//qDebug() << "AwardsWidget::createUI-165" << endl;
210
dxUpRightAwardsTabLayout->addWidget(qsoConfirmedQLCDNumber, 4, 2);
211
//qDebug() << "AwardsWidget::createUI-166" << endl;
212
dxUpRightAwardsTabLayout->addLayout(yearlyTLayout, 5, 0);
213
//qDebug() << "AwardsWidget::createUI-167" << endl;
214
dxUpRightAwardsTabLayout->addLayout(yearlyDLayout, 5, 1, 1, -1);
215
//qDebug() << "AwardsWidget::createUI-168" << endl;
216
dxUpRightAwardsTabLayout->addWidget(recalculateAwardsButton, 6, 1);
218
//qDebug() << "AwardsWidget::createUI-200" << endl;
219
setLayout(dxUpRightAwardsTabLayout);
221
//connect(dataProxy, SIGNAL(qsoFound(QStringList)), this, SLOT(slotQsoFound(QStringList)) );
222
//connect(searchBoxExportButton, SIGNAL(clicked()), this, SLOT(slotSearchExportButtonClicked() ) );
226
connect(operatingYearsComboBox, SIGNAL(currentIndexChanged ( int)), this, SLOT(slotOperatingYearComboBoxChanged() ) ) ;
227
connect(recalculateAwardsButton, SIGNAL(clicked()), this, SLOT(slotRecalculateAwardsButtonClicked() ) );
229
emit debugLog (Q_FUNC_INFO, "End", logSeverity);
230
//qDebug() << "AwardsWidget::createUI-END" << endl;
233
void AwardsWidget::setManageDXMarathon(const bool _dx)
235
emit debugLog(Q_FUNC_INFO, "Start", logSeverity);
236
manageDXMarathon = _dx;
237
reconfigureDXMarathonUI(manageDXMarathon);
238
emit debugLog(Q_FUNC_INFO, "End", logSeverity);
242
void AwardsWidget::slotSearchClearButtonClicked()
244
//qDebug() << "SearchWidget::slotSearchClearButtonClicked: " << endl;
245
searchResultsTreeWidget->clear();
246
searchBoxLineEdit->clear();
247
searchSelectAllClicked = false;
248
qslingNeeded = false;
252
void AwardsWidget::setToolTips()
254
emit debugLog (Q_FUNC_INFO, "Start", logSeverity);
255
dxccConfirmedQLCDNumber->setToolTip(tr("Number of confirmed DXCC entities."));
256
dxccWorkedQLCDNumber->setToolTip(tr("Number of worked DXCC entities."));
257
wazConfirmedQLCDNumber->setToolTip(tr("Number of confirmed WAZ zones."));
258
wazWorkedQLCDNumber->setToolTip(tr("Number of worked WAZ zones."));
259
//localConfirmedQLCDNumber->setToolTip(tr("Number of confirmed local references."));
260
//localWorkedQLCDNumber->setToolTip(tr("Number of worked local references."));
261
qsoConfirmedQLCDNumber->setToolTip(tr("Number of confirmed QSOs."));
262
qsoWorkedQLCDNumber->setToolTip(tr("Number of worked QSOs."));
264
yearlyQSOLCDNumber->setToolTip(tr("Number of QSOs worked in the selected year."));
265
yearlyDXCCQLCDNumber->setToolTip(tr("Number of DXCCs worked in the selected year."));
266
yearlyCQQLCDNumber->setToolTip(tr("Number of CQ Zones worked in the selected year."));
267
yearlyScoreQLCDNumber->setToolTip(tr("Score for the DXMarathon in the selected year."));
268
operatingYearsComboBox->setToolTip(tr("Select the year you want to check."));
270
emit debugLog (Q_FUNC_INFO, "End", logSeverity);
273
void AwardsWidget::slotRecalculateAwardsButtonClicked()
275
emit debugLog (Q_FUNC_INFO, "Start", logSeverity);
276
awards->recalculateAwards();
277
//emit recalculateAwardsSignal();
279
emit debugLog (Q_FUNC_INFO, "End", logSeverity);
282
void AwardsWidget::slotOperatingYearComboBoxChanged()
284
emit debugLog (Q_FUNC_INFO, "Start", logSeverity);
285
selectedYear = (operatingYearsComboBox->currentText()).toInt();
286
showDXMarathon(selectedYear);
287
emit debugLog (Q_FUNC_INFO, "End", logSeverity);
290
void AwardsWidget::showAwards()
291
{ // Updates and show all the award status tab.
292
//qDebug() << "AwardsWidget::showAwards" << endl;
297
emit debugLog(Q_FUNC_INFO, "Start", logSeverity);
303
_num = dataProxy->getHowManyQSOInLog(currentLog);
306
qsoWorkedQLCDNumber->setDigitCount((QString::number(_num)).size());
310
qsoWorkedQLCDNumber->setDigitCount(5);
312
qsoWorkedQLCDNumber->display(_num);
315
_num = dataProxy->getHowManyConfirmedQSLInLog(currentLog);
318
qsoConfirmedQLCDNumber->setDigitCount((QString::number(_num)).size());
322
qsoConfirmedQLCDNumber->setDigitCount(5);
325
qsoConfirmedQLCDNumber->display(_num);
328
dxccWorkedQLCDNumber->display(awards->getDXCCWorked(currentLog));
331
dxccConfirmedQLCDNumber->display(awards->getDXCCConfirmed(currentLog));
334
wazWorkedQLCDNumber->display(awards->getWAZWorked(currentLog));
337
wazConfirmedQLCDNumber->display(awards->getWAZConfirmed(currentLog));
339
showDXMarathon(selectedYear);
340
emit debugLog(Q_FUNC_INFO, "END", logSeverity);
341
//qDebug() << "AwardsWidget::showAwards - END" << endl;
344
void AwardsWidget::showDXMarathon(const int _year)
346
//qDebug() << "AwardsWidget::AwardsWidget::showDXMarathon: Year: " << QString::number(_year) << endl;
347
emit debugLog(Q_FUNC_INFO, "Start", logSeverity);
350
i = awards->getDXMarathonQSO(_year, currentLog);
351
//qDebug() << "AwardsWidget::AwardsWidget::showDXMarathon: QSO: " << QString::number(i) << endl;
352
yearlyQSOLCDNumber->display(i);
354
i = awards->getDXMarathonDXCC(_year, currentLog);
355
//qDebug() << "AwardsWidget::AwardsWidget::showDXMarathon: DXCC: " << QString::number(i) << endl;
356
yearlyDXCCQLCDNumber->display(i);
358
i = awards->getDXMarathonCQ(_year, currentLog);
359
yearlyCQQLCDNumber->display(i);
360
//qDebug() << "AwardsWidget::AwardsWidget::showDXMarathon: CQ: " << QString::number(i) << endl;
362
if (manageDXMarathon)
364
i = awards->getDXMarathonScore(_year, currentLog);
370
yearlyScoreQLCDNumber->display(i);
371
emit debugLog(Q_FUNC_INFO, "End", logSeverity);
372
//qDebug() << "AwardsWidget::AwardsWidget::showDXMarathon: Score: " << QString::number(i) << endl;
375
void AwardsWidget::reconfigureDXMarathonUI(const bool _dxM)
377
emit debugLog(Q_FUNC_INFO, "Start", logSeverity);
378
//dxClusterWidget->setDXMarathon(_dxM);
381
yearlyLabelN->setText(tr("DX-Marathon"));
382
yearlyScoreLabelN->setEnabled(true);
383
yearlyScoreQLCDNumber->setEnabled(true);
384
yearlyScoreQLCDNumber->display(0);
388
yearlyLabelN->setText(tr("Annual"));
389
yearlyScoreLabelN->setEnabled(false);
390
yearlyScoreQLCDNumber->setEnabled(false);
391
emit requireCurrentYearSignal();
393
int i = awards->getDXMarathonScore(selectedYear, currentLog);
396
yearlyScoreQLCDNumber->display(i);
400
yearlyScoreQLCDNumber->display(0);
403
emit debugLog(Q_FUNC_INFO, "End", logSeverity);
406
void AwardsWidget::checkIfValidLog()
408
emit debugLog(Q_FUNC_INFO, "Start", logSeverity);
411
emit requireCurrentLogSignal();
413
emit debugLog(Q_FUNC_INFO, "End", logSeverity);
416
void AwardsWidget::setLog(const int _log)
418
emit debugLog(Q_FUNC_INFO, "Start", logSeverity);
424
//TODO: Define an action when the log received is NOK
425
emit debugLog(Q_FUNC_INFO, "End", logSeverity);
429
void AwardsWidget::setYear(const int _year)
431
emit debugLog(Q_FUNC_INFO, "Start", logSeverity);
434
selectedYear = _year;
436
if (operatingYearsComboBox->findText(QString::number(selectedYear), Qt::MatchCaseSensitive)>=0)
438
operatingYearsComboBox->setCurrentIndex(operatingYearsComboBox->findText(QString::number(selectedYear), Qt::MatchCaseSensitive));
442
//TODO: Define what to do when the year is NOK
445
emit debugLog(Q_FUNC_INFO, "End", logSeverity);
448
void AwardsWidget::fillOperatingYears()
450
emit debugLog(Q_FUNC_INFO, "Start", logSeverity);
451
emit requireCurrentLogSignal();
452
emit requireCurrentYearSignal();
453
operatingYearsComboBox->clear();
455
if (dataProxy->getLastQSOid()<=1)
457
//qDebug() << "AwardsWidget::AwardsWidget: 18.4" << endl;
458
operatingYearsComboBox->addItem(QString::number(selectedYear));
462
//qDebug() << "AwardsWidget::AwardsWidget: 18.5 - currentLog: " << QString::number(currentLog) << endl;
463
operatingYearsComboBox->addItems(dataProxy->getOperatingYears(currentLog));
464
//qDebug() << "AwardsWidget::AwardsWidget: 18.5.1 - currentLog: " << QString::number(currentLog) << endl;
468
a << dataProxy->getOperatingYears(currentLog);
469
//qDebug() << "AwardsWidget::AwardsWidget: 18.5.1.1 - currentLog: " << QString::number(currentLog) << endl;
472
//qDebug() << "AwardsWidget::AwardsWidget: 18.5.1.2 - currentLog: " << QString::number(currentLog) << endl;
473
operatingYearsComboBox->setCurrentIndex(operatingYearsComboBox->findText(a.last(), Qt::MatchCaseSensitive));
474
//qDebug() << "AwardsWidget::AwardsWidget: 18.5.1.3 - currentLog: " << QString::number(currentLog) << endl;
477
//qDebug() << "AwardsWidget::AwardsWidget: 18.5.2" << endl;
479
emit debugLog(Q_FUNC_INFO, "End", logSeverity);