Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions QLog.pro
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,8 @@ SOURCES += \
awards/AwardWPX.cpp \
awards/AwardWWFF.cpp \
awards/BandTableAward.cpp \
awards/awardwaac.cpp \
awards/awardwaip.cpp \
core/AlertEvaluator.cpp \
core/AppGuard.cpp \
core/CallbookManager.cpp \
Expand Down Expand Up @@ -252,6 +254,8 @@ HEADERS += \
awards/AwardWPX.h \
awards/AwardWWFF.h \
awards/BandTableAward.h \
awards/awardwaac.h \
awards/awardwaip.h \
core/AlertEvaluator.h \
core/AppGuard.h \
core/CallbookManager.h \
Expand Down
29 changes: 29 additions & 0 deletions awards/awardwaac.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
#include <QCoreApplication>
#include "awardwaac.h"

QString AwardWAAC::displayName() const
{
return QCoreApplication::translate("AwardsDialog", "WAAC");
}

QString AwardWAAC::headersColumns(const QString &) const
{
return QStringLiteral("d.name col1, d.id col2 ");
}

QString AwardWAAC::sqlDetailTable(const QString &entity) const
{
return " FROM dxcc_entities_ad1c d"
" LEFT OUTER JOIN source_contacts c ON d.id = c.dxcc AND c.my_dxcc = '" + entity + "' AND d.cont = 'AF' "
" LEFT OUTER JOIN modes m on c.mode = m.name";
}

QString AwardWAAC::additionalWhere(const QString &) const
{
return " AND d.cont = 'AF' ";
}

QString AwardWAAC::clickFilter(const QString &, const QString &col2Value) const
{
return QString("dxcc = '%1' ").arg(col2Value);
}
19 changes: 19 additions & 0 deletions awards/awardwaac.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
#ifndef QLOG_AWARDS_AWARDWAAC_H
#define QLOG_AWARDS_AWARDWAAC_H

#include "BandTableAward.h"

class AwardWAAC : public BandTableAward
{
public:
QString key() const override { return QStringLiteral("WAAC"); }
QString displayName() const override;

protected:
QString headersColumns(const QString &entity) const override;
QString sqlDetailTable(const QString &entity) const override;
QString additionalWhere(const QString &entity) const override;
QString clickFilter(const QString &col1Value, const QString &col2Value) const override;
};

#endif // QLOG_AWARDS_AWARDWAAC_H
29 changes: 29 additions & 0 deletions awards/awardwaip.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
#include <QCoreApplication>
#include "awardwaip.h"

QString AwardWAIP::displayName() const
{
return QCoreApplication::translate("AwardsDialog", "WAIP");
}

QString AwardWAIP::headersColumns(const QString &) const
{
return QStringLiteral("d.subdivision_name col1, d.code col2 ");
}

QString AwardWAIP::sqlDetailTable(const QString &entity) const
{
return " FROM adif_enum_primary_subdivision d"
" LEFT OUTER JOIN source_contacts c ON d.dxcc = c.dxcc AND d.code = c.state AND c.my_dxcc = '" + entity + "' AND d.dxcc in (225, 248)"
" LEFT OUTER JOIN modes m on c.mode = m.name";
}

QString AwardWAIP::additionalWhere(const QString &) const
{
return " AND d.dxcc in (225, 248) ";
}

QString AwardWAIP::clickFilter(const QString &, const QString &col2Value) const
{
return QString("state = '%1' and dxcc in (225, 248)").arg(col2Value);
}
19 changes: 19 additions & 0 deletions awards/awardwaip.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
#ifndef QLOG_AWARDS_AWARDWAIP_H
#define QLOG_AWARDS_AWARDWAIP_H

#include "BandTableAward.h"

class AwardWAIP : public BandTableAward
{
public:
QString key() const override { return QStringLiteral("WAIP"); }
QString displayName() const override;

protected:
QString headersColumns(const QString &entity) const override;
QString sqlDetailTable(const QString &entity) const override;
QString additionalWhere(const QString &entity) const override;
QString clickFilter(const QString &col1Value, const QString &col2Value) const override;
};

#endif // QLOG_AWARDS_AWARDWAIP_H
2 changes: 1 addition & 1 deletion core/Migration.h
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ class DBSchemaMigration : public QObject
bool run(bool force = false);
static bool backupAllQSOsToADX(bool force = false);

static constexpr int latestVersion = 38;
static constexpr int latestVersion = 39;

private:
bool functionMigration(int version);
Expand Down
1 change: 1 addition & 0 deletions res/res.qrc
Original file line number Diff line number Diff line change
Expand Up @@ -51,5 +51,6 @@
<file>sql/migration_036.sql</file>
<file>sql/migration_037.sql</file>
<file>sql/migration_038.sql</file>
<file>sql/migration_039.sql</file>
</qresource>
</RCC>
1,948 changes: 1,948 additions & 0 deletions res/sql/migration_039.sql

Large diffs are not rendered by default.

4 changes: 4 additions & 0 deletions ui/AwardsDialog.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@
#include "awards/AwardNZ.h"
#include "awards/AwardSpanishDME.h"
#include "awards/AwardUKD.h"
#include "awards/awardwaip.h"
#include "awards/awardwaac.h"

MODULE_IDENTIFICATION("qlog.ui.awardsdialog");

Expand Down Expand Up @@ -205,5 +207,7 @@ QList<AwardDefinition*> AwardsDialog::createAwards()
new AwardNZ(),
new AwardSpanishDME(),
new AwardUKD(),
new AwardWAIP(),
new AwardWAAC(),
};
}