1 /***************************************************************************
2                           infowidget.h  -  description
3                              -------------------
4     begin                : ago 2017
5     copyright            : (C) 2017 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 "infowidget.h"
28 
InfoWidget(DataProxy_SQLite * dp,QWidget * parent)29 InfoWidget::InfoWidget(DataProxy_SQLite *dp, QWidget *parent) :
30     QWidget(parent)
31 {
32        //qDebug() << "InfoWidget::InfoWidget: "   << QT_ENDL;
33     dataProxy = dp;
34     awards = new Awards(dataProxy, Q_FUNC_INFO); //Just to know colors
35 
36     locator = new Locator();
37     world = new World(dataProxy, Q_FUNC_INFO);
38 
39     bandLabel1 = new QLabel;
40     bandLabel2 = new QLabel;
41     bandLabel3 = new QLabel;
42     bandLabel4 = new QLabel;
43     bandLabel5 = new QLabel;
44     bandLabel6 = new QLabel;
45     bandLabel7 = new QLabel;
46     bandLabel8 = new QLabel;
47     bandLabel9 = new QLabel;
48     bandLabel10 = new QLabel;
49     bandLabel11 = new QLabel;
50     bandLabel12 = new QLabel;
51 
52     continentLabel = new QLabel;
53     prefixLabel = new QLabel;
54     cqzLabel = new QLabel;
55     ituzLabel = new QLabel;
56     gradShortLabel = new QLabel;
57     distShortLabel = new QLabel;
58     gradLongLabel = new QLabel;
59     distLongLabel = new QLabel;
60 
61     distShortLabelN = new QLabel;
62     distLongLabelN = new QLabel;
63 
64     imperialSystem=false;
65     dxLocator.clear();
66 
67     createUI();
68     clearBandLabels();
69        //qDebug() << "InfoWidget::InfoWidget: - END"   << QT_ENDL;
70 }
71 
createUI()72 void InfoWidget::createUI()
73 {
74     bandLabel1->setText(tr("10M"));
75     bandLabel2->setText(tr("15M"));
76     bandLabel3->setText(tr("20M"));
77     bandLabel4->setText(tr("40M"));
78     bandLabel5->setText(tr("80M"));
79     bandLabel6->setText(tr("160M"));
80     bandLabel7->setText(tr("2M"));
81     bandLabel8->setText(tr("6M"));
82     bandLabel9->setText(tr("12M"));
83     bandLabel10->setText(tr("17M"));
84     bandLabel11->setText(tr("30M"));
85     bandLabel12->setText(tr("70CM"));
86 
87     bandLabel1->setAlignment(Qt::AlignVCenter| Qt::AlignCenter);
88     bandLabel2->setAlignment(Qt::AlignVCenter| Qt::AlignCenter);
89     bandLabel3->setAlignment(Qt::AlignVCenter| Qt::AlignCenter);
90     bandLabel4->setAlignment(Qt::AlignVCenter| Qt::AlignCenter);
91     bandLabel5->setAlignment(Qt::AlignVCenter| Qt::AlignCenter);
92     bandLabel6->setAlignment(Qt::AlignVCenter| Qt::AlignCenter);
93     bandLabel7->setAlignment(Qt::AlignVCenter| Qt::AlignCenter);
94     bandLabel8->setAlignment(Qt::AlignVCenter| Qt::AlignCenter);
95     bandLabel9->setAlignment(Qt::AlignVCenter| Qt::AlignCenter);
96     bandLabel10->setAlignment(Qt::AlignVCenter| Qt::AlignCenter);
97     bandLabel11->setAlignment(Qt::AlignVCenter| Qt::AlignCenter);
98     bandLabel12->setAlignment(Qt::AlignVCenter| Qt::AlignCenter);
99 
100     QLabel *continentLabelN = new QLabel(tr("Continent"));
101     continentLabelN->setAlignment(Qt::AlignVCenter | Qt::AlignCenter);
102     continentLabel->setAlignment(Qt::AlignVCenter| Qt::AlignCenter);
103 
104     QLabel *prefixLabelN = new QLabel(tr("Prefix"));
105     prefixLabel->setAlignment(Qt::AlignVCenter| Qt::AlignCenter);
106     prefixLabelN->setAlignment(Qt::AlignVCenter| Qt::AlignCenter);
107 
108     QLabel *cqzLabelN = new QLabel(tr("CQ"));
109     cqzLabelN->setAlignment(Qt::AlignVCenter| Qt::AlignCenter);
110     cqzLabel->setAlignment(Qt::AlignVCenter| Qt::AlignCenter);
111 
112     QLabel *ituzLabelN = new QLabel(tr("ITU"));
113     ituzLabelN->setAlignment(Qt::AlignVCenter| Qt::AlignCenter);
114     ituzLabel->setAlignment(Qt::AlignVCenter| Qt::AlignCenter);
115 
116     QLabel *shortLabelN = new QLabel(tr("Short Path"));
117     shortLabelN->setAlignment(Qt::AlignVCenter| Qt::AlignCenter);
118 
119     QLabel *longLabelN = new QLabel(tr("Long Path"));
120     longLabelN->setAlignment(Qt::AlignVCenter| Qt::AlignCenter);
121 
122     QLabel *gradShortLabelN = new QLabel(tr("Deg"));
123     gradShortLabelN->setAlignment(Qt::AlignVCenter| Qt::AlignCenter);
124     gradShortLabel->setAlignment(Qt::AlignVCenter| Qt::AlignCenter);
125     distShortLabelN->setAlignment(Qt::AlignVCenter| Qt::AlignCenter);
126 
127     QLabel *gradLongLabelN = new QLabel(tr("Deg"));
128     gradLongLabelN->setAlignment(Qt::AlignVCenter| Qt::AlignCenter);
129     gradLongLabel->setAlignment(Qt::AlignVCenter| Qt::AlignCenter);
130     distShortLabel->setAlignment(Qt::AlignVCenter| Qt::AlignCenter);
131 
132     distLongLabelN->setAlignment(Qt::AlignVCenter| Qt::AlignCenter);
133     distLongLabel->setAlignment(Qt::AlignVCenter| Qt::AlignCenter);
134 
135     clear();
136 
137 
138     //continentLabel->setText("--");
139     //prefixLabel->setText("--");
140     //cqzLabel->setText("0");
141     //ituzLabel->setText("0");
142     //gradShortLabel->setText("0");
143     //gradLongLabel->setText("0");
144     //distLongLabel->setText("0");
145     //distShortLabel->setText("0");
146 
147     QGridLayout *infoLayout1 = new QGridLayout;
148     infoLayout1->addWidget(continentLabelN, 0, 0);
149     infoLayout1->addWidget(continentLabel, 1, 0);
150     infoLayout1->addWidget(prefixLabelN, 0, 1);
151     infoLayout1->addWidget(prefixLabel, 1, 1);
152     infoLayout1->addWidget(cqzLabelN, 0, 2);
153     infoLayout1->addWidget(cqzLabel, 1, 2);
154     infoLayout1->addWidget(ituzLabelN, 0, 3);
155     infoLayout1->addWidget(ituzLabel, 1, 3);
156 
157     QGridLayout *shortPathLayout = new QGridLayout;
158     shortPathLayout->addWidget(shortLabelN, 0, 0, 1, 0);
159     shortPathLayout->addWidget(gradShortLabelN, 1, 0);
160     shortPathLayout->addWidget(gradShortLabel, 1, 1);
161     shortPathLayout->addWidget(distShortLabelN, 1, 2);
162     shortPathLayout->addWidget(distShortLabel, 1, 3);
163 
164     QGridLayout *longPathLayout = new QGridLayout;
165     longPathLayout->addWidget(longLabelN, 0, 0, 1, 0);
166     longPathLayout->addWidget(gradLongLabelN, 1, 0);
167     longPathLayout->addWidget(gradLongLabel, 1, 1);
168     longPathLayout->addWidget(distLongLabelN, 1, 2);
169     longPathLayout->addWidget(distLongLabel, 1, 3);
170 
171     QHBoxLayout *pathsLayout = new QHBoxLayout;
172     pathsLayout->addLayout(shortPathLayout);
173     pathsLayout->addLayout(longPathLayout);
174 
175     QGridLayout *bandsLayout = new QGridLayout;
176     bandsLayout->addWidget(bandLabel1, 0, 0);
177     bandsLayout->addWidget(bandLabel2, 0, 1);
178     bandsLayout->addWidget(bandLabel3, 0, 2);
179     bandsLayout->addWidget(bandLabel4, 0, 3);
180     bandsLayout->addWidget(bandLabel5, 0, 4);
181     bandsLayout->addWidget(bandLabel6, 0, 5);
182     bandsLayout->addWidget(bandLabel7, 1, 0);
183     bandsLayout->addWidget(bandLabel8, 1, 1);
184     bandsLayout->addWidget(bandLabel9, 1, 2);
185     bandsLayout->addWidget(bandLabel10, 1, 3);
186     bandsLayout->addWidget(bandLabel11, 1, 4);
187     bandsLayout->addWidget(bandLabel12, 1, 5);
188 
189     QVBoxLayout *mainLayout = new QVBoxLayout;
190     mainLayout->addLayout(bandsLayout);
191     mainLayout->addLayout(infoLayout1);
192     mainLayout->addLayout(pathsLayout);
193 
194 #ifdef Q_OS_WIN
195     continentLabel->setFrameShadow(QFrame::Raised);
196     continentLabel->setFrameStyle(QFrame::StyledPanel);
197     continentLabelN->setFrameShadow(QFrame::Raised);
198     continentLabelN->setFrameStyle(QFrame::StyledPanel);
199     prefixLabelN->setFrameShadow(QFrame::Raised);
200     prefixLabelN->setFrameStyle(QFrame::StyledPanel);
201     prefixLabel->setFrameShadow(QFrame::Raised);
202     prefixLabel->setFrameStyle(QFrame::StyledPanel);
203     cqzLabelN->setFrameShadow(QFrame::Raised);
204     cqzLabelN->setFrameStyle(QFrame::StyledPanel);
205     cqzLabel->setFrameShadow(QFrame::Raised);
206     cqzLabel->setFrameStyle(QFrame::StyledPanel);
207     ituzLabel->setFrameShadow(QFrame::Raised);
208     ituzLabel->setFrameStyle(QFrame::StyledPanel);
209     ituzLabelN->setFrameShadow(QFrame::Raised);
210     ituzLabelN->setFrameStyle(QFrame::StyledPanel);
211     shortLabelN->setFrameStyle(QFrame::StyledPanel | QFrame::Raised);
212     shortLabelN->setFrameShadow(QFrame::Raised);
213     shortLabelN->setFrameStyle(QFrame::StyledPanel);
214 
215     longLabelN->setFrameShadow(QFrame::Raised);
216     longLabelN->setFrameStyle(QFrame::StyledPanel);
217     gradShortLabelN->setFrameShadow(QFrame::Raised);
218     gradShortLabelN->setFrameStyle(QFrame::StyledPanel);
219     gradShortLabel->setFrameShadow(QFrame::Raised);
220     gradShortLabel->setFrameStyle(QFrame::StyledPanel);
221     distShortLabelN->setFrameShadow(QFrame::Raised);
222     distShortLabelN->setFrameStyle(QFrame::StyledPanel);
223     distShortLabel->setFrameShadow(QFrame::Raised);
224     distShortLabel->setFrameStyle(QFrame::StyledPanel);
225     gradLongLabelN->setFrameShadow(QFrame::Raised);
226     gradLongLabelN->setFrameStyle(QFrame::StyledPanel);
227     gradLongLabel->setFrameShadow(QFrame::Raised);
228     gradLongLabel->setFrameStyle(QFrame::StyledPanel);
229     distLongLabelN->setFrameShadow(QFrame::Raised);
230     distLongLabelN->setFrameStyle(QFrame::StyledPanel);
231     distLongLabel->setFrameShadow(QFrame::Raised);
232     distLongLabel->setFrameStyle(QFrame::StyledPanel);
233 
234 
235     bandLabel1->setFrameShadow(QFrame::Raised);
236     bandLabel1->setFrameStyle(QFrame::StyledPanel);
237     bandLabel2->setFrameShadow(QFrame::Raised);
238     bandLabel2->setFrameStyle(QFrame::StyledPanel);
239     bandLabel3->setFrameShadow(QFrame::Raised);
240     bandLabel3->setFrameStyle(QFrame::StyledPanel);
241     bandLabel4->setFrameShadow(QFrame::Raised);
242     bandLabel4->setFrameStyle(QFrame::StyledPanel);
243     bandLabel5->setFrameShadow(QFrame::Raised);
244     bandLabel5->setFrameStyle(QFrame::StyledPanel);
245     bandLabel6->setFrameShadow(QFrame::Raised);
246     bandLabel6->setFrameStyle(QFrame::StyledPanel);
247 
248     bandLabel7->setFrameShadow(QFrame::Raised);
249     bandLabel7->setFrameStyle(QFrame::StyledPanel);
250     bandLabel8->setFrameShadow(QFrame::Raised);
251     bandLabel8->setFrameStyle(QFrame::StyledPanel);
252     bandLabel9->setFrameShadow(QFrame::Raised);
253     bandLabel9->setFrameStyle(QFrame::StyledPanel);
254     bandLabel10->setFrameShadow(QFrame::Raised);
255     bandLabel10->setFrameStyle(QFrame::StyledPanel);
256     bandLabel11->setFrameShadow(QFrame::Raised);
257     bandLabel11->setFrameStyle(QFrame::StyledPanel);
258     bandLabel12->setFrameShadow(QFrame::Raised);
259     bandLabel12->setFrameStyle(QFrame::StyledPanel);
260 
261 #else
262     continentLabelN->setFrameStyle(QFrame::StyledPanel | QFrame::Raised);
263     continentLabel->setFrameStyle(QFrame::StyledPanel | QFrame::Raised);
264     prefixLabelN->setFrameStyle(QFrame::StyledPanel | QFrame::Raised);
265     prefixLabel->setFrameStyle(QFrame::StyledPanel | QFrame::Raised);
266     cqzLabelN->setFrameStyle(QFrame::StyledPanel | QFrame::Raised);
267     cqzLabel->setFrameStyle(QFrame::StyledPanel | QFrame::Raised);
268     ituzLabelN->setFrameStyle(QFrame::StyledPanel | QFrame::Raised);
269     ituzLabel->setFrameStyle(QFrame::StyledPanel | QFrame::Raised);
270     shortLabelN->setFrameStyle(QFrame::StyledPanel | QFrame::Raised);
271     longLabelN->setFrameStyle(QFrame::StyledPanel | QFrame::Raised);
272     gradShortLabelN->setFrameStyle(QFrame::StyledPanel | QFrame::Raised);
273     gradShortLabel->setFrameStyle(QFrame::StyledPanel | QFrame::Raised);
274     distShortLabelN->setFrameStyle(QFrame::StyledPanel | QFrame::Raised);
275     distShortLabel->setFrameStyle(QFrame::StyledPanel | QFrame::Raised);
276     gradLongLabel->setFrameStyle(QFrame::StyledPanel | QFrame::Raised);
277     distLongLabel->setFrameStyle(QFrame::StyledPanel | QFrame::Raised);
278     distLongLabelN->setFrameStyle(QFrame::StyledPanel | QFrame::Raised);
279     gradLongLabelN->setFrameStyle(QFrame::StyledPanel | QFrame::Raised);
280 
281     bandLabel1->setFrameStyle(QFrame::StyledPanel | QFrame::Raised);
282     bandLabel2->setFrameStyle(QFrame::StyledPanel | QFrame::Raised);
283     bandLabel3->setFrameStyle(QFrame::StyledPanel | QFrame::Raised);
284     bandLabel4->setFrameStyle(QFrame::StyledPanel | QFrame::Raised);
285     bandLabel5->setFrameStyle(QFrame::StyledPanel | QFrame::Raised);
286     bandLabel6->setFrameStyle(QFrame::StyledPanel | QFrame::Raised);
287     bandLabel7->setFrameStyle(QFrame::StyledPanel | QFrame::Raised);
288     bandLabel8->setFrameStyle(QFrame::StyledPanel | QFrame::Raised);
289     bandLabel9->setFrameStyle(QFrame::StyledPanel | QFrame::Raised);
290     bandLabel10->setFrameStyle(QFrame::StyledPanel | QFrame::Raised);
291     bandLabel11->setFrameStyle(QFrame::StyledPanel | QFrame::Raised);
292     bandLabel12->setFrameStyle(QFrame::StyledPanel | QFrame::Raised);
293 #endif
294 
295     setLayout(mainLayout);
296 
297 }
298 
clearBandLabels()299 void InfoWidget::clearBandLabels()
300 {
301     QString defaultColorName = (awards->getDefaultColor()).name();
302     bandLabel1->setStyleSheet("* { background-color: " + defaultColorName + "; }");
303     bandLabel2->setStyleSheet("* { background-color: " + defaultColorName + "; }");
304     bandLabel3->setStyleSheet("* { background-color: " + defaultColorName + "; }");
305     bandLabel4->setStyleSheet("* { background-color: " + defaultColorName + "; }");
306     bandLabel5->setStyleSheet("* { background-color: " + defaultColorName + "; }");
307     bandLabel6->setStyleSheet("* { background-color: " + defaultColorName + "; }");
308     bandLabel7->setStyleSheet("* { background-color: " + defaultColorName + "; }");
309     bandLabel8->setStyleSheet("* { background-color: " + defaultColorName + "; }");
310     bandLabel9->setStyleSheet("* { background-color: " + defaultColorName + "; }");
311     bandLabel10->setStyleSheet("* { background-color: " + defaultColorName + "; }");
312     bandLabel11->setStyleSheet("* { background-color: " + defaultColorName + "; }");
313     bandLabel12->setStyleSheet("* { background-color: " + defaultColorName + "; }");
314 }
315 
316 
clearInfoFromLocators()317 void InfoWidget::clearInfoFromLocators()
318 {
319        //qDebug() << "InfoWidget::clearInfoFromLocators" << QT_ENDL;
320     gradShortLabel->setText( "0" );
321     gradLongLabel->setText( "0" );
322     distShortLabel->setText( "0" );
323     distLongLabel->setText( "0" );
324     cqzLabel->setText("0");
325     ituzLabel->setText("0");
326 }
327 
clear()328 void InfoWidget::clear()
329 {
330     continentLabel->setText("--");
331     prefixLabel->setText("--");
332     clearBandLabels();
333     clearInfoFromLocators();
334 }
335 
setColors(const QString & _newOne,const QString & _needed,const QString & _worked,const QString & _confirmed,const QString & _default)336 void InfoWidget::setColors (const QString &_newOne, const QString &_needed, const QString &_worked, const QString &_confirmed, const QString &_default)
337 {
338     awards->setColors (_newOne, _needed, _worked, _confirmed, _default);
339 }
340 
setCurrentLog(const int _log)341 void InfoWidget::setCurrentLog(const int _log)
342 {
343     currentLog = _log;
344 }
345 
setImperialSystem(const bool _imp)346 void InfoWidget::setImperialSystem (const  bool _imp)
347 {
348     imperialSystem = _imp;
349 
350     if (imperialSystem)
351     {
352         distShortLabelN->setText(tr("Miles"));
353         distLongLabelN->setText(tr("Miles"));
354         //distShortLabel->setText( QString::number( Km2Mile(imperialSystem, (distShortLabel->text()).toInt() )) );
355         //distLongLabel->setText( QString::number(Km2Mile(imperialSystem, (distLongLabel->text()).toInt()) ) );
356     }
357     else
358     {
359         distShortLabelN->setText(tr("Km"));
360         distLongLabelN->setText(tr("Km"));
361     }
362 }
363 
getStyleColorToLabelFromBand(const QString & _b,const QString & _q)364 QString InfoWidget::getStyleColorToLabelFromBand(const QString &_b, const QString &_q)
365 { // Receives band name, Entity number (as a String)
366    //qDebug() << "InfoWidget::getStyleColorToLabelFromBand: " << _b << "/" << _q << QT_ENDL;
367    QStringList _qs;
368     _qs.clear();
369 
370     _qs << _q << QString::number(dataProxy->getIdFromBandName(_b)) << QString::number(-1) << QString::number(currentLog);
371     //TODO: Check if we can know the mode and replace the -1
372     //qDebug() << "InfoWidget::getStyleColorToLabelFromBand (Band/background-color): " << _b << (awards->getQRZDXStatusColor(_qs)).name()  << QT_ENDL;
373     return "* { background-color: " + (awards->getQRZDXStatusColor(_qs)).name() + "; }";
374 }
375 
376 
377 //void InfoWidget::showInfo(const int _entity, const int _bandid, const int _modeid, const int _log)
showInfo(const int _entity)378 void InfoWidget::showInfo(const int _entity)
379 { // Default values of _modeid & _log = -1
380     //qDebug() << "InfoWidget::showInfo: " << QString::number(_entity) << QT_ENDL;
381     //QColor getQRZDXStatusColor(const QStringList _qs); // Receives Entity, band, mode & log
382     if (_entity <1)
383     {
384       clearBandLabels();
385     }
386 
387     bandLabel1->setStyleSheet(getStyleColorToLabelFromBand(bandLabel1->text(), QString::number(_entity)));
388     bandLabel2->setStyleSheet(getStyleColorToLabelFromBand(bandLabel2->text(), QString::number(_entity)));
389     bandLabel3->setStyleSheet(getStyleColorToLabelFromBand(bandLabel3->text(), QString::number(_entity)));
390     bandLabel4->setStyleSheet(getStyleColorToLabelFromBand(bandLabel4->text(), QString::number(_entity)));
391     bandLabel5->setStyleSheet(getStyleColorToLabelFromBand(bandLabel5->text(), QString::number(_entity)));
392     bandLabel6->setStyleSheet(getStyleColorToLabelFromBand(bandLabel6->text(), QString::number(_entity)));
393     bandLabel7->setStyleSheet(getStyleColorToLabelFromBand(bandLabel7->text(), QString::number(_entity)));
394     bandLabel8->setStyleSheet(getStyleColorToLabelFromBand(bandLabel8->text(), QString::number(_entity)));
395     bandLabel9->setStyleSheet(getStyleColorToLabelFromBand(bandLabel9->text(), QString::number(_entity)));
396     bandLabel10->setStyleSheet(getStyleColorToLabelFromBand(bandLabel10->text(), QString::number(_entity)));
397     bandLabel11->setStyleSheet(getStyleColorToLabelFromBand(bandLabel11->text(), QString::number(_entity)));
398     bandLabel12->setStyleSheet(getStyleColorToLabelFromBand(bandLabel12->text(), QString::number(_entity)));
399 }
400 
showEntityInfo(const int _enti,int _cq,int _itu)401 void InfoWidget::showEntityInfo(const int _enti, int _cq, int _itu)
402 {
403     //qDebug() << "InfoWidget::showEntityInfo" << QString::number(_enti) << QT_ENDL;
404 
405     if (_enti<=0)
406     {
407         return;
408     }
409 
410 /* TO paint a flag of the Worked entity
411     QString flagSt;
412     flagSt.clear();
413     QString aux;
414     aux = dataProxy->getISOName(_enti);
415     if (aux.length()>1)
416     {
417         flagSt = ":/" + aux + ".png";
418     }
419     else
420     {
421         flagSt.clear();
422     }
423 
424     flagSt = ":/flags/" + dataProxy->getISOName(_enti) + ".png";
425     flagIcon->setIcon(QIcon(flagSt));
426 */
427 
428     //infoLabel2->setText(world->getEntityName(_enti));
429     continentLabel->setText( world->getContinentShortName(_enti) );
430     prefixLabel->setText( world->getEntityMainPrefix(_enti));
431 
432     int i = -1;
433 
434     if ((_cq>0) && (_cq<41))
435     {
436         cqzLabel->setText( QString::number(_cq) );
437     }
438     else
439     {
440         i = world->getEntityCqz(_enti);
441         if( i > 0 )
442         {
443             cqzLabel->setText( QString::number(i) );
444         }
445         else
446         {
447             cqzLabel->setText("0");
448         }
449     }
450 
451     if (_itu>0)
452     {
453         ituzLabel->setText( QString::number(_itu) );
454     }
455     else
456     {
457         i = world->getEntityItuz(_enti);
458         if ( i > 0  )
459         {
460             ituzLabel->setText( QString::number(i) );
461         }
462         else
463         {
464             ituzLabel->setText("0");
465         }
466     }
467 
468 }
469 
470 
showDistanceAndBearing(const QString & _locLocal,const QString & _locDX)471 void InfoWidget::showDistanceAndBearing(const QString &_locLocal, const QString &_locDX)
472 {// Local / DX
473        //qDebug() << "InfoWidget::showDistanceAndBearing: " << _locLocal << "/" << _locDX << QT_ENDL;
474     QString lloc = _locLocal.toUpper();
475     QString ldx = _locDX.toUpper();
476 
477     if ( locator->isValidLocator(lloc)  )
478     {
479 
480         if ( locator->isValidLocator(ldx)  )
481         {
482             dxLocator = ldx;
483 
484             int beam = locator->getBeamBetweenLocators(lloc, dxLocator);
485 
486 
487             gradShortLabel->setText( QString::number(beam) );
488 
489              if (beam >= 180)
490              {
491                    gradLongLabel->setText( QString::number(beam -180 ) );
492              }
493              else
494              {
495                  gradLongLabel->setText( QString::number(beam + 180 ) );
496              }
497 
498              distShortLabel->setText( QString::number( locator->getDistanceBetweenLocators(lloc, dxLocator, imperialSystem) ) );
499              distLongLabel->setText( QString::number( 40000 - locator->getDistanceBetweenLocators(lloc, dxLocator, imperialSystem) ) );
500         }
501         else
502         {
503             clearInfoFromLocators();
504             return;
505         }
506     }
507     else
508     {
509         clearInfoFromLocators();
510         return ;
511     }
512 }
513 
setLocalLocator(const QString & _loc)514 void InfoWidget::setLocalLocator(const QString &_loc)
515 {
516     if (locator->isValidLocator(_loc))
517     {
518         localLocator = _loc;
519     }
520 }
521 
setDXLocator(const QString & _loc)522 void InfoWidget::setDXLocator(const QString &_loc)
523 {
524     if (locator->isValidLocator(_loc))
525     {
526         dxLocator = _loc;
527     }
528 }
529 
530