summaryrefslogtreecommitdiff
path: root/miav/cprquerydialog.h
blob: 85b26597a09f81371951390f60a85fa490cc860f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/***************************************************************************
 *            cprquerydialog.h
 *
 *  Sat Feb 19 17:05:42 CET 2005
 *  Copyright  2005 Bent Bisballe
 *  deva@aasimon.org
 ****************************************************************************/

/*
 *    This file is part of MIaV.
 *
 *    MIaV 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 2 of the License, or
 *    (at your option) any later version.
 *
 *    MIaV 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 MIaV; if not, write to the Free Software
 *    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA.
 */
#include "config.h"
#ifdef USE_GUI

#ifndef __MIAV_CPRQUERYDIALOG_H__
#define __MIAV_CPRQUERYDIALOG_H__

/**
 * Text
 */
#define NAME_NOT_AVAILABLE_TITLE "Databasefejl"
#define NAME_NOT_AVAILABLE "Kunne ikke slå navn op i cpr-database."

#define CONFIRM_INVALID_CPR_TITLE "Bekræft"
#define CONFIRM_INVALID_CPR "Ugyldigt CPR nummer, brug det alligevel?"


/** 
 * Images
 */
#define PIXMAP_BACKSPACE     PIXMAPS"/backspace.png"


/** 
 * Includes
 */
#include <qdialog.h>
#include <qpushbutton.h>
#include <qlayout.h>
#include <qlabel.h>
#include <qfont.h>

#include <qwidget.h>
#include <qlayout.h>
#include <qpushbutton.h>
#include <qdialog.h>
#include <qlabel.h>
#include <qpixmap.h>

#include <qsocket.h>
#include <qtextedit.h>
#include <qstring.h>
#include <qwidget.h>

#include <qevent.h>

#include <qpushbutton.h>

#include <qwidget.h>
#include <qlayout.h>
#include <qdialog.h>

#include <string>
using namespace std;

#include <qdialog.h>
#include <qlabel.h>
#include <qsocket.h>
#include <qtimer.h>
#include <qstatusbar.h>

#include "messagebox.h"

#include "cprlisten.h"

#include "info.h"

class CPRQueryDialog : public QDialog {
  Q_OBJECT
public:
  CPRQueryDialog(Info *info,
                 QLabel *lcpr, 
                 QLabel *lname, 
                 QWidget * parent = 0, 
                 const char * name = 0,
                 QStatusBar *status = NULL);
  ~CPRQueryDialog();
  
public slots:
  void bcancel_clicked();
  void bedit_clicked();
  void remove_digit();
  void remove_all();
  void insert_digit(int value);	
  void cprSocket_readyRead();
  void cprSocket_connected();
  void cprSocket_error(int errnum);
  void cprSocket_timeout();
  void listen_timeout();


private:
  Info *info;

  CPRListen *listen;
  QTimer *listen_timer;

  QStatusBar *statusbar;

  QLabel *lbl_cpr;
  QLabel *lbl_name;

  QSocket *cprSocket;	
  char cpr[12];
  char internalCpr[11];
  
  void verifycpr(char *cpr);
  //  void run(int pos);
  int test_cpr(const char *s);
  
  /*Configuration*/
  string *CPR_HOST;
  int CPR_PORT;
  int CPR_TIMEOUT;

signals:
  void bbs_clicked();
  void bca_clicked();
  void number_clicked(int);

public slots:
  void b_1_clicked();
  void b_2_clicked();
  void b_3_clicked();
  void b_4_clicked();
  void b_5_clicked();
  void b_6_clicked();
  void b_7_clicked();
  void b_8_clicked();
  void b_9_clicked();
  void b_0_clicked();
  void b_b_clicked();
  void b_c_clicked();

private:
  void b_clicked(int value);
  QPushButton *createButton(QWidget *parent, const char *text, int value);
  int digits;

  QTimer *timer;
};

#endif /* USE_GUI */

#endif/*__MIAV_CPRQUERYDIALOG_H__*/