summaryrefslogtreecommitdiff
path: root/src/ui/iplookup.cpp
blob: edbbb0c2b2da0845ecb72a83911ab20199f252ac (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
// SPDX-License-Identifier: GPL-2.0-or-later

#include "iplookup.h"
#include "fqterm_ip_location.h"
#include "fqterm.h"

#if QT_VERSION >= 0x050000
#define FQ_UTF8 0
#else
#define FQ_UTF8 QCoreApplication::UnicodeUTF8
#endif

namespace FQTerm {



IPLookupDialog::~IPLookupDialog(){

}

IPLookupDialog::IPLookupDialog( QWidget *parent_ /*= 0*/, Qt::WindowFlags fl /*= 0*/ )  : QDialog(parent_, fl) {
  ui_.setupUi(this);
  FQ_VERIFY(connect(ui_.lookupPushButton, SIGNAL(clicked()), this, SLOT(onLookup())));
  FQ_VERIFY(connect(ui_.finishedPushButton, SIGNAL(clicked()), this, SLOT(onFinished())));
}

void IPLookupDialog::onLookup() {
  QString country, city;
  QString ip = ui_.ipLineEdit->text();
  FQTermIPLocation *ipLocation = FQTermIPLocation::getInstance();
  if (ipLocation == NULL) {
    ui_.addressLineEdit->setText(
        QApplication::translate("IPLookupDialog", "IP database file does NOT exist", 0, FQ_UTF8));
  } else if (!ipLocation->getLocation(ip, country, city)) {
    ui_.addressLineEdit->setText(
        QApplication::translate("IPLookupDialog", "Invalid IP", 0, FQ_UTF8));
  } else {
    ui_.addressLineEdit->setText(country + " " + city);
  }
}

void IPLookupDialog::onFinished() {
  done(0);
}
} //namespace FQTerm

#include "iplookup.moc"