mirror of
https://github.com/ea4k/klog.git
synced 2024-09-21 10:28:06 +00:00
Going for 0.9.2.6 RC1
This commit is contained in:
parent
bb2cebc7c5
commit
13c68c6750
12
Changelog
12
Changelog
@ -1,11 +1,15 @@
|
||||
TBD - 0.9.2.6
|
||||
May 2017 - 0.9.2.6
|
||||
- Check updates feature added. On start or when user desires KLog checks if there is one updated version available.
|
||||
- The user can select to help KLog team sending his call to developers when cheking for updates.
|
||||
- Simplified the way new logs are added, importing the general StationCallsign & Operators as default for new logs.
|
||||
- Improved the way first start was managed when no entity information was loaded.
|
||||
- GUI: Application icon is now shown in the application windows.
|
||||
- GUI: Updated some messages & tips.
|
||||
- GUI: DXCluster offers the Station Callsign as default value to connect.
|
||||
- Changed the World class to be able to import files from any folder.
|
||||
- Changed how some non ARRL valid entities are managed to show the common name (Sicily / Italy)
|
||||
- BugFix: Bands & Modes where not properly exported.
|
||||
- Several minor changes on source code to optimize and improve.
|
||||
- BugFix: When manually importing a new CTY.CSV, although data was updated, it was not shown until next KLog start.
|
||||
- BugFix: In the others tab, the DXCC was sometime not correctly identified.
|
||||
- Some minor changes on source code to optimize and improve.
|
||||
|
||||
November 2016 - 0.9.2.5
|
||||
- BugFix: ADIF export function was not exporting the correct BAND & MODE data.
|
||||
|
15
TODO
15
TODO
@ -4,19 +4,18 @@ Feel free to request any roadmap change if you have any suggestion.
|
||||
|
||||
|
||||
Check:
|
||||
If there is a sat seleted, the prop-mode should be satellite!
|
||||
|
||||
Test and release!
|
||||
|
||||
Working on
|
||||
|
||||
|
||||
|
||||
|
||||
RC-BUGS: None identified today.
|
||||
|
||||
|
||||
TODO: Change the Setup band/mode selection to checklist instead of the current widget. It will be easier.
|
||||
TODO: To add the possibility to move the DB to another path, with the idea to use dropbox or whatever.
|
||||
|
||||
TODO: Define band limits for CW/SSB/RTTY... so when a click on the cluster is done, the right mode is proposed.
|
||||
TODO: Add some "returnPressed" actions to some qlineedit to make usage quicker.
|
||||
TODO:
|
||||
The softwateupdate class can also be used to track how many KLog installations are around the world.
|
||||
It can't add a privacy concern for the users so a configuration tab must be created.
|
||||
@ -27,6 +26,12 @@ The softwateupdate class can also be used to track how many KLog installations a
|
||||
Call will be used to track the number of users are usin KLog
|
||||
Connection will be done on KLog start.
|
||||
|
||||
BUG: Potential bug
|
||||
Double click on a QSO in the log on the Mode/Band... you can modifify the value. As it is a double click, the QSO goes to edit and ...
|
||||
Check if:
|
||||
- Only selected modes can be shown there.
|
||||
- If double click on the log we only "quick modify" directly in the log, without editing.
|
||||
|
||||
BUG: (TNX JL3OXR)
|
||||
The DB is not storing if the time is stored in UTC or local so that info is lost.
|
||||
If a user changes the configuration from time to time, the user will loose the real time when the QSO was made.
|
||||
|
@ -31,7 +31,7 @@ AboutDialog::AboutDialog(const QString tversion, QWidget *parent)
|
||||
|
||||
const QString br = QLatin1String("<br/>");
|
||||
|
||||
const QString description = "<center><h2>KLog " + tversion + "</h2><h4>" +tr("By")+ "<a href=\"https://www.qrz.com/db/ea4tv\">EA4TV</a> - 2002-2017</h4></center><br>" + tr("KLog is a free logging software for hamradio operators.<br><br><b>Please know that this is an BETA release and it may contain many bugs.<br>Backup your data before using this software!</b><br><br>KLog has been fully rewritten from the 0.6.2 to be able to provide a cross-platform application that runs in the main operating systems (Linux, OSX & Windows) and provide new functionalities that KLog was not providing. <br><br>Find more information and latest release at<br>") + "<a href=http://jaime.robles.es/klog>http://jaime.robles.es/klog</a><br><br>" + tr("Author") + ": Jaime Robles, <a href=\"https://www.qrz.com/db/ea4tv\">EA4TV</a><br><a href=mailto:jaime@robles.es>jaime@robles.es</a>";
|
||||
const QString description = "<center><h2>KLog " + tversion + "</h2><h4> " +tr("By")+ " <a href=\"https://www.qrz.com/db/ea4tv\">EA4TV</a> - 2002-2017</h4></center><br>" + tr("KLog is a free logging software for hamradio operators.") +"<br><br><b>" + tr("Please know that this is an BETA release and it may contain many bugs.<br>Backup your data before using this software!") + "</b><br><br>" + tr("KLog has been fully rewritten from the 0.6.2 to be able to provide a cross-platform application that runs in the main operating systems (Linux, OSX & Windows) and provide new functionalities that KLog was not providing.") + "<br><br>" + tr("Find more information and latest release at<br>") + "<a href=http://www.klog.xyz>http://www.klog.xyz</a><br><br>" + tr("Author") + ": <a href=http://jaime.robles.es/klog>Jaime Robles</a>, <a href=\"https://www.qrz.com/db/ea4tv\">EA4TV</a><br><a href=mailto:jaime@robles.es>jaime@robles.es</a>";
|
||||
|
||||
|
||||
QLabel *copyRightLabel = new QLabel(description);
|
||||
@ -54,11 +54,11 @@ AboutDialog::AboutDialog(const QString tversion, QWidget *parent)
|
||||
QLabel *logoLabel4 = new QLabel;
|
||||
logoLabel4->setPixmap(pixmap);
|
||||
|
||||
QString author1 = QString("<tr><td>Jaime Robles</td>") + QString("<td><a href=\"https://www.qrz.com/db/ea4tv\">EA4TV</a></td>") + tr("<td>(2002-today) Main developer</td></tr>");
|
||||
QString author1 = QString("<tr><td>Jaime Robles</td>") + QString("<td><a href=\"https://www.qrz.com/db/ea4tv\">EA4TV</a></td>") + "<td>(2002-" + tr("today") +")" +tr("Main developer") + "</td></tr>";
|
||||
QString author2 = QString("<tr><td>Akihiro Koda</td>") + QString("<td><a href=\"https://www.qrz.com/db/jl3oxr\">JL3OXR</a></td>") + tr("<td>(2016)</td></tr>");
|
||||
QString author3 = QString("<tr><td>Andrew Goldie</td>") + QString("<td><a href=\"https://www.qrz.com/db/zl2agc\">ZL2ACG</a></td>") + tr("<td>(2009-2010)</td></tr>");
|
||||
|
||||
QString authorText = tr("KLog is developed by a very small team and you are invited to join!<br><br>If you want to support you can join the <a href=\"https://lists.nongnu.org/mailman/listinfo/klog-devel\">KLog's development mailing list</a> and you will be welcome!<br><br>You can also help us sending bug reports or small code contributions, ideas or whatever you think it may improve KLog.");
|
||||
QString authorText = tr("KLog is developed by a very small team and you are invited to join!") + "<br><br>" + tr("If you want to support you can join the <a href=\"https://lists.nongnu.org/mailman/listinfo/klog-devel\">KLog's development mailing list</a> and you will be welcome!") + "<br><br>" + tr("You can also help us sending bug reports or small code contributions, ideas or whatever you think it may improve KLog.");
|
||||
QString authors = "<center><h2>" + tr("Authors") + "</h2></center><br>" + authorText + "<br><table>" + author1 + author2 + author3 + "</table>";
|
||||
|
||||
|
||||
@ -68,15 +68,8 @@ AboutDialog::AboutDialog(const QString tversion, QWidget *parent)
|
||||
QString translator4 = QString("<tr><td>Spanish</td>") + QString("<td>Jaime Robles</td>") + QString("<td><a href=\"https://www.qrz.com/db/ea4tv\">EA4TV</a></td></tr>");
|
||||
|
||||
|
||||
QString translatorsText = tr("Translators bring KLog into your language. They are really an important part of the KLog development team.<br><br>If KLog is still not in your language and you want to help us, please contact us through the <a href=\"https://lists.nongnu.org/mailman/listinfo/klog-devel\">KLog's development mailing list</a> and you will be welcome!");
|
||||
QString translators = "<center><h2>" + tr("Translators") + "</h2></center><br>" + translatorsText + "<br><table>" + translator1 + translator2 + translator3 + "</table>";
|
||||
|
||||
//<h4><ul><li>" + author1 + "</li><li>"+ author2 + "</li><li>" + author3 + "</li></ul></h4>";
|
||||
//QString authors = "<center><h2>" + tr("Authors") + "</center><br><h4><ul><li>" + author1 + "</li><li>"+ author2 + "</li><li>" + author3 + "</li></ul></h4>";
|
||||
|
||||
//Estoy trabajando para poner los autores y traductores
|
||||
|
||||
|
||||
QString translatorsText = tr("Translators bring KLog into your language. They are really an important part of the KLog development team.") + "<br><br>" + tr("If KLog is still not in your language and you want to help us, please contact us through the <a href=\"https://lists.nongnu.org/mailman/listinfo/klog-devel\">KLog's development mailing list</a> and you will be welcome!");
|
||||
QString translators = "<center><h2>" + tr("Translators") + "</h2></center><br>" + translatorsText + "<br><table>" + translator1 + translator2 + translator3 + translator4 + "</table>";
|
||||
|
||||
QLabel *authorsLabel = new QLabel(authors);
|
||||
authorsLabel->setWordWrap(true);
|
||||
|
@ -3765,7 +3765,7 @@ bool DataBase::updateTheModeTableAndSyncLog()
|
||||
|
||||
bool DataBase::updateTheEntityTableISONames()
|
||||
{
|
||||
qDebug() << "DataBase::updateTheEntityTableISONames" << endl;
|
||||
//qDebug() << "DataBase::updateTheEntityTableISONames" << endl;
|
||||
QSqlQuery query;
|
||||
QString sq;
|
||||
bool sqlOK;
|
||||
|
@ -1389,6 +1389,7 @@ bool DataProxy_SQLite::deleteQSO(const int _qsoId)
|
||||
int DataProxy_SQLite::isWorkedB4(const QString _qrz, const int _currentLog)
|
||||
{
|
||||
//qDebug() << "DataProxy_SQLite::isWorkedB4" << endl;
|
||||
//Returns the QSO id
|
||||
QSqlQuery query;
|
||||
QString queryString;
|
||||
if (_currentLog < 0)
|
||||
@ -2853,7 +2854,7 @@ QStringList DataProxy_SQLite::getEntitiesNames()
|
||||
* The following code was showing in the Entities prefixes and entities like Sicily, African Italy... and they are not officially an entity in the DXCC
|
||||
QStringList DataProxy_SQLite::getEntitiesNames()
|
||||
{
|
||||
qDebug() << "DataProxy_SQLite::getEntitiesNames" << endl;
|
||||
//qDebug() << "DataProxy_SQLite::getEntitiesNames" << endl;
|
||||
QString aux = QString();
|
||||
QStringList qs;
|
||||
qs.clear();
|
||||
@ -2868,14 +2869,14 @@ QStringList DataProxy_SQLite::getEntitiesNames()
|
||||
if (query.isValid())
|
||||
{
|
||||
dxcc = query.value(2).toInt();
|
||||
qDebug() << "DataProxy_SQLite::getEntitiesNames - DXCC: " << QString::number(dxcc) << endl;
|
||||
//qDebug() << "DataProxy_SQLite::getEntitiesNames - DXCC: " << QString::number(dxcc) << endl;
|
||||
if (dxcc > 1000)
|
||||
{
|
||||
qDebug() << "DataProxy_SQLite::getEntitiesNames - DXCC>1000 going in details: " << endl;
|
||||
//qDebug() << "DataProxy_SQLite::getEntitiesNames - DXCC>1000 going in details: " << endl;
|
||||
|
||||
aux2 = QString::number(dxcc);
|
||||
aux2 = aux2.right(3);
|
||||
qDebug() << "DataProxy_SQLite::getEntitiesNames - aux2: " << aux2 << endl;
|
||||
//qDebug() << "DataProxy_SQLite::getEntitiesNames - aux2: " << aux2 << endl;
|
||||
|
||||
stringQuery = QString("SELECT mainprefix, name FROM entity WHERE dxcc ='%1'").arg(aux2);
|
||||
if (query2.exec(stringQuery))
|
||||
@ -2901,13 +2902,13 @@ QStringList DataProxy_SQLite::getEntitiesNames()
|
||||
}
|
||||
else
|
||||
{
|
||||
qDebug() << "DataProxy_SQLite::getEntitiesNames - DXCC<1000 quick! " << endl;
|
||||
//qDebug() << "DataProxy_SQLite::getEntitiesNames - DXCC<1000 quick! " << endl;
|
||||
aux.clear();
|
||||
aux = (query.value(0)).toString() + "-" + (query.value(1)).toString()+" ("+QString::number(dxcc)+")";
|
||||
|
||||
}
|
||||
|
||||
qDebug() << "DataProxy_SQLite::getEntitiesNames - AUX: " << aux << endl;
|
||||
//qDebug() << "DataProxy_SQLite::getEntitiesNames - AUX: " << aux << endl;
|
||||
//result = result + ", " + (query.value(0)).toString();
|
||||
qs << aux;
|
||||
}
|
||||
@ -2951,7 +2952,7 @@ int DataProxy_SQLite::getHowManyEntities()
|
||||
|
||||
bool DataProxy_SQLite::updateISONames()
|
||||
{
|
||||
qDebug() << "DataProxy_SQLite::updateISONames" << endl;
|
||||
//qDebug() << "DataProxy_SQLite::updateISONames" << endl;
|
||||
bool result;
|
||||
result = db->updateTheEntityTableISONames();
|
||||
|
||||
|
@ -364,6 +364,10 @@ void DXCCStatusWidget::slotRefreshButtonClicked()
|
||||
//update();
|
||||
}
|
||||
|
||||
void DXCCStatusWidget::refresh()
|
||||
{
|
||||
slotRefreshButtonClicked();
|
||||
}
|
||||
|
||||
void DXCCStatusWidget::setCurrentLog(const int _logN)
|
||||
{
|
||||
|
@ -23,6 +23,7 @@ public:
|
||||
void update();
|
||||
void setBands(const QStringList _ent, const bool _creating = false); // Receives the list of bandIDs
|
||||
void setCurrentLog(const int _logN);
|
||||
void refresh();
|
||||
|
||||
signals:
|
||||
|
||||
|
@ -28,9 +28,10 @@ email : jaime@robles.es
|
||||
DXClusterWidget::DXClusterWidget(QWidget *parent)
|
||||
: QWidget(parent)
|
||||
{
|
||||
qDebug() << "DXClusterWidget::DXClusterWidget" << endl;
|
||||
//qDebug() << "DXClusterWidget::DXClusterWidget" << endl;
|
||||
awards = new Awards();
|
||||
dataProxy = new DataProxy();
|
||||
|
||||
initClass();
|
||||
//TESTADDSPOT();
|
||||
}
|
||||
@ -48,10 +49,18 @@ void DXClusterWidget::initClass()
|
||||
showann = true;
|
||||
showwwv = true;
|
||||
showwcy = true;
|
||||
|
||||
myQrz = QString();
|
||||
currentLog = 0;
|
||||
}
|
||||
|
||||
void DXClusterWidget::setMyQRZ(const QString _qrz)
|
||||
{
|
||||
if (_qrz.length()>2)
|
||||
{
|
||||
myQrz = _qrz;
|
||||
}
|
||||
|
||||
}
|
||||
DXClusterWidget::DXClusterWidget(const QString &clusterToConnect, const int portToConnect, QWidget *parent)
|
||||
: QWidget(parent)
|
||||
{
|
||||
@ -129,7 +138,7 @@ DXClusterWidget::~DXClusterWidget()
|
||||
|
||||
void DXClusterWidget::slotClusterDXClusterWidgetItemDoubleClicked( QListWidgetItem * item )
|
||||
{
|
||||
qDebug() << "DXClusterWidget::slotClusterDXClusterWidgetItemDoubleClicked: " << item->text() << endl;
|
||||
//qDebug() << "DXClusterWidget::slotClusterDXClusterWidgetItemDoubleClicked: " << item->text() << endl;
|
||||
|
||||
QStringList ql;
|
||||
ql.clear();
|
||||
@ -137,21 +146,21 @@ void DXClusterWidget::slotClusterDXClusterWidgetItemDoubleClicked( QListWidgetIt
|
||||
if (item)
|
||||
{
|
||||
ql = readItem(item);
|
||||
qDebug() << "DXClusterWidget::slotClusterDXClusterWidgetItemDoubleClicked: Length: " << QString::number(ql.length()) << endl;
|
||||
//qDebug() << "DXClusterWidget::slotClusterDXClusterWidgetItemDoubleClicked: Length: " << QString::number(ql.length()) << endl;
|
||||
if (ql.length()==2)
|
||||
{
|
||||
ql << "double";
|
||||
qDebug() << "DXClusterWidget::slotClusterDXClusterWidgetItemDoubleClicked: EMMITED" << endl;
|
||||
//qDebug() << "DXClusterWidget::slotClusterDXClusterWidgetItemDoubleClicked: EMMITED" << endl;
|
||||
emit dxspotclicked(ql);
|
||||
}
|
||||
else
|
||||
{
|
||||
qDebug() << "DXClusterWidget::slotClusterDXClusterWidgetItemDoubleClicked: NOT EMMITED-1" << endl;
|
||||
//qDebug() << "DXClusterWidget::slotClusterDXClusterWidgetItemDoubleClicked: NOT EMMITED-1" << endl;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
qDebug() << "DXClusterWidget::slotClusterDXClusterWidgetItemDoubleClicked: NOT EMMITED-2 (no item)" << endl;
|
||||
//qDebug() << "DXClusterWidget::slotClusterDXClusterWidgetItemDoubleClicked: NOT EMMITED-2 (no item)" << endl;
|
||||
}
|
||||
|
||||
}
|
||||
@ -451,7 +460,17 @@ void DXClusterWidget::slotClusterSocketConnected()
|
||||
|
||||
if (( dxClusterConnected ) && (!dxClusterAlreadyConnected) ){
|
||||
bool ok;
|
||||
QString callsignText = QInputDialog::getText(this, tr("KLog message"), tr("Enter your callsign to connect to the cluster:"), QLineEdit::Normal, "", &ok);
|
||||
QString callsignText;
|
||||
if (myQrz.length()>2)
|
||||
{
|
||||
callsignText = QInputDialog::getText(this, tr("KLog message"), tr("Enter your callsign to connect to the cluster:"), QLineEdit::Normal, myQrz, &ok);
|
||||
}
|
||||
else
|
||||
{
|
||||
callsignText = QInputDialog::getText(this, tr("KLog message"), tr("Enter your callsign to connect to the cluster:"), QLineEdit::Normal, "", &ok);
|
||||
}
|
||||
|
||||
//QString callsignText = QInputDialog::getText(this, tr("KLog message"), tr("Enter your callsign to connect to the cluster:"), QLineEdit::Normal, "", &ok);
|
||||
QString passwordText = QInputDialog::getText(this, tr("KLog message"), tr("Enter your password to connect to the cluster:\n(Just hit enter for no password)"), QLineEdit::Normal, "", &ok);
|
||||
QTextStream os(tcpSocket);
|
||||
if ( callsignText.length() > 2 && ok ) {
|
||||
@ -627,7 +646,7 @@ bool DXClusterWidget::isConnected()
|
||||
|
||||
QStringList DXClusterWidget::readItem(QListWidgetItem * item)
|
||||
{
|
||||
qDebug() << "DXClusterWidget::readItem" << endl;
|
||||
//qDebug() << "DXClusterWidget::readItem" << endl;
|
||||
|
||||
QStringList fields;
|
||||
QString dxClusterString;
|
||||
@ -711,7 +730,7 @@ void DXClusterWidget::setDXClusterServer(const QString &clusterToConnect, const
|
||||
/*
|
||||
void DXClusterWidget::TESTADDSPOT()
|
||||
{
|
||||
qDebug() << "DXClusterWidget::TESTADDSPOT " << endl;
|
||||
//qDebug() << "DXClusterWidget::TESTADDSPOT " << endl;
|
||||
; // Just a test spot
|
||||
QListWidgetItem *item = new QListWidgetItem();
|
||||
item->setForeground(QBrush(dxSpotColor));
|
||||
|
@ -54,6 +54,7 @@ class DXClusterWidget : public QWidget
|
||||
void setDXClusterServer(const QString &clusterToConnect, const int portToConnect);
|
||||
void setCurrentLog(const int _log);
|
||||
bool isConnected();
|
||||
void setMyQRZ(const QString _qrz);
|
||||
//void sendSpotToCluster(const QString _dx, const QString _freq);
|
||||
|
||||
|
||||
@ -107,7 +108,7 @@ private:
|
||||
|
||||
bool showhf, showvhf, showwarc, showworked, showconfirmed, showann, showwwv, showwcy;
|
||||
bool dxClusterShowHF, dxClusterShowVHF, dxClusterShowWARC, dxClusterShowWorked, dxClusterShowConfirmed, dxClusterShowAnn, dxClusterShowWWV, dxClusterShowWCY;
|
||||
|
||||
QString myQrz;
|
||||
int currentLog;
|
||||
|
||||
};
|
||||
|
@ -153,7 +153,7 @@ bool FileManager::checkADIFValidFormat(const QStringList _qs)
|
||||
|
||||
bool FileManager::adifLogExport(const QString& _fileName, const int _logN)
|
||||
{
|
||||
qDebug() << "FileManager::adifLogExport" << endl;
|
||||
//qDebug() << "FileManager::adifLogExport" << endl;
|
||||
|
||||
|
||||
return adifLogExportToFile(_fileName, _logN, false, false);
|
||||
@ -163,7 +163,7 @@ bool FileManager::adifLogExport(const QString& _fileName, const int _logN)
|
||||
bool FileManager::adifLogExportToFile(const QString& _fileName, const int _logN, bool justMarked, bool _qslRequested )
|
||||
{
|
||||
// If _logN = 0, then we will export ALL the logs.
|
||||
qDebug() << "FileManager::adifLogExportToFile: " << _fileName << endl;
|
||||
//qDebug() << "FileManager::adifLogExportToFile: " << _fileName << endl;
|
||||
|
||||
bool exportJustMarkedQSO = justMarked;
|
||||
bool marked = false;
|
||||
@ -393,8 +393,8 @@ bool FileManager::adifLogExportToFile(const QString& _fileName, const int _logN,
|
||||
aux2 = dataProxy->getSubModeFromId(aux1.toInt());
|
||||
aux1 = db->getModeNameFromID2(aux1.toInt());
|
||||
|
||||
qDebug() << "FileManager::adifLogExportToFile - MODE aux2: " << aux2 << endl;
|
||||
qDebug() << "FileManager::adifLogExportToFile - MODE aux1: " << aux1 << endl;
|
||||
//qDebug() << "FileManager::adifLogExportToFile - MODE aux2: " << aux2 << endl;
|
||||
//qDebug() << "FileManager::adifLogExportToFile - MODE aux1: " << aux1 << endl;
|
||||
|
||||
if (aux1.length()>1)
|
||||
{
|
||||
@ -446,15 +446,15 @@ bool FileManager::adifLogExportToFile(const QString& _fileName, const int _logN,
|
||||
out << "<ITUZ:" << QString::number(aux1.length()) << ">" << aux1 << " ";
|
||||
}
|
||||
|
||||
qDebug() << "FileManager::adifLogExportToFile: DXCC - Now..." << endl;
|
||||
//qDebug() << "FileManager::adifLogExportToFile: DXCC - Now..." << endl;
|
||||
|
||||
nameCol = rec.indexOf("dxcc");
|
||||
aux1 = (query.value(nameCol)).toString(); aux1 = util->checkAndFixASCIIinADIF(aux1);
|
||||
if ((aux1.length())>0){
|
||||
out << "<DXCC:" << QString::number(aux1.length()) << ">" << aux1 << " ";
|
||||
qDebug() << "FileManager::adifLogExportToFile: DXCC " << aux1 << endl;
|
||||
//qDebug() << "FileManager::adifLogExportToFile: DXCC " << aux1 << endl;
|
||||
}
|
||||
qDebug() << "FileManager::adifLogExportToFile: DXCC - Exported!" << endl;
|
||||
//qDebug() << "FileManager::adifLogExportToFile: DXCC - Exported!" << endl;
|
||||
|
||||
nameCol = rec.indexOf("address");
|
||||
aux1 = (query.value(nameCol)).toString(); aux1 = util->checkAndFixASCIIinADIF(aux1);
|
||||
@ -1110,12 +1110,12 @@ bool FileManager::adifLogExportToFile(const QString& _fileName, const int _logN,
|
||||
|
||||
nameCol = rec.indexOf("bandid");
|
||||
aux1 = (query.value(nameCol)).toString(); aux1 = util->checkAndFixASCIIinADIF(aux1);
|
||||
qDebug() << "FileManager::adifLogExportToFile - BAND2 aux1-1: " << aux1 << endl;
|
||||
//qDebug() << "FileManager::adifLogExportToFile - BAND2 aux1-1: " << aux1 << endl;
|
||||
|
||||
//aux1 = db->getBandNameFromID2(aux1.toInt());
|
||||
aux1 = dataProxy->getNameFromBandId(aux1.toInt());
|
||||
|
||||
qDebug() << "FileManager::adifLogExportToFile - BAND2 aux1-2: " << aux1 << endl;
|
||||
//qDebug() << "FileManager::adifLogExportToFile - BAND2 aux1-2: " << aux1 << endl;
|
||||
|
||||
|
||||
|
||||
@ -1210,16 +1210,16 @@ bool FileManager::adifLogExportToFile(const QString& _fileName, const int _logN,
|
||||
out << "<ITUZ:" << QString::number(aux1.length()) << ">" << aux1 << " ";
|
||||
}
|
||||
|
||||
qDebug() << "FileManager::adifLogExportToFile - DXCC to be exported: " << endl;
|
||||
//qDebug() << "FileManager::adifLogExportToFile - DXCC to be exported: " << endl;
|
||||
nameCol = rec.indexOf("dxcc");
|
||||
aux1 = (query.value(nameCol)).toString(); aux1 = util->checkAndFixASCIIinADIF(aux1);
|
||||
qDebug() << "FileManager::adifLogExportToFile - DXCC: " << aux1 << endl;
|
||||
//qDebug() << "FileManager::adifLogExportToFile - DXCC: " << aux1 << endl;
|
||||
//if ((aux1.length())>0){
|
||||
if ( ((aux1.length())>0) && (0 < aux1.toInt()) && (aux1.toInt() < DXCCEntities + 5) ){
|
||||
out << "<DXCC:" << QString::number(aux1.length()) << ">" << aux1 << " ";
|
||||
qDebug() << "FileManager::adifLogExportToFile - DXCC in the if" << endl;
|
||||
//qDebug() << "FileManager::adifLogExportToFile - DXCC in the if" << endl;
|
||||
}
|
||||
qDebug() << "FileManager::adifLogExportToFile - DXCC alreadyexported: " << endl;
|
||||
//qDebug() << "FileManager::adifLogExportToFile - DXCC alreadyexported: " << endl;
|
||||
|
||||
nameCol = rec.indexOf("address");
|
||||
aux1 = (query.value(nameCol)).toString(); aux1 = util->checkAndFixASCIIinADIF(aux1);
|
||||
|
7
klog.pro
7
klog.pro
@ -131,7 +131,12 @@ RCC_DIR = build/rcc/
|
||||
# Tell Qt Linguist that we use UTF-8 strings in our sources
|
||||
CODECFORTR = UTF-8
|
||||
CODECFORSRC = UTF-8
|
||||
include(translations/translations.pri)
|
||||
#include(translations/translations.pri)
|
||||
TRANSLATIONS = translations/klog_es.ts \
|
||||
translations/klog_ca.ts \
|
||||
translations/klog_hr.ts \
|
||||
translations/klog_it.ts \
|
||||
translations/klog_ja.ts
|
||||
|
||||
# deploy
|
||||
DISTFILES += CHANGES COPYING
|
||||
|
46
main.cpp
46
main.cpp
@ -56,44 +56,44 @@ int main(int argc, char *argv[])
|
||||
|
||||
|
||||
|
||||
qDebug() << "Usage: klog [OPTION]... [FILE]..." ;
|
||||
qDebug() << "Options:" ;
|
||||
qDebug() << " -? Display this help";
|
||||
qDebug() << " -h Display this help";
|
||||
qDebug() << " -v Display program version";
|
||||
//qDebug() << "Usage: klog [OPTION]... [FILE]..." ;
|
||||
//qDebug() << "Options:" ;
|
||||
//qDebug() << " -? Display this help";
|
||||
//qDebug() << " -h Display this help";
|
||||
//qDebug() << " -v Display program version";
|
||||
//qDebug() << " -e <file> Export Adif file <file>";
|
||||
}
|
||||
else if (arguments.contains("-?"))
|
||||
{
|
||||
qDebug() << "Usage: klog [OPTION]... [FILE]..." ;
|
||||
qDebug() << "Options:";
|
||||
qDebug() << " -? Display this help";
|
||||
qDebug() << " -h Display this help";
|
||||
qDebug() << " -v Display program version";
|
||||
//qDebug() << "Usage: klog [OPTION]... [FILE]..." ;
|
||||
//qDebug() << "Options:";
|
||||
//qDebug() << " -? Display this help";
|
||||
//qDebug() << " -h Display this help";
|
||||
//qDebug() << " -v Display program version";
|
||||
//qDebug() << " -e <file> Export Adif file <file>";
|
||||
}
|
||||
/*
|
||||
else if (arguments.contains("-e"))
|
||||
{
|
||||
qDebug() << "KLog::main: EXPORT ADIF";
|
||||
//qDebug() << "KLog::main: EXPORT ADIF";
|
||||
}
|
||||
else if (arguments.contains("-u"))
|
||||
{
|
||||
qDebug() << "KLog::main: UPDATE CTY";
|
||||
//qDebug() << "KLog::main: UPDATE CTY";
|
||||
}
|
||||
*/
|
||||
else if (arguments.contains("-v"))
|
||||
{
|
||||
qDebug() << "Version: KLog-" << app.applicationVersion();
|
||||
//qDebug() << "Version: KLog-" << app.applicationVersion();
|
||||
}
|
||||
else
|
||||
{
|
||||
qDebug() << "Usage: klog [OPTION]... [FILE]..." ;
|
||||
qDebug() << "Options:";
|
||||
qDebug() << " -? Display this help";
|
||||
qDebug() << " -h Display this help";
|
||||
qDebug() << " -v Display program version";
|
||||
qDebug() << " -e <file> Export Adif file <file>";
|
||||
//qDebug() << "Usage: klog [OPTION]... [FILE]..." ;
|
||||
//qDebug() << "Options:";
|
||||
//qDebug() << " -? Display this help";
|
||||
//qDebug() << " -h Display this help";
|
||||
//qDebug() << " -v Display program version";
|
||||
//qDebug() << " -e <file> Export Adif file <file>";
|
||||
}
|
||||
|
||||
app.quit();
|
||||
@ -103,7 +103,7 @@ int main(int argc, char *argv[])
|
||||
|
||||
//for (int i=0; i<(app.arguments().length()); i++)
|
||||
//{
|
||||
// qDebug() << "KLog::main: Arguments: " << arguments.at(i) << endl;
|
||||
// //qDebug() << "KLog::main: Arguments: " << arguments.at(i) << endl;
|
||||
//}
|
||||
|
||||
|
||||
@ -240,7 +240,7 @@ int main(int argc, char *argv[])
|
||||
//if (!QDir::setCurrent (kontestDir) )
|
||||
if (!QDir::setCurrent (kontestDir) )
|
||||
{
|
||||
qDebug() << "MAIN: KLogDir does not exist.... creating " << endl;
|
||||
//qDebug() << "MAIN: KLogDir does not exist.... creating " << endl;
|
||||
//QDir d1(kontestDir);
|
||||
//d1.setCurrent()
|
||||
if (d1.mkdir(kontestDir))
|
||||
@ -268,7 +268,7 @@ int main(int argc, char *argv[])
|
||||
|
||||
if(!QFile::exists(configFileName))
|
||||
{
|
||||
qDebug() << "MAIN: Starting wizard... " << endl;
|
||||
//qDebug() << "MAIN: Starting wizard... " << endl;
|
||||
|
||||
StartWizard *wizard = new StartWizard(kontestDir, version);
|
||||
wizard->setModal(true);
|
||||
@ -344,7 +344,7 @@ int main(int argc, char *argv[])
|
||||
return app.exec();
|
||||
//qDebug() << "KLog Main-103" << endl;
|
||||
}
|
||||
qDebug() << "KLog Main-END" << endl;
|
||||
//qDebug() << "KLog Main-END" << endl;
|
||||
//return app.exec();
|
||||
}
|
||||
|
||||
|
110
mainwindow.cpp
110
mainwindow.cpp
@ -655,7 +655,7 @@ void MainWindow::slotModeComboBoxChanged()
|
||||
|
||||
//currentBandShown = bandComboBox->currentIndex();
|
||||
//currentModeShown = modeComboBox->currentIndex();
|
||||
i = checkIfWorkedB4(currentQrz);
|
||||
checkIfWorkedB4(currentQrz);
|
||||
|
||||
QStringList _qs; //for the showStatusOfDXCC(const QStringList _qs)
|
||||
_qs.clear();
|
||||
@ -696,7 +696,7 @@ void MainWindow::slotBandComboBoxChanged(){
|
||||
|
||||
|
||||
//currentModeShown = modeComboBox->currentIndex();
|
||||
i = checkIfWorkedB4(currentQrz);
|
||||
checkIfWorkedB4(currentQrz);
|
||||
|
||||
QStringList _qs; //for the showStatusOfDXCC(const QStringList _qs)
|
||||
_qs.clear();
|
||||
@ -720,7 +720,7 @@ void MainWindow::slotQRZReturnPressed()
|
||||
int lastId = -1;
|
||||
int errorCode = 0;
|
||||
QString aux;
|
||||
int _x; //for clublog management
|
||||
//int _x; //for clublog management
|
||||
|
||||
//bool ret = false;
|
||||
QString tqrz = qrzLineEdit->text();
|
||||
@ -798,9 +798,9 @@ void MainWindow::slotQRZReturnPressed()
|
||||
{
|
||||
//qDebug() << "MainWindow::slotQRZReturnPressed: (Modifiying ClubLog) Lastid: "<< QString::number(lastId) << endl;
|
||||
// Delete QSO in CLubLog
|
||||
_x = elogClublog->deleteQSO(clublogPrevQSO);
|
||||
elogClublog->deleteQSO(clublogPrevQSO);
|
||||
// Add modified QSO in ClubLog
|
||||
_x = elogClublog->sendQSO(dataProxy->getClubLogRealTimeFromId(modifyingQSO));
|
||||
elogClublog->sendQSO(dataProxy->getClubLogRealTimeFromId(modifyingQSO));
|
||||
|
||||
}
|
||||
else
|
||||
@ -845,7 +845,7 @@ void MainWindow::slotQRZReturnPressed()
|
||||
if ((clublogActive) & (clublogRealTime))
|
||||
{
|
||||
//qDebug() << "MainWindow::slotQRZReturnPressed: (Sending ClubLog) Lastid: "<< QString::number(lastId) << endl;
|
||||
_x = elogClublog->sendQSO(dataProxy->getClubLogRealTimeFromId(lastId));
|
||||
elogClublog->sendQSO(dataProxy->getClubLogRealTimeFromId(lastId));
|
||||
|
||||
}
|
||||
else
|
||||
@ -858,6 +858,7 @@ void MainWindow::slotQRZReturnPressed()
|
||||
|
||||
|
||||
logModel->select();
|
||||
dxccStatusWidget->refresh();
|
||||
|
||||
slotClearButtonClicked();
|
||||
}
|
||||
@ -914,7 +915,7 @@ QString MainWindow::readDataFromUIDX()
|
||||
/*
|
||||
If you make any change here, please update also readDataFromUIDXModifying to keep data integrity!
|
||||
*/
|
||||
qDebug() << "MainWindow::readDataFromUIDX:" << endl;
|
||||
//qDebug() << "MainWindow::readDataFromUIDX:" << endl;
|
||||
|
||||
QString tqrz = (qrzLineEdit->text()).toUpper();
|
||||
if (tqrz.length()<3)
|
||||
@ -937,8 +938,8 @@ If you make any change here, please update also readDataFromUIDXModifying to kee
|
||||
int dxcc = world->getQRZARRLId(tqrz);
|
||||
//int dxcc2 = getDXCCFromComboBox();
|
||||
int dxcc2 = world->getQRZARRLId(othersTabWidget->getEntityPrefix());
|
||||
qDebug() << "MainWindow::readDataFromUIDX - DXCC: " << QString::number(dxcc) << endl;
|
||||
qDebug() << "MainWindow::readDataFromUIDX - DXCC2: " << QString::number(dxcc2) << endl;
|
||||
//qDebug() << "MainWindow::readDataFromUIDX - DXCC: " << QString::number(dxcc) << endl;
|
||||
//qDebug() << "MainWindow::readDataFromUIDX - DXCC2: " << QString::number(dxcc2) << endl;
|
||||
dxcc = util->getNormalizedDXCCValue(dxcc);
|
||||
dxcc2 = util->getNormalizedDXCCValue(dxcc2);
|
||||
|
||||
@ -1686,8 +1687,8 @@ WHERE [condition];
|
||||
|
||||
//int dxcc2 = getDXCCFromComboBox();
|
||||
int dxcc2 = world->getQRZARRLId(othersTabWidget->getEntityPrefix());
|
||||
qDebug() << "MainWindow::readDataFromUIDXModifying - DXCC: " << QString::number(dxcc) << endl;
|
||||
qDebug() << "MainWindow::readDataFromUIDXModifying- DXCC2: " << QString::number(dxcc2) << endl;
|
||||
//qDebug() << "MainWindow::readDataFromUIDXModifying - DXCC: " << QString::number(dxcc) << endl;
|
||||
//qDebug() << "MainWindow::readDataFromUIDXModifying- DXCC2: " << QString::number(dxcc2) << endl;
|
||||
dxcc = util->getNormalizedDXCCValue(dxcc);
|
||||
dxcc2 = util->getNormalizedDXCCValue(dxcc2);
|
||||
|
||||
@ -3001,7 +3002,7 @@ void MainWindow::slotQRZTextChanged()
|
||||
}
|
||||
|
||||
qrzSmallModDontCalculate = true; // A kind of flag to prevent multiple calls to this method.
|
||||
int i;
|
||||
//int i;
|
||||
int dx_CQz = -1;
|
||||
int dxE_CQz = -1;
|
||||
int dx_ITUz = -1;
|
||||
@ -3033,6 +3034,7 @@ void MainWindow::slotQRZTextChanged()
|
||||
currentQrz = qrzLineEdit->text();
|
||||
currentEntity = world->getQRZARRLId(currentQrz);
|
||||
//selectCorrectComboBoxEntity(currentEntity);
|
||||
//qDebug() << "MainWindow::slotQRZTextChanged: " << QString::number(currentEntity) << endl;
|
||||
othersTabWidget->setEntity(currentEntity);
|
||||
|
||||
|
||||
@ -3093,7 +3095,7 @@ void MainWindow::slotQRZTextChanged()
|
||||
{
|
||||
updateStatusBar(tr("Ready..."));
|
||||
}
|
||||
i = checkIfWorkedB4(currentQrz);
|
||||
checkIfWorkedB4(currentQrz); // Has the QSO id if worked before
|
||||
checkContest();
|
||||
break;
|
||||
case CQ_WW_CW:
|
||||
@ -4909,6 +4911,7 @@ void MainWindow::slotQsoDeleteFromLog()
|
||||
//qDebug() << "MainWindow::slotQsoDeleteFromLog (id):-3 " << endl;
|
||||
slotSearchBoxTextChanged();
|
||||
awards->recalculateAwards();
|
||||
dxccStatusWidget->refresh();
|
||||
showAwards();
|
||||
break;
|
||||
case QMessageBox::No:
|
||||
@ -4926,7 +4929,7 @@ void MainWindow::slotQsoDeleteFromSearch()
|
||||
|
||||
//qDebug() << "MainWindow::slotQsoDeleteFromSearch: " << QString::number((logModel->index((delQSOFromSearchAct->data(6)).toInt(), 0)).data(0).toInt()) << endl;
|
||||
int QSOid = (delQSOFromSearchAct->data()).toInt();
|
||||
int x = -1;
|
||||
//int x = -1;
|
||||
|
||||
QString _qrz = dataProxy->getCallFromId(QSOid);
|
||||
if (_qrz.length()>=3)
|
||||
@ -4945,7 +4948,7 @@ void MainWindow::slotQsoDeleteFromSearch()
|
||||
switch (ret)
|
||||
{
|
||||
case QMessageBox::Yes:
|
||||
x = elogClublog->deleteQSO(dataProxy->getClubLogRealTimeFromId(QSOid));
|
||||
elogClublog->deleteQSO(dataProxy->getClubLogRealTimeFromId(QSOid));
|
||||
if(dataProxy->deleteQSO(QSOid))
|
||||
{
|
||||
|
||||
@ -4959,6 +4962,7 @@ void MainWindow::slotQsoDeleteFromSearch()
|
||||
{
|
||||
slotSearchBoxTextChanged();
|
||||
}
|
||||
dxccStatusWidget->refresh();
|
||||
awards->recalculateAwards();
|
||||
showAwards();
|
||||
|
||||
@ -5015,11 +5019,11 @@ void MainWindow::keyPressEvent(QKeyEvent *event){
|
||||
}
|
||||
}
|
||||
|
||||
int MainWindow::checkIfWorkedB4(const QString _qrz)
|
||||
void MainWindow::checkIfWorkedB4(const QString _qrz)
|
||||
{
|
||||
//qDebug() << "MainWindow::checkIfWorkedB4: " << _qrz << endl;
|
||||
|
||||
int i = dataProxy->isWorkedB4(_qrz, currentLog);
|
||||
int i = dataProxy->isWorkedB4(_qrz, currentLog); // Gets the QSO id if worked before
|
||||
|
||||
switch (contestMode) {
|
||||
|
||||
@ -5044,12 +5048,16 @@ int MainWindow::checkIfWorkedB4(const QString _qrz)
|
||||
}
|
||||
break;
|
||||
default:
|
||||
//if (i>=0)
|
||||
//{
|
||||
//TODO: Change colors?
|
||||
//}
|
||||
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
return i;
|
||||
//return i;
|
||||
}
|
||||
|
||||
|
||||
@ -5120,6 +5128,7 @@ void MainWindow::readConfigData()
|
||||
awards->setColors (newOneColor.name(), neededColor.name(), workedColor.name(), confirmedColor.name(), defaultColor.name());
|
||||
dxClusterWidget->setColors (newOneColor.name(), neededColor.name(), workedColor.name(), confirmedColor.name(), defaultColor.name());
|
||||
dxClusterWidget->setDXClusterSpotConfig(dxClusterShowHF, dxClusterShowVHF, dxClusterShowWARC, dxClusterShowWorked, dxClusterShowConfirmed, dxClusterShowAnn, dxClusterShowWWV, dxClusterShowWCY );
|
||||
dxClusterWidget->setMyQRZ(stationQRZ);
|
||||
|
||||
initialContestModeConfiguration();
|
||||
|
||||
@ -5832,7 +5841,7 @@ void MainWindow::createUIDX()
|
||||
//QWidget *othersInputTabWidget = new QWidget;
|
||||
//QWidget *myDataInputTabWidget = new QWidget;
|
||||
|
||||
int i = dxUpLeftTab->addTab(qsoInputTabWidget, tr("QSO"));
|
||||
dxUpLeftTab->addTab(qsoInputTabWidget, tr("QSO"));
|
||||
|
||||
// QSL Tab definition starts here
|
||||
|
||||
@ -5876,7 +5885,7 @@ void MainWindow::createUIDX()
|
||||
|
||||
|
||||
qslInputTabWidget->setLayout(QSLLayout);
|
||||
i = dxUpLeftTab->addTab(qslInputTabWidget, tr("QSL"));
|
||||
dxUpLeftTab->addTab(qslInputTabWidget, tr("QSL"));
|
||||
|
||||
|
||||
// eQSL Tab definition starts here
|
||||
@ -5938,7 +5947,7 @@ void MainWindow::createUIDX()
|
||||
|
||||
eqslInputTabWidget->setLayout(eqslInputTabWidgetLayout);
|
||||
|
||||
i = dxUpLeftTab->addTab(eqslInputTabWidget, tr("eQSL"));
|
||||
dxUpLeftTab->addTab(eqslInputTabWidget, tr("eQSL"));
|
||||
/*
|
||||
// NOTES tab starts here
|
||||
QGridLayout *notesInputTabWidgetLayout = new QGridLayout;
|
||||
@ -5948,7 +5957,7 @@ void MainWindow::createUIDX()
|
||||
*/
|
||||
// COMMENT tab starts here
|
||||
|
||||
i = dxUpLeftTab->addTab(commentTabWidget, tr("Comment"));
|
||||
dxUpLeftTab->addTab(commentTabWidget, tr("Comment"));
|
||||
|
||||
//QGridLayout *commentInputTabWidgetLayout = new QGridLayout;
|
||||
//commentInputTabWidgetLayout->addWidget(commentLineEdit, 0, 0);
|
||||
@ -5980,7 +5989,7 @@ void MainWindow::createUIDX()
|
||||
*/
|
||||
//i = dxUpLeftTab->addTab(othersInputTabWidget, tr("Others"));
|
||||
othersTabWidget->setEntitiesList(world->getEntitiesNames());
|
||||
i = dxUpLeftTab->addTab(othersTabWidget, tr("Others"));
|
||||
dxUpLeftTab->addTab(othersTabWidget, tr("Others"));
|
||||
|
||||
|
||||
|
||||
@ -6014,11 +6023,11 @@ void MainWindow::createUIDX()
|
||||
myDataInputTabWidget->setLayout(myDataInputTabWidgetLayout);
|
||||
i = dxUpLeftTab->addTab(myDataInputTabWidget, tr("My Data"));
|
||||
*/
|
||||
i = dxUpLeftTab->addTab(myDataTabWidget, tr("My Data"));
|
||||
dxUpLeftTab->addTab(myDataTabWidget, tr("My Data"));
|
||||
// MyData Tab finishes here
|
||||
|
||||
// Sat Tab starts hre
|
||||
i = dxUpLeftTab->addTab(satTabWidget, tr("Satellite"));
|
||||
dxUpLeftTab->addTab(satTabWidget, tr("Satellite"));
|
||||
|
||||
|
||||
// Sat Tab finishes here
|
||||
@ -6204,7 +6213,7 @@ int rowSpan, int columnSpan, Qt::Alignment alignment = 0 )
|
||||
dxMarathonLabelN->setAlignment(Qt::AlignVCenter | Qt::AlignCenter);
|
||||
|
||||
QWidget *searchTabWidget = new QWidget;
|
||||
i = dxUpRightTab->addTab(infoTabWidget, tr("Info"));
|
||||
dxUpRightTab->addTab(infoTabWidget, tr("Info"));
|
||||
|
||||
QWidget *awardsTabWidget = new QWidget;
|
||||
|
||||
@ -6277,7 +6286,7 @@ int rowSpan, int columnSpan, Qt::Alignment alignment = 0 )
|
||||
|
||||
awardsTabWidget->setLayout(dxUpRightAwardsTabLayout);
|
||||
|
||||
i = dxUpRightTab->addTab(awardsTabWidget, tr("Awards"));
|
||||
dxUpRightTab->addTab(awardsTabWidget, tr("Awards"));
|
||||
|
||||
/*
|
||||
searchgroupBox = new QGroupBox(tr("Search"));
|
||||
@ -6321,7 +6330,7 @@ int rowSpan, int columnSpan, Qt::Alignment alignment = 0 )
|
||||
|
||||
//searchTabWidget->setLayout(dxUpRightSearchALLLayout);
|
||||
|
||||
i = dxUpRightTab->addTab(searchTabWidget, tr("Search"));
|
||||
dxUpRightTab->addTab(searchTabWidget, tr("Search"));
|
||||
|
||||
QWidget *logTabWidget = new QWidget;
|
||||
QWidget *dxClusterTabWidget = new QWidget;
|
||||
@ -6338,9 +6347,9 @@ int rowSpan, int columnSpan, Qt::Alignment alignment = 0 )
|
||||
|
||||
|
||||
|
||||
i = dxBottonTab->addTab(logTabWidget, tr("Log"));
|
||||
i = dxBottonTab->addTab(dxClusterTabWidget, tr("DX-Cluster"));
|
||||
i = dxBottonTab->addTab(dxccStatusWidget, tr("DXCC"));
|
||||
dxBottonTab->addTab(logTabWidget, tr("Log"));
|
||||
dxBottonTab->addTab(dxClusterTabWidget, tr("DX-Cluster"));
|
||||
dxBottonTab->addTab(dxccStatusWidget, tr("DXCC"));
|
||||
|
||||
|
||||
QVBoxLayout *dxUpRightLayout = new QVBoxLayout;
|
||||
@ -6736,32 +6745,42 @@ void MainWindow::slotADIFImport(){
|
||||
}
|
||||
else
|
||||
{
|
||||
//qDebug() << "MainWindow::slotADIFImport -1" << endl;
|
||||
filemanager->adifReadLog(fileName, currentLog);
|
||||
//qDebug() << "MainWindow::slotADIFImport -2" << endl;
|
||||
logModel->select();
|
||||
|
||||
//qDebug() << "MainWindow::slotADIFImport -3" << endl;
|
||||
checkIfNewBandOrMode();
|
||||
|
||||
//qDebug() << "MainWindow::slotADIFImport -4" << endl;
|
||||
|
||||
switch (contestMode) {
|
||||
|
||||
case CQ_WW_SSB:
|
||||
|
||||
break;
|
||||
case CQ_WW_CW:
|
||||
|
||||
break;
|
||||
default:
|
||||
operatingYearsComboBox->addItems(dataProxy->getOperatingYears(currentLog));
|
||||
//bandComboBox->setCurrentIndex(bandComboBox->findText(aux1));
|
||||
|
||||
operatingYearsComboBox->addItems(dataProxy->getOperatingYears(currentLog));
|
||||
|
||||
//bandComboBox->setCurrentIndex(bandComboBox->findText(aux1));
|
||||
//qDebug() << "MainWindow::slotADIFImport -31" << endl;
|
||||
awards->recalculateAwards();
|
||||
//qDebug() << "MainWindow::slotADIFImport -32" << endl;
|
||||
showAwards();
|
||||
//qDebug() << "MainWindow::slotADIFImport -33" << endl;
|
||||
dxccStatusWidget->setBands(bands);
|
||||
dxccStatusWidget->update();
|
||||
//qDebug() << "MainWindow::slotADIFImport -34" << endl;
|
||||
dxccStatusWidget->refresh();
|
||||
//qDebug() << "MainWindow::slotADIFImport -35" << endl;
|
||||
break;
|
||||
|
||||
}
|
||||
//qDebug() << "MainWindow::slotADIFImport-7" << endl;
|
||||
}
|
||||
|
||||
//qDebug() << "MainWindow::slotADIFImport-END" << endl;
|
||||
}
|
||||
|
||||
void MainWindow::initialContestModeConfiguration()
|
||||
@ -6821,7 +6840,7 @@ void MainWindow::initialContestModeConfiguration()
|
||||
|
||||
void MainWindow::qsoToEdit (const int _qso)
|
||||
{
|
||||
qDebug() << "MainWindow::qsoToEdit: " << QString::number(_qso) << endl;
|
||||
//qDebug() << "MainWindow::qsoToEdit: " << QString::number(_qso) << endl;
|
||||
|
||||
|
||||
int nameCol;
|
||||
@ -6858,7 +6877,7 @@ void MainWindow::qsoToEdit (const int _qso)
|
||||
currentQrz = aux1;
|
||||
currentEntity = world->getQRZARRLId(currentQrz);
|
||||
|
||||
qDebug() << "MainWindow::qsoToEdit - currentEntity " << QString::number(currentEntity) << endl;
|
||||
//qDebug() << "MainWindow::qsoToEdit - currentEntity " << QString::number(currentEntity) << endl;
|
||||
|
||||
nameCol = rec.indexOf("qso_date");
|
||||
aux1 = (query.value(nameCol)).toString();
|
||||
@ -7576,12 +7595,12 @@ void MainWindow::qsoToEdit (const int _qso)
|
||||
satTabWidget->setSatMode("-CLEAR-");
|
||||
}
|
||||
|
||||
qDebug() << "MainWindow::qsoToEdit: - in default - 100: " << QString::number(currentEntity) << endl;
|
||||
//qDebug() << "MainWindow::qsoToEdit: - in default - 100: " << QString::number(currentEntity) << endl;
|
||||
|
||||
nameCol = rec.indexOf("dxcc");
|
||||
aux1 = (query.value(nameCol)).toString();
|
||||
|
||||
qDebug() << "MainWindow::qsoToEdit: Checking DXCC: " << aux1 << " - " << world->getEntityName(aux1.toInt()) << endl;
|
||||
//qDebug() << "MainWindow::qsoToEdit: Checking DXCC: " << aux1 << " - " << world->getEntityName(aux1.toInt()) << endl;
|
||||
|
||||
if (aux1.toInt()>=1)
|
||||
{
|
||||
@ -7595,15 +7614,15 @@ void MainWindow::qsoToEdit (const int _qso)
|
||||
currentEntity = aux1.toInt();
|
||||
}
|
||||
|
||||
qDebug() << "MainWindow::qsoToEdit: - in default - 101: " << QString::number(currentEntity) << endl;
|
||||
//qDebug() << "MainWindow::qsoToEdit: - in default - 101: " << QString::number(currentEntity) << endl;
|
||||
}
|
||||
else
|
||||
{
|
||||
currentEntity = world->getQRZARRLId(currentQrz);
|
||||
qDebug() << "MainWindow::qsoToEdit: - in default - 103: " << QString::number(currentEntity) << endl;
|
||||
//qDebug() << "MainWindow::qsoToEdit: - in default - 103: " << QString::number(currentEntity) << endl;
|
||||
|
||||
}
|
||||
qDebug() << "MainWindow::qsoToEdit: - in default - 104: " << QString::number(currentEntity) << endl;
|
||||
//qDebug() << "MainWindow::qsoToEdit: - in default - 104: " << QString::number(currentEntity) << endl;
|
||||
|
||||
nameCol = rec.indexOf("prop_mode");
|
||||
aux1 = (query.value(nameCol)).toString();
|
||||
@ -7622,6 +7641,7 @@ void MainWindow::qsoToEdit (const int _qso)
|
||||
|
||||
showEntityInfo(currentEntity);
|
||||
//selectCorrectComboBoxEntity(currentEntity);
|
||||
//qDebug() << "MainWindow::qsoToEdit: " << QString::number(currentEntity) << endl;
|
||||
othersTabWidget->setEntity(currentEntity);
|
||||
//qDebug() << "MainWindow::qsoToEdit: - in default - 101" << endl;
|
||||
|
||||
@ -7956,7 +7976,7 @@ void MainWindow::clearInfoFromLocators()
|
||||
|
||||
void MainWindow::showEntityInfo(const int _enti, int _cq, int _itu)
|
||||
{
|
||||
qDebug() << "MainWindow::showEntityInfo" << QString::number(_enti) << endl;
|
||||
//qDebug() << "MainWindow::showEntityInfo" << QString::number(_enti) << endl;
|
||||
|
||||
if (_enti<=0)
|
||||
{
|
||||
|
@ -312,7 +312,7 @@ private:
|
||||
void setAwardDXCC(const int _qsoId, bool modifying); // Adds or modify the status of a DXCC entity
|
||||
// data << dxcc(id) << band(id) << mode(id) << confirmed(0/1) << qsoid(id) << modify(0/1);
|
||||
|
||||
int checkIfWorkedB4(const QString _qrz);
|
||||
void checkIfWorkedB4(const QString _qrz);
|
||||
bool checkContest();
|
||||
void showStatusOfDXCC(const QStringList _qs);
|
||||
void showDXMarathonNeeded(const int _dxcc, const int _cqz, const int _year, const int _log);
|
||||
|
@ -76,10 +76,10 @@ void MainWindowInputOthers::createUI()
|
||||
|
||||
entityPrimDivComboBox->setToolTip(tr("Select the primary division for this QSO"));
|
||||
entitySecDivComboBox->setToolTip(tr("Select the secondary division for this QSO"));
|
||||
entityNameComboBox->setToolTip(tr("Select the propagation mode for this current QSO"));
|
||||
propModeComboBox->setToolTip(tr("Select the propagation mode for this current QSO"));
|
||||
iotaContinentComboBox->setToolTip(tr("Select the IOTA continent for this current QSO"));
|
||||
iotaNumberLineEdit->setToolTip(tr("Select the IOTA reference number for this current QSO"));
|
||||
entityNameComboBox->setToolTip(tr("Select the entity for this QSO"));
|
||||
propModeComboBox->setToolTip(tr("Select the propagation mode for this QSO"));
|
||||
iotaContinentComboBox->setToolTip(tr("Select the IOTA continent for this QSO"));
|
||||
iotaNumberLineEdit->setToolTip(tr("Select the IOTA reference number for this QSO"));
|
||||
|
||||
entityPrimDivComboBox->setEnabled(false);
|
||||
entitySecDivComboBox->setEnabled(false);
|
||||
@ -153,7 +153,7 @@ void MainWindowInputOthers::setEntitiesList(const QStringList _qs)
|
||||
|
||||
void MainWindowInputOthers::setEntity(const int _ent)
|
||||
{// Select the appropriate entity in the ComboBox
|
||||
qDebug() << "MainWindowInputOthers::setEntity: " << QString::number(_ent) << endl;
|
||||
//qDebug() << "MainWindowInputOthers::setEntity: " << QString::number(_ent) << endl;
|
||||
if (_ent<=0)
|
||||
{
|
||||
entityNameComboBox->setCurrentIndex(0);
|
||||
@ -172,9 +172,11 @@ void MainWindowInputOthers::setEntity(const int _ent)
|
||||
pref = dataProxy->getEntityNameFromId(_ent);
|
||||
|
||||
//int indexC = entityNameComboBox->findText(pref, Qt::MatchContains);
|
||||
//qDebug() << "MainWindow::selectCorrectEntity: aux to the findText: " << aux << endl;
|
||||
//int indexC = entityNameComboBox->findText("(" + aux + ")", Qt::MatchContains);
|
||||
int indexC = entityNameComboBox->findText("(" + aux + ")", Qt::MatchEndsWith);
|
||||
|
||||
int indexC = entityNameComboBox->findText(aux + ")", Qt::MatchContains);
|
||||
qDebug() << "MainWindow::selectCorrectEntity: " << pref << "/" << QString::number(indexC) << endl;
|
||||
//qDebug() << "MainWindow::selectCorrectEntity: " << pref << "/" << QString::number(indexC) << endl;
|
||||
entityNameComboBox->setCurrentIndex(indexC);
|
||||
setIOTAContinentFromEntity(_ent);
|
||||
|
||||
|
@ -48,6 +48,7 @@ MainWindowMyDataTab::MainWindowMyDataTab(QWidget *parent) :
|
||||
myPower = 0;
|
||||
lastPower = 0;
|
||||
|
||||
|
||||
}
|
||||
|
||||
MainWindowMyDataTab::~MainWindowMyDataTab(){}
|
||||
@ -56,6 +57,7 @@ void MainWindowMyDataTab::createUI()
|
||||
{
|
||||
myPowerSpinBox->setDecimals(2);
|
||||
myPowerSpinBox->setMaximum(9999);
|
||||
myPowerSpinBox->setSuffix(tr("Watt"));
|
||||
|
||||
QLabel *keepLabel = new QLabel();
|
||||
keepLabel->setText(tr("Keep this data"));
|
||||
@ -98,6 +100,7 @@ void MainWindowMyDataTab::createUI()
|
||||
|
||||
//myDataInputTabWidget->setLayout(myDataInputTabWidgetLayout);
|
||||
// i = dxUpLeftTab->addTab(myDataInputTabWidget, tr("My Data"));
|
||||
//connect(stationCallSignLineEdit, SIGNAL(returnPressed()), this, SLOT(slotQRZReturnPressed() ) );
|
||||
|
||||
}
|
||||
|
||||
|
@ -96,7 +96,7 @@ SetupDialog::SetupDialog(const bool _firstTime)
|
||||
|
||||
connect(closeButton, SIGNAL(clicked()), this, SLOT(slotCancelButtonClicked()));
|
||||
connect(okButton, SIGNAL(clicked()), this, SLOT(slotOkButtonClicked()));
|
||||
connect (logsPage, SIGNAL(newLogData(QStringList)), this, SLOT(slotAnalyzeNewLogData(QStringList)));
|
||||
connectActions();
|
||||
|
||||
|
||||
QHBoxLayout *horizontalLayout = new QHBoxLayout;
|
||||
@ -126,7 +126,6 @@ SetupDialog::SetupDialog(const bool _firstTime)
|
||||
}
|
||||
|
||||
|
||||
|
||||
SetupDialog::SetupDialog(const QString _configFile, const QString _softwareVersion, const int _page, const bool _firstTime)
|
||||
{
|
||||
//qDebug() << "SetupDialog::SetupDialog 2" << endl;
|
||||
@ -166,8 +165,7 @@ SetupDialog::SetupDialog(const QString _configFile, const QString _softwareVersi
|
||||
QPushButton *closeButton = new QPushButton(tr("Cancel"));
|
||||
QPushButton *okButton = new QPushButton(tr("OK"));
|
||||
|
||||
connect(closeButton, SIGNAL(clicked()), this, SLOT(slotCancelButtonClicked()));
|
||||
connect(okButton, SIGNAL(clicked()), this, SLOT(slotOkButtonClicked()));
|
||||
|
||||
|
||||
QHBoxLayout *horizontalLayout = new QHBoxLayout;
|
||||
horizontalLayout->addWidget(tabWidget);
|
||||
@ -200,13 +198,26 @@ SetupDialog::SetupDialog(const QString _configFile, const QString _softwareVersi
|
||||
//qDebug() << "SetupDialog::SetupDialog 05.3" << endl;
|
||||
nolog = !(haveAtleastOneLog());
|
||||
//qDebug() << "SetupDialog::SetupDialog 2 - END" << endl;
|
||||
connect(closeButton, SIGNAL(clicked()), this, SLOT(slotCancelButtonClicked()));
|
||||
connect(okButton, SIGNAL(clicked()), this, SLOT(slotOkButtonClicked()));
|
||||
connectActions();
|
||||
}
|
||||
|
||||
|
||||
SetupDialog::~SetupDialog()
|
||||
{
|
||||
//qDebug() << "SetupDialog::~SetupDialog " << endl;
|
||||
}
|
||||
|
||||
void SetupDialog::connectActions()
|
||||
{
|
||||
|
||||
connect (logsPage, SIGNAL(newLogData(QStringList)), this, SLOT(slotAnalyzeNewLogData(QStringList)));
|
||||
connect (userDataPage, SIGNAL(stationCallSignal(QString)), this, SLOT(slotSetStationCallSign(QString)));
|
||||
connect (userDataPage, SIGNAL(operatorsSignal(QString)), this, SLOT(slotSetOperators(QString)));
|
||||
|
||||
}
|
||||
|
||||
void SetupDialog::setData(const QString _configFile, const QString _softwareVersion, const int _page, const bool _firstTime)
|
||||
{
|
||||
//qDebug() << "SetupDialog::setData: " << QString::number(_page) << endl;
|
||||
@ -343,6 +354,7 @@ void SetupDialog::slotOkButtonClicked()
|
||||
QMessageBox msgBox;
|
||||
msgBox.setIcon(QMessageBox::Information);
|
||||
msgBox.setText(tr("You need to enter at least a valid QRZ."));
|
||||
msgBox.setInformativeText(tr("Go to the") + " " + tr("User tab") + " " + tr("and enter valid QRZ."));
|
||||
msgBox.exec();
|
||||
return;
|
||||
}
|
||||
@ -353,7 +365,8 @@ void SetupDialog::slotOkButtonClicked()
|
||||
|
||||
QMessageBox msgBox;
|
||||
msgBox.setIcon(QMessageBox::Information);
|
||||
msgBox.setText(tr("You have not selected the kind of log you want.\nYou will be redirected to the Log tab.\nPlease add and select the kind of log you want to use."));
|
||||
msgBox.setText(tr("You have not selected the kind of log you want."));
|
||||
msgBox.setInformativeText(tr("You will be redirected to the Log tab.\nPlease add and select the kind of log you want to use."));
|
||||
msgBox.exec();
|
||||
|
||||
tabWidget->setCurrentIndex(tabWidget->indexOf(logsPage));
|
||||
@ -581,10 +594,10 @@ void SetupDialog::slotReadConfigData()
|
||||
bands << "10M" << "12M" << "15M" << "17M" << "20M" << "40M" << "80M" << "160M";
|
||||
|
||||
}
|
||||
int a = modes.removeDuplicates();
|
||||
modes.removeDuplicates();
|
||||
//qDebug() << "SetupDialog::slotReadConfigData - duplicate modes: " << QString::number(a) << endl;
|
||||
bandsModesPage->setActiveModes(modes);
|
||||
a = bands.removeDuplicates();
|
||||
bands.removeDuplicates();
|
||||
//qDebug() << "SetupDialog::slotReadConfigData - duplicate bands: " << QString::number(a) << endl;
|
||||
bandsModesPage->setActiveBands(bands);
|
||||
//qDebug() << "SetupDialog::slotReadConfigData - END" << endl;
|
||||
@ -1035,3 +1048,16 @@ void SetupDialog::slotAnalyzeNewLogData(const QStringList _qs)
|
||||
userDataPage->setStationQrz(_qs.at(0));
|
||||
userDataPage->setOperators(_qs.at(1));
|
||||
}
|
||||
|
||||
void SetupDialog::slotSetStationCallSign(const QString _p)
|
||||
{
|
||||
//qDebug() << "SetupDialog::slotSetStationCallSign: " << _p << endl;
|
||||
logsPage->setDefaultStationCallsign(_p);
|
||||
}
|
||||
|
||||
void SetupDialog::slotSetOperators(const QString _p)
|
||||
{
|
||||
//qDebug() << "SetupDialog::slotSetOperators: " << _p << endl;
|
||||
logsPage->setDefaultOperators(_p);
|
||||
}
|
||||
|
||||
|
@ -74,6 +74,8 @@ private slots:
|
||||
void slotOkButtonClicked();
|
||||
void slotCancelButtonClicked();
|
||||
void slotAnalyzeNewLogData(const QStringList _qs); // We receive the station callsign and operators from the logs tab
|
||||
void slotSetStationCallSign(const QString _p); // We receive te station callsign from the userData tab to fill the new log
|
||||
void slotSetOperators(const QString _p); // We receive te station operators from the userData tab to fill the new log
|
||||
|
||||
private:
|
||||
|
||||
@ -81,6 +83,7 @@ private:
|
||||
void setSoftVersion(const QString _softwareVersion);
|
||||
void setConfigured(const bool _configured);
|
||||
void setPage(const int _page);
|
||||
void connectActions();
|
||||
|
||||
void createIcons();
|
||||
bool processConfigLine(const QString _line);
|
||||
|
@ -24,7 +24,7 @@
|
||||
* *
|
||||
*****************************************************************************/
|
||||
|
||||
//#include <QDebug>
|
||||
#include <QDebug>
|
||||
|
||||
#include "setuppagelogs.h"
|
||||
|
||||
@ -45,6 +45,7 @@ SetupPageLogs::SetupPageLogs(QWidget *parent) : QWidget(parent){
|
||||
typeContestN = -1;
|
||||
|
||||
selectedLog = -1;
|
||||
defaultStationCallSign.clear();
|
||||
|
||||
//setupD = new SetupDialog();
|
||||
|
||||
@ -118,6 +119,15 @@ void SetupPageLogs::createNewLog()
|
||||
selectedLog = -1;
|
||||
//newLog->clear();
|
||||
newLog->setEditing(false);
|
||||
if (defaultStationCallSign.length()>2)
|
||||
{
|
||||
newLog->setStationCallSign(defaultStationCallSign);
|
||||
}
|
||||
if (defaultOperators.length()>2)
|
||||
{
|
||||
newLog->setOperators(defaultOperators);
|
||||
}
|
||||
|
||||
newLog->exec();
|
||||
}
|
||||
|
||||
@ -599,3 +609,16 @@ void SetupPageLogs::showError(const QString _errorC)
|
||||
QMessageBox::Ok);
|
||||
|
||||
}
|
||||
|
||||
void SetupPageLogs::setDefaultStationCallsign(const QString _p)
|
||||
{
|
||||
//qDebug() << "SetupPageLogs::setDefaultStationCallsign: " << _p << endl;
|
||||
defaultStationCallSign = _p;
|
||||
}
|
||||
|
||||
void SetupPageLogs::setDefaultOperators(const QString _p)
|
||||
{
|
||||
//qDebug() << "SetupPageLogs::setDefaultOperators: " << _p << endl;
|
||||
defaultOperators = _p;
|
||||
|
||||
}
|
||||
|
@ -49,6 +49,8 @@ public:
|
||||
int getSelectedLog();
|
||||
void setSelectedLog(const int _i);
|
||||
void createNewLog();
|
||||
void setDefaultStationCallsign (const QString _p);
|
||||
void setDefaultOperators(const QString _p);
|
||||
/*
|
||||
QString getBands(); // 10m, 12m, 15m
|
||||
QString getModes(); //ssb, CW
|
||||
@ -128,6 +130,8 @@ private:
|
||||
DataProxy *dataProxy;
|
||||
int selectedLog;
|
||||
|
||||
QString defaultStationCallSign, defaultOperators;
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
@ -865,10 +865,10 @@ void SetupPageLogsNew::setEditing(const bool b)
|
||||
|
||||
int SetupPageLogsNew::getSelectedTypeContest()
|
||||
{
|
||||
qDebug() << "SetupPageLogsNew::getSelectedTypeContest: " << endl;
|
||||
//qDebug() << "SetupPageLogsNew::getSelectedTypeContest: " << endl;
|
||||
//is/contest/catoperator/catassisted/catpower/catband/catoverlay/catmode
|
||||
int i = dataProxy->getContestTypeN(typeContestSelected, contestCatOperators, contestCatAssisted, contestCatPower, contestCatBands, contestCatOverlay, contestCatMode);
|
||||
qDebug() << "SetupPageLogsNew::getSelectedTypeContest: " << QString::number(i) << endl;
|
||||
//qDebug() << "SetupPageLogsNew::getSelectedTypeContest: " << QString::number(i) << endl;
|
||||
return i;
|
||||
|
||||
}
|
||||
|
@ -295,6 +295,9 @@ void SetupPageUserDataPage::slotQRZTextChanged()
|
||||
|
||||
qrzLineEdit->setCursorPosition(i);
|
||||
|
||||
emit stationCallSignal(qrzLineEdit->text());
|
||||
//emit stationCallSignal("TEST");
|
||||
|
||||
/*
|
||||
if (!locator->isValidLocator(myLocatorLineEdit->text()) )
|
||||
{
|
||||
@ -649,6 +652,8 @@ void SetupPageUserDataPage::slotOperatorsChanged()
|
||||
|
||||
operatorsLineEdit->setPalette(*defaultPalette);
|
||||
|
||||
emit operatorsSignal(operatorsLineEdit->text());
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -98,6 +98,10 @@ public:
|
||||
bool setAntenna2 (const QString _aux);
|
||||
bool setAntenna3 (const QString _aux);
|
||||
|
||||
signals:
|
||||
void stationCallSignal (const QString _p);
|
||||
void operatorsSignal (const QString _p);
|
||||
|
||||
private slots:
|
||||
|
||||
void slotMyLocatorTextChanged();
|
||||
|
@ -76,6 +76,31 @@ SetupPageWorldEditor::SetupPageWorldEditor(QWidget *parent) : QWidget(parent)
|
||||
|
||||
createActions();
|
||||
|
||||
if (isWorldEmpty())
|
||||
{
|
||||
QString ctyfile = util->getCTYFile();
|
||||
|
||||
QMessageBox msgBox;
|
||||
if (QFile::exists(ctyfile))
|
||||
{
|
||||
|
||||
msgBox.setIcon(QMessageBox::Information);
|
||||
msgBox.setText(tr("An entities information file (CTY.CSV) has been detected in your KLog folder and will be loaded."));
|
||||
msgBox.exec();
|
||||
world->recreate(ctyfile);
|
||||
worldModel->select();
|
||||
//slotImportWorldButtonClicked();
|
||||
}
|
||||
else
|
||||
{
|
||||
msgBox.setIcon(QMessageBox::Warning);
|
||||
msgBox.setText(tr("No entities information file (CTY.CSV) has been detected in your KLog folder."));
|
||||
msgBox.setInformativeText(tr("KLog will not be able to show entities information."));
|
||||
msgBox.exec();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
SetupPageWorldEditor::~SetupPageWorldEditor()
|
||||
@ -223,6 +248,20 @@ void SetupPageWorldEditor::slotAnalyzeEntityAddedSignal(const QStringList _qs)
|
||||
*/
|
||||
}
|
||||
|
||||
bool SetupPageWorldEditor::isWorldEmpty()
|
||||
{
|
||||
// I need to check if the world is empty and I have the CTY.CSV file
|
||||
if (world->getHowManyEntities()<1)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
void SetupPageWorldEditor::slotAddButtonClicked()
|
||||
{
|
||||
//qDebug() << "SetupPageWorldEditor::slotAddButtonClicked" << endl;
|
||||
@ -258,7 +297,7 @@ void SetupPageWorldEditor::slotDoubleClickEntity( const QModelIndex & index)
|
||||
|
||||
void SetupPageWorldEditor::slotImportWorldButtonClicked()
|
||||
{
|
||||
qDebug() << "SetupPageWorldEditor::slotImportWorldButtonClicked" << endl;
|
||||
//qDebug() << "SetupPageWorldEditor::slotImportWorldButtonClicked" << endl;
|
||||
QString klogDir;
|
||||
klogDir = util->getHomeDir();
|
||||
QString worldFile;
|
||||
@ -266,11 +305,14 @@ void SetupPageWorldEditor::slotImportWorldButtonClicked()
|
||||
worldFile = QFileDialog::getOpenFileName(this, tr("Open File"), klogDir, tr("BigCTY (*.csv)"));
|
||||
|
||||
QMessageBox msgBox;
|
||||
//qDebug() << "SetupPageWorldEditor::slotImportWorldButtonClicked: " << worldFile << endl;
|
||||
|
||||
if (world->recreate(worldFile) )
|
||||
{
|
||||
|
||||
msgBox.setIcon(QMessageBox::Information);
|
||||
msgBox.setText(tr("Entities information has been updated."));
|
||||
worldModel->select();
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -280,7 +322,7 @@ void SetupPageWorldEditor::slotImportWorldButtonClicked()
|
||||
|
||||
|
||||
msgBox.exec();
|
||||
qDebug() << "SetupPageWorldEditor::slotImportWorldButtonClicked - END" << endl;
|
||||
//qDebug() << "SetupPageWorldEditor::slotImportWorldButtonClicked - END" << endl;
|
||||
}
|
||||
|
||||
|
||||
|
@ -69,6 +69,7 @@ private:
|
||||
void createWorldPanel();
|
||||
void createWorldModel();
|
||||
void createActions();
|
||||
bool isWorldEmpty();
|
||||
|
||||
QSqlRelationalTableModel *worldModel;
|
||||
QWidget *worldPanel;
|
||||
|
@ -10,15 +10,16 @@ SoftwareUpdate::SoftwareUpdate(const QString _klogVersion) : QObject(0)
|
||||
url = new QUrl;
|
||||
//klogDir = _klogDir;
|
||||
klogVersion = _klogVersion;
|
||||
latestVersion = klogVersion;
|
||||
//latestVersion = klogVersion;
|
||||
latestVersion = "0.0";
|
||||
callsign = QString();
|
||||
result = -1; // Error unknown
|
||||
//reply = new QNetworkReply;
|
||||
manager = new QNetworkAccessManager(this);
|
||||
//request = new QNetworkRequest(this);
|
||||
//request.setUrl(QUrl("http://localhost"));
|
||||
//request.setUrl(QUrl("https://download.savannah.gnu.org/releases/klog/"));
|
||||
request.setUrl(QUrl("http://download.klog.xyz/redirect"));
|
||||
request.setUrl(QUrl("https://download.savannah.gnu.org/releases/klog/"));
|
||||
//request.setUrl(QUrl("http://www.klog.xyz/download"));
|
||||
|
||||
setHeader();
|
||||
|
||||
@ -54,6 +55,7 @@ void SoftwareUpdate::slotDownloadFinished(QNetworkReply *reply)
|
||||
aux.clear();
|
||||
|
||||
if (reply->error()) {
|
||||
//qDebug() << "SoftwareUpdate::slotDownloadFinished: reply error" << endl;
|
||||
/*
|
||||
fprintf(stderr, "Updates %s failed: %s\n",
|
||||
url.toEncoded().constData(),
|
||||
@ -68,12 +70,14 @@ void SoftwareUpdate::slotDownloadFinished(QNetworkReply *reply)
|
||||
msgBox.setStandardButtons(QMessageBox::Ok);
|
||||
msgBox.setDefaultButton(QMessageBox::Ok);
|
||||
int ret = msgBox.exec();
|
||||
*/
|
||||
|
||||
*/
|
||||
} else {
|
||||
//qDebug() << "SoftwareUpdate::slotDownloadFinished: no reply error" << endl;
|
||||
//QString filename = saveFileName(url);
|
||||
if (checkUpdates(reply))
|
||||
{
|
||||
//qDebug() << "SoftwareUpdate::slotDownloadFinished checkupdates true" << endl;
|
||||
updateDialog->setVersion(latestVersion);
|
||||
updateDialog->show();
|
||||
latestVersion = klogVersion;
|
||||
@ -88,6 +92,7 @@ void SoftwareUpdate::slotDownloadFinished(QNetworkReply *reply)
|
||||
}
|
||||
else
|
||||
{
|
||||
//qDebug() << "SoftwareUpdate::slotDownloadFinished: checkupdates false" << endl;
|
||||
/*
|
||||
msgBox.setIcon(QMessageBox::Information);
|
||||
aux = tr("You already have the latest version of KLog!");
|
||||
@ -104,14 +109,14 @@ void SoftwareUpdate::slotDownloadFinished(QNetworkReply *reply)
|
||||
reply->deleteLater();
|
||||
//manager->deleteResource(request);
|
||||
|
||||
|
||||
//qDebug() << "SoftwareUpdate::slotDownloadFinished end" << endl;
|
||||
//emit done();
|
||||
|
||||
}
|
||||
|
||||
bool SoftwareUpdate::checkUpdates(QIODevice *data)
|
||||
{
|
||||
//qDebug() << "SoftwareUpdate::checkUpdates: " << endl;
|
||||
//qDebug() << "SoftwareUpdate::checkUpdates: " << QString::number(data->size()) << endl;
|
||||
QString line, release;
|
||||
QStringList stringList, klogStringList;
|
||||
|
||||
@ -125,13 +130,15 @@ bool SoftwareUpdate::checkUpdates(QIODevice *data)
|
||||
{
|
||||
//qDebug() << "SoftwareUpdate::checkUpdates: RX is NOT VALID"<< endl;
|
||||
}
|
||||
|
||||
//qDebug() << "SoftwareUpdate::checkUpdates: Before entering the while"<< endl;
|
||||
while (!data->atEnd())
|
||||
{
|
||||
//qDebug() << "SoftwareUpdate::checkUpdates: In the while"<< endl;
|
||||
stringList.clear();
|
||||
klogStringList.clear();
|
||||
line.clear();
|
||||
line = data->readLine();
|
||||
//qDebug() << "SoftwareUpdate::checkUpdates: line: " << line << endl;
|
||||
if (line.contains("klog-"))
|
||||
{
|
||||
stringList << line.split(">", QString::SkipEmptyParts);
|
||||
@ -141,6 +148,7 @@ bool SoftwareUpdate::checkUpdates(QIODevice *data)
|
||||
//qDebug() << "SoftwareUpdate::checkUpdates klog: " << str << endl;
|
||||
if (rx.match(str).hasMatch())
|
||||
{
|
||||
//qDebug() << "SoftwareUpdate::checkUpdates: MATCH: " << str << endl;
|
||||
release = str.section("-",1);
|
||||
release = release.section("\.tar.gz", 0, 0);
|
||||
updateNeeded(release);
|
||||
@ -153,6 +161,7 @@ bool SoftwareUpdate::checkUpdates(QIODevice *data)
|
||||
//qDebug() << "SoftwareUpdate::checkUpdates: " << line << endl;
|
||||
}
|
||||
}
|
||||
//qDebug() << "SoftwareUpdate::checkUpdates:Latest/Actual: " << latestVersion <<"/" << klogVersion << endl;
|
||||
if (latestVersion > klogVersion)
|
||||
{
|
||||
emit updateNeededSignal (true);
|
||||
|
@ -10,7 +10,6 @@
|
||||
#include <QLocale>
|
||||
#include <QLibraryInfo>
|
||||
#include <QProgressDialog>
|
||||
|
||||
#include "downloadcty.h"
|
||||
|
||||
|
||||
@ -35,11 +34,9 @@ class CTYPage;
|
||||
void slotRunInMemory(bool checked);
|
||||
void slotButtonFinishedClicked();
|
||||
|
||||
//void fin();
|
||||
|
||||
private:
|
||||
|
||||
|
||||
FileOrMemoryPage *fileOrMemoryPage;
|
||||
CTYPage *ctyPage;
|
||||
QString version;
|
||||
@ -73,6 +70,7 @@ class LicPage : public QWizardPage
|
||||
QTextEdit *licenseBrowser;
|
||||
QCheckBox *aceptLicCheckBox;
|
||||
};
|
||||
|
||||
/*
|
||||
|
||||
class FileOrMemoryPage : public QWizardPage
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -140,11 +140,11 @@ QString Utilities::getCfgFile()
|
||||
{
|
||||
//TODO: To be removed when the defaultDir is saved in the config file
|
||||
#ifdef Q_OS_WIN
|
||||
qDebug() << "WINDOWS DETECTED!: " << getHomeDir() + "\klogrc.cfg" << endl;
|
||||
//qDebug() << "WINDOWS DETECTED!: " << getHomeDir() + "\klogrc.cfg" << endl;
|
||||
return getHomeDir() + "\klogrc.cfg";
|
||||
|
||||
#else
|
||||
qDebug() << "NO WINDOWS DETECTED!: " << getHomeDir() + "/klogrc.cfg" << endl;
|
||||
//qDebug() << "NO WINDOWS DETECTED!: " << getHomeDir() + "/klogrc.cfg" << endl;
|
||||
return getHomeDir() + "/klogrc";
|
||||
|
||||
#endif
|
||||
|
@ -50,6 +50,7 @@ public:
|
||||
QString getHomeDir();
|
||||
QString getCfgFile();
|
||||
QString getCTYFile();
|
||||
|
||||
int getNormalizedDXCCValue(const int _dxcc);
|
||||
|
||||
};
|
||||
|
18
world.cpp
18
world.cpp
@ -99,29 +99,29 @@ World::~World()
|
||||
|
||||
bool World::recreate(const QString _worldFile)
|
||||
{
|
||||
qDebug() << "World::recreate: " << _worldFile << endl;
|
||||
//qDebug() << "World::recreate: " << _worldFile << endl;
|
||||
|
||||
QSqlQuery query;
|
||||
if (query.exec("DELETE FROM entity"))
|
||||
{
|
||||
qDebug() << "World::recreate: EMPTY entity" << endl;
|
||||
//qDebug() << "World::recreate: EMPTY entity" << endl;
|
||||
if (query.exec("DELETE FROM prefixesofentity"))
|
||||
{
|
||||
qDebug() << "World::recreate: EMPTY prefixesofentity" << endl;
|
||||
//qDebug() << "World::recreate: EMPTY prefixesofentity" << endl;
|
||||
return create(_worldFile);
|
||||
}
|
||||
else
|
||||
{//TODO: Manage the query error
|
||||
qDebug() << "World::recreate: FAILED TO EMPTY prefixesofentity" << endl;
|
||||
//qDebug() << "World::recreate: FAILED TO EMPTY prefixesofentity" << endl;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{//TODO: Manage the query error
|
||||
qDebug() << "World::recreate: FAILED TO EMPTY entity" << endl;
|
||||
//qDebug() << "World::recreate: FAILED TO EMPTY entity" << endl;
|
||||
return false;
|
||||
}
|
||||
qDebug() << "World::recreate: END..." << endl;
|
||||
//qDebug() << "World::recreate: END..." << endl;
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -135,12 +135,12 @@ bool World::create(const QString _worldFile)
|
||||
if (readCTYCSV(_worldFile))
|
||||
{
|
||||
created = true;
|
||||
qDebug() << "World::create: TRUE" << endl;
|
||||
//qDebug() << "World::create: TRUE" << endl;
|
||||
|
||||
}else
|
||||
{
|
||||
created = false;
|
||||
qDebug() << "World::create: FALSE" << endl;
|
||||
//qDebug() << "World::create: FALSE" << endl;
|
||||
|
||||
}
|
||||
if (created)
|
||||
@ -148,7 +148,7 @@ bool World::create(const QString _worldFile)
|
||||
dataProxy->updateISONames();
|
||||
}
|
||||
|
||||
qDebug() << "World::create: END" << endl;
|
||||
//qDebug() << "World::create: END" << endl;
|
||||
return created;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user