~ea4k/klog/trunk

« back to all changes in this revision

Viewing changes to branches/1.4.4/dxcluster.h

  • Committer: ea4k
  • Date: 2020-12-24 17:16:20 UTC
  • Revision ID: svn-v4:5834a56a-7829-0410-841d-b57922c102d6::826
Branch 1.4.4

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#ifndef DXCLUSTER_H
 
2
#define DXCLUSTER_H
 
3
/***************************************************************************
 
4
    dxcluster.h  -  description
 
5
       -------------------
 
6
begin                : oct 2011
 
7
copyright            : (C) 2011 by Jaime Robles
 
8
email                : jaime@robles.es
 
9
***************************************************************************/
 
10
 
 
11
/*****************************************************************************
 
12
* This file is part of KLog.                                             *
 
13
*                                                                           *
 
14
*    KLog is free software: you can redistribute it and/or modify        *
 
15
*    it under the terms of the GNU General Public License as published by   *
 
16
*    the Free Software Foundation, either version 3 of the License, or      *
 
17
*    (at your option) any later version.                                    *
 
18
*                                                                           *
 
19
*    KLog is distributed in the hope that it will be useful,             *
 
20
*    but WITHOUT ANY WARRANTY; without even the implied warranty of         *
 
21
*    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the          *
 
22
*    GNU General Public License for more details.                           *
 
23
*                                                                           *
 
24
*    You should have received a copy of the GNU General Public License      *
 
25
*    along with KLog.  If not, see <https://www.gnu.org/licenses/>.       *
 
26
*                                                                           *
 
27
*****************************************************************************/
 
28
 
 
29
#include <QWidget>
 
30
//#include <QtWidgets>
 
31
#include <QtWidgets>
 
32
#include <QTcpSocket>
 
33
#include <QObject>
 
34
#include "awards.h"
 
35
#include "world.h"
 
36
#include "utilities.h"
 
37
#include "dataproxy_sqlite.h"
 
38
 
 
39
class QWidget;
 
40
class QTcpSocket;
 
41
 
 
42
class DXClusterWidget : public QWidget
 
43
{
 
44
     Q_OBJECT
 
45
 
 
46
 public:
 
47
    DXClusterWidget(DataProxy_SQLite *dp, QWidget *parent );
 
48
    DXClusterWidget(DataProxy_SQLite *dp, const QString &clusterToConnect, const int portToConnect, QWidget *parent );
 
49
 
 
50
    void setColors (const QString &_newOne, const QString &_needed, const QString &_worked, const QString &_confirmed, const QString &_default);
 
51
    void setDXClusterSpotConfig(bool _showhf, bool _showvhf, bool _showwarc, bool _showworked, bool _showconfirmed, bool _showann, bool _showwwv, bool _showwcy );
 
52
    void setDXClusterServer(const QString &clusterToConnect, const int portToConnect);
 
53
    void setCurrentLog(const int _log);
 
54
    bool isConnected();
 
55
    void setMyQRZ(const QString &_qrz);
 
56
    void setDXMarathon (const bool _enable);
 
57
    void setSaveSpots (const bool _enable);
 
58
    //void sendSpotToCluster(const QString &_dx, const QString &_freq);
 
59
 
 
60
 
 
61
    ~DXClusterWidget();
 
62
 
 
63
 
 
64
private slots:
 
65
    void slotClusterDisplayError(QAbstractSocket::SocketError socketError);
 
66
    void slotClusterDataArrived();
 
67
    void slotClusterSocketConnected();
 
68
    void slotClusterSocketConnectionClosed();
 
69
    void slotClusterSendToServer();
 
70
    void slotClusterClearLineInput();
 
71
    void slotClusterInputTextChanged();
 
72
 
 
73
    void slotClusterDXClusterWidgetItemDoubleClicked( QListWidgetItem * item );
 
74
    void slotClusterDXClusterWidgetItemEntered( QListWidgetItem * item);
 
75
    void slotClusterDXClusterWidgetItemSelected();
 
76
 
 
77
signals:
 
78
    void dxspotclicked(const QStringList &_qs); // DXSpotCall, DX-Freq, doubleClicked
 
79
    //void dxspot(const QString &_spot); // The text string to be saved
 
80
 
 
81
private:
 
82
 
 
83
    //void TESTADDSPOT(); // Just a test spot
 
84
 
 
85
    void initClass();
 
86
    void connectToDXCluster();
 
87
    QStringList readItem(QListWidgetItem * item);
 
88
    bool checkIfNeedsToBePrinted(const QString &_DXEntity, const int _band, const int _mode);
 
89
    void saveSpot (const QString &_spot);
 
90
    bool openFile();
 
91
    void addData(); //TO BE DELETED, JUST FOR TESTING PURPOSES
 
92
 
 
93
 
 
94
    QTcpSocket *tcpSocket;
 
95
    QListWidget *dxClusterListWidget;
 
96
    QLineEdit *inputCommand;
 
97
    QPushButton *sendButton;
 
98
    QPushButton *clearButton;
 
99
 
 
100
    bool dxClusterConnected;
 
101
    bool dxClusterAlreadyConnected;
 
102
    QString server;
 
103
    quint16 port;
 
104
    quint16 blockSize;
 
105
 
 
106
    QColor dxSpotColor;
 
107
 
 
108
    World *world;
 
109
    Awards *awards;
 
110
    DataProxy_SQLite *dataProxy;
 
111
    Utilities *util;
 
112
 
 
113
    bool showhf, showvhf, showwarc, showworked, showconfirmed, showann,  showwwv, showwcy;
 
114
    bool dxClusterShowHF, dxClusterShowVHF, dxClusterShowWARC, dxClusterShowWorked, dxClusterShowConfirmed, dxClusterShowAnn, dxClusterShowWWV, dxClusterShowWCY;
 
115
    bool showDxMarathon;
 
116
 
 
117
    QString myQrz;
 
118
    int currentLog;
 
119
    int constrid; // Just an id for the constructor to check who is being executed at one specific time
 
120
 
 
121
    QFile *saveSpotsFile;
 
122
    bool saveSpots; // write/save the spots to a file
 
123
 
 
124
 };
 
125
 
 
126
class dxClusterSpotItem : public QListWidgetItem {
 
127
 
 
128
public:
 
129
 
 
130
    dxClusterSpotItem( QListWidget* parent, const QString& spot, const QColor& color );
 
131
    ~dxClusterSpotItem();
 
132
 
 
133
protected:
 
134
 
 
135
  QColor spotColor;
 
136
 
 
137
};
 
138
 
 
139
#endif // DXCLUSTER_H