klog/mainwindow.h

623 lines
20 KiB
C
Raw Normal View History

2015-01-14 18:51:30 +00:00
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
/***************************************************************************
mainwindow.h - description
-------------------
begin : sept 2011
copyright : (C) 2011 by Jaime Robles
email : jaime@robles.es
***************************************************************************/
/*****************************************************************************
* This file is part of KLog. *
* *
* KLog is free software: you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation, either version 3 of the License, or *
* (at your option) any later version. *
* *
* KLog is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with KLog. If not, see <http://www.gnu.org/licenses/>. *
* *
*****************************************************************************/
2015-11-06 19:47:52 +00:00
#include <QtWidgets>
2015-01-14 18:51:30 +00:00
#include <QPrinter>
#include <QPrintDialog>
#include <QNetworkRequest>
#include <QNetworkReply>
2015-08-01 11:17:07 +00:00
#include <QtAlgorithms>
2015-01-14 18:51:30 +00:00
#include "database.h"
#include "setupdialog.h"
2017-05-01 08:14:16 +00:00
//#include "helpaboutdialog.h"
#include "aboutdialog.h"
2015-01-14 18:51:30 +00:00
#include "world.h"
#include "filemanager.h"
#include "contest.h"
#include "contest_cqwwdxssb.h"
#include "dataproxy.h"
#include "dataproxy_sqlite.h"
#include "locator.h"
#include "dxcluster.h"
#include "awards.h"
2015-01-18 20:04:46 +00:00
#include "mainwindowsattab.h"
2016-08-02 11:33:28 +00:00
#include "mainwindowmydatatab.h"
2016-08-07 08:55:34 +00:00
#include "mainwindowinputcomment.h"
#include "mainwindowinputothers.h"
#include "mainwindowinputeqsl.h"
#include "mainwindowinputqsl.h"
2015-05-02 19:00:48 +00:00
#include "elogclublog.h"
2015-08-17 15:54:45 +00:00
#include "utilities.h"
2015-11-09 07:50:38 +00:00
#include "downloadcty.h"
2016-08-04 13:49:51 +00:00
#include "dxccstatuswidget.h"
2017-05-01 08:14:16 +00:00
#include "softwareupdate.h"
2017-07-03 21:44:26 +00:00
#include "logmodel.h"
#include "logwindow.h"
2017-08-07 11:31:13 +00:00
#include "searchwidget.h"
2017-08-14 13:15:08 +00:00
#include "infowidget.h"
2015-01-14 18:51:30 +00:00
class QTimer;
class QDateTime;
class QPushButton;
class QLineEdit;
class QComboBox;
class QTimeEdit;
class QDateEdit;
//class QStatusBar;
class QMenuBar;
class QMenu;
class QMessageBox;
class QTextEdit;
class QProgressDialog;
class QPoint;
class QGroupBox;
class QTabWidget;
class QFrame;
class QTableView;
class QLabel;
enum
{
Log_Id = 0,
Log_Name = 1,
Log_BandId = 2,
Log_ModeId = 3,
Log_DateId = 4,
Log_TimeId = 5
};
enum
{
2017-07-03 21:44:26 +00:00
DX = 0,
2015-01-14 18:51:30 +00:00
NoContest = 0,
CQ_WW_SSB = 1,
CQ_WW_CW = 2,
CQ_WPX_SSB = 3,
CQ_WPX_CW = 4,
CQ_WPX_RTTY = 5
};
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
2017-08-07 11:31:13 +00:00
MainWindow(const QString _klogDir, const QString tversion);
2015-01-14 18:51:30 +00:00
private slots:
void slotQRZReturnPressed();
void slotQRZSpacePressed();
void slotQRZTextChanged();
void slotSRXTextChanged();
void slotSTXTextChanged();
void slotLocatorTextChanged();
void slotMyLocatorTextChanged();
2017-06-24 10:02:04 +00:00
void slotFreqTXChanged();
void slotFreqRXChanged();
2015-01-14 18:51:30 +00:00
2017-08-14 13:15:08 +00:00
void slotSearchBoxTextChanged();
void slotSearchToolNeededQSLToSend();
void slotToolSearchRequestedQSLToSend();
void slotToolSearchNeededQSLPendingToReceive();
void slotToolSearchNeededQSLRequested();
2017-08-07 13:46:53 +00:00
//void slotSearchExportButtonClicked();
//void slotSearchBoxSelectAllButtonClicked();
//void slotSearchClearButtonClicked();
//void slotSearchBoxSelectionChanged();
//void slotSearchBoxReSearchButtonClicked();
2017-08-07 11:31:13 +00:00
2017-08-07 13:46:53 +00:00
//void showMenuRightButtonSearchCreateActions();
//void righButtonSearchMenu(const int trow);
2015-01-14 18:51:30 +00:00
void slotModeComboBoxChanged();
void slotBandComboBoxChanged();
//void slotIOTAComboBoxChanged();
2015-01-14 18:51:30 +00:00
void slotOperatingYearComboBoxChanged();
void slotOKButtonClicked();
void slotSpotItButtonClicked();
void slotClearButtonClicked();
void slotUpdateTime();
void slotLogWinShow();
2017-08-07 11:31:13 +00:00
void slotLogRefresh();
2015-01-14 18:51:30 +00:00
void slotScoreWinShow();
2017-08-07 11:31:13 +00:00
void slotQSODelete(const int _id);
2017-07-06 15:05:43 +00:00
void slotShowAwards();
2017-08-07 11:31:13 +00:00
void slotUpdateStatusBar(const QString statusm);
2017-07-06 15:05:43 +00:00
2015-01-14 18:51:30 +00:00
void slotSetup(const int _page=0);
2017-08-07 13:46:53 +00:00
//void slotQsoDeleteFromSearch();
//void slotQSLSentViaBureauFromSearch();
//void slotQSLSentViaDirectFromSearch();
//void slotQSLSentViaDirectMarkDXReqFromSearch();
2017-07-06 15:05:43 +00:00
2017-08-07 13:46:53 +00:00
//void slotQSLSentViaBureuMarkDXReqFromSearch();
//void slotQSLRecViaDirectFromSearch();
//void slotQSLRecViaBureauFromSearch();
//void slotQSLRecViaDirectMarkReqFromSearch();
//void slotQSLRecViaBureauMarkReqFromSearch();
//void slotQSLSentMarkAsRequested();
//void slotQSLRecMarkAsRequested();
//void slotQSOToEditFromSearch();
2015-01-14 18:51:30 +00:00
void slotrstTXTextChanged();
void slotrstRXTextChanged();
void slotADIFExport();
2015-04-24 18:39:14 +00:00
void slotADIFExportAll();
2015-01-14 18:51:30 +00:00
void slotADIFImport();
void slotRQSLExport();
void slotCabrilloExport();
//void slotQSLViaTextChanged();
//TODO: REMOVE EQSL
//void slotQSLRecvComboBoxChanged();
//void slotQSLSentComboBoxChanged();
//void sloteQSLRecvComboBoxChanged();
//void sloteQSLSentComboBoxChanged();
//void slotLotwRecvComboBoxChanged();
//void slotLotwSentComboBoxChanged();
2015-05-28 09:21:45 +00:00
void slotSetPropMode(const QString _p);
2015-01-14 18:51:30 +00:00
void slotUpdateCTYDAT();
2015-11-09 07:50:38 +00:00
void slotWorldReload();
2017-08-07 11:31:13 +00:00
2015-01-14 18:51:30 +00:00
void slotExitFromSlotDialog(const int exitID);
2015-11-09 07:50:38 +00:00
//void slotDownloadFinished(QNetworkReply *reply);
2015-01-14 18:51:30 +00:00
void fillQSOData();
void newFile();
void openFile();
bool saveFile(const QString _fileName);
bool saveFileAs();
2015-11-06 19:47:52 +00:00
bool slotOpenKLogFolder();
2015-01-14 18:51:30 +00:00
void slotFilePrint();
//void slotFileClose();
2017-05-01 08:14:16 +00:00
//void slotHelpHelpAction();
2015-01-14 18:51:30 +00:00
void slotHelpAboutAction();
2017-05-01 08:14:16 +00:00
void slotHelpCheckUpdatesAction();
2015-01-14 18:51:30 +00:00
void slotAboutQt();
2017-08-07 13:46:53 +00:00
void slotRecalculateAwardsButtonClicked();
2015-01-14 18:51:30 +00:00
// logpanel
2017-07-06 15:05:43 +00:00
//void slotRighButtonFromLog( const QPoint& pos);
void slotDoubleClickLog( const int _qsoID);
//void slotDoubleClickLog( const QModelIndex & index);
2017-08-07 13:46:53 +00:00
//SEARCH
2017-08-07 11:31:13 +00:00
void slotShowSearchWidget(); // The SearchWidget request being shown
2017-08-07 13:46:53 +00:00
//void slotDoubleClickSearch( QTreeWidgetItem* item, int); // Double click on a QSO in the search box
//void slotRighButtonSearch(const QPoint& pos);
//void slotToolSearchNeededQSLToSend();
//void slotToolSearchNeededQSLPendingToReceive();
//void slotToolSearchNeededQSLRequested();
//void slotToolSearchQSL(const int actionQSL);
2015-01-14 18:51:30 +00:00
//SEARCH
// CLUSTER
void slotAnalyzeDxClusterSignal(const QStringList _qs);
// CLUSTER
//CLUBLOG
void slotElogClubLogShowMessage(const QString _s);
2015-05-23 18:34:30 +00:00
void slotElogClubLogProcessAnswer(const int _i, const int _qID);
void slotElogClubLogDisable(const bool _b);
//CLUBLOG
2015-01-14 18:51:30 +00:00
2017-05-01 08:14:16 +00:00
void slotShowSoftUpdateResults(const bool _b); // Software Update: Receives the signal to see if it is needed or not to update
2015-01-14 18:51:30 +00:00
2017-06-24 10:02:04 +00:00
//SATELLITE
void slotSatBandTXComboBoxChanged(const QString _q);
2015-01-14 18:51:30 +00:00
private:
2015-11-09 07:50:38 +00:00
bool maybeSave();
2015-01-14 18:51:30 +00:00
2015-11-09 07:50:38 +00:00
//UPDATE CTY.DAT
/*
2015-01-14 18:51:30 +00:00
bool downloadCTYFile();
bool downloadCtyDatFile();
bool saveToDisk(const QString &filename, QIODevice *data);
2015-11-09 07:50:38 +00:00
2015-01-14 18:51:30 +00:00
QString saveFileName(const QUrl &url);
QNetworkAccessManager manager;
QNetworkRequest request;
2015-11-09 07:50:38 +00:00
*/
// NEW
DownLoadCTY *downloadcty;
2015-01-14 18:51:30 +00:00
//</UPDATE CTY.DAT>
2015-11-09 07:50:38 +00:00
2015-01-14 18:51:30 +00:00
void createStatusBar();
void createUI();
void createUICQWW();
void createUIDX();
//void createDXClusterUI();
void clearBandLabels();
void createMenusCommon();
void createMenusCQWW();
void createActionsCommon();
void createActionsCQWW();
void createActionsDX();
2017-07-03 21:44:26 +00:00
//void createlogPanel();
//void createlogModel(const int _i);
2015-01-14 18:51:30 +00:00
void createScorePanel();
2017-08-07 13:46:53 +00:00
//void createSearchResultsPanel();
2015-01-14 18:51:30 +00:00
void initialContestModeConfiguration();
2017-06-26 15:48:59 +00:00
//void createKeyEvents();
2017-08-07 11:31:13 +00:00
2015-01-14 18:51:30 +00:00
bool readCtyFile();
2017-07-06 15:05:43 +00:00
//void righButtonFromLogMenu(const int trow);
2015-01-14 18:51:30 +00:00
void qslRecViaBureauMarkReq(const int _qsoId);
void qslRecViaDirectMarkReq(const int _qsoId);
bool isQSLReceived(const int _qsoId);
bool isQSLSent(const int _qsoId);
bool validCharactersInCall(const QString _qrz); // Looks for SQLi and no valid chars in the QRZ
QString readDataFromUI(); // Reads the QSO data from the UI and returns the SQL Query
QString readDataFromUIDX();
QString readDataFromUIDXModifying();
//int getDXCCFromComboBox();
//QString getPropModeFromComboBox();
2015-01-14 18:51:30 +00:00
//QString readDataFromUICQWW();
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);
2017-05-06 17:27:18 +00:00
void checkIfWorkedB4(const QString _qrz);
2015-01-14 18:51:30 +00:00
bool checkContest();
void showStatusOfDXCC(const QStringList _qs);
void showDXMarathonNeeded(const int _dxcc, const int _cqz, const int _year, const int _log);
2015-01-14 18:51:30 +00:00
bool createConnection();
void createData();
bool processConfigLine(const QString _line);
2015-08-17 15:54:45 +00:00
void readConfigData();
void defineStationCallsign();
2015-01-14 18:51:30 +00:00
void checkIfNewBandOrMode();
void readActiveBands (const QStringList actives);
void readActiveModes (const QStringList actives);
void qsoToEdit (const int _qso);
2017-08-14 13:15:08 +00:00
//void showInfoFromLocators(const QString _loc1, const QString _loc2);
//void clearInfoFromLocators();
void completeWithPreviousQSO(const QString _call);
2015-01-14 18:51:30 +00:00
//void showQRZEntityInfo(const QString _qrz);
2017-08-14 13:15:08 +00:00
//void showEntityInfo(const int _enti, int _cq=-1, int _itu=-1);
//QString getStyleColorToLabelFromBand(const QString _b, const QString _q); // Band, Entity
2015-01-14 18:51:30 +00:00
void showAwards();
void showDXMarathon(const int _year);
void updateQSLRecAndSent();
double checkFreqRanges(double _f);
//void selectCorrectComboBoxEntity(const int _ent); // Select the appropriate entity in the ComboBox
2015-01-14 18:51:30 +00:00
//int Km2Mile(const bool _imperialSystemSelected, const bool _dataInMiles, const int _km);
// CLUSTER
void clusterSpotToLog(const QString _call, const QString _freq);
QStringList dxclusterServersList;
QString dxclusterServerToConnect;
int dxclusterServerPort;
// CLUSTER
QWidget *mainWidget;
2017-08-07 13:46:53 +00:00
//QWidget *dxClusterTabWidget;//, *searchTabWidget;
2015-01-14 18:51:30 +00:00
World *world;
FileManager *filemanager;
Locator *locator;
Awards *awards;
2015-08-17 15:54:45 +00:00
Utilities *util;
2015-01-14 18:51:30 +00:00
//WorldEditorWidget *worldEditor;
2017-05-01 08:14:16 +00:00
//HelpHelpDialog *helpHelpDialog;
//HelpAboutDialog *helpAboutDialog;
AboutDialog *aboutDialog;
2015-01-14 18:51:30 +00:00
QPushButton *addButton;
2017-08-14 13:15:08 +00:00
//QLabel *distShortLabelN;
//QLabel *distLongLabelN;
2015-01-14 18:51:30 +00:00
2016-08-04 13:49:51 +00:00
DXCCStatusWidget *dxccStatusWidget;
2017-07-03 21:44:26 +00:00
//QSqlRelationalTableModel *logModel;
//QWidget *logPanel;
//QTableView *logView;
2017-08-07 13:46:53 +00:00
//QTreeWidget *searchResultsTreeWidget;
2015-01-14 18:51:30 +00:00
QLabel *logLabel;
QWidget *scoreWindow; //, dxWindow;
QTextEdit *scoreTextEdit;
2017-07-03 21:44:26 +00:00
LogModel *logModel;
LogWindow *logWindow;
2015-01-14 18:51:30 +00:00
// <UI>
2017-08-07 13:46:53 +00:00
QGroupBox *gridGroupBox, *qrzgroupBox;//, *searchgroupBox;
2015-01-14 18:51:30 +00:00
QFrame *dxUpLeftInputFrame;//, *dxUpRightOutputFrame;
QLineEdit *qrzLineEdit, *nameLineEdit, *qthLineEdit, *locatorLineEdit;
QComboBox *bandComboBox, *modeComboBox;
QDateEdit *dateEdit;
QTimeEdit *timeEdit;
//QStatusBar *statusBar, *qsoStatusBar;
QString statusBarMessage;
QTabWidget *dxBottonTab, *dxUpLeftTab, *dxUpRightTab;
QMenu *fileMenu;
QMenu *toolMenu;
QMenu *viewMenu;
QMenu *setupMenu;
QMenu *helpMenu;
2015-11-06 19:47:52 +00:00
QAction *klogFolderAct;
2015-01-14 18:51:30 +00:00
QAction *openAct;
QAction *saveAct;
QAction *exitAct;
QAction *printLogAct;
QAction *addAct;
QAction *editAct;
QAction *removeAct;
QAction *logWinAct;
QAction *setupAct;
QAction *helpAct;
QAction *aboutAct;
QAction *aboutQtAct;
2017-05-01 08:14:16 +00:00
QAction *updateAct;
2015-01-14 18:51:30 +00:00
QAction *scoreWinAct;
QAction *scoreeWinAct;
QAction *ADIFExport;
2015-04-24 18:39:14 +00:00
QAction *ADIFExportAll;
2015-01-14 18:51:30 +00:00
QAction *ADIFImport;
QAction *ReqQSLExport;
QAction *CabrilloExport;
QAction *fillQsoAct;
QAction *findQSO2QSLAct;
QAction *findRequestedQSLAct;
QAction *findQSLPendingToReceiveAct;
2015-06-04 10:53:25 +00:00
QAction *findQSLDXRequestedAct;
2015-01-14 18:51:30 +00:00
QAction *downloadCTYAct;
QAction *loggWinAct;
2017-07-06 15:05:43 +00:00
/*
2015-01-14 18:51:30 +00:00
QAction *delQSOFromLogAct;
QAction *qsoToEditFromLogAct;
QAction *qslSentViaBureauFromLogAct;
QAction *qslSentViaDirectFromLogAct;
QAction *qslRecViaBureauFromLogAct;
QAction *qslRecViaDirectFromLogAct;
2017-07-06 15:05:43 +00:00
*/
2015-01-14 18:51:30 +00:00
QAction *qslSentRequestedAct;
QAction *qslRecRequestedAct;
2017-08-07 13:46:53 +00:00
//QAction *delQSOFromSearchAct;
//QAction *qsoToEditFromSearchAct;
//QAction *qslSentViaBureauFromSearchAct;
//QAction *qslSentViaDirectFromSearchAct;
//QAction *qslSentViaDirectMarkRcvReqFromSearchAct;
//QAction *qslSentViaBureauMarkRcvReqFromSearchAct;
//QAction *qslRecViaBureauFromSearchAct;
//QAction *qslRecViaDirectFromSearchAct;
//QAction *qslRecViaBureauMarkReqFromSearchAct;
//QAction *qslRecViaDirectMarkReqFromSearchAct;
2015-01-14 18:51:30 +00:00
QLineEdit *rstTXLineEdit;
QLineEdit *rstRXLineEdit;
QLineEdit *STXLineEdit;
QLineEdit *SRXLineEdit;
QPushButton *OKButton, *spotItButton, *clearButton;
QStringList bands;
QStringList modes;
2015-05-28 09:21:45 +00:00
QStringList entitiesList, propModeList;
2015-01-14 18:51:30 +00:00
// UI DX
//QLabel *entitySecLabel, *iotaAwardLabel, *entityNameLabel, *propModeLabel; //entityPrimLabel
2015-01-14 18:51:30 +00:00
QLabel *infoLabel1, *infoLabel2;
//QPushButton *flagIcon; // To paint a flag of the worked entity
2017-08-14 13:15:08 +00:00
//QLabel *bandLabel1, *bandLabel2, *bandLabel3, *bandLabel4;
//QLabel *bandLabel5, *bandLabel6, *bandLabel7, *bandLabel8;
//QLabel *bandLabel9, *bandLabel10, *bandLabel11, *bandLabel12;
//QLabel *continentLabel, *prefixLabel, *cqzLabel, *ituzLabel;
//QLabel *gradShortLabel, *distShortLabel;
//QLabel *gradLongLabel, *distLongLabel;
2015-01-14 18:51:30 +00:00
//QComboBox *iotaContinentComboBox, *entityPrimDivComboBox, *entitySecDivComboBox, *entityNameComboBox, *propModeComboBox;
2015-01-14 18:51:30 +00:00
QComboBox *operatingYearsComboBox;
QLineEdit *operatorLineEdit, *stationCallSignLineEdit, *myLocatorLineEdit;//, *commentLineEdit, *iotaNumberLineEdit;
2015-01-14 18:51:30 +00:00
QTextEdit *notesTextEdit;
QDoubleSpinBox *rxPowerSpinBox, *txFreqSpinBox, *rxFreqSpinBox; //*myPowerSpinBox,
2015-01-14 18:51:30 +00:00
QLCDNumber *freqQLCDNumber;
QLCDNumber *dxccConfirmedQLCDNumber, *dxccWorkedQLCDNumber,
*wazConfirmedQLCDNumber, *wazWorkedQLCDNumber,
*localConfirmedQLCDNumber, *localWorkedQLCDNumber,
*qsoConfirmedQLCDNumber, *qsoWorkedQLCDNumber,
2017-09-01 12:45:04 +00:00
*dxMarathonQSOLCDNumber, *dxMarathonDXCCQLCDNumber, *dxMarathonCQQLCDNumber, *dxMarathonPointsQLCDNumber;
//eQSL
//QComboBox *eqslSentComboBox, *eqslRecComboBox, *lotwSentComboBox, *lotwRecComboBox, *clublogComboBox;
//QDateEdit *eqslSentQDateEdit, *eqslRecQDateEdit, *lotwSentQDateEdit, *lotwRecQDateEdit, *clublogQDateEdit;
2015-01-14 18:51:30 +00:00
//QComboBox *qslSentComboBox, *qslRecComboBox, *qslSentViaComboBox, *qslRecViaComboBox;
//QDateEdit *qslSentQDateEdit, *qslRecQDateEdit;
//QTextEdit *qslmsgTextEdit;
//QLineEdit *qslViaLineEdit;
2015-01-14 18:51:30 +00:00
2017-08-07 13:46:53 +00:00
//QLineEdit *searchBoxLineEdit;
//QPushButton *searchBoxClearButton, *searchBoxExportButton, *searchBoxSelectAllButton, *searchBoxReSearchButton;
//QRadioButton *searchAllRadioButton;
2015-01-14 18:51:30 +00:00
QPushButton *recalculateAwardsButton;
2017-08-07 13:46:53 +00:00
//bool searchSelectAllClicked, stationCallSignShownInSearch;
2017-05-01 08:14:16 +00:00
bool checkNewVersions, reportInfo; // Selected in the Setup->Misc to check if new versions and report info back to KLog's servers
2015-01-14 18:51:30 +00:00
bool qslingNeeded;
2015-01-18 20:04:46 +00:00
MainWindowSatTab *satTabWidget;
2016-08-02 11:33:28 +00:00
MainWindowMyDataTab *myDataTabWidget;
2016-08-07 08:55:34 +00:00
MainWindowInputComment *commentTabWidget;
MainWindowInputOthers *othersTabWidget;
MainWindowInputEQSL *eQSLTabWidget;
MainWindowInputQSL *QSLTabWidget;
2017-08-07 11:31:13 +00:00
SearchWidget *searchWidget;
2017-08-14 13:15:08 +00:00
InfoWidget *infoWidget;
2017-08-07 11:31:13 +00:00
2015-01-18 20:04:46 +00:00
bool keepSatPage;
2015-01-14 18:51:30 +00:00
// UI DX
SetupDialog *setupDialog;
2015-01-18 20:04:46 +00:00
2015-01-14 18:51:30 +00:00
// <CLUSTER>
DXClusterWidget *dxClusterWidget;
bool dxClusterShowHF, dxClusterShowVHF, dxClusterShowWARC, dxClusterShowWorked, dxClusterShowConfirmed, dxClusterShowAnn, dxClusterShowWWV, dxClusterShowWCY;
//QWidget *dxClusterWidget;
//QListWidget *dxClusterListWidget;
//QPushButton *sendDXClusterButton;
//QLineEdit *inputDXClusterLineEdit;
// </CLUSTER>
// </UI>
QTimer *timer;
QDateTime *dateTime;
2017-08-07 11:31:13 +00:00
QString klogDir, ctyDatFile, defaultADIFLogFile, configFileName;
2015-01-14 18:51:30 +00:00
QString softwareVersion;
QString currentQrz;
QString previousQrz;
QString stx;
QString srx;
QPalette palRed, palBlack; // To paint Text in red or black(normal)
bool realTime, UTCTime, alwaysADIF, needToSave, useDefaultLogFileName, upAndRunning, qrzSmallModDontCalculate, imperialSystem, sendQSLWhenRec, keepMyData, completeWithPrevious, completedWithPreviousQTH, completedWithPreviousLocator, completedWithPreviousName, completedWithPreviousIOTA, completedWithPreviousQSLVia;
2015-01-14 18:51:30 +00:00
bool cleaning;
bool manageMode; // If true, the DXCC and awards will take the mode into consideration to decide if needed or worked. False implies only band is taken into account
2015-01-14 18:51:30 +00:00
// Station Setup
bool configured, modify;
bool needToEnd; // Just to control if the software needs to end.
bool qrzAutoChanging; //To stop executing the slotQRZTextChanged just because KLog uppercase a letter
QString mainQRZ, stationQRZ, operatorQRZ, myLocator, dxLocator;
2015-01-14 18:51:30 +00:00
QString lastOperatorQRZ, lastStationQRZ, lastMyLocator;
double myPower, lastPower;
int my_CQz, my_ITUz, defaultMode, defaultBand, currentMode, currentModeShown, currentBand, currentBandShown;
int currentEntity, previousEntity;
bool InValidCharsInPrevCall;
int currentLog; // This is to be able to manage multiple logs without showing
// them all at the same time.
int modifyingQSO; // When modifying, the QSO is saved here.
int selectedYear;
// Station Setup
QColor defaultColor;
QColor neededColor;
QColor workedColor;
QColor confirmedColor;
QColor newOneColor;
2015-05-02 19:00:48 +00:00
//<CLUBLOG>
bool clublogActive, clublogRealTime;
QString clublogUser, clublogPass, clublogEmail;
eLogClubLog *elogClublog;
2015-05-23 18:34:30 +00:00
int clublogAnswer;
2015-05-23 19:52:37 +00:00
QStringList clublogPrevQSO;
2015-05-02 19:00:48 +00:00
//</CLUBLOG>
2015-01-14 18:51:30 +00:00
// Contest
int contestMode, points, qsoPoints, multipliers, qsoMultiplier;
Contest *contest;
// Contest
DataProxy *dataProxy;
DataBase *db;
bool DBinMemory;
QTextDocument *doc;
2017-05-01 08:14:16 +00:00
SoftwareUpdate *softUpdate;
bool callingUpdate;
2015-01-14 18:51:30 +00:00
2017-06-26 15:48:59 +00:00
//LOGVIEW
//QString bandOld, modeOld;
//LOGVIEW
2015-01-14 18:51:30 +00:00
protected:
void keyPressEvent(QKeyEvent *event);
void closeEvent(QCloseEvent *event);
};
#endif