diff --git a/AUTHORS b/AUTHORS index 0ba3fa45..c34a8602 100644 --- a/AUTHORS +++ b/AUTHORS @@ -1,5 +1,5 @@ Jaime Robles, EA4K - (2002-today) -Akihiro Koda, JL3OXR - (2016, 2020) +Akihiro Koda, JL3OXR - (2016-2017) Andrew Goldie, ZL2ACG - (2009-2010) Translators: diff --git a/COPYING b/COPYING index 2a000655..94a9ed02 100644 --- a/COPYING +++ b/COPYING @@ -645,7 +645,7 @@ the "copyright" line and a pointer to where the full notice is found. GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . + along with this program. If not, see . Also add information on how to contact you by electronic and paper mail. @@ -664,11 +664,11 @@ might be different; for a GUI interface, you would use an "about box". You should also get your employer (if you work as a programmer) or school, if any, to sign a "copyright disclaimer" for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see -. +. The GNU General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. But first, please read -. +. diff --git a/Changelog b/Changelog index d0a06f68..5fea0f96 100644 --- a/Changelog +++ b/Changelog @@ -1,54 +1,5 @@ -May 2020 - 1.1 -- Improvement: Search widget has been improved. -- Improvement: Callsigns are always checked to be a good callsign before they are saved to the log, imported and exported to ADIF. -- Improvement: Removed some death code. -- Improvement: If TX Freq & RX Freq are the same, only TX Freq is exported. -- Improvement: New functions to check calls when importing ADIF logs. -- Improvement: Improved how CTY.CSV (country files) is working. -- UI: Widget to show the QSOs to be exported to ADIF & LoTW. -- UI: Widget to show the QSOs updated from ADIF & LoTW. -- UI: Clear the UI also clears the status of a DXCC in the Band status widget. -- UI: Added a checkbox to easily enable/disable the real time in the QSO entry box. -- UI: Passwords are now hidden in the UI when entered. -- BugFix: Only QSOs are now updated when data is uploaded from LoTW. -- BugFix: DXCC & WAZ information was updated twice when removing a QSO. -- BugFix: DXCC & WAZ count. -- BugFix: Fixed one SQL query on satellite. -- Bugfix: Fixed the print function. (JL3OXR). -- Translations: Catalan (TNX Txema), Spanish (EA4K). - -April 2020 - 1.0.1 -- BugFix: UTC time was not properly managed, specially in the date. - -March 2020 - 1.0 -- UI: Removed the first column inthe DXCC widget to make it more user friendly. -- UI: Created a widget to manage the Main QSO entry to make KLog more modular. -- UI: eQSL & LoTW are marked as queued to be sent by default if the user activates it in the setup. -- UI: Added the title to some QMessage boxes that were missing. -- UI: Improved the usability of creating new logs or editing existing logs in the setup. -- New feature: Integrate TQSL to upload QSOs to LoTW directly from KLog. -- New feature: You can check a call in QRZ.com by right-clicking in the call from the log. -- New feature: You can check a call in DXHeat.com by right-clicking in the call from the log. -- New feature: It is now possible to save in a file all the DX-Cluster activity. -- Improvement: Added https to the cty.dat download. -- Improvement: Added the https to download.klog.xyz -- Improvement: Propagation modes are now sorted in the Propagation mode combobox. -- Improvement: Four new tips added. -- Improvement: eQSL & LoTW dates are updated always that are modified to any status. -- Improvement: If a QSO does not have a freq, a default freq based on the band is assigned if edited. -- Improvement: Removed some deprecated functions. -- Improvement: Improved the way KLog checks for a wrong call (IARU rules applied). -- Improvement: Improved the way KLog checks for a wrong IOTA reference. -- Removed the functionality to sort the log based on Date & Time columns. -- Removed one console message about a duplicated database connection. -- Bugfix: It was not possible to include new dxcluster servers in the setup. -- Bugfix: The default value of RST in some digital modes using SNR were not properly shown. -- Bugfix: In translated instances of KLog, Propagation mode was sometimes not properly saved when no propagation mode eas selected. -- BugFix: Locator in SAT widget was not always not correctly evaluated as correct. -- Updated translations: Catalan (TNX Txema), Croatian (TNX M0NKC), Finnish (TNX Kristjan), Spanish (EA4K). - February 2020 - 0.9.9.1 -- BugFix: Bands & modes where sometimes duplicated in the combobox (TNX G4MKT). +- BugFix: Bands & Modes where sometimes duplicated in the combobox (TNX G4MKT). January 2020 - 0.9.9 - UI: Created a widget to manage the Awards to make KLog more modular. @@ -585,7 +536,7 @@ The information comming from all the appearances of a call in the log is grouped - New feature: KLog ask the user for a comment when Importing a TLF log (for example to note that those QSO are from an specific contest or whatever). - Bug fixed: When selecting a DX-Spot from the DX-Cluster it did not overwrote the name. -- Bug fixed: When writing the log, there was an space missing before the . +- Bug fixed: When writting the log, there was an space missing before the . It is just a "cosmetic" fix, not a real bug. - Bug fixed: The same with the QSL card status. - Bug fixed: KLog now recognises all the prefix that appears in cty.dat file with diff --git a/KLog.pro b/KLog.pro index 69143cd8..4f584ab2 100644 --- a/KLog.pro +++ b/KLog.pro @@ -1,302 +1,291 @@ -CONFIG += app_bundle -CONFIG += static -CONFIG -=depend_includepath -#CONFIG += release -TEMPLATE = app -VERSION = 1.1 -DEFINES += APP_VERSION="$$VERSION" - -APP_NAME = KLog -DEFINES += APP_NAME="$$APP_NAME" - -APP_UNIX_NAME = klog -DEFINES += APP_UNIX_NAME="$$APP_UNIX_NAME" - -message(Building $${APP_NAME} $${VERSION}) -message(Qt $$[QT_VERSION] in $$[QT_INSTALL_PREFIX]) - -#DEFINES *= QT_NO_DEBUG_OUTPUT -DEFINES *= QT_USE_QSTRINGBUILDER -DEFINES *= QT_STRICT_ITERATORS - -TARGET = $${APP_UNIX_NAME} - -QT += core \ - gui \ - sql \ - network \ - serialport \ - printsupport \ - charts \ - widgets - -greaterThan(QT_MAJOR_VERSION, 4):greaterThan(QT_MINOR_VERSION, 4) -{ - macx:QMAKE_LFLAGS += -Wl,-rpath,@executable_path/../Frameworks -} - -HEADERS += setupdialog.h \ - aboutdialog.h \ - awardswidget.h \ - lotwutilities.h \ - mainqsoentrywidget.h \ - mainwindow.h \ - pstrotatorsupport.h \ - widgets/adiflotwexportwidget.h \ - widgets/showadifimportwidget.h \ - world.h \ - logwindow.h \ - filemanager.h \ - database.h \ - locator.h \ - dxcluster.h \ - awards.h \ - startwizard.h \ - downloadcty.h \ - dataproxy_sqlite.h \ - mainwindowsattab.h \ - awarddxmarathon.h \ - elogclublog.h \ - softwareupdate.h \ - softwareupdatedialog.h \ - utilities.h \ - dxccstatuswidget.h \ - mainwindowmydatatab.h \ - mainwindowinputcomment.h \ - mainwindowinputothers.h \ - mainwindowinputeqsl.h \ - mainwindowinputqsl.h \ - logmodel.h \ - searchwidget.h \ - infowidget.h \ - showerrordialog.h \ - udpserver.h \ - statisticswidget.h \ - charts/barchartstats.h \ - updatesatsdata.h \ - hamlibclass.h \ - tipsdialog.h \ - worldmapwidget.h \ - widgets/rotator.h \ - widgets/rotatorcontrol.h \ - setuppages/setuppageinterfaceswindows.h \ - setuppages/setuppagelotw.h \ - setuppages/setuppagemisc.h \ - setuppages/setuppageuserdata.h \ - setuppages/setuppagedxcluster.h \ - setuppages/setuppagecolors.h \ - setuppages/setuppagelogs.h \ - setuppages/setuppageworldeditor.h \ - setuppages/setuppagesats.h \ - setuppages/setuppagesatsnew.h \ - setuppages/setuppagehamlib.h \ - setuppages/setuppagelogsnew.h \ - setuppages/setuppageclublog.h \ - setuppages/setuppagebandmode.h \ - setuppages/setupentitydialog.h \ - setuppages/setuppageudp.h \ - charts/statsgeneralchartwidget.h \ - charts/statsqsosperyearbarchartwidget.h \ - charts/statsentitiesperyearbarchartwidget.h \ - charts/statscqzperyearbarchartwidget.h \ - charts/statsqsosperbandbarchartwidget.h \ - charts/statsqsospermodebarchartwidget.h \ - charts/statsqsosperdxccbarchartwidget.h \ - charts/statsqsospercontinentbarchartwidget.h \ - charts/statsqsosperhourbarchartwidget.h \ - charts/statsqsospermonthbarchartwidget.h \ - charts/statsworkedconfirmedpiechartwidget.h \ - charts/statsworkedsentpiechartwidget.h \ - charts/statssentconfirmedpiechartwidget.h - -message(Sources) - -SOURCES += main.cpp \ - aboutdialog.cpp \ - awardswidget.cpp \ - lotwutilities.cpp \ - mainqsoentrywidget.cpp \ - mainwindow.cpp \ - pstrotatorsupport.cpp \ - setupdialog.cpp \ - widgets/adiflotwexportwidget.cpp \ - widgets/rotator.cpp \ - widgets/rotatorcontrol.cpp \ - widgets/showadifimportwidget.cpp \ - world.cpp \ - logwindow.cpp \ - filemanager.cpp \ - database.cpp \ - dataproxy_sqlite.cpp \ - downloadcty.cpp \ - dxcluster.cpp \ - locator.cpp \ - awards.cpp \ - setuppages/setuppageinterfaceswindows.cpp \ - setuppages/setuppagelotw.cpp \ - setuppages/setuppagemisc.cpp \ - setuppages/setuppageuserdata.cpp \ - setuppages/setuppagedxcluster.cpp \ - setuppages/setuppagecolors.cpp \ - setuppages/setuppagelogs.cpp \ - setuppages/setuppageworldeditor.cpp \ - setuppages/setuppagelogsnew.cpp \ - setuppages/setuppageclublog.cpp \ - setuppages/setuppagebandmode.cpp \ - setuppages/setuppageudp.cpp \ - setuppages/setuppagesats.cpp \ - setuppages/setuppagesatsnew.cpp \ - setuppages/setuppagehamlib.cpp \ - setuppages/setupentitydialog.cpp \ - startwizard.cpp \ - mainwindowsattab.cpp \ - awarddxmarathon.cpp \ - elogclublog.cpp \ - softwareupdate.cpp \ - softwareupdatedialog.cpp \ - utilities.cpp \ - dxccstatuswidget.cpp \ - mainwindowmydatatab.cpp \ - mainwindowinputcomment.cpp \ - mainwindowinputothers.cpp \ - mainwindowinputeqsl.cpp \ - mainwindowinputqsl.cpp \ - logmodel.cpp \ - searchwidget.cpp \ - infowidget.cpp \ - showerrordialog.cpp \ - udpserver.cpp \ - statisticswidget.cpp \ - charts/barchartstats.cpp \ - updatesatsdata.cpp \ - charts/statsgeneralchartwidget.cpp \ - charts/statsqsosperyearbarchartwidget.cpp \ - charts/statsentitiesperyearbarchartwidget.cpp \ - charts/statscqzperyearbarchartwidget.cpp \ - charts/statsqsospermodebarchartwidget.cpp \ - charts/statsqsosperdxccbarchartwidget.cpp \ - charts/statsqsospercontinentbarchartwidget.cpp \ - charts/statsqsosperhourbarchartwidget.cpp \ - charts/statsqsospermonthbarchartwidget.cpp \ - charts/statsworkedconfirmedpiechartwidget.cpp \ - charts/statsworkedsentpiechartwidget.cpp \ - charts/statssentconfirmedpiechartwidget.cpp \ - charts/statsqsosperbandbarchartwidget.cpp \ - hamlibclass.cpp \ - tipsdialog.cpp \ - worldmapwidget.cpp - - -message (Other files) - -OTHER_FILES += \ - README-DEVEL \ - TODO \ - tips-for-devel.txt \ - INSTALL.txt \ - INSTALL-linux \ - INSTALL-win.txt \ - Changelog \ - INSTALL-osx.txt \ - NEWS \ - klog.1 \ - COPYING \ - AUTHORS \ - README - -message (More...) -RESOURCES += klog.qrc -DESTDIR = build/target/ -OBJECTS_DIR = build/obj/ -MOC_DIR = build/moc/ -RCC_DIR = build/rcc/ -#D_OBJECTS = $(SRC:%.cpp=build/obj/%.o) -#R_OBJECTS = $(SRC:%.cpp=build/obj/%.o) - -# Tell Qt Linguist that we use UTF-8 strings in our sources -CODECFORTR = UTF-8 -CODECFORSRC = UTF-8 -#include(translations/translations.pri) -message (Translations) - -TRANSLATIONS = translations/klog_es.ts \ - translations/klog_ca.ts \ - translations/klog_da.ts \ - translations/klog_de.ts \ - translations/klog_fi.ts \ - translations/klog_fr.ts \ - translations/klog_hr.ts \ - translations/klog_it.ts \ - translations/klog_pl.ts \ - translations/klog_ja.ts - -message(End of translations...) - -isEmpty(QMAKE_LRELEASE) { - win32|os2:QMAKE_LRELEASE = $$[QT_INSTALL_BINS]\lrelease.exe - else:QMAKE_LRELEASE = $$[QT_INSTALL_BINS]/lrelease - unix { - !exists($$QMAKE_LRELEASE) { QMAKE_LRELEASE = lrelease-qt5 } - } else { - !exists($$QMAKE_LRELEASE) { QMAKE_LRELEASE = lrelease } - } -} - -updateqm.input = TRANSLATIONS -updateqm.output = $$DESTDIR/translations/${QMAKE_FILE_BASE}.qm -updateqm.commands = $$QMAKE_LRELEASE ${QMAKE_FILE_IN} -qm $$DESTDIR/translations/${QMAKE_FILE_BASE}.qm -updateqm.CONFIG += no_link target_predeps -QMAKE_EXTRA_COMPILERS += updateqm - - -# deploy -DISTFILES += Changelog COPYING - -unix:!mac { - DEFINES += APP_LINUX - CONFIG += c++11 -# Translations should be copied in /usr/share/klog/translations -# https://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard -# QT += dbus - isEmpty(PREFIX):PREFIX = /usr - BINDIR = $$PREFIX/bin - DATADIR = $$PREFIX/share - PKGDATADIR = $$DATADIR/klog - INSTALLS += target - target.path = $$BINDIR -# DEFINES += DATADIR=\\\"$$DATADIR\\\" \ -# PKGDATADIR=\\\"$$PKGDATADIR\\\" -# translations.path = /usr/share/klog/translations - translations.path = $$PKGDATADIR/translations -# translations.files += build/target/translations/* - translations.files += $$DESTDIR/translations/* - #INSTALLS += translations - datafiles.path = $$PKGDATADIR - datafiles.files = $$DISTFILES - INSTALLS += translations - INSTALLS += datafiles - LIBS += -lhamlib -} - -macx: { - ICON = klog.icns - TARGET = KLog - CONFIG += c++11 - INCLUDEPATH +=../hamlib/include/ - LIBS += -L"../hamlib/lib" -lhamlib -} - -win32: { - RC_ICONS = klog.ico - TARGET = klog - QMAKE_TARGET_COMPANY = EA4K - QMAKE_TARGET_DESCRIPTION = Hamradio logging - LIBS += -L"$$PWD/../libs/hamlib-w32-3.3/lib/gcc" -lhamlib - INCLUDEPATH += "$$PWD/../libs/hamlib-w32-3.3/include/" -} - -else: -{ - TARGET = klog -} - +CONFIG += app_bundle +CONFIG += static +#CONFIG += release +TEMPLATE = app +VERSION = 0.9.9 +DEFINES += APP_VERSION="$$VERSION" + +APP_NAME = KLog +DEFINES += APP_NAME="$$APP_NAME" + +APP_UNIX_NAME = klog +DEFINES += APP_UNIX_NAME="$$APP_UNIX_NAME" + +message(Building $${APP_NAME} $${VERSION}) +message(Qt $$[QT_VERSION] in $$[QT_INSTALL_PREFIX]) + +#DEFINES *= QT_NO_DEBUG_OUTPUT +DEFINES *= QT_USE_QSTRINGBUILDER +DEFINES *= QT_STRICT_ITERATORS + +TARGET = $${APP_UNIX_NAME} + +QT += core \ + gui \ + sql \ + network \ + serialport \ + widgets + + +greaterThan(QT_MAJOR_VERSION, 4) { + QT += printsupport + QT += widgets \ + charts +} + + +greaterThan(QT_MAJOR_VERSION, 4):greaterThan(QT_MINOR_VERSION, 4) { +macx:QMAKE_LFLAGS += -Wl,-rpath,@executable_path/../Frameworks +} + +HEADERS += setupdialog.h \ + aboutdialog.h \ + awardswidget.h \ + logviewsortfilterproxymodel.h \ + mainwindow.h \ + world.h \ + logwindow.h \ + filemanager.h \ + database.h \ + setuppagemisc.h \ + locator.h \ + dxcluster.h \ + awards.h \ + setuppageuserdata.h \ + setuppagedxcluster.h \ + setuppagecolors.h \ + setuppagelogs.h \ + setuppageworldeditor.h \ + setupentitydialog.h \ + startwizard.h \ + downloadcty.h \ + dataproxy_sqlite.h \ + mainwindowsattab.h \ + awarddxmarathon.h \ + setuppagelogsnew.h \ + setuppageclublog.h \ + elogclublog.h \ + softwareupdate.h \ + softwareupdatedialog.h \ + utilities.h \ + dxccstatuswidget.h \ + mainwindowmydatatab.h \ + mainwindowinputcomment.h \ + mainwindowinputothers.h \ + mainwindowinputeqsl.h \ + mainwindowinputqsl.h \ + setuppagebandmode.h \ + logmodel.h \ + searchwidget.h \ + infowidget.h \ + showerrordialog.h \ + udpserver.h \ + setuppageudp.h \ + statisticswidget.h \ + charts/barchartstats.h \ + updatesatsdata.h \ + charts/statsgeneralchartwidget.h \ + charts/statsqsosperyearbarchartwidget.h \ + charts/statsentitiesperyearbarchartwidget.h \ + charts/statscqzperyearbarchartwidget.h \ + charts/statsqsosperbandbarchartwidget.h \ + charts/statsqsospermodebarchartwidget.h \ + charts/statsqsosperdxccbarchartwidget.h \ + charts/statsqsospercontinentbarchartwidget.h \ + charts/statsqsosperhourbarchartwidget.h \ + charts/statsqsospermonthbarchartwidget.h \ + charts/statsworkedconfirmedpiechartwidget.h \ + charts/statsworkedsentpiechartwidget.h \ + charts/statssentconfirmedpiechartwidget.h \ + setuppagesats.h \ + setuppagesatsnew.h \ + setuppagehamlib.h \ + hamlibclass.h \ + tipsdialog.h \ + worldmapwidget.h + +message(Sources) + +SOURCES += main.cpp \ + aboutdialog.cpp \ + awardswidget.cpp \ + logviewsortfilterproxymodel.cpp \ + mainwindow.cpp \ + setupdialog.cpp \ + world.cpp \ + logwindow.cpp \ + filemanager.cpp \ + database.cpp \ + dataproxy_sqlite.cpp \ + downloadcty.cpp \ + dxcluster.cpp \ + setuppagemisc.cpp \ + locator.cpp \ + awards.cpp \ + setuppageuserdata.cpp \ + setuppagedxcluster.cpp \ + setuppagecolors.cpp \ + setuppagelogs.cpp \ + setuppageworldeditor.cpp \ + setupentitydialog.cpp \ + startwizard.cpp \ + mainwindowsattab.cpp \ + awarddxmarathon.cpp \ + setuppagelogsnew.cpp \ + setuppageclublog.cpp \ + elogclublog.cpp \ + softwareupdate.cpp \ + softwareupdatedialog.cpp \ + utilities.cpp \ + dxccstatuswidget.cpp \ + mainwindowmydatatab.cpp \ + mainwindowinputcomment.cpp \ + mainwindowinputothers.cpp \ + mainwindowinputeqsl.cpp \ + mainwindowinputqsl.cpp \ + setuppagebandmode.cpp \ + logmodel.cpp \ + searchwidget.cpp \ + infowidget.cpp \ + showerrordialog.cpp \ + udpserver.cpp \ + setuppageudp.cpp \ + statisticswidget.cpp \ + charts/barchartstats.cpp \ + updatesatsdata.cpp \ + charts/statsgeneralchartwidget.cpp \ + charts/statsqsosperyearbarchartwidget.cpp \ + charts/statsentitiesperyearbarchartwidget.cpp \ + charts/statscqzperyearbarchartwidget.cpp \ + charts/statsqsospermodebarchartwidget.cpp \ + charts/statsqsosperdxccbarchartwidget.cpp \ + charts/statsqsospercontinentbarchartwidget.cpp \ + charts/statsqsosperhourbarchartwidget.cpp \ + charts/statsqsospermonthbarchartwidget.cpp \ + charts/statsworkedconfirmedpiechartwidget.cpp \ + charts/statsworkedsentpiechartwidget.cpp \ + charts/statssentconfirmedpiechartwidget.cpp \ + charts/statsqsosperbandbarchartwidget.cpp \ + setuppagesats.cpp \ + setuppagesatsnew.cpp \ + setuppagehamlib.cpp \ + hamlibclass.cpp \ + tipsdialog.cpp \ + worldmapwidget.cpp + + +message (Other files) + +OTHER_FILES += \ + README-DEVEL \ + TODO \ + tips-for-devel.txt \ + INSTALL.txt \ + INSTALL-linux \ + INSTALL-win.txt \ + Changelog \ + INSTALL-osx.txt \ + NEWS \ + klog.1 \ + COPYING \ + AUTHORS \ + README + +message (More...) +RESOURCES += klog.qrc +DESTDIR = build/target/ +OBJECTS_DIR = build/obj/ +MOC_DIR = build/moc/ +RCC_DIR = build/rcc/ +#D_OBJECTS = $(SRC:%.cpp=build/obj/%.o) +#R_OBJECTS = $(SRC:%.cpp=build/obj/%.o) + +# Tell Qt Linguist that we use UTF-8 strings in our sources +CODECFORTR = UTF-8 +CODECFORSRC = UTF-8 +#include(translations/translations.pri) +message (Translations) + +TRANSLATIONS = translations/klog_es.ts \ + translations/klog_ca.ts \ + translations/klog_da.ts \ + translations/klog_de.ts \ + translations/klog_fi.ts \ + translations/klog_fr.ts \ + translations/klog_hr.ts \ + translations/klog_it.ts \ + translations/klog_pl.ts \ + translations/klog_ja.ts + +message(End of translations...) + +isEmpty(QMAKE_LRELEASE) { + win32|os2:QMAKE_LRELEASE = $$[QT_INSTALL_BINS]\lrelease.exe + else:QMAKE_LRELEASE = $$[QT_INSTALL_BINS]/lrelease + unix { + !exists($$QMAKE_LRELEASE) { QMAKE_LRELEASE = lrelease-qt5 } + } else { + !exists($$QMAKE_LRELEASE) { QMAKE_LRELEASE = lrelease } + } +} + +updateqm.input = TRANSLATIONS +updateqm.output = $$DESTDIR/translations/${QMAKE_FILE_BASE}.qm +updateqm.commands = $$QMAKE_LRELEASE ${QMAKE_FILE_IN} -qm $$DESTDIR/translations/${QMAKE_FILE_BASE}.qm +updateqm.CONFIG += no_link target_predeps +QMAKE_EXTRA_COMPILERS += updateqm + + +# deploy +DISTFILES += Changelog COPYING + +unix:!mac { + DEFINES += APP_LINUX + CONFIG += c++11 +# Translations should be copied in /usr/share/klog/translations +# https://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard +# QT += dbus + isEmpty(PREFIX):PREFIX = /usr + BINDIR = $$PREFIX/bin + DATADIR = $$PREFIX/share + PKGDATADIR = $$DATADIR/klog + INSTALLS += target + target.path = $$BINDIR +# DEFINES += DATADIR=\\\"$$DATADIR\\\" \ +# PKGDATADIR=\\\"$$PKGDATADIR\\\" +# translations.path = /usr/share/klog/translations + translations.path = $$PKGDATADIR/translations +# translations.files += build/target/translations/* + translations.files += $$DESTDIR/translations/* + #INSTALLS += translations + datafiles.path = $$PKGDATADIR + datafiles.files = $$DISTFILES + INSTALLS += translations + INSTALLS += datafiles + LIBS += -lhamlib + +} + +macx: { + ICON = klog.icns + TARGET = KLog + CONFIG += c++11 + INCLUDEPATH +=../hamlib/include/ + LIBS += -L"../hamlib/lib" -lhamlib +} + +win32: { + RC_ICONS = klog.ico + TARGET = klog + QMAKE_TARGET_COMPANY = EA4K + QMAKE_TARGET_DESCRIPTION = Hamradio logging + LIBS += -L"C:/radio/hamlib-w32-3.3/lib/gcc" -lhamlib + INCLUDEPATH += "C:/radio/hamlib-w32-3.3/include/" +} + +else: +{ + TARGET = klog +} + diff --git a/NEWS b/NEWS index d4a2a2fe..422b3ba4 100644 --- a/NEWS +++ b/NEWS @@ -1,2 +1,2 @@ -Look at https://www.klog.xyz for NEWS of KLog. -You can also check the Changelog file for the latest updates in the software. +Look at http://www.klog.xyz for NEWS of KLog. +You can also check the Changelog file for the latest updates in the software. \ No newline at end of file diff --git a/aboutdialog.cpp b/aboutdialog.cpp index f822d1ba..6a681541 100644 --- a/aboutdialog.cpp +++ b/aboutdialog.cpp @@ -9,7 +9,7 @@ AboutDialog::AboutDialog(const QString &tversion, QWidget *parent) : QDialog(parent) { - //qDebug() << "AboutDialog::AboutDialog" << endl; + //qDebug() << "AboutDialog::AboutDialog" << endl; QPixmap pixmap(":/img/klog_256x256.png"); @@ -24,13 +24,13 @@ AboutDialog::AboutDialog(const QString &tversion, QWidget *parent) const QString description = "

KLog " + tversion + "

" +tr("By") + " EA4K - 2002-2020


" + tr("KLog is a free logbook for hamradio operators.") +"

" + - tr("Please be aware that this is a development release and it may contain many bugs.
Backup your data before using this software!") + + tr("Please know that this is an BETA release and it may contain many bugs.
Backup your data before using this software!") + "


" + - tr("Since 0.6.2, KLog has been fully rewritten to provide a cross-platform application that runs on all major operating systems (Linux, macOS and Windows) and to support new functionality.") + + tr("KLog has been fully rewritten from the 0.6.2 to be able to provide a cross-platform application that runs in the main operating systems (Linux, macOS & Windows) and provide new functionalities that KLog was not providing.") + "

" + tr("Please provide your review in KLog's eHam review page:") + "
" + - "https://www.eham.net/reviews/detail/3118

" + + "http://www.eham.net/reviews/detail/3118

" + tr("Find more information and the latest release at") + "
https://www.klog.xyz

" + tr("Author") + ": Jaime Robles, EA4K
jaime@robles.es"; @@ -89,7 +89,7 @@ AboutDialog::AboutDialog(const QString &tversion, QWidget *parent) translatorsLabel->setTextInteractionFlags(Qt::TextBrowserInteraction); QString privacy = "

" + tr("Privacy advisory") + "


" + - tr("KLog developers have included a feature that reports some user data to the KLog server with the sole purpose of identifying the number of installed versions, to focus development in one direction or another taking into account users' needs.") + + tr("KLog developers have included a feature that reports some user data to the KLog server with the sole purpose of identifying the number of installed versions, to focus development in one direction or another taking into account user's needs.") + "

" + tr("At present, the data that is provided is the following:") + "
  • " + tr("Callsign") + "
  • " + tr("KLog version") + "
  • " + tr("Operating system") + "


" + tr("Be aware that you can enable/disable this feature from the Misc tab in the Setup page.") + ""; @@ -141,7 +141,7 @@ AboutDialog::AboutDialog(const QString &tversion, QWidget *parent) setLayout(layout); - //qDebug() << "AboutDialog::AboutDialog - END" << endl; + //qDebug() << "AboutDialog::AboutDialog - END" << endl; } AboutDialog::~AboutDialog() diff --git a/aboutdialog.h b/aboutdialog.h index 0c54150f..b3acf936 100644 --- a/aboutdialog.h +++ b/aboutdialog.h @@ -23,7 +23,7 @@ * 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 . * + * along with KLog. If not, see . * * * *****************************************************************************/ diff --git a/awarddxmarathon.cpp b/awarddxmarathon.cpp index 779a429b..6e93a6d5 100644 --- a/awarddxmarathon.cpp +++ b/awarddxmarathon.cpp @@ -20,7 +20,7 @@ * 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 . * + * along with KLog. If not, see . * * * *****************************************************************************/ #include "awarddxmarathon.h" @@ -28,33 +28,33 @@ DXMarathon::DXMarathon(DataProxy_SQLite *dp) { - //qDebug() << "DXMarathon::DXMarathon" << endl; + //qDebug() << "DXMarathon::DXMarathon" << endl; dataProxy = dp; - //qDebug() << "DXMarathon::DXMarathon - END" << endl; + //qDebug() << "DXMarathon::DXMarathon - END" << endl; } int DXMarathon::getDXMarathonQSO(const int _year, const int _logNumber) { - //qDebug() << "DXMarathon::getDXMarathonQSO: " << QString::number(_year) << endl; + //qDebug() << "DXMarathon::getDXMarathonQSO: " << QString::number(_year) << endl; return dataProxy->getQSOonYear(_year, _logNumber); } int DXMarathon::getDXMarathonDXCC(const int _year, const int _logNumber) { - //qDebug() << "DXMarathon::getDXMarathonDXCC: " << QString::number(_year) << endl; + //qDebug() << "DXMarathon::getDXMarathonDXCC: " << QString::number(_year) << endl; return dataProxy->getDXCConYear(_year, _logNumber); } int DXMarathon::getDXMarathonCQ(const int _year, const int _logNumber) { - //qDebug() << "DXMarathon::getDXMarathonCQ: " << QString::number(_year) << endl; + //qDebug() << "DXMarathon::getDXMarathonCQ: " << QString::number(_year) << endl; return dataProxy->getCQzonYear(_year, _logNumber); } int DXMarathon::getDXMarathonScore(const int _year, const int _logNumber) { - //qDebug() << "DXMarathon::getDXMarathonScore: " << QString::number(_year) << endl; + //qDebug() << "DXMarathon::getDXMarathonScore: " << QString::number(_year) << endl; return ( getDXMarathonDXCC(_year, _logNumber) + getDXMarathonCQ(_year, _logNumber)); diff --git a/awarddxmarathon.h b/awarddxmarathon.h index 366a45b3..d28a45ea 100644 --- a/awarddxmarathon.h +++ b/awarddxmarathon.h @@ -22,7 +22,7 @@ * 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 . * + * along with KLog. If not, see . * * * *****************************************************************************/ diff --git a/awards.cpp b/awards.cpp index 95d1b68f..89524777 100644 --- a/awards.cpp +++ b/awards.cpp @@ -22,7 +22,7 @@ * 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 . * + * along with KLog. If not, see . * * * *****************************************************************************/ @@ -30,14 +30,14 @@ Awards::Awards(DataProxy_SQLite *dp, const QString &_parentFunction) { - //qDebug() << "Awards::Awards- from: " << _parentFunction << endl; + //qDebug() << "Awards::Awards- from: " << _parentFunction << endl; dataProxy = dp; //QSqlDatabase db = QSqlDatabase::database("QSQLITE"); world = new World(dataProxy, Q_FUNC_INFO); - //qDebug() << "Awards::Awards - Before DXMarathon" << endl; + //qDebug() << "Awards::Awards - Before DXMarathon" << endl; dxMarathon = new DXMarathon(dataProxy); - //qDebug() << "Awards::Awards - After DXMarathon" << endl; + //qDebug() << "Awards::Awards - After DXMarathon" << endl; util = new Utilities(); //world->create(); /* @@ -61,26 +61,26 @@ Awards::Awards(DataProxy_SQLite *dp, const QString &_parentFunction) wazWorked.clear(); wazConfirmed.clear(); manageModes = false; - //qDebug() << "Awards::Awards - END" << endl; + //qDebug() << "Awards::Awards - END" << endl; } Awards::~Awards() {} void Awards::setAwardDXCC(const int _qsoId) { - //qDebug() << "Awards::setAwardDXCC: _qsoId: " << QString::number(_qsoId) << endl; + //qDebug() << "Awards::setAwardDXCC: _qsoId: " << QString::number(_qsoId) << endl; dataProxy->setDXCCAwardStatus(_qsoId); } void Awards::setAwardWAZ(const int _qsoId) { - //qDebug() << "Awards::setAwardWAZ: _qsoId: " << QString::number(_qsoId) << endl; + //qDebug() << "Awards::setAwardWAZ: _qsoId: " << QString::number(_qsoId) << endl; dataProxy->setWAZAwardStatus(_qsoId); } QString Awards::getQSOofAward (const int _enti, const int _bandid) {// Returns the QRZ that granted that status in the DXCC - //qDebug() << "Awards::getQSOofAward: " << QString::number(_enti) << "/" << QString::number(_bandid) << endl; + //qDebug() << "Awards::getQSOofAward: " << QString::number(_enti) << "/" << QString::number(_bandid) << endl; QSqlQuery query; QString stringQuery = QString(); bool sqlOK = false; @@ -89,7 +89,7 @@ QString Awards::getQSOofAward (const int _enti, const int _bandid) stringQuery = QString("SELECT call, qso_date, time_on from log where id=(SELECT qsoid from awarddxcc where dxcc='%1' and band='%2')").arg(_enti).arg(_bandid); sqlOK = query.exec(stringQuery); - //qDebug() << "Awards::getQSOofAward: stringQuery: " << stringQuery << endl; + //qDebug() << "Awards::getQSOofAward: stringQuery: " << stringQuery << endl; if (sqlOK) { query.next(); @@ -98,13 +98,13 @@ QString Awards::getQSOofAward (const int _enti, const int _bandid) answer = query.value(0).toString() + " / " + query.value(1).toString() + " / " + query.value(2).toString(); query.finish(); - //qDebug() << "Awards::getQSOofAward: answer: " << answer << endl; + //qDebug() << "Awards::getQSOofAward: answer: " << answer << endl; return answer; } else { query.finish(); - //qDebug() << "Awards::getQSOofAward: 0" << endl; + //qDebug() << "Awards::getQSOofAward: 0" << endl; return QString(); } } @@ -112,7 +112,7 @@ QString Awards::getQSOofAward (const int _enti, const int _bandid) { emit queryError(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); query.finish(); - //qDebug() << "Awards::getQSOofAward: Query error" << endl; + //qDebug() << "Awards::getQSOofAward: Query error" << endl; return QString(); } @@ -120,7 +120,7 @@ QString Awards::getQSOofAward (const int _enti, const int _bandid) int Awards::getQSOIdofAward (const int _enti, const int _bandid) {// Returns the QSOid that granted that status in the DXCC - //qDebug() << "Awards::getQSOIdofAward: " << QString::number(_enti) << "/" << QString::number(_bandid) << endl; + //qDebug() << "Awards::getQSOIdofAward: " << QString::number(_enti) << "/" << QString::number(_bandid) << endl; QSqlQuery query; QString stringQuery = QString(); bool sqlOK = false; @@ -129,14 +129,14 @@ int Awards::getQSOIdofAward (const int _enti, const int _bandid) stringQuery = QString("SELECT qsoid from awarddxcc where dxcc='%1' and band='%2'").arg(_enti).arg(_bandid); sqlOK = query.exec(stringQuery); - //qDebug() << "Awards::getQSOIdofAward: stringQuery: " << stringQuery << endl; + //qDebug() << "Awards::getQSOIdofAward: stringQuery: " << stringQuery << endl; if (sqlOK) { query.next(); if (query.isValid()) { answer = query.value(0).toInt(); - //qDebug() << "Awards::getQSOIdofAward: answer: " << QString::number(answer) << endl; + //qDebug() << "Awards::getQSOIdofAward: answer: " << QString::number(answer) << endl; query.finish(); if (answer>=1) { @@ -151,7 +151,7 @@ int Awards::getQSOIdofAward (const int _enti, const int _bandid) else { query.finish(); - //qDebug() << "Awards::getQSOIdofAward: 0" << endl; + //qDebug() << "Awards::getQSOIdofAward: 0" << endl; return -2; } } @@ -159,7 +159,7 @@ int Awards::getQSOIdofAward (const int _enti, const int _bandid) { emit queryError(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); query.finish(); - //qDebug() << "Awards::getQSOIdofAward: Query error" << endl; + //qDebug() << "Awards::getQSOIdofAward: Query error" << endl; return -3; } @@ -167,23 +167,15 @@ int Awards::getQSOIdofAward (const int _enti, const int _bandid) int Awards::getDXCCWorked(const int _logNumber) { - //qDebug() << "Awards::getDXCCWorked (logNumber): " << QString::number(_logNumber) << endl; + //qDebug() << "Awards::getDXCCWorked (logNumber): " << QString::number(_logNumber) << endl; QSqlQuery query; QString stringQuery; bool sqlOK; - if (dataProxy->doesThisLogExist(_logNumber)) - { - stringQuery = QString("SELECT COUNT (DISTINCT dxcc) FROM log WHERE dxcc>'0' AND lognumber='%1'").arg(_logNumber); - } - else - { - stringQuery = QString("SELECT COUNT (DISTINCT dxcc) FROM log WHERE dxcc>'0'"); - } - + stringQuery = QString("SELECT COUNT (DISTINCT dxcc) FROM log where lognumber='%1'").arg(_logNumber); sqlOK = query.exec(stringQuery); - //qDebug() << "Awards::getDXCCWorked: stringQuery: " << stringQuery << endl; + //qDebug() << "Awards::getDXCCWorked: stringQuery: " << stringQuery << endl; if (sqlOK) { query.next(); @@ -191,12 +183,12 @@ int Awards::getDXCCWorked(const int _logNumber) { int v = (query.value(0)).toInt(); query.finish(); - //qDebug() << "Awards::getDXCCWorked: " << QString::number((query.value(0)).toInt()) << endl; + //qDebug() << "Awards::getDXCCWorked: " << QString::number((query.value(0)).toInt()) << endl; return v; } else { - //qDebug() << "Awards::getDXCCWorked: 0" << endl; + //qDebug() << "Awards::getDXCCWorked: 0" << endl; return 0; } } @@ -204,7 +196,7 @@ int Awards::getDXCCWorked(const int _logNumber) { emit queryError(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); query.finish(); - //qDebug() << "Awards::getDXCCWorked: Query error" << endl; + //qDebug() << "Awards::getDXCCWorked: Query error" << endl; return 0; } } @@ -215,15 +207,7 @@ int Awards::getDXCCConfirmed(const int _logNumber) QSqlQuery query; QString stringQuery; bool sqlOK; - if (dataProxy->doesThisLogExist(_logNumber)) - { - stringQuery = QString("SELECT COUNT (DISTINCT dxcc) FROM log where qsl_rcvd='Y' AND dxcc!='' AND dxcc >'0' AND lognumber='%1'").arg(_logNumber); - } - else - { - stringQuery = QString("SELECT COUNT (DISTINCT dxcc) FROM log where qsl_rcvd='Y' AND dxcc!='' AND dxcc >'0'"); - } - + stringQuery = QString("SELECT COUNT (DISTINCT dxcc) FROM log where qsl_rcvd='Y' AND lognumber='%1'").arg(_logNumber); sqlOK = query.exec(stringQuery); //qDebug() << "Awards::getDXCCWorked: stringQuery: " << stringQuery << endl; @@ -239,7 +223,7 @@ int Awards::getDXCCConfirmed(const int _logNumber) } else { - //qDebug() << "Awards::getDXCCConfirmed: 0" << endl; + //qDebug() << "Awards::getDXCCConfirmed: 0" << endl; return 0; } @@ -257,18 +241,12 @@ int Awards::getDXCCConfirmed(const int _logNumber) int Awards::getWAZWorked(const int _logNumber) { - //qDebug() << "Awards::getWAZWorked (logNumber): " << QString::number(_logNumber) << endl; + //qDebug() << "Awards::getWAZWorked (logNumber): " << QString::number(_logNumber) << endl; QSqlQuery query; QString stringQuery; - if (dataProxy->doesThisLogExist(_logNumber)) - { - stringQuery = QString("SELECT COUNT (cqz) FROM (SELECT DISTINCT cqz FROM log WHERE cqz!='' AND cqz>'0' AND cqz<'41' AND lognumber='%1')").arg(_logNumber); - } - else - { - stringQuery = QString("SELECT COUNT (cqz) FROM (SELECT DISTINCT cqz FROM log WHERE cqz!='' AND cqz>'0' AND cqz<'41')"); - } - + //stringQuery = QString("SELECT count (cqz) FROM (SELECT DISTINCT cqz FROM log WHERE cqz!='' AND qsl_rcvd='Y' AND lognumber='%1')").arg(_logNumber); + stringQuery = QString("SELECT count (cqz) FROM (SELECT DISTINCT cqz FROM log WHERE cqz!='' AND lognumber='%1')").arg(_logNumber); + //stringQuery = QString("SELECT count (cqz) from (SELECT DISTINCT cqz FROM awardwaz WHERE lognumber='%1' AND cqz <> '')").arg(_logNumber); bool sqlOK = query.exec(stringQuery); if (sqlOK) { @@ -296,22 +274,13 @@ int Awards::getWAZWorked(const int _logNumber) int Awards::getWAZConfirmed(const int _logNumber) { - //qDebug() << "Awards::getWAZConfirmed (logNumber): " << QString::number(_logNumber) << endl; + //qDebug() << "Awards::getWAZConfirmed (logNumber): " << QString::number(_logNumber) << endl; QSqlQuery query; QString stringQuery; //Usar la siguiente para el confirmed - if (dataProxy->doesThisLogExist(_logNumber)) - { - stringQuery = QString("SELECT COUNT (cqz) FROM (SELECT DISTINCT cqz FROM log WHERE cqz!='' AND cqz>'0' AND cqz<'41' AND qsl_rcvd='Y' AND lognumber='%1')").arg(_logNumber); - } - else - { - stringQuery = QString("SELECT COUNT (cqz) FROM (SELECT DISTINCT cqz FROM log WHERE cqz!='' AND cqz>'0' AND cqz<'41' AND qsl_rcvd='Y')"); - } - - - + stringQuery = QString("SELECT count (cqz) FROM (SELECT DISTINCT cqz FROM log WHERE cqz!='' AND qsl_rcvd='Y' AND lognumber='%1')").arg(_logNumber); + //stringQuery = QString("SELECT COUNT (cqz) FROM (SELECT DISTINCT cqz FROM awardwaz WHERE lognumber='%1' AND confirmed='1' AND cqz <> '')").arg(_logNumber); bool sqlOK = query.exec(stringQuery); if (sqlOK) { @@ -354,7 +323,7 @@ bool Awards::isThisSpotConfirmed(const QStringList &_qs) int Awards::getDXStatus (const QStringList &_qs) { - //qDebug() << "Awards::getDXStatus: Entity: " << _qs.at(0) << "/ Band: " << _qs.at(1) << "/ Mode: " << _qs.at(2) << "/ Log: " << _qs.at(3) << endl; + //qDebug() << "Awards::getDXStatus: Entity: " << _qs.at(0) << "/ Band: " << _qs.at(1) << "/ Mode: " << _qs.at(2) << "/ Log: " << _qs.at(3) << endl; // Receives: QStringList _qs; //_qs << Entity << BandId << << ModeId << lognumber; @@ -396,7 +365,7 @@ int Awards::getDXStatus (const QStringList &_qs) if (_qs.length() != 4 ) { - //qDebug() << "Awards::getDXStatus: Length != 4, return -1" << endl; + //qDebug() << "Awards::getDXStatus: Length != 4, return -1" << endl; return -1; } @@ -407,10 +376,10 @@ int Awards::getDXStatus (const QStringList &_qs) int _logNumber = _qs.at(3).toInt(); int dxccEntity = (_qs.at(0)).toInt(); //int dxccEntity = world->getQRZARRLId(_qs.at(0) ); - //qDebug() << "Awards::getDXStatus: dxccEntity: " << QString::number(dxccEntity) << endl; + //qDebug() << "Awards::getDXStatus: dxccEntity: " << QString::number(dxccEntity) << endl; if (dxccEntity<=0) { - //qDebug() << "Awards::getDXStatus: dxccEntity <= 0, return -1" << endl; + //qDebug() << "Awards::getDXStatus: dxccEntity <= 0, return -1" << endl; return -1; } @@ -421,7 +390,7 @@ int Awards::getDXStatus (const QStringList &_qs) if ( (_mode==-1) || (manageModes==false)) { checkingMode = false; - //qDebug() << "Awards::getDXStatus: checkingMode = FALSE" << endl; + //qDebug() << "Awards::getDXStatus: checkingMode = FALSE" << endl; } // dxccStatusMode(const int _ent, const int _mode, const int _logNumber) //-1 error / 0 Not worked / 1 worked / 2 confirmed @@ -438,13 +407,13 @@ int Awards::getDXStatus (const QStringList &_qs) checkingMode = false; } - //qDebug() << "Awards::getDXStatus: wb=" << QString::number(wb) << " - wm=" << QString::number(wm) << endl; - //qDebug() << "Awards::getDXStatus: dxccStatus: " << QString::number(dxccStatus(dxccEntity, _logNumber)) << endl; + //qDebug() << "Awards::getDXStatus: wb=" << QString::number(wb) << " - wm=" << QString::number(wm) << endl; + //qDebug() << "Awards::getDXStatus: dxccStatus: " << QString::number(dxccStatus(dxccEntity, _logNumber)) << endl; switch(dxccStatus(dxccEntity, _logNumber)) { case 0: - //qDebug() << "Awards::getDXStatus: return 0" << endl; + //qDebug() << "Awards::getDXStatus: return 0" << endl; return 0; // ATNO //break; case 1: // Worked, not confirmed @@ -455,18 +424,18 @@ int Awards::getDXStatus (const QStringList &_qs) { if (wm==1) { - //qDebug() << "Awards::getDXStatus: return 4" << endl; + //qDebug() << "Awards::getDXStatus: return 4" << endl; return 4; } else { - //qDebug() << "Awards::getDXStatus: return 1" << endl; + //qDebug() << "Awards::getDXStatus: return 1" << endl; return 1; } } else { - //qDebug() << "Awards::getDXStatus: return 4 nc" << endl; + //qDebug() << "Awards::getDXStatus: return 4 nc" << endl; return 4; } case 1: // Worked in this band @@ -474,23 +443,23 @@ int Awards::getDXStatus (const QStringList &_qs) { if (wm==1) { - //qDebug() << "Awards::getDXStatus: return 3" << endl; + //qDebug() << "Awards::getDXStatus: return 3" << endl; return 3; } else { - //qDebug() << "Awards::getDXStatus: return 2" << endl; + //qDebug() << "Awards::getDXStatus: return 2" << endl; return 2; } } else { - //qDebug() << "Awards::getDXStatus: return 3 nc" << endl; + //qDebug() << "Awards::getDXStatus: return 3 nc" << endl; return 3; } default: // ERROR - //qDebug() << "Awards::getDXStatus: default return -1 - 1" << endl; + //qDebug() << "Awards::getDXStatus: default return -1 - 1" << endl; return -1; } case 2: // Confirmed @@ -500,23 +469,23 @@ int Awards::getDXStatus (const QStringList &_qs) { if (wm==2) { - //qDebug() << "Awards::getDXStatus: return 13" << endl; + //qDebug() << "Awards::getDXStatus: return 13" << endl; return 13; } else if (wm==1) { - //qDebug() << "Awards::getDXStatus: return 12" << endl; + //qDebug() << "Awards::getDXStatus: return 12" << endl; return 12; } else { - //qDebug() << "Awards::getDXStatus: return 11" << endl; + //qDebug() << "Awards::getDXStatus: return 11" << endl; return 11; } } else { - //qDebug() << "Awards::getDXStatus: return 13 nc" << endl; + //qDebug() << "Awards::getDXStatus: return 13 nc" << endl; return 13; } @@ -529,12 +498,12 @@ int Awards::getDXStatus (const QStringList &_qs) { if (wm==1) { - //qDebug() << "Awards::getDXStatus: return 8" << endl; + //qDebug() << "Awards::getDXStatus: return 8" << endl; return 8; } else { - //qDebug() << "Awards::getDXStatus: return 6" << endl; + //qDebug() << "Awards::getDXStatus: return 6" << endl; return 6; } } @@ -542,12 +511,12 @@ int Awards::getDXStatus (const QStringList &_qs) { if (wm==1) { - //qDebug() << "Awards::getDXStatus: return 7" << endl; + //qDebug() << "Awards::getDXStatus: return 7" << endl; return 7; } else { - //qDebug() << "Awards::getDXStatus: return 5" << endl; + //qDebug() << "Awards::getDXStatus: return 5" << endl; return 5; } } @@ -557,44 +526,44 @@ int Awards::getDXStatus (const QStringList &_qs) { if (wb==0) { - //qDebug() << "Awards::getDXStatus: return 7 nc" << endl; + //qDebug() << "Awards::getDXStatus: return 7 nc" << endl; return 7; } else { - //qDebug() << "Awards::getDXStatus: return 8 nc" << endl; + //qDebug() << "Awards::getDXStatus: return 8 nc" << endl; return 8; } } } else { - //qDebug() << "Awards::getDXStatus: return -1 - 2" << endl; + //qDebug() << "Awards::getDXStatus: return -1 - 2" << endl; return -1; } default: - //qDebug() << "Awards::getDXStatus: return -1 default2" << endl; + //qDebug() << "Awards::getDXStatus: return -1 default2" << endl; return -1; } // END OF SWITCH - //qDebug() << "Awards::getDXStatus: END, return -1" << endl; - //return -1; + //qDebug() << "Awards::getDXStatus: END, return -1" << endl; + return -1; } int Awards::dxccStatusBandMode(const int _ent, const int _band, const int _mode, const int _logNumber, bool _checkingMode) {//-1 error / 0 Not worked / 1 worked / 2 confirmed - //qDebug() << "Awards::dxccStatusBandMode: " << QString::number(_ent) << "/" << QString::number(_band) << "/" << QString::number(_mode) << endl; + //qDebug() << "Awards::dxccStatusBandMode: " << QString::number(_ent) << "/" << QString::number(_band) << "/" << QString::number(_mode) << endl; QSqlQuery query = QSqlQuery(); QString queryString = QString(); if (_checkingMode) { - //qDebug() << "Awards::dxccStatusBandMode: Checking Mode TRUE" << endl; + //qDebug() << "Awards::dxccStatusBandMode: Checking Mode TRUE" << endl; queryString = QString("SELECT confirmed FROM awarddxcc WHERE dxcc='%1' AND band='%2' AND mode='%3' AND lognumber='%4' ").arg(QString::number(_ent)).arg(QString::number(_band)).arg(QString::number(_mode)).arg(QString::number(_logNumber)); } else { - //qDebug() << "Awards::dxccStatusBandMode: Checking Mode FALSE" << endl; + //qDebug() << "Awards::dxccStatusBandMode: Checking Mode FALSE" << endl; queryString = QString("SELECT confirmed FROM awarddxcc WHERE dxcc='%1' AND band='%2' AND lognumber='%3' ").arg(QString::number(_ent)).arg(QString::number(_band)).arg(QString::number(_logNumber)); } @@ -608,13 +577,13 @@ int Awards::dxccStatusBandMode(const int _ent, const int _band, const int _mode, { if(query.value(0).toString() == "1") { - //qDebug() << "Awards::dxccStatusBandMode: return - 2" << endl; + //qDebug() << "Awards::dxccStatusBandMode: return - 2" << endl; query.finish(); return 2; } else if(query.value(0).toString() == "0") { - //qDebug() << "Awards::dxccStatusBandMode: return - 1" << endl; + //qDebug() << "Awards::dxccStatusBandMode: return - 1" << endl; if (status < 1) { status = 1; @@ -627,19 +596,19 @@ int Awards::dxccStatusBandMode(const int _ent, const int _band, const int _mode, } else { // The query fails... - //qDebug() << "Awards::dxccStatusBandMode: return - -1" << endl; + //qDebug() << "Awards::dxccStatusBandMode: return - -1" << endl; emit queryError(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); query.finish(); return -1; } - //qDebug() << "Awards::dxccStatusBandMode: return - 0-4" << endl; + //qDebug() << "Awards::dxccStatusBandMode: return - 0-4" << endl; return status; } int Awards::dxccStatus(const int _ent, const int _logNumber) {//-1 error / 0 Not worked / 1 worked / 2 confirmed - //qDebug() << "Awards::dxccStatus: " << QString::number(_ent) << endl; + //qDebug() << "Awards::dxccStatus: " << QString::number(_ent) << endl; QSqlQuery query = QSqlQuery(); QString queryString = QString(); int worked = 0; @@ -648,24 +617,24 @@ int Awards::dxccStatus(const int _ent, const int _logNumber) if (query.exec(queryString)) { - //qDebug() << "Awards::dxccStatus: query exec OK: " << query.lastQuery() << endl; + //qDebug() << "Awards::dxccStatus: query exec OK: " << query.lastQuery() << endl; while (query.next()) { - //qDebug() << "Awards::dxccStatus: query VALUE: " << (query.value(0)).toString() << endl; + //qDebug() << "Awards::dxccStatus: query VALUE: " << (query.value(0)).toString() << endl; if ( query.isValid() ) { - //qDebug() << "Awards::dxccStatus: query valid OK" << endl; + //qDebug() << "Awards::dxccStatus: query valid OK" << endl; if((query.value(0)).toString() == "1") { - //qDebug() << "Awards::dxccStatus: value = 1 - return 2" << endl; + //qDebug() << "Awards::dxccStatus: value = 1 - return 2" << endl; query.finish(); return 2; } else if((query.value(0)).toString() == "0") { - //qDebug() << "Awards::dxccStatus: value = 0 - worked 1" << endl; + //qDebug() << "Awards::dxccStatus: value = 0 - worked 1" << endl; if (worked <1) { worked = 1; @@ -673,21 +642,21 @@ int Awards::dxccStatus(const int _ent, const int _logNumber) } } } - //qDebug() << "Awards::dxccStatus: return "<< QString::number(worked) << endl; + //qDebug() << "Awards::dxccStatus: return "<< QString::number(worked) << endl; query.finish(); - //qDebug() << "Awards::dxccStatus: END: " << QString::number(worked) << endl; + //qDebug() << "Awards::dxccStatus: END: " << QString::number(worked) << endl; return worked; } else { // The query fails... - //qDebug() << "Awards::dxccStatus: return -1" << endl; + //qDebug() << "Awards::dxccStatus: return -1" << endl; emit queryError(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); query.finish(); return -1; } - //qDebug() << "Awards::dxccStatus: return 0" << endl; - //return worked; + //qDebug() << "Awards::dxccStatus: return 0" << endl; + return worked; } @@ -697,12 +666,12 @@ QColor Awards::getQRZDXStatusColor(const QStringList &_qs) //qs << Entity << spotBand << "-1" << QString::number(currentLog) ; - //qDebug() << "Awards::getQRZDXStatusColor qs.length: " << QString::number(_qs.length()) << endl; + //qDebug() << "Awards::getQRZDXStatusColor qs.length: " << QString::number(_qs.length()) << endl; //From Search QSO to QSL: q << _call << bandid << _mode << QString::number(currentLog); - //qDebug() << "Awards::getQRZDXStatusColor: " << _qs.at(0) << "/" << _qs.at(1) << "/" << _qs.at(2) << _qs.at(3) << endl; + //qDebug() << "Awards::getQRZDXStatusColor: " << _qs.at(0) << "/" << _qs.at(1) << "/" << _qs.at(2) << _qs.at(3) << endl; // Receives: QStringList _qs; //_qs << Entity << BandID << ModeId << lognumber; @@ -717,8 +686,8 @@ QColor Awards::getQRZDXStatusColor(const QStringList &_qs) int status = getDXStatus(_qs); - //qDebug() << "Awards::getQRZDXStatusColor: status: " << QString::number(status) << "/" << getDXStatusString(status) << endl; - //qDebug() << "Awards::getQRZDXStatusColor: status: " << QString::number(status) << endl; + //qDebug() << "Awards::getQRZDXStatusColor: status: " << QString::number(status) << "/" << getDXStatusString(status) << endl; + //qDebug() << "Awards::getQRZDXStatusColor: status: " << QString::number(status) << endl; switch (status) { case 0: @@ -763,7 +732,7 @@ QColor Awards::getQRZDXStatusColor(const QStringList &_qs) case 13: returnedColor = confirmedColor; break; - //break; + break; default: returnedColor = defaultColor; break; @@ -775,7 +744,7 @@ QColor Awards::getQRZDXStatusColor(const QStringList &_qs) QString Awards::getDXStatusString (const int &_status) { - //qDebug() << "Awards::getDXStatusString: " << QString::number(_status) << endl; + //qDebug() << "Awards::getDXStatusString: " << QString::number(_status) << endl; QString message = QString(); @@ -825,7 +794,7 @@ QString Awards::getDXStatusString (const int &_status) case 13: message = QObject::tr("Confirmed"); break; - //break; + break; default: message = QObject::tr("Not identified"); break; @@ -837,7 +806,7 @@ return message; QString Awards::getDXCCStatusBand(const int _dxcc, const int _band, const int _logNumber) { // Returns -, W or C (Not worked, worked, Confirmed) - //qDebug() << "Awards::getDXCCStatusBand: log received: " << QString::number(_logNumber) << endl; + //qDebug() << "Awards::getDXCCStatusBand: log received: " << QString::number(_logNumber) << endl; QString stringQuery; if (_logNumber<0) { @@ -897,7 +866,7 @@ QString Awards::checkIfValidIOTA(const QString &_tiota) Returns a valid format IOTA if possible and "" in other cases. ************************************/ - //qDebug() << "Awards::checkIfValidIOTA: " << _tiota << endl; + //qDebug() << "Awards::checkIfValidIOTA: " << _tiota << endl; //bool _valid = false; QString _continent; QString _number; @@ -905,37 +874,16 @@ Returns a valid format IOTA if possible and "" in other cases. if (_tiota.count("-") == 1) { QStringList _values = _tiota.split("-", QString::SkipEmptyParts); - if (_values.size() != 2) - { - return ""; - } - - if (dataProxy->isValidContinentShortName(_values.at(0))) - { - _continent = _values.at(0); - } - else - { - return ""; - } - if ((_values.at(1)).toInt() > 0) - { - _number = _values.at(1); - } - else - { - return ""; - } - - + _continent = _values.at(0); + _number = _values.at(1); } else { return ""; } - //qDebug() << "Awards::checkIfValidIOTA (cont) " << _continent << endl; - //qDebug() << "Awards::checkIfValidIOTA (numb): " << _number << endl; + //qDebug() << "Awards::checkIfValidIOTA (cont) " << _continent << endl; + //qDebug() << "Awards::checkIfValidIOTA (numb): " << _number << endl; // Check if continent is valid @@ -969,7 +917,7 @@ Returns a valid format IOTA if possible and "" in other cases. { return QString(); } - //return QString(); + return QString(); /* QString stringQuery = QString("SELECT id FROM continent WHERE shortname ='%1'").arg(_continent); @@ -1014,7 +962,7 @@ Returns a valid format IOTA if possible and "" in other cases. void Awards::setColors (const QString &_newOne, const QString &_needed, const QString &_worked, const QString &_confirmed, const QString &_default) //void Awards::setColors (const QString &_newOne, const QString &_needed, const QString &_worked, const QString &_confirmed, const QString &_default) { - //qDebug() << "Awards::setColors: " << _newOne << "/" << _needed << "/" << _worked << "/" << _confirmed << "/" << _default << endl; + //qDebug() << "Awards::setColors: " << _newOne << "/" << _needed << "/" << _worked << "/" << _confirmed << "/" << _default << endl; defaultColor = QColor(_default.toUpper()); neededColor = QColor(_needed.toUpper()); @@ -1061,7 +1009,7 @@ void Awards::setColors (const QString &_newOne, const QString &_needed, const QS } else { - //qDebug() << "Awards::setColors: Worked NOT VALID" << endl; + //qDebug() << "Awards::setColors: Worked NOT VALID" << endl; } } @@ -1078,17 +1026,17 @@ void Awards::recalculateAwards() Should go in a transaction */ - //qDebug() << "Awards::recalculateAwards" << endl; + //qDebug() << "Awards::recalculateAwards" << endl; dataProxy->updateAwardDXCC(); emit awardDXCCUpdated(); dataProxy->updateAwardWAZ(); - //qDebug() << "Awards::recalculateAwards - END" << endl; + //qDebug() << "Awards::recalculateAwards - END" << endl; } int Awards::getQSOsInLog(const int _logNumber) { - //qDebug() << "Awards::getQSOsInLog: " << QString::number(_logNumber) << endl; + //qDebug() << "Awards::getQSOsInLog: " << QString::number(_logNumber) << endl; QSqlQuery query; QString queryString; int v; @@ -1121,7 +1069,7 @@ int Awards::getQSOsInLog(const int _logNumber) /* void Awards::setAwards(const int _dxcc, const int _waz, const int _band, const int _mode, const int _workedOrConfirmed, const int _logNumber, const int _qsoId) { - //qDebug() << "Awards::setAwards: " << QString::number(_dxcc) << endl; + //qDebug() << "Awards::setAwards: " << QString::number(_dxcc) << endl; //_workedOrConfirmed = -1 Remove this pair //_workedOrConfirmed = 0 Set as Worked @@ -1145,14 +1093,14 @@ void Awards::setAwards(const int _dxcc, const int _waz, const int _band, const i void Awards::setAwards(const int _qsoId) { - //qDebug() << "Awards::setAwards: _qsoId: " << QString::number(_qsoId) << endl; + //qDebug() << "Awards::setAwards: _qsoId: " << QString::number(_qsoId) << endl; dataProxy->setDXCCAwardStatus(_qsoId); dataProxy->setWAZAwardStatus(_qsoId); } /* int Awards::setAwardDXCCst(const int _dxcc, const int _band, const int _mode, const bool _confirmed, const int _logNumber, const int _qsoId) { - //qDebug() << "Awards::setAwardDXCCst-0: " << QString::number(_dxcc) << "/" << QString::number(_band) << "/" << QString::number(_mode) << "/" << QString::number(_logNumber) << "/" << QString::number(_qsoId) << endl; + //qDebug() << "Awards::setAwardDXCCst-0: " << QString::number(_dxcc) << "/" << QString::number(_band) << "/" << QString::number(_mode) << "/" << QString::number(_logNumber) << "/" << QString::number(_qsoId) << endl; int nameCol=-1; QString _refid = QString(); @@ -1162,7 +1110,7 @@ int Awards::setAwardDXCCst(const int _dxcc, const int _band, const int _mode, co //TODO: Fix the way we check for data validity for this function if (!( (_dxcc>=0) && (_band >=0) && (_mode>=0) && (_logNumber>=0) && (_qsoId >=0) )) { - //qDebug() << "Awards::setAwardDXCCst: Not valid data received!" << endl; + //qDebug() << "Awards::setAwardDXCCst: Not valid data received!" << endl; return -1; } int _iconfirmed; @@ -1176,7 +1124,7 @@ int Awards::setAwardDXCCst(const int _dxcc, const int _band, const int _mode, co _iconfirmed = 0; } - //qDebug() << "Awards::setAwardDXCCst: _qsoId: " << QString::number(_qsoId) << "/" << QString::number(_iconfirmed) << endl; + //qDebug() << "Awards::setAwardDXCCst: _qsoId: " << QString::number(_qsoId) << "/" << QString::number(_iconfirmed) << endl; QString stringQuery = QString(); QSqlQuery query; bool sqlOK = false; @@ -1188,21 +1136,21 @@ int Awards::setAwardDXCCst(const int _dxcc, const int _band, const int _mode, co sqlOK = query.exec(stringQuery); if (sqlOK) { - //qDebug() << "Awards::setAwardDXCCst-1:" << endl; + //qDebug() << "Awards::setAwardDXCCst-1:" << endl; query.next(); QSqlRecord rec = query.record(); if (query.isValid()) {// We have some data, we need to UPDATE - We are only confirming! - //qDebug() << "Awards::setAwardDXCCst: We have some data, we neer to update" << endl; + //qDebug() << "Awards::setAwardDXCCst: We have some data, we neer to update" << endl; nameCol = rec.indexOf("id"); _refid = query.value(nameCol).toString(); stringQuery = QString("UPDATE awarddxcc SET confirmed='1', qsoid='%1' WHERE id='%2'").arg(_qsoId).arg(_refid); - //qDebug() << "Awards::setAwardDXCCst: (UPDATE): " << stringQuery << endl; + //qDebug() << "Awards::setAwardDXCCst: (UPDATE): " << stringQuery << endl; if (sqlOK) { // Set of data updated - //qDebug() << "Awards::setAwardDXCCst: Data updated!" << endl; + //qDebug() << "Awards::setAwardDXCCst: Data updated!" << endl; query.finish(); return 1; } @@ -1220,12 +1168,12 @@ int Awards::setAwardDXCCst(const int _dxcc, const int _band, const int _mode, co { // We don't have this set, we need to INSERT stringQuery = QString("INSERT INTO awarddxcc (dxcc, band, mode, confirmed, lognumber, qsoid) values('%1','%2','%3','%4','%5','%6')").arg(_dxcc).arg(_band).arg(_mode).arg(_iconfirmed).arg(_logNumber).arg(_qsoId); sqlOK = query.exec(stringQuery); - //qDebug() << "Awards::setAwardDXCCst: We don't have data... so we INSERT" << endl; - //qDebug() << "Awards::setAwardDXCCst: (INSERT): " << stringQuery << endl; + //qDebug() << "Awards::setAwardDXCCst: We don't have data... so we INSERT" << endl; + //qDebug() << "Awards::setAwardDXCCst: (INSERT): " << stringQuery << endl; if (sqlOK) { // Set of data included query.finish(); - //qDebug() << "Awards::setAwardDXCCst: Data inserted!" << endl; + //qDebug() << "Awards::setAwardDXCCst: Data inserted!" << endl; } else { // Something failed. Trace it! @@ -1257,7 +1205,7 @@ int Awards::setAwardDXCCst(const int _dxcc, const int _band, const int _mode, co /* int Awards::setAwardWAZst(const int _cqz, const int _band, const int _mode, const bool _confirmed, const int _logNumber, const int _qsoId) { - //qDebug() << "Awards::setAwardWAZst(CQZ/BAND/MODE/WORKED/log/qsoid): " << QString::number(_cqz) << "/" << QString::number(_band) << "/" << QString::number(_mode) << "/" << QString::number(_logNumber) << "/" << QString::number(_qsoId) << endl; + //qDebug() << "Awards::setAwardWAZst(CQZ/BAND/MODE/WORKED/log/qsoid): " << QString::number(_cqz) << "/" << QString::number(_band) << "/" << QString::number(_mode) << "/" << QString::number(_logNumber) << "/" << QString::number(_qsoId) << endl; // _confirmed == false QSO is just worked @@ -1268,7 +1216,7 @@ int Awards::setAwardWAZst(const int _cqz, const int _band, const int _mode, cons //TODO: Fix the way we check for data validity for this function if (!( (_cqz>=0) && (_band >=0) && (_mode>=0) && (_logNumber>=0) && (_qsoId >=0) )) { - //qDebug() << "Awards::setAwardWAZst: some data was NOK" << endl; + //qDebug() << "Awards::setAwardWAZst: some data was NOK" << endl; return -1; } int _iconfirmed; @@ -1295,26 +1243,26 @@ int Awards::setAwardWAZst(const int _cqz, const int _band, const int _mode, cons if ((sqlOK) && (!_confirmed)) // First time a DXCC/Band/mode is worked { - //qDebug() << "Awards::setAwardWAZst: _qsoId: " << QString::number(_qsoId) << "- 1" << endl; + //qDebug() << "Awards::setAwardWAZst: _qsoId: " << QString::number(_qsoId) << "- 1" << endl; query.finish(); return 1; } else if ((sqlOK) && (_confirmed)) // First time a CQZ/Band/Mode is confirmed { - //qDebug() << "Awards::setAwardWAZst: _qsoId: " << QString::number(_qsoId) << "- 2" << endl; + //qDebug() << "Awards::setAwardWAZst: _qsoId: " << QString::number(_qsoId) << "- 2" << endl; query.finish(); return 2; } else { emit queryError(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); - //qDebug() << "Awards::setAwardWAZst: _qsoId: " << QString::number(_qsoId) << "- sqlOK ERROR: " << endl; + //qDebug() << "Awards::setAwardWAZst: _qsoId: " << QString::number(_qsoId) << "- sqlOK ERROR: " << endl; //errorCode = query.lastError().number(); query.finish(); - //qDebug() << "Awards::setAwardWAZst: LastQuery: " << query.lastQuery() << endl; - //qDebug() << "Awards::setAwardWAZst: LastError-data: " << query.lastError().databaseText() << endl; - //qDebug() << "Awards::setAwardWAZst: LastError-driver: " << query.lastError().driverText() << endl; - //qDebug() << "Awards::setAwardWAZst: LastError-n: " << QString::number(query.lastError().number() ) << endl; + //qDebug() << "Awards::setAwardWAZst: LastQuery: " << query.lastQuery() << endl; + //qDebug() << "Awards::setAwardWAZst: LastError-data: " << query.lastError().databaseText() << endl; + //qDebug() << "Awards::setAwardWAZst: LastError-driver: " << query.lastError().driverText() << endl; + //qDebug() << "Awards::setAwardWAZst: LastError-n: " << QString::number(query.lastError().number() ) << endl; } @@ -1326,7 +1274,7 @@ int Awards::setAwardWAZst(const int _cqz, const int _band, const int _mode, cons /* int Awards::setAwardDXCCConfirmed(const int _band, const int _mode, const int _dxcc, const int _newQSOid) // Changes the status of a DXCC from worked to confirmed { - //qDebug() << "Awards::setAwardDXCCConfirmed: " << QString::number(_band) << "/" << QString::number(_mode) << "/" << QString::number(_dxcc)<< "/" << QString::number(_newQSOid)<< endl; + //qDebug() << "Awards::setAwardDXCCConfirmed: " << QString::number(_band) << "/" << QString::number(_mode) << "/" << QString::number(_dxcc)<< "/" << QString::number(_newQSOid)<< endl; QString stringQuery; @@ -1360,10 +1308,10 @@ int Awards::setAwardDXCCConfirmed(const int _band, const int _mode, const int _d emit queryError(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); errorCode = query.lastError().number(); query.finish(); - //qDebug() << "Awards::setAwardDXCCConfirmed-Update: LastQuery: " << query.lastQuery() << endl; - //qDebug() << "Awards::setAwardDXCCConfirmed-Update: LastError-data: " << query.lastError().databaseText() << endl; - //qDebug() << "Awards::setAwardDXCCConfirmed-Update: LastError-driver: " << query.lastError().driverText() << endl; - //qDebug() << "Awards::setAwardDXCCConfirmed-Update: LastError-n: " << QString::number(query.lastError().number() ) << endl; + //qDebug() << "Awards::setAwardDXCCConfirmed-Update: LastQuery: " << query.lastQuery() << endl; + //qDebug() << "Awards::setAwardDXCCConfirmed-Update: LastError-data: " << query.lastError().databaseText() << endl; + //qDebug() << "Awards::setAwardDXCCConfirmed-Update: LastError-driver: " << query.lastError().driverText() << endl; + //qDebug() << "Awards::setAwardDXCCConfirmed-Update: LastError-n: " << QString::number(query.lastError().number() ) << endl; return errorCode; } @@ -1371,14 +1319,14 @@ int Awards::setAwardDXCCConfirmed(const int _band, const int _mode, const int _d else { // Not valid record - //qDebug() << "Awards::setAwardDXCCConfirmed: Not valid record" << endl; + //qDebug() << "Awards::setAwardDXCCConfirmed: Not valid record" << endl; return -3; } } else { // Not next record - //qDebug() << "Awards::setAwardDXCCConfirmed: Not next record" << endl; + //qDebug() << "Awards::setAwardDXCCConfirmed: Not next record" << endl; return -2; } } @@ -1387,10 +1335,10 @@ int Awards::setAwardDXCCConfirmed(const int _band, const int _mode, const int _d emit queryError(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); errorCode = query.lastError().number(); query.finish(); - //qDebug() << "Awards::setAwardDXCCConfirmed: LastQuery: " << query.lastQuery() << endl; - //qDebug() << "Awards::setAwardDXCCConfirmed: LastError-data: " << query.lastError().databaseText() << endl; - //qDebug() << "Awards::setAwardDXCCConfirmed: LastError-driver: " << query.lastError().driverText() << endl; - //qDebug() << "Awards::setAwardDXCCConfirmed: LastError-n: " << QString::number(query.lastError().number() ) << endl; + //qDebug() << "Awards::setAwardDXCCConfirmed: LastQuery: " << query.lastQuery() << endl; + //qDebug() << "Awards::setAwardDXCCConfirmed: LastError-data: " << query.lastError().databaseText() << endl; + //qDebug() << "Awards::setAwardDXCCConfirmed: LastError-driver: " << query.lastError().driverText() << endl; + //qDebug() << "Awards::setAwardDXCCConfirmed: LastError-n: " << QString::number(query.lastError().number() ) << endl; return errorCode; } @@ -1401,7 +1349,7 @@ int Awards::setAwardDXCCConfirmed(const int _band, const int _mode, const int _d int Awards::setDXCCToQSO(const int _dxcc, const int _qsoid) // Defines the DXCC in a QSO { - //qDebug() << "Awards::setDXCCToQSO: " << QString::number(_dxcc) << "/" << QString::number(_qsoid) << endl; + //qDebug() << "Awards::setDXCCToQSO: " << QString::number(_dxcc) << "/" << QString::number(_qsoid) << endl; int errorCode = -1; QString queryString = QString("UPDATE log SET dxcc='%1' WHERE id='%2'").arg(_dxcc).arg(_qsoid); QSqlQuery query = QSqlQuery(); @@ -1414,20 +1362,20 @@ int Awards::setDXCCToQSO(const int _dxcc, const int _qsoid) // Defines the DXCC else { emit queryError(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); - //qDebug() << "Awards::setDXCCToQSO: DXCC Updated in Log but failed...." << endl; + //qDebug() << "Awards::setDXCCToQSO: DXCC Updated in Log but failed...." << endl; errorCode = query.lastError().number(); query.finish(); - //qDebug() << "Awards::setDXCCToQSO: LastQuery: " << query.lastQuery() << endl; - //qDebug() << "Awards::setDXCCToQSO: LastError-data: " << query.lastError().databaseText() << endl; - //qDebug() << "Awards::setDXCCToQSO: LastError-driver: " << query.lastError().driverText() << endl; - //qDebug() << "Awards::setDXCCToQSO: LastError-n: " << QString::number(query.lastError().number() ) << endl; + //qDebug() << "Awards::setDXCCToQSO: LastQuery: " << query.lastQuery() << endl; + //qDebug() << "Awards::setDXCCToQSO: LastError-data: " << query.lastError().databaseText() << endl; + //qDebug() << "Awards::setDXCCToQSO: LastError-driver: " << query.lastError().driverText() << endl; + //qDebug() << "Awards::setDXCCToQSO: LastError-n: " << QString::number(query.lastError().number() ) << endl; return errorCode; } } int Awards::setCQToQSO(const int _cqz, const int _qsoid) // Defines the CQ in a QSO { - //qDebug() << "Awards::setCQToQSO: " << QString::number(_cqz) << "/" << QString::number(_qsoid) << endl; + //qDebug() << "Awards::setCQToQSO: " << QString::number(_cqz) << "/" << QString::number(_qsoid) << endl; int errorCode = -1; QString queryString = QString("UPDATE log SET cqz='%1' WHERE id='%2'").arg(_cqz).arg(_qsoid); QSqlQuery query = QSqlQuery(); @@ -1440,13 +1388,13 @@ int Awards::setCQToQSO(const int _cqz, const int _qsoid) // Defines the CQ in a else { emit queryError(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); - //qDebug() << "Awards::setCQToQSO: DXCC Updated in Log but failed...." << endl; + //qDebug() << "Awards::setCQToQSO: DXCC Updated in Log but failed...." << endl; errorCode = query.lastError().number(); query.finish(); - //qDebug() << "Awards::setCQToQSO: LastQuery: " << query.lastQuery() << endl; - //qDebug() << "Awards::setCQToQSO: LastError-data: " << query.lastError().databaseText() << endl; - //qDebug() << "Awards::setCQToQSO: LastError-driver: " << query.lastError().driverText() << endl; - //qDebug() << "Awards::setCQToQSO: LastError-n: " << QString::number(query.lastError().number() ) << endl; + //qDebug() << "Awards::setCQToQSO: LastQuery: " << query.lastQuery() << endl; + //qDebug() << "Awards::setCQToQSO: LastError-data: " << query.lastError().databaseText() << endl; + //qDebug() << "Awards::setCQToQSO: LastError-driver: " << query.lastError().driverText() << endl; + //qDebug() << "Awards::setCQToQSO: LastError-n: " << QString::number(query.lastError().number() ) << endl; return errorCode; } } @@ -1460,27 +1408,27 @@ bool Awards::getIsDXCCConfirmed(const int _dxcc, const int _logNumber) int Awards::getDXMarathonQSO(const int _year, const int _logNumber) { - //qDebug() << "Awards::getDXMarathonQSO: " << QString::number(_year) << endl; + //qDebug() << "Awards::getDXMarathonQSO: " << QString::number(_year) << endl; return dxMarathon->getDXMarathonQSO(_year, _logNumber); } int Awards::getDXMarathonDXCC(const int _year, const int _logNumber) { - //qDebug() << "Awards::getDXMarathonDXCC: " << QString::number(_year) << endl; + //qDebug() << "Awards::getDXMarathonDXCC: " << QString::number(_year) << endl; return dxMarathon->getDXMarathonDXCC(_year, _logNumber); } int Awards::getDXMarathonCQ(const int _year, const int _logNumber) { - //qDebug() << "Awards::getDXMarathonCQ: " << QString::number(_year) << endl; + //qDebug() << "Awards::getDXMarathonCQ: " << QString::number(_year) << endl; return dxMarathon->getDXMarathonCQ(_year, _logNumber); } int Awards::getDXMarathonScore(const int _year, const int _logNumber) { - //qDebug() << "Awards::getDXMarathonScore: " << QString::number(_year) << endl; + //qDebug() << "Awards::getDXMarathonScore: " << QString::number(_year) << endl; return dxMarathon->getDXMarathonScore(_year, _logNumber); @@ -1494,7 +1442,7 @@ bool Awards::isDXMarathonNeed(const int _dxcc, const int _cq, const int _year, c int Awards::dxccStatusBand(const int _ent, const int _band, const int _logNumber) //-1 error / 0 Not worked / 1 worked / 2 confirmed { //-1 error / 0 Not worked / 1 worked / 2 confirmed - //qDebug() << "Awards::dxccStatusBand: " << QString::number(_ent) << "/" << QString::number(_band) << endl; + //qDebug() << "Awards::dxccStatusBand: " << QString::number(_ent) << "/" << QString::number(_band) << endl; QSqlQuery query = QSqlQuery(); QString queryString = QString(); @@ -1532,14 +1480,14 @@ int Awards::dxccStatusBand(const int _ent, const int _band, const int _logNumber return -1; } - //qDebug() << "Awards::dxccStatusBand: return - 0.3" << endl; + //qDebug() << "Awards::dxccStatusBand: return - 0.3" << endl; return status; // if arrives to here decision => not worked } int Awards::dxccStatusMode(const int _ent, const int _mode, const int _logNumber) //-1 error / 0 Not worked / 1 worked / 2 confirmed { //-1 error / 0 Not worked / 1 worked / 2 confirmed - //qDebug() << "Awards::dxccStatusMode: " << QString::number(_ent) << "/" << QString::number(_mode) << endl; + //qDebug() << "Awards::dxccStatusMode: " << QString::number(_ent) << "/" << QString::number(_mode) << endl; QSqlQuery query = QSqlQuery(); QString queryString = QString(); diff --git a/awards.h b/awards.h index 8fe0360a..43d43a66 100644 --- a/awards.h +++ b/awards.h @@ -22,7 +22,7 @@ * 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 . * + * along with KLog. If not, see . * * * *****************************************************************************/ diff --git a/awardswidget.cpp b/awardswidget.cpp index 4a7df146..ef5c4109 100644 --- a/awardswidget.cpp +++ b/awardswidget.cpp @@ -3,7 +3,7 @@ AwardsWidget::AwardsWidget(DataProxy_SQLite *dp, QWidget *parent) : QWidget(parent) { - //qDebug() << "AwardsWidget::AwardsWidget" << endl; + //qDebug() << "AwardsWidget::AwardsWidget" << endl; manageDXMarathon = false; logSeverity = 7; //7 Debug /0=emergency or no debug emit debugLog (Q_FUNC_INFO, "Start", logSeverity); @@ -38,7 +38,7 @@ AwardsWidget::AwardsWidget(DataProxy_SQLite *dp, QWidget *parent) : clear(); createUI(); emit debugLog (Q_FUNC_INFO, "End", logSeverity); - //qDebug() << "AwardsWidget::AwardsWidget - END" << endl; + //qDebug() << "AwardsWidget::AwardsWidget - END" << endl; } AwardsWidget::~AwardsWidget() @@ -49,7 +49,7 @@ AwardsWidget::~AwardsWidget() void AwardsWidget::clear() { emit debugLog (Q_FUNC_INFO, "Start", logSeverity); - //qDebug() << "AwardsWidget::clear" << endl; + //qDebug() << "AwardsWidget::clear" << endl; /* searchBoxLineEdit->clear(); searchResultsTreeWidget->clear(); @@ -58,14 +58,14 @@ void AwardsWidget::clear() */ emit debugLog (Q_FUNC_INFO, "End", logSeverity); - //qDebug() << "AwardsWidget::clear-END" << endl; + //qDebug() << "AwardsWidget::clear-END" << endl; } void AwardsWidget::createUI() { //searchBoxClearButton->setToolTip(tr("Clear the searches.")); - //qDebug() << "AwardsWidget::createUI" << endl; + //qDebug() << "AwardsWidget::createUI" << endl; emit debugLog (Q_FUNC_INFO, "Start", logSeverity); recalculateAwardsButton = new QPushButton(tr("Recalculate"), this); @@ -105,7 +105,7 @@ void AwardsWidget::createUI() #ifdef Q_OS_WIN - //qDebug() << "AwardsWidget::createUIDX - WINDOWS DETECTED!" << endl; + //qDebug() << "AwardsWidget::createUIDX - WINDOWS DETECTED!" << endl; qsoNLabelN->setFrameShadow(QFrame::Raised); qsoNLabelN->setFrameStyle(QFrame::StyledPanel); @@ -136,7 +136,7 @@ void AwardsWidget::createUI() #else - //qDebug() << "AwardsWidget::createUIDX - NO WINDOWS DETECTED!" << endl; + //qDebug() << "AwardsWidget::createUIDX - NO WINDOWS DETECTED!" << endl; //localLabelN->setFrameStyle(QFrame::StyledPanel | QFrame::Raised); qsoNLabelN->setFrameStyle(QFrame::StyledPanel | QFrame::Raised); @@ -154,12 +154,12 @@ void AwardsWidget::createUI() #endif - //qDebug() << "AwardsWidget::createUI-125" << endl; + //qDebug() << "AwardsWidget::createUI-125" << endl; //reconfigureyearlyUI(manageyearly); yearlyScoreLabelN->setText(tr("Score")); yearlyLabelN->setText(tr("Annual")); - //qDebug() << "AwardsWidget::createUI-135" << endl; + //qDebug() << "AwardsWidget::createUI-135" << endl; QGridLayout *yearlyDLayout = new QGridLayout; yearlyDLayout->addWidget(yearlyQSOsLabelN, 0, 0); @@ -169,51 +169,51 @@ void AwardsWidget::createUI() yearlyDLayout->addWidget(yearlyDXCCQLCDNumber, 1, 1); yearlyDLayout->addWidget(yearlyCQQLCDNumber, 1, 2); - //qDebug() << "AwardsWidget::createUI-145" << endl; + //qDebug() << "AwardsWidget::createUI-145" << endl; QVBoxLayout *yearlyTLayout = new QVBoxLayout; yearlyTLayout->addWidget(yearlyLabelN); yearlyTLayout->addWidget(operatingYearsComboBox); - //qDebug() << "AwardsWidget::createUI-150" << endl; + //qDebug() << "AwardsWidget::createUI-150" << endl; QGridLayout *dxUpRightAwardsTabLayout = new QGridLayout; - //qDebug() << "AwardsWidget::createUI-151" << endl; + //qDebug() << "AwardsWidget::createUI-151" << endl; dxUpRightAwardsTabLayout->addWidget(awardLabelN, 0, 0); - //qDebug() << "AwardsWidget::createUI-152" << endl; + //qDebug() << "AwardsWidget::createUI-152" << endl; dxUpRightAwardsTabLayout->addWidget(workedLabelN, 0, 1); - //qDebug() << "AwardsWidget::createUI-153" << endl; + //qDebug() << "AwardsWidget::createUI-153" << endl; dxUpRightAwardsTabLayout->addWidget(confirmedLabelN, 0, 2); - //qDebug() << "AwardsWidget::createUI-154" << endl; + //qDebug() << "AwardsWidget::createUI-154" << endl; dxUpRightAwardsTabLayout->addWidget(dxccLabelN, 1, 0); - //qDebug() << "AwardsWidget::createUI-155" << endl; + //qDebug() << "AwardsWidget::createUI-155" << endl; dxUpRightAwardsTabLayout->addWidget(dxccWorkedQLCDNumber, 1, 1); - //qDebug() << "AwardsWidget::createUI-156" << endl; + //qDebug() << "AwardsWidget::createUI-156" << endl; dxUpRightAwardsTabLayout->addWidget(dxccConfirmedQLCDNumber, 1, 2); - //qDebug() << "AwardsWidget::createUI-157" << endl; + //qDebug() << "AwardsWidget::createUI-157" << endl; dxUpRightAwardsTabLayout->addWidget(wazLabelN, 2, 0); - //qDebug() << "AwardsWidget::createUI-158" << endl; + //qDebug() << "AwardsWidget::createUI-158" << endl; dxUpRightAwardsTabLayout->addWidget(wazWorkedQLCDNumber, 2, 1); - //qDebug() << "AwardsWidget::createUI-159" << endl; + //qDebug() << "AwardsWidget::createUI-159" << endl; dxUpRightAwardsTabLayout->addWidget(wazConfirmedQLCDNumber, 2, 2); - //qDebug() << "AwardsWidget::createUI-160" << endl; + //qDebug() << "AwardsWidget::createUI-160" << endl; //dxUpRightAwardsTabLayout->addWidget(localLabelN, 3, 0); - //qDebug() << "AwardsWidget::createUI-161" << endl; + //qDebug() << "AwardsWidget::createUI-161" << endl; //dxUpRightAwardsTabLayout->addWidget(localWorkedQLCDNumber, 3, 1); - //qDebug() << "AwardsWidget::createUI-162" << endl; + //qDebug() << "AwardsWidget::createUI-162" << endl; //dxUpRightAwardsTabLayout->addWidget(localConfirmedQLCDNumber, 3, 2); - //qDebug() << "AwardsWidget::createUI-163" << endl; + //qDebug() << "AwardsWidget::createUI-163" << endl; dxUpRightAwardsTabLayout->addWidget(qsoNLabelN, 4, 0); - //qDebug() << "AwardsWidget::createUI-164" << endl; + //qDebug() << "AwardsWidget::createUI-164" << endl; dxUpRightAwardsTabLayout->addWidget(qsoWorkedQLCDNumber, 4, 1); - //qDebug() << "AwardsWidget::createUI-165" << endl; + //qDebug() << "AwardsWidget::createUI-165" << endl; dxUpRightAwardsTabLayout->addWidget(qsoConfirmedQLCDNumber, 4, 2); - //qDebug() << "AwardsWidget::createUI-166" << endl; + //qDebug() << "AwardsWidget::createUI-166" << endl; dxUpRightAwardsTabLayout->addLayout(yearlyTLayout, 5, 0); - //qDebug() << "AwardsWidget::createUI-167" << endl; + //qDebug() << "AwardsWidget::createUI-167" << endl; dxUpRightAwardsTabLayout->addLayout(yearlyDLayout, 5, 1, 1, -1); - //qDebug() << "AwardsWidget::createUI-168" << endl; + //qDebug() << "AwardsWidget::createUI-168" << endl; dxUpRightAwardsTabLayout->addWidget(recalculateAwardsButton, 6, 1); - //qDebug() << "AwardsWidget::createUI-200" << endl; + //qDebug() << "AwardsWidget::createUI-200" << endl; setLayout(dxUpRightAwardsTabLayout); //connect(dataProxy, SIGNAL(qsoFound(QStringList)), this, SLOT(slotQsoFound(QStringList)) ); @@ -225,7 +225,7 @@ void AwardsWidget::createUI() connect(recalculateAwardsButton, SIGNAL(clicked()), this, SLOT(slotRecalculateAwardsButtonClicked() ) ); emit debugLog (Q_FUNC_INFO, "End", logSeverity); - //qDebug() << "AwardsWidget::createUI-END" << endl; + //qDebug() << "AwardsWidget::createUI-END" << endl; } void AwardsWidget::setManageDXMarathon(const bool _dx) @@ -239,7 +239,7 @@ void AwardsWidget::setManageDXMarathon(const bool _dx) /* void AwardsWidget::slotSearchClearButtonClicked() { - //qDebug() << "SearchWidget::slotSearchClearButtonClicked: " << endl; + //qDebug() << "SearchWidget::slotSearchClearButtonClicked: " << endl; searchResultsTreeWidget->clear(); searchBoxLineEdit->clear(); searchSelectAllClicked = false; @@ -259,10 +259,10 @@ void AwardsWidget::setToolTips() qsoConfirmedQLCDNumber->setToolTip(tr("Number of confirmed QSOs.")); qsoWorkedQLCDNumber->setToolTip(tr("Number of worked QSOs.")); - yearlyQSOLCDNumber->setToolTip(tr("Number of QSOs worked in the selected year.")); - yearlyDXCCQLCDNumber->setToolTip(tr("Number of DXCCs worked in the selected year.")); - yearlyCQQLCDNumber->setToolTip(tr("Number of CQ Zones worked in the selected year.")); - yearlyScoreQLCDNumber->setToolTip(tr("Score for the DXMarathon in the selected year.")); + yearlyQSOLCDNumber->setToolTip(tr("Number of QSOs worked on the selected year.")); + yearlyDXCCQLCDNumber->setToolTip(tr("Number of DXCC worked on the selected year.")); + yearlyCQQLCDNumber->setToolTip(tr("Number of CQ Zones worked on the selected year.")); + yearlyScoreQLCDNumber->setToolTip(tr("Score for the DXMarathon on the selected year.")); operatingYearsComboBox->setToolTip(tr("Select the year you want to check.")); emit debugLog (Q_FUNC_INFO, "End", logSeverity); @@ -287,7 +287,7 @@ void AwardsWidget::slotOperatingYearComboBoxChanged() void AwardsWidget::showAwards() { // Updates and show all the award status tab. - //qDebug() << "AwardsWidget::showAwards" << endl; + //qDebug() << "AwardsWidget::showAwards" << endl; /* WAZ Local @@ -336,26 +336,26 @@ void AwardsWidget::showAwards() showDXMarathon(selectedYear); emit debugLog(Q_FUNC_INFO, "END", logSeverity); - //qDebug() << "AwardsWidget::showAwards - END" << endl; + //qDebug() << "AwardsWidget::showAwards - END" << endl; } void AwardsWidget::showDXMarathon(const int _year) { - //qDebug() << "AwardsWidget::AwardsWidget::showDXMarathon: Year: " << QString::number(_year) << endl; + //qDebug() << "AwardsWidget::AwardsWidget::showDXMarathon: Year: " << QString::number(_year) << endl; emit debugLog(Q_FUNC_INFO, "Start", logSeverity); int i = 0; i = awards->getDXMarathonQSO(_year, currentLog); - //qDebug() << "AwardsWidget::AwardsWidget::showDXMarathon: QSO: " << QString::number(i) << endl; + //qDebug() << "AwardsWidget::AwardsWidget::showDXMarathon: QSO: " << QString::number(i) << endl; yearlyQSOLCDNumber->display(i); i = awards->getDXMarathonDXCC(_year, currentLog); - //qDebug() << "AwardsWidget::AwardsWidget::showDXMarathon: DXCC: " << QString::number(i) << endl; + //qDebug() << "AwardsWidget::AwardsWidget::showDXMarathon: DXCC: " << QString::number(i) << endl; yearlyDXCCQLCDNumber->display(i); i = awards->getDXMarathonCQ(_year, currentLog); yearlyCQQLCDNumber->display(i); - //qDebug() << "AwardsWidget::AwardsWidget::showDXMarathon: CQ: " << QString::number(i) << endl; + //qDebug() << "AwardsWidget::AwardsWidget::showDXMarathon: CQ: " << QString::number(i) << endl; if (manageDXMarathon) { @@ -367,7 +367,7 @@ void AwardsWidget::showDXMarathon(const int _year) } yearlyScoreQLCDNumber->display(i); emit debugLog(Q_FUNC_INFO, "End", logSeverity); - //qDebug() << "AwardsWidget::AwardsWidget::showDXMarathon: Score: " << QString::number(i) << endl; + //qDebug() << "AwardsWidget::AwardsWidget::showDXMarathon: Score: " << QString::number(i) << endl; } void AwardsWidget::reconfigureDXMarathonUI(const bool _dxM) @@ -452,27 +452,27 @@ void AwardsWidget::fillOperatingYears() if (dataProxy->getLastQSOid()<=1) { - //qDebug() << "AwardsWidget::AwardsWidget: 18.4" << endl; + //qDebug() << "AwardsWidget::AwardsWidget: 18.4" << endl; operatingYearsComboBox->addItem(QString::number(selectedYear)); } else { - //qDebug() << "AwardsWidget::AwardsWidget: 18.5 - currentLog: " << QString::number(currentLog) << endl; + //qDebug() << "AwardsWidget::AwardsWidget: 18.5 - currentLog: " << QString::number(currentLog) << endl; operatingYearsComboBox->addItems(dataProxy->getOperatingYears(currentLog)); - //qDebug() << "AwardsWidget::AwardsWidget: 18.5.1 - currentLog: " << QString::number(currentLog) << endl; + //qDebug() << "AwardsWidget::AwardsWidget: 18.5.1 - currentLog: " << QString::number(currentLog) << endl; QStringList a; a.clear(); a << dataProxy->getOperatingYears(currentLog); - //qDebug() << "AwardsWidget::AwardsWidget: 18.5.1.1 - currentLog: " << QString::number(currentLog) << endl; + //qDebug() << "AwardsWidget::AwardsWidget: 18.5.1.1 - currentLog: " << QString::number(currentLog) << endl; if (!a.isEmpty()) { - //qDebug() << "AwardsWidget::AwardsWidget: 18.5.1.2 - currentLog: " << QString::number(currentLog) << endl; + //qDebug() << "AwardsWidget::AwardsWidget: 18.5.1.2 - currentLog: " << QString::number(currentLog) << endl; operatingYearsComboBox->setCurrentIndex(operatingYearsComboBox->findText(a.last(), Qt::MatchCaseSensitive)); - //qDebug() << "AwardsWidget::AwardsWidget: 18.5.1.3 - currentLog: " << QString::number(currentLog) << endl; + //qDebug() << "AwardsWidget::AwardsWidget: 18.5.1.3 - currentLog: " << QString::number(currentLog) << endl; } - //qDebug() << "AwardsWidget::AwardsWidget: 18.5.2" << endl; + //qDebug() << "AwardsWidget::AwardsWidget: 18.5.2" << endl; } emit debugLog(Q_FUNC_INFO, "End", logSeverity); } diff --git a/awardswidget.h b/awardswidget.h index 119e009a..5057ac5e 100644 --- a/awardswidget.h +++ b/awardswidget.h @@ -22,7 +22,7 @@ * 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 . * + * along with KLog. If not, see . * * * *****************************************************************************/ // diff --git a/charts/barchartstats.cpp b/charts/barchartstats.cpp index a2d31880..2a715f25 100644 --- a/charts/barchartstats.cpp +++ b/charts/barchartstats.cpp @@ -1,4 +1,4 @@ -#include "charts/barchartstats.h" +#include "barchartstats.h" /*************************************************************************** barchartstats.cpp - description ------------------- @@ -21,7 +21,7 @@ * 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 . * + * along with KLog. If not, see . * * * *****************************************************************************/ @@ -56,7 +56,7 @@ BarChartStats::~BarChartStats(){} void BarChartStats::clear() { - //qDebug() << "BarChartStats::clear()" << endl; + //qDebug() << "BarChartStats::clear()" << endl; //cleanLayout(); prepareChart(1); } @@ -113,7 +113,7 @@ void BarChartStats::prepareChart(const int _selection, const int _log) case 4: { //cleanLayout(); - //qDebug() << "BarChartStats::prepareChart SelectedGrapth-4: per band " << endl; + //qDebug() << "BarChartStats::prepareChart SelectedGrapth-4: per band " << endl; genchart = new StatsQSOsPerBandBarChartWidget(dataProxy, nullptr); mLayout->addWidget(genchart); } @@ -121,7 +121,7 @@ void BarChartStats::prepareChart(const int _selection, const int _log) case 5: { //cleanLayout(); - //qDebug() << "BarChartStats::prepareChart SelectedGrapth-5: per modes " << endl; + //qDebug() << "BarChartStats::prepareChart SelectedGrapth-5: per modes " << endl; genchart = new StatsQSOsPerModeBarChartWidget(dataProxy, nullptr); mLayout->addWidget(genchart); @@ -130,14 +130,14 @@ void BarChartStats::prepareChart(const int _selection, const int _log) case 6: { //cleanLayout(); - //qDebug() << "BarChartStats::prepareChart SelectedGrapth-6: per dxcc " << endl; + //qDebug() << "BarChartStats::prepareChart SelectedGrapth-6: per dxcc " << endl; genchart = new StatsQSOsPerDXCCBarChartWidget(dataProxy, nullptr); mLayout->addWidget(genchart); } break; case 7: { // How many QSO per Continent - //qDebug() << "BarChartStats::prepareChart SelectedGrapth-7: QSO/Continent " << endl; + //qDebug() << "BarChartStats::prepareChart SelectedGrapth-7: QSO/Continent " << endl; //cleanLayout(); genchart = new StatsQSOsPerContinentBarChartWidget(dataProxy, nullptr); mLayout->addWidget(genchart); @@ -145,7 +145,7 @@ void BarChartStats::prepareChart(const int _selection, const int _log) break; case 8: { - //qDebug() << "BarChartStats::prepareChart SelectedGrapth-7: QSO/hour " << endl; + //qDebug() << "BarChartStats::prepareChart SelectedGrapth-7: QSO/hour " << endl; //cleanLayout(); genchart = new StatsQSOsPerHourBarChartWidget(dataProxy, nullptr); mLayout->addWidget(genchart); diff --git a/charts/barchartstats.h b/charts/barchartstats.h index 37c38e6b..cbc6ff30 100644 --- a/charts/barchartstats.h +++ b/charts/barchartstats.h @@ -22,7 +22,7 @@ * 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 . * + * along with KLog. If not, see . * * * *****************************************************************************/ #include diff --git a/charts/statscqzperyearbarchartwidget.cpp b/charts/statscqzperyearbarchartwidget.cpp index 60974ca5..c3bda19f 100644 --- a/charts/statscqzperyearbarchartwidget.cpp +++ b/charts/statscqzperyearbarchartwidget.cpp @@ -1,17 +1,15 @@ -#include "charts/statscqzperyearbarchartwidget.h" +#include "statscqzperyearbarchartwidget.h" StatsCQZPerYearBarChartWidget::StatsCQZPerYearBarChartWidget(){} StatsCQZPerYearBarChartWidget::StatsCQZPerYearBarChartWidget(DataProxy_SQLite *dp, QWidget *parent) { - //qDebug() << "StatsCQZPerYearBarChartWidget::StatsCQZPerYearBarChartWidget" << endl; + //qDebug() << "StatsCQZPerYearBarChartWidget::StatsCQZPerYearBarChartWidget" << endl; dataProxy = dp; chart = new QChart(); chartView = new QChartView(chart); - //chart->setTheme(QChart::ChartThemeQt); - //chart->setTheme(QChart::ChartThemeBlueCerulean); createUI(); prepareChart(); @@ -32,9 +30,9 @@ void StatsCQZPerYearBarChartWidget::createUI() void StatsCQZPerYearBarChartWidget::prepareChart() { - QString categoriesTitle; - QString categoriesElem; - QStringList categories; + QString x_axisTitle; + QString x_axisElem; + QStringList x_axis; QBarSeries *series = new QBarSeries(); QBarCategoryAxis *axis = new QBarCategoryAxis(); QString aux; @@ -42,51 +40,49 @@ void StatsCQZPerYearBarChartWidget::prepareChart() int numberPerX = 0; chart->removeAllSeries(); - categories.clear(); + x_axis.clear(); axis->clear(); series->clear(); QBarSet *set0 = new QBarSet(tr("CQ Zones per year")); //*set0->remove(0, set0->count()-1); qreal sum = 0; - QProgressDialog progress(tr("Reading data ... "), tr("Abort reading"), 0, categories.count(), this); + QProgressDialog progress(tr("Reading data ... "), tr("Abort reading"), 0, x_axis.count(), this); progress.setWindowModality(Qt::WindowModal); - //qDebug() << "StatsCQZPerYearBarChartWidget::prepareChart: SelectedGrapth-1: YEARS " << endl; - categories.append(dataProxy->getOperatingYears(-1)); - categoriesElem = tr("CQ zones"); - categoriesTitle = tr("CQ zones per year"); + //qDebug() << "StatsCQZPerYearBarChartWidget::prepareChart: SelectedGrapth-1: YEARS " << endl; + x_axis.append(dataProxy->getOperatingYears(-1)); + x_axisElem = tr("CQ zones"); + x_axisTitle = tr("CQ zones per year"); aux.clear(); - for (int i = 0; i < categories.count();i++ ) + for (int i = 0; i < x_axis.count();i++ ) { - numberPerX = dataProxy->getCQzonYear((categories.at(i)).toInt(), -1); - //numberPerX = dataProxy->getQSOonYear((categories.at(i)).toInt(), -1); - //qDebug() << categories.at(i) + "-" + QString::number(numberPerX) << endl; + numberPerX = dataProxy->getCQzonYear((x_axis.at(i)).toInt(), -1); + //numberPerX = dataProxy->getQSOonYear((x_axis.at(i)).toInt(), -1); + //qDebug() << x_axis.at(i) + "-" + QString::number(numberPerX) << endl; *set0 << numberPerX; - //qDebug() << "StatsCQZPerYearBarChartWidget::prepareChart QSOs: " << QString::number((categories.at(i)).toInt()) << "/" << QString::number(numberPerX) << endl; + //qDebug() << "StatsCQZPerYearBarChartWidget::prepareChart QSOs: " << QString::number((x_axis.at(i)).toInt()) << "/" << QString::number(numberPerX) << endl; - aux = tr("Reading data ...") + "\n" + tr("Years: %1/%2").arg(QString::number(i)).arg(QString::number(categories.count())); + aux = tr("Reading data ...") + "\n" + tr("Years: %1/%2").arg(QString::number(i)).arg(QString::number(x_axis.count())); progress.setLabelText(aux); progress.setValue(i); if ( progress.wasCanceled() ) { - i = categories.count(); + i = x_axis.count(); } } sum = set0->sum(); set0->setLabel(QString::number(sum)); series->append(set0); - set0->setLabel(categoriesElem); + set0->setLabel(x_axisElem); chart->addSeries(series); - chart->setTitle(categoriesTitle); + chart->setTitle(x_axisTitle); - axis->append(categories); - //chart->createDefaultAxes(); - //series->attachAxis(axis); - chart->addAxis(axis, Qt::AlignBottom); - //chart->setAxisX(axis, series); + axis->append(x_axis); + chart->createDefaultAxes(); + chart->setAxisX(axis, series); } diff --git a/charts/statscqzperyearbarchartwidget.h b/charts/statscqzperyearbarchartwidget.h index 040bddbc..65e87f73 100644 --- a/charts/statscqzperyearbarchartwidget.h +++ b/charts/statscqzperyearbarchartwidget.h @@ -22,7 +22,7 @@ * 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 . * + * along with KLog. If not, see . * * * *****************************************************************************/ diff --git a/charts/statsentitiesperyearbarchartwidget.cpp b/charts/statsentitiesperyearbarchartwidget.cpp index a71b3fd8..a0dd6dc9 100644 --- a/charts/statsentitiesperyearbarchartwidget.cpp +++ b/charts/statsentitiesperyearbarchartwidget.cpp @@ -1,11 +1,11 @@ -#include "charts/statsentitiesperyearbarchartwidget.h" +#include "statsentitiesperyearbarchartwidget.h" StatsEntitiesPerYearBarChartWidget::StatsEntitiesPerYearBarChartWidget(){} StatsEntitiesPerYearBarChartWidget::StatsEntitiesPerYearBarChartWidget(DataProxy_SQLite *dp, QWidget *parent) { - //qDebug() << "StatsEntitiesPerYearBarChartWidget::StatsEntitiesPerYearBarChartWidget" << endl; + //qDebug() << "StatsEntitiesPerYearBarChartWidget::StatsEntitiesPerYearBarChartWidget" << endl; dataProxy = dp; chart = new QChart(); @@ -30,60 +30,56 @@ void StatsEntitiesPerYearBarChartWidget::createUI() void StatsEntitiesPerYearBarChartWidget::prepareChart() { - QString categoriesTitle; - QString categoriesElem; - QStringList categories; + QString x_axisTitle; + QString x_axisElem; + QStringList x_axis; QBarSeries *series = new QBarSeries(); QBarCategoryAxis *axis = new QBarCategoryAxis(); QString aux; int numberPerX = 0; chart->removeAllSeries(); - categoriesTitle = QString(); - categoriesElem = QString(); - categories.clear(); + x_axisTitle = QString(); + x_axisElem = QString(); + x_axis.clear(); axis->clear(); series->clear(); QBarSet *set0 = new QBarSet(tr("Chart title")); //*set0->remove(0, set0->count()-1); //qreal sum = 0; - QProgressDialog progress(tr("Reading data ... "), tr("Abort reading"), 0, categories.count(), this); + QProgressDialog progress(tr("Reading data ... "), tr("Abort reading"), 0, x_axis.count(), this); progress.setWindowModality(Qt::WindowModal); - //qDebug() << "StatsEntitiesPerYearBarChartWidget::prepareChart: SelectedGrapth-1: YEARS " << endl; - //qDebug() << "BarChartStats::prepareChart: SelectedGrapth-2: DXCC " << endl; - categories.append(dataProxy->getOperatingYears(-1)); - categoriesElem = tr("DXCC Entities"); - categoriesTitle = tr("DXCC Entities per year"); + //qDebug() << "StatsEntitiesPerYearBarChartWidget::prepareChart: SelectedGrapth-1: YEARS " << endl; + //qDebug() << "BarChartStats::prepareChart: SelectedGrapth-2: DXCC " << endl; + x_axis.append(dataProxy->getOperatingYears(-1)); + x_axisElem = tr("DXCC Entities"); + x_axisTitle = tr("DXCC Entities per year"); aux.clear(); - for (int i = 0; i < categories.count();i++ ) + for (int i = 0; i < x_axis.count();i++ ) { - numberPerX = dataProxy->getDXCConYear((categories.at(i)).toInt(), -1); + numberPerX = dataProxy->getDXCConYear((x_axis.at(i)).toInt(), -1); *set0 << numberPerX; numberPerX = 0; - aux = tr("Reading data ...") + "\n" + tr("Entities: ") + QString::number(i) + "/" + QString::number(categories.count()); + aux = tr("Reading data ...") + "\n" + tr("Entities: ") + QString::number(i) + "/" + QString::number(x_axis.count()); progress.setLabelText(aux); progress.setValue(i); if ( progress.wasCanceled() ) { - i = categories.count(); + i = x_axis.count(); } - //qDebug() << "BarChartStats::prepareChart DXCCs: " << QString::number((categories.at(i)).toInt()) << "/" << QString::number(numberPerX) << endl; + //qDebug() << "BarChartStats::prepareChart DXCCs: " << QString::number((x_axis.at(i)).toInt()) << "/" << QString::number(numberPerX) << endl; } series->append(set0); - set0->setLabel(categoriesElem); + set0->setLabel(x_axisElem); chart->addSeries(series); - chart->setTitle(categoriesTitle); - - axis->append(categories); - //chart->createDefaultAxes(); - //series->attachAxis(axis); - chart->addAxis(axis, Qt::AlignBottom); - - // chart->setAxisX(axis, series); + chart->setTitle(x_axisTitle); + axis->append(x_axis); + chart->createDefaultAxes(); + chart->setAxisX(axis, series); } diff --git a/charts/statsentitiesperyearbarchartwidget.h b/charts/statsentitiesperyearbarchartwidget.h index 815737cd..ec056e5a 100644 --- a/charts/statsentitiesperyearbarchartwidget.h +++ b/charts/statsentitiesperyearbarchartwidget.h @@ -22,7 +22,7 @@ * 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 . * + * along with KLog. If not, see . * * * *****************************************************************************/ diff --git a/charts/statsgeneralchartwidget.cpp b/charts/statsgeneralchartwidget.cpp index 56120cf9..558ab218 100644 --- a/charts/statsgeneralchartwidget.cpp +++ b/charts/statsgeneralchartwidget.cpp @@ -1,14 +1,14 @@ -#include "charts/statsgeneralchartwidget.h" +#include "statsgeneralchartwidget.h" StatsGeneralChartWidget::StatsGeneralChartWidget() { - //qDebug() << "StatsGeneralChartWidget::StatsGeneralChartWidget" << endl; + //qDebug() << "StatsGeneralChartWidget::StatsGeneralChartWidget" << endl; } StatsGeneralChartWidget::StatsGeneralChartWidget(DataProxy_SQLite *dp, QWidget *parent) { - //qDebug() << "StatsGeneralChartWidget::StatsGeneralChartWidget" << endl; + //qDebug() << "StatsGeneralChartWidget::StatsGeneralChartWidget" << endl; } diff --git a/charts/statsqsosperbandbarchartwidget.cpp b/charts/statsqsosperbandbarchartwidget.cpp index 1ac26b9d..6a941ed9 100644 --- a/charts/statsqsosperbandbarchartwidget.cpp +++ b/charts/statsqsosperbandbarchartwidget.cpp @@ -1,11 +1,11 @@ -#include "charts/statsqsosperbandbarchartwidget.h" +#include "statsqsosperbandbarchartwidget.h" StatsQSOsPerBandBarChartWidget::StatsQSOsPerBandBarChartWidget(){} StatsQSOsPerBandBarChartWidget::StatsQSOsPerBandBarChartWidget(DataProxy_SQLite *dp, QWidget *parent) { - //qDebug() << "StatsQSOsPerBandBarChartWidget::StatsQSOsPerBandBarChartWidget" << endl; + //qDebug() << "StatsQSOsPerBandBarChartWidget::StatsQSOsPerBandBarChartWidget" << endl; dataProxy = dp; chart = new QChart(); @@ -30,62 +30,59 @@ void StatsQSOsPerBandBarChartWidget::createUI() void StatsQSOsPerBandBarChartWidget::prepareChart() { - QString categoriesTitle; - QString categoriesElem; - QStringList categories; + QString x_axisTitle; + QString x_axisElem; + QStringList x_axis; QBarSeries *series = new QBarSeries(); QBarCategoryAxis *axis = new QBarCategoryAxis(); QString aux; int numberPerX = 0; chart->removeAllSeries(); - categoriesTitle = QString(); - categoriesElem = QString(); - categories.clear(); + x_axisTitle = QString(); + x_axisElem = QString(); + x_axis.clear(); axis->clear(); series->clear(); QBarSet *set0 = new QBarSet(tr("QSOs per band")); //*set0->remove(0, set0->count()-1); qreal sum = 0; - QProgressDialog progress(tr("Reading data ... "), tr("Abort reading"), 0, categories.count(), this); + QProgressDialog progress(tr("Reading data ... "), tr("Abort reading"), 0, x_axis.count(), this); progress.setWindowModality(Qt::WindowModal); - //qDebug() << "StatsQSOsPerBandBarChartWidget::prepareChart: SelectedGrapth-1: YEARS " << endl; - categories.append(dataProxy->getBandsInLog(-1)); - categoriesElem = tr("Bands"); - categoriesTitle = tr("QSOs per band distribution"); + //qDebug() << "StatsQSOsPerBandBarChartWidget::prepareChart: SelectedGrapth-1: YEARS " << endl; + x_axis.append(dataProxy->getBandsInLog(-1)); + x_axisElem = tr("Bands"); + x_axisTitle = tr("QSO per band distribution"); aux.clear(); - for (int i = 0; i < categories.count();i++ ) + for (int i = 0; i < x_axis.count();i++ ) { - numberPerX = dataProxy->getQSOsInBand((categories.at(i)), -1); - //qDebug() << categories.at(i) + "-" + QString::number(numberPerX) << endl; + numberPerX = dataProxy->getQSOsInBand((x_axis.at(i)), -1); + //qDebug() << x_axis.at(i) + "-" + QString::number(numberPerX) << endl; *set0 << numberPerX; numberPerX = 0; - //qDebug() << "StatsQSOsPerBandBarChartWidget::prepareChart QSOs: " << QString::number((categories.at(i)).toInt()) << "/" << QString::number(numberPerX) << endl; - aux = tr("Reading data ...") + "\n" + tr("Bands: ") + QString::number(i) + "/" + QString::number(categories.count()); - //aux = tr("Reading data ...") + "\n" + tr("Bands: %1/%2").arg(QString::number(i)).arg(QString::number(categories.count())); + //qDebug() << "StatsQSOsPerBandBarChartWidget::prepareChart QSOs: " << QString::number((x_axis.at(i)).toInt()) << "/" << QString::number(numberPerX) << endl; + aux = tr("Reading data ...") + "\n" + tr("Bands: ") + QString::number(i) + "/" + QString::number(x_axis.count()); + //aux = tr("Reading data ...") + "\n" + tr("Bands: %1/%2").arg(QString::number(i)).arg(QString::number(x_axis.count())); progress.setLabelText(aux); progress.setValue(i); if ( progress.wasCanceled() ) { - i = categories.count(); + i = x_axis.count(); } } sum = set0->sum(); set0->setLabel(QString::number(sum)); series->append(set0); - set0->setLabel(categoriesElem); + set0->setLabel(x_axisElem); chart->addSeries(series); - chart->setTitle(categoriesTitle); + chart->setTitle(x_axisTitle); - axis->append(categories); - //chart->createDefaultAxes(); - //series->attachAxis(axis); - chart->addAxis(axis, Qt::AlignBottom); - - //chart->setAxisX(axis, series); + axis->append(x_axis); + chart->createDefaultAxes(); + chart->setAxisX(axis, series); } diff --git a/charts/statsqsosperbandbarchartwidget.h b/charts/statsqsosperbandbarchartwidget.h index 8bdef594..ef99003c 100644 --- a/charts/statsqsosperbandbarchartwidget.h +++ b/charts/statsqsosperbandbarchartwidget.h @@ -22,7 +22,7 @@ * 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 . * + * along with KLog. If not, see . * * * *****************************************************************************/ diff --git a/charts/statsqsospercontinentbarchartwidget.cpp b/charts/statsqsospercontinentbarchartwidget.cpp old mode 100755 new mode 100644 index 735326e9..fbb1baf8 --- a/charts/statsqsospercontinentbarchartwidget.cpp +++ b/charts/statsqsospercontinentbarchartwidget.cpp @@ -1,11 +1,11 @@ -#include "charts/statsqsospercontinentbarchartwidget.h" +#include "statsqsospercontinentbarchartwidget.h" StatsQSOsPerContinentBarChartWidget::StatsQSOsPerContinentBarChartWidget(){} StatsQSOsPerContinentBarChartWidget::StatsQSOsPerContinentBarChartWidget(DataProxy_SQLite *dp, QWidget *parent) { - //qDebug() << "StatsQSOsPerContinentBarChartWidget::StatsQSOsPerContinentBarChartWidget" << endl; + //qDebug() << "StatsQSOsPerContinentBarChartWidget::StatsQSOsPerContinentBarChartWidget" << endl; dataProxy = dp; chart = new QChart(); @@ -30,25 +30,25 @@ void StatsQSOsPerContinentBarChartWidget::createUI() void StatsQSOsPerContinentBarChartWidget::prepareChart() { - QString categoriesTitle; - QString categoriesElem; - QStringList categories; + QString x_axisTitle; + QString x_axisElem; + QStringList x_axis; QBarSeries *series = new QBarSeries(); QBarCategoryAxis *axis = new QBarCategoryAxis(); QString aux; int numberPerX = 0; chart->removeAllSeries(); - categoriesTitle = QString(); - categoriesElem = QString(); - categories.clear(); + x_axisTitle = QString(); + x_axisElem = QString(); + x_axis.clear(); axis->clear(); series->clear(); QBarSet *set0 = new QBarSet(tr("QSOs per continent")); //*set0->remove(0, set0->count()-1); qreal sum = 0; - QProgressDialog progress(tr("Reading data ... "), tr("Abort reading"), 0, categories.count(), this); + QProgressDialog progress(tr("Reading data ... "), tr("Abort reading"), 0, x_axis.count(), this); progress.setWindowModality(Qt::WindowModal); @@ -56,40 +56,37 @@ void StatsQSOsPerContinentBarChartWidget::prepareChart() continents.clear(); continents << dataProxy->getContinentShortNames(); - categories.append(continents); - categoriesElem = tr("Continents"); - categoriesTitle = tr("QSOs per continent"); + x_axis.append(continents); + x_axisElem = tr("Continents"); + x_axisTitle = tr("QSOs per continent"); aux.clear(); - for (int i = 0; i < categories.count(); i++ ) + for (int i = 0; i < x_axis.count(); i++ ) { - numberPerX = dataProxy->getQSOsWithContinent(categories.at(i), -1); - //qDebug() << "BarChartStats::prepareChart SelectedGrapth-7: QSO/hour: " << categories.at(i) << " - " << QString::number(numberPerX) << endl; + numberPerX = dataProxy->getQSOsWithContinent(x_axis.at(i), -1); + //qDebug() << "BarChartStats::prepareChart SelectedGrapth-7: QSO/hour: " << x_axis.at(i) << " - " << QString::number(numberPerX) << endl; *set0 << numberPerX; numberPerX = 0; - aux = tr("Reading data ...") + "\n" + tr("Hours: ") + QString::number(i) + "/" + QString::number(categories.count()); + aux = tr("Reading data ...") + "\n" + tr("Hours: ") + QString::number(i) + "/" + QString::number(x_axis.count()); progress.setLabelText(aux); progress.setValue(i); if ( progress.wasCanceled() ) { - i = categories.count(); + i = x_axis.count(); } - //qDebug() << "BarChartStats::prepareChart CQz: " << QString::number((categories.at(i)).toInt()) << "/" << QString::number(numberPerX) << endl; + //qDebug() << "BarChartStats::prepareChart CQz: " << QString::number((x_axis.at(i)).toInt()) << "/" << QString::number(numberPerX) << endl; } sum = set0->sum(); set0->setLabel(QString::number(sum)); series->append(set0); - set0->setLabel(categoriesElem); + set0->setLabel(x_axisElem); chart->addSeries(series); - chart->setTitle(categoriesTitle); + chart->setTitle(x_axisTitle); - axis->append(categories); - //chart->createDefaultAxes(); - //series->attachAxis(axis); - chart->addAxis(axis, Qt::AlignBottom); - - //chart->setAxisX(axis, series); + axis->append(x_axis); + chart->createDefaultAxes(); + chart->setAxisX(axis, series); } diff --git a/charts/statsqsospercontinentbarchartwidget.h b/charts/statsqsospercontinentbarchartwidget.h old mode 100755 new mode 100644 index a9601d65..541589dc --- a/charts/statsqsospercontinentbarchartwidget.h +++ b/charts/statsqsospercontinentbarchartwidget.h @@ -22,7 +22,7 @@ * 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 . * + * along with KLog. If not, see . * * * *****************************************************************************/ diff --git a/charts/statsqsosperdxccbarchartwidget.cpp b/charts/statsqsosperdxccbarchartwidget.cpp old mode 100755 new mode 100644 index df307eaa..fc84a3b1 --- a/charts/statsqsosperdxccbarchartwidget.cpp +++ b/charts/statsqsosperdxccbarchartwidget.cpp @@ -1,11 +1,11 @@ -#include "charts/statsqsosperdxccbarchartwidget.h" +#include "statsqsosperdxccbarchartwidget.h" StatsQSOsPerDXCCBarChartWidget::StatsQSOsPerDXCCBarChartWidget(){} StatsQSOsPerDXCCBarChartWidget::StatsQSOsPerDXCCBarChartWidget(DataProxy_SQLite *dp, QWidget *parent) { - //qDebug() << "StatsQSOsPerDXCCBarChartWidget::StatsQSOsPerDXCCBarChartWidget" << endl; + //qDebug() << "StatsQSOsPerDXCCBarChartWidget::StatsQSOsPerDXCCBarChartWidget" << endl; dataProxy = dp; chart = new QChart(); @@ -30,25 +30,25 @@ void StatsQSOsPerDXCCBarChartWidget::createUI() void StatsQSOsPerDXCCBarChartWidget::prepareChart() { - QString categoriesTitle; - QString categoriesElem; - QStringList categories; + QString x_axisTitle; + QString x_axisElem; + QStringList x_axis; QBarSeries *series = new QBarSeries(); QBarCategoryAxis *axis = new QBarCategoryAxis(); QString aux; int numberPerX = 0; chart->removeAllSeries(); - categoriesTitle = QString(); - categoriesElem = QString(); - categories.clear(); + x_axisTitle = QString(); + x_axisElem = QString(); + x_axis.clear(); axis->clear(); series->clear(); QBarSet *set0 = new QBarSet(tr("QSOs per DXCC")); //*set0->remove(0, set0->count()-1); qreal sum = 0; - QProgressDialog progress(tr("Reading data ... "), tr("Abort reading"), 0, categories.count(), this); + QProgressDialog progress(tr("Reading data ... "), tr("Abort reading"), 0, x_axis.count(), this); progress.setWindowModality(Qt::WindowModal); aux = tr("Reading data...") ; progress.setLabelText(aux); @@ -58,7 +58,7 @@ void StatsQSOsPerDXCCBarChartWidget::prepareChart() entities.clear(); entities << dataProxy->getEntitiesIds(); - //qDebug() << "StatsQSOsPerDXCCBarChartWidget::prepareChart: SelectedGrapth-1: YEARS " << endl; + //qDebug() << "StatsQSOsPerDXCCBarChartWidget::prepareChart: SelectedGrapth-1: YEARS " << endl; QMap map; // key,value = number of QSO, dxcc int qsos = -1; @@ -70,11 +70,11 @@ void StatsQSOsPerDXCCBarChartWidget::prepareChart() qsos = dataProxy->getQSOsWithDXCC((entities.at(i)).toInt(), -1); if (qsos>0) { - //qDebug() << "Checking: " << dataProxy->getEntityNameFromId((entities.at(i)).toInt()) << " - " << entities.at(i) << " - QSOs: " << QString::number(qsos) ; + //qDebug() << "Checking: " << dataProxy->getEntityNameFromId((entities.at(i)).toInt()) << " - " << entities.at(i) << " - QSOs: " << QString::number(qsos) ; if (map.size()<10) { - //qDebug() << "Inserting: " << dataProxy->getEntityNameFromId((entities.at(i)).toInt()) << " - " << entities.at(i) << " - QSOs: " << QString::number(qsos) ; + //qDebug() << "Inserting: " << dataProxy->getEntityNameFromId((entities.at(i)).toInt()) << " - " << entities.at(i) << " - QSOs: " << QString::number(qsos) ; map.insert(qsos, (entities.at(i)).toInt()); } else @@ -84,8 +84,8 @@ void StatsQSOsPerDXCCBarChartWidget::prepareChart() it.next(); if (it.key()< qsos) { - //qDebug() << "Removing: " << QString::number(it.key()) << " / " << QString::number(it.value()) << endl; - //qDebug() << "Replacing by: " << entities.at(i) << " / " << QString::number(qsos) << " - " << dataProxy->getEntityNameFromId((entities.at(i)).toInt()) << endl; + //qDebug() << "Removing: " << QString::number(it.key()) << " / " << QString::number(it.value()) << endl; + //qDebug() << "Replacing by: " << entities.at(i) << " / " << QString::number(qsos) << " - " << dataProxy->getEntityNameFromId((entities.at(i)).toInt()) << endl; map.remove(it.key()); map.insert(qsos, (entities.at(i)).toInt()); it.toBack(); @@ -101,36 +101,33 @@ void StatsQSOsPerDXCCBarChartWidget::prepareChart() { i = entities.size(); } - //qDebug() << "End of for iteration" << endl; + //qDebug() << "End of for iteration" << endl; } QMapIterator it(map); while (it.hasNext()) { it.next(); - categories.append(dataProxy->getEntityMainPrefix(it.value())); + x_axis.append(dataProxy->getEntityMainPrefix(it.value())); numberPerX = it.key(); *set0 << numberPerX; numberPerX = 0; - //qDebug() << "End of while iteration" << endl; + //qDebug() << "End of while iteration" << endl; } - //qDebug() << "Out of while" << endl; + //qDebug() << "Out of while" << endl; - categoriesElem = tr("DXCC"); - categoriesTitle = tr("Top ten DXCC per QSO"); + x_axisElem = tr("DXCC"); + x_axisTitle = tr("Top ten DXCC per QSO"); sum = set0->sum(); set0->setLabel(QString::number(sum)); series->append(set0); - set0->setLabel(categoriesElem); + set0->setLabel(x_axisElem); chart->addSeries(series); - chart->setTitle(categoriesTitle); + chart->setTitle(x_axisTitle); - axis->append(categories); - //chart->createDefaultAxes(); - //series->attachAxis(axis); - chart->addAxis(axis, Qt::AlignBottom); - - //chart->setAxisX(axis, series); + axis->append(x_axis); + chart->createDefaultAxes(); + chart->setAxisX(axis, series); } diff --git a/charts/statsqsosperdxccbarchartwidget.h b/charts/statsqsosperdxccbarchartwidget.h old mode 100755 new mode 100644 index 097a3b96..da6a1e83 --- a/charts/statsqsosperdxccbarchartwidget.h +++ b/charts/statsqsosperdxccbarchartwidget.h @@ -22,7 +22,7 @@ * 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 . * + * along with KLog. If not, see . * * * *****************************************************************************/ diff --git a/charts/statsqsosperhourbarchartwidget.cpp b/charts/statsqsosperhourbarchartwidget.cpp old mode 100755 new mode 100644 index c7c600b1..d71f6e78 --- a/charts/statsqsosperhourbarchartwidget.cpp +++ b/charts/statsqsosperhourbarchartwidget.cpp @@ -1,11 +1,11 @@ -#include "charts/statsqsosperhourbarchartwidget.h" +#include "statsqsosperhourbarchartwidget.h" StatsQSOsPerHourBarChartWidget::StatsQSOsPerHourBarChartWidget(){} StatsQSOsPerHourBarChartWidget::StatsQSOsPerHourBarChartWidget(DataProxy_SQLite *dp, QWidget *parent) { - //qDebug() << "StatsQSOsPerHourBarChartWidget::StatsQSOsPerHourBarChartWidget" << endl; + //qDebug() << "StatsQSOsPerHourBarChartWidget::StatsQSOsPerHourBarChartWidget" << endl; dataProxy = dp; chart = new QChart(); @@ -30,67 +30,63 @@ void StatsQSOsPerHourBarChartWidget::createUI() void StatsQSOsPerHourBarChartWidget::prepareChart() { - QString categoriesTitle; - QString categoriesElem; - QStringList categories; + QString x_axisTitle; + QString x_axisElem; + QStringList x_axis; QBarSeries *series = new QBarSeries(); QBarCategoryAxis *axis = new QBarCategoryAxis(); QString aux; int numberPerX = 0; chart->removeAllSeries(); - categoriesTitle = QString(); - categoriesElem = QString(); - categories.clear(); + x_axisTitle = QString(); + x_axisElem = QString(); + x_axis.clear(); axis->clear(); series->clear(); QBarSet *set0 = new QBarSet(tr("QSOs per hour")); //*set0->remove(0, set0->count()-1); qreal sum = 0; - QProgressDialog progress(tr("Reading data ... "), tr("Abort reading"), 0, categories.count(), this); + QProgressDialog progress(tr("Reading data ... "), tr("Abort reading"), 0, x_axis.count(), this); progress.setWindowModality(Qt::WindowModal); QStringList hours; hours.clear(); hours << "00" << "01" << "02" << "03" << "04" << "05" << "06" << "07" << "08" << "09" << "10" << "11" << "12" << "13" << "14" << "15" << "16" << "17" << "18" << "19" << "20" << "21" << "22" << "23"; - categories.append(hours); - categoriesElem = tr("Hours"); - categoriesTitle = tr("QSOs at hour"); + x_axis.append(hours); + x_axisElem = tr("Hours"); + x_axisTitle = tr("QSOs at hour"); aux.clear(); - for (int i = 0; i < categories.count(); i++ ) + for (int i = 0; i < x_axis.count(); i++ ) { - numberPerX = dataProxy->getQSOsAtHour((categories.at(i)).toInt(), -1); - //qDebug() << "BarChartStats::prepareChart SelectedGrapth-7: QSO/hour: " << categories.at(i) << " - " << QString::number(numberPerX) << endl; + numberPerX = dataProxy->getQSOsAtHour((x_axis.at(i)).toInt(), -1); + //qDebug() << "BarChartStats::prepareChart SelectedGrapth-7: QSO/hour: " << x_axis.at(i) << " - " << QString::number(numberPerX) << endl; *set0 << numberPerX; numberPerX = 0; - aux = tr("Reading data ...") + "\n" + tr("Hours: ") + QString::number(i) + "/" + QString::number(categories.count()); + aux = tr("Reading data ...") + "\n" + tr("Hours: ") + QString::number(i) + "/" + QString::number(x_axis.count()); progress.setLabelText(aux); progress.setValue(i); if ( progress.wasCanceled() ) { - i = categories.count(); + i = x_axis.count(); } - //qDebug() << "BarChartStats::prepareChart CQz: " << QString::number((categories.at(i)).toInt()) << "/" << QString::number(numberPerX) << endl; + //qDebug() << "BarChartStats::prepareChart CQz: " << QString::number((x_axis.at(i)).toInt()) << "/" << QString::number(numberPerX) << endl; } sum = set0->sum(); set0->setLabel(QString::number(sum)); series->append(set0); - set0->setLabel(categoriesElem); + set0->setLabel(x_axisElem); chart->addSeries(series); - chart->setTitle(categoriesTitle); + chart->setTitle(x_axisTitle); - axis->append(categories); - //chart->createDefaultAxes(); - //series->attachAxis(axis); - chart->addAxis(axis, Qt::AlignBottom); - //chart->setAxisX(axis, series); + axis->append(x_axis); + chart->createDefaultAxes(); + chart->setAxisX(axis, series); } - - diff --git a/charts/statsqsosperhourbarchartwidget.h b/charts/statsqsosperhourbarchartwidget.h old mode 100755 new mode 100644 index 18a1e4b5..2f9d231b --- a/charts/statsqsosperhourbarchartwidget.h +++ b/charts/statsqsosperhourbarchartwidget.h @@ -22,7 +22,7 @@ * 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 . * + * along with KLog. If not, see . * * * *****************************************************************************/ diff --git a/charts/statsqsospermodebarchartwidget.cpp b/charts/statsqsospermodebarchartwidget.cpp index 0dbc4ba3..631a2566 100644 --- a/charts/statsqsospermodebarchartwidget.cpp +++ b/charts/statsqsospermodebarchartwidget.cpp @@ -1,11 +1,11 @@ -#include "charts/statsqsospermodebarchartwidget.h" +#include "statsqsospermodebarchartwidget.h" StatsQSOsPerModeBarChartWidget::StatsQSOsPerModeBarChartWidget(){} StatsQSOsPerModeBarChartWidget::StatsQSOsPerModeBarChartWidget(DataProxy_SQLite *dp, QWidget *parent) { - //qDebug() << "StatsQSOsPerModeBarChartWidget::StatsQSOsPerModeBarChartWidget" << endl; + //qDebug() << "StatsQSOsPerModeBarChartWidget::StatsQSOsPerModeBarChartWidget" << endl; dataProxy = dp; chart = new QChart(); @@ -30,62 +30,59 @@ void StatsQSOsPerModeBarChartWidget::createUI() void StatsQSOsPerModeBarChartWidget::prepareChart() { - QString categoriesTitle; - QString categoriesElem; - QStringList categories; + QString x_axisTitle; + QString x_axisElem; + QStringList x_axis; QBarSeries *series = new QBarSeries(); QBarCategoryAxis *axis = new QBarCategoryAxis(); QString aux; int numberPerX = 0; chart->removeAllSeries(); - categoriesTitle = QString(); - categoriesElem = QString(); - categories.clear(); + x_axisTitle = QString(); + x_axisElem = QString(); + x_axis.clear(); axis->clear(); series->clear(); QBarSet *set0 = new QBarSet(tr("QSOs per mode")); //*set0->remove(0, set0->count()-1); qreal sum = 0; - QProgressDialog progress(tr("Reading data ... "), tr("Abort reading"), 0, categories.count(), this); + QProgressDialog progress(tr("Reading data ... "), tr("Abort reading"), 0, x_axis.count(), this); progress.setWindowModality(Qt::WindowModal); - //qDebug() << "StatsQSOsPerModeBarChartWidget::prepareChart: SelectedGrapth-1: MODES " << endl; - categories.append(dataProxy->getModesInLog(-1)); - categoriesElem = tr("Modes"); - categoriesTitle = tr("QSOs per mode distribution"); + //qDebug() << "StatsQSOsPerModeBarChartWidget::prepareChart: SelectedGrapth-1: MODES " << endl; + x_axis.append(dataProxy->getModesInLog(-1)); + x_axisElem = tr("Modes"); + x_axisTitle = tr("QSO per mode distribution"); aux.clear(); - for (int i = 0; i < categories.count();i++ ) + for (int i = 0; i < x_axis.count();i++ ) { - numberPerX = dataProxy->getQSOsInMode((categories.at(i)), -1); - //qDebug() << categories.at(i) + "-" + QString::number(numberPerX) << endl; + numberPerX = dataProxy->getQSOsInMode((x_axis.at(i)), -1); + //qDebug() << x_axis.at(i) + "-" + QString::number(numberPerX) << endl; *set0 << numberPerX; numberPerX = 0; - //qDebug() << "StatsQSOsPerModeBarChartWidget::prepareChart QSOs: " << QString::number((categories.at(i)).toInt()) << "/" << QString::number(numberPerX) << endl; - aux = tr("Reading data ...") + "\n" + tr("Modes: ") + QString::number(i) + "/" + QString::number(categories.count()); - //aux = tr("Reading data ...") + "\n" + tr("Modes: %1/%2").arg(QString::number(i)).arg(QString::number(categories.count())); + //qDebug() << "StatsQSOsPerModeBarChartWidget::prepareChart QSOs: " << QString::number((x_axis.at(i)).toInt()) << "/" << QString::number(numberPerX) << endl; + aux = tr("Reading data ...") + "\n" + tr("Modes: ") + QString::number(i) + "/" + QString::number(x_axis.count()); + //aux = tr("Reading data ...") + "\n" + tr("Modes: %1/%2").arg(QString::number(i)).arg(QString::number(x_axis.count())); progress.setLabelText(aux); progress.setValue(i); if ( progress.wasCanceled() ) { - i = categories.count(); + i = x_axis.count(); } } sum = set0->sum(); set0->setLabel(QString::number(sum)); series->append(set0); - set0->setLabel(categoriesElem); + set0->setLabel(x_axisElem); chart->addSeries(series); - chart->setTitle(categoriesTitle); + chart->setTitle(x_axisTitle); - axis->append(categories); - //chart->createDefaultAxes(); - //series->attachAxis(axis); - chart->addAxis(axis, Qt::AlignBottom); - - //chart->setAxisX(axis, series); + axis->append(x_axis); + chart->createDefaultAxes(); + chart->setAxisX(axis, series); } diff --git a/charts/statsqsospermodebarchartwidget.h b/charts/statsqsospermodebarchartwidget.h index 25c559da..c66e6f58 100644 --- a/charts/statsqsospermodebarchartwidget.h +++ b/charts/statsqsospermodebarchartwidget.h @@ -22,7 +22,7 @@ * 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 . * + * along with KLog. If not, see . * * * *****************************************************************************/ diff --git a/charts/statsqsospermonthbarchartwidget.cpp b/charts/statsqsospermonthbarchartwidget.cpp old mode 100755 new mode 100644 index 8e80537f..c7a4bde0 --- a/charts/statsqsospermonthbarchartwidget.cpp +++ b/charts/statsqsospermonthbarchartwidget.cpp @@ -1,11 +1,11 @@ -#include "charts/statsqsospermonthbarchartwidget.h" +#include "statsqsospermonthbarchartwidget.h" StatsQSOsPerMonthBarChartWidget::StatsQSOsPerMonthBarChartWidget(){} StatsQSOsPerMonthBarChartWidget::StatsQSOsPerMonthBarChartWidget(DataProxy_SQLite *dp, QWidget *parent) { - //qDebug() << "StatsQSOsPerMonthBarChartWidget::StatsQSOsPerMonthBarChartWidget" << endl; + //qDebug() << "StatsQSOsPerMonthBarChartWidget::StatsQSOsPerMonthBarChartWidget" << endl; dataProxy = dp; chart = new QChart(); @@ -30,66 +30,63 @@ void StatsQSOsPerMonthBarChartWidget::createUI() void StatsQSOsPerMonthBarChartWidget::prepareChart() { - QString categoriesTitle; - QString categoriesElem; - QStringList categories; + QString x_axisTitle; + QString x_axisElem; + QStringList x_axis; QBarSeries *series = new QBarSeries(); QBarCategoryAxis *axis = new QBarCategoryAxis(); QString aux; int numberPerX = 0; chart->removeAllSeries(); - categoriesTitle = QString(); - categoriesElem = QString(); - categories.clear(); + x_axisTitle = QString(); + x_axisElem = QString(); + x_axis.clear(); axis->clear(); series->clear(); QBarSet *set0 = new QBarSet(tr("QSOs per month")); //*set0->remove(0, set0->count()-1); qreal sum = 0; - QProgressDialog progress(tr("Reading data ... "), tr("Abort reading"), 0, categories.count(), this); + QProgressDialog progress(tr("Reading data ... "), tr("Abort reading"), 0, x_axis.count(), this); progress.setWindowModality(Qt::WindowModal); QStringList months; months.clear(); months << tr("Jan") << tr("Feb") << tr("Mar") << tr("Apr") << tr("May") << tr("Jun") << tr("Jul") << tr("Aug") << tr("Sep") << tr("Oct") << tr("Nov") << tr("Dec"); - categories.append(months); - categoriesElem = tr("Months"); - categoriesTitle = tr("QSOs at Month"); + x_axis.append(months); + x_axisElem = tr("Months"); + x_axisTitle = tr("QSOs at Month"); aux.clear(); - for (int i = 0; i < categories.count(); i++ ) + for (int i = 0; i < x_axis.count(); i++ ) { numberPerX = dataProxy->getQSOsOnMonth(i+1, -1); - //qDebug() << "BarChartStats::prepareChart SelectedGrapth-7: QSO/hour: " << categories.at(i) << " - " << QString::number(numberPerX) << endl; + //qDebug() << "BarChartStats::prepareChart SelectedGrapth-7: QSO/hour: " << x_axis.at(i) << " - " << QString::number(numberPerX) << endl; *set0 << numberPerX; numberPerX = 0; - aux = tr("Reading data ...") + "\n" + tr("Months: ") + QString::number(i) + "/" + QString::number(categories.count()); + aux = tr("Reading data ...") + "\n" + tr("Months: ") + QString::number(i) + "/" + QString::number(x_axis.count()); progress.setLabelText(aux); progress.setValue(i); if ( progress.wasCanceled() ) { - i = categories.count(); + i = x_axis.count(); } - //qDebug() << "BarChartStats::prepareChart CQz: " << QString::number((categories.at(i)).toInt()) << "/" << QString::number(numberPerX) << endl; + //qDebug() << "BarChartStats::prepareChart CQz: " << QString::number((x_axis.at(i)).toInt()) << "/" << QString::number(numberPerX) << endl; } sum = set0->sum(); set0->setLabel(QString::number(sum)); series->append(set0); - set0->setLabel(categoriesElem); + set0->setLabel(x_axisElem); chart->addSeries(series); - chart->setTitle(categoriesTitle); + chart->setTitle(x_axisTitle); - axis->append(categories); - //chart->createDefaultAxes(); - //series->attachAxis(axis); - chart->addAxis(axis, Qt::AlignBottom); - - //chart->setAxisX(axis, series); + axis->append(x_axis); + chart->createDefaultAxes(); + chart->setAxisX(axis, series); } diff --git a/charts/statsqsospermonthbarchartwidget.h b/charts/statsqsospermonthbarchartwidget.h old mode 100755 new mode 100644 index 3c7e3c48..32a5614e --- a/charts/statsqsospermonthbarchartwidget.h +++ b/charts/statsqsospermonthbarchartwidget.h @@ -22,7 +22,7 @@ * 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 . * + * along with KLog. If not, see . * * * *****************************************************************************/ diff --git a/charts/statsqsosperyearbarchartwidget.cpp b/charts/statsqsosperyearbarchartwidget.cpp index 56583958..d6239803 100644 --- a/charts/statsqsosperyearbarchartwidget.cpp +++ b/charts/statsqsosperyearbarchartwidget.cpp @@ -1,11 +1,11 @@ -#include "charts/statsqsosperyearbarchartwidget.h" +#include "statsqsosperyearbarchartwidget.h" StatsQSOsPerYearBarChartWidget::StatsQSOsPerYearBarChartWidget(){} StatsQSOsPerYearBarChartWidget::StatsQSOsPerYearBarChartWidget(DataProxy_SQLite *dp, QWidget *parent) { - //qDebug() << "StatsQSOsPerYearBarChartWidget::StatsQSOsPerYearBarChartWidget" << endl; + //qDebug() << "StatsQSOsPerYearBarChartWidget::StatsQSOsPerYearBarChartWidget" << endl; dataProxy = dp; chart = new QChart(); @@ -30,61 +30,59 @@ void StatsQSOsPerYearBarChartWidget::createUI() void StatsQSOsPerYearBarChartWidget::prepareChart() { - QString categoriesTitle; - QString categoriesElem; - QStringList categories; + QString x_axisTitle; + QString x_axisElem; + QStringList x_axis; QBarSeries *series = new QBarSeries(); QBarCategoryAxis *axis = new QBarCategoryAxis(); QString aux; int numberPerX = 0; chart->removeAllSeries(); - categoriesTitle = QString(); - categoriesElem = QString(); - categories.clear(); + x_axisTitle = QString(); + x_axisElem = QString(); + x_axis.clear(); axis->clear(); series->clear(); QBarSet *set0 = new QBarSet(tr("Chart title")); //*set0->remove(0, set0->count()-1); qreal sum = 0; - QProgressDialog progress(tr("Reading data ... "), tr("Abort reading"), 0, categories.count(), this); + QProgressDialog progress(tr("Reading data ... "), tr("Abort reading"), 0, x_axis.count(), this); progress.setWindowModality(Qt::WindowModal); - //qDebug() << "StatsQSOsPerYearBarChartWidget::prepareChart: SelectedGrapth-1: YEARS " << endl; - categories.append(dataProxy->getOperatingYears(-1)); - categoriesElem = tr("QSOs"); - categoriesTitle = tr("QSOs per year"); + //qDebug() << "StatsQSOsPerYearBarChartWidget::prepareChart: SelectedGrapth-1: YEARS " << endl; + x_axis.append(dataProxy->getOperatingYears(-1)); + x_axisElem = tr("QSOs"); + x_axisTitle = tr("QSOs per year"); aux.clear(); - for (int i = 0; i < categories.count();i++ ) + for (int i = 0; i < x_axis.count();i++ ) { - numberPerX = dataProxy->getQSOonYear((categories.at(i)).toInt(), -1); - //qDebug() << categories.at(i) + "-" + QString::number(numberPerX) << endl; + numberPerX = dataProxy->getQSOonYear((x_axis.at(i)).toInt(), -1); + //qDebug() << x_axis.at(i) + "-" + QString::number(numberPerX) << endl; *set0 << numberPerX; numberPerX = 0; - //qDebug() << "StatsQSOsPerYearBarChartWidget::prepareChart QSOs: " << QString::number((categories.at(i)).toInt()) << "/" << QString::number(numberPerX) << endl; + //qDebug() << "StatsQSOsPerYearBarChartWidget::prepareChart QSOs: " << QString::number((x_axis.at(i)).toInt()) << "/" << QString::number(numberPerX) << endl; - aux = tr("Reading data ...") + "\n" + tr("QSO: %1/%2").arg(QString::number(i)).arg(QString::number(categories.count())); + aux = tr("Reading data ...") + "\n" + tr("QSO: %1/%2").arg(QString::number(i)).arg(QString::number(x_axis.count())); progress.setLabelText(aux); progress.setValue(i); if ( progress.wasCanceled() ) { - i = categories.count(); + i = x_axis.count(); } } sum = set0->sum(); set0->setLabel(QString::number(sum)); series->append(set0); - set0->setLabel(categoriesElem); + set0->setLabel(x_axisElem); chart->addSeries(series); - chart->setTitle(categoriesTitle); + chart->setTitle(x_axisTitle); - axis->append(categories); - //chart->createDefaultAxes(); - //series->attachAxis(axis); - chart->addAxis(axis, Qt::AlignBottom); - //chart->setAxisX(axis, series); + axis->append(x_axis); + chart->createDefaultAxes(); + chart->setAxisX(axis, series); } diff --git a/charts/statsqsosperyearbarchartwidget.h b/charts/statsqsosperyearbarchartwidget.h index e0c19401..dd59856c 100644 --- a/charts/statsqsosperyearbarchartwidget.h +++ b/charts/statsqsosperyearbarchartwidget.h @@ -22,7 +22,7 @@ * 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 . * + * along with KLog. If not, see . * * * *****************************************************************************/ diff --git a/charts/statssentconfirmedpiechartwidget.cpp b/charts/statssentconfirmedpiechartwidget.cpp old mode 100755 new mode 100644 index 5b513f58..235bc0e4 --- a/charts/statssentconfirmedpiechartwidget.cpp +++ b/charts/statssentconfirmedpiechartwidget.cpp @@ -1,10 +1,10 @@ -#include "charts/statssentconfirmedpiechartwidget.h" +#include "statssentconfirmedpiechartwidget.h" StatsSentConfirmedPieChartWidget::StatsSentConfirmedPieChartWidget(){} StatsSentConfirmedPieChartWidget::StatsSentConfirmedPieChartWidget(DataProxy_SQLite *dp, QWidget *parent) { - //qDebug() << "StatsSentConfirmedPieChartWidget::StatsSentConfirmedPieChartWidget" << endl; + //qDebug() << "StatsSentConfirmedPieChartWidget::StatsSentConfirmedPieChartWidget" << endl; dataProxy = dp; chart = new QChart(); @@ -32,9 +32,9 @@ void StatsSentConfirmedPieChartWidget::prepareChart() //PieSlice append(string label, real value) int sent = dataProxy->getHowManyQSLSentInLog(-1); int confirmed = dataProxy->getHowManyConfirmedQSLInLog(-1); - - //qDebug() << "Confirmed: " << QString::number(confirmed) << endl; - + //qDebug() << "QSOs: " << QString::number(qsos) << endl; + //qDebug() << "Confirmed: " << QString::number(confirmed) << endl; + //qDebug() << "Worked: " << QString::number(qsos - confirmed) << endl; series->append(tr("Sent - %1").arg(sent), sent); series->append(tr("Confirmed - %2").arg(confirmed), confirmed); diff --git a/charts/statssentconfirmedpiechartwidget.h b/charts/statssentconfirmedpiechartwidget.h old mode 100755 new mode 100644 index 97f88b96..b50804d8 --- a/charts/statssentconfirmedpiechartwidget.h +++ b/charts/statssentconfirmedpiechartwidget.h @@ -22,7 +22,7 @@ * 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 . * + * along with KLog. If not, see . * * * *****************************************************************************/ @@ -40,7 +40,7 @@ class StatsSentConfirmedPieChartWidget : public StatsGeneralChartWidget { Q_OBJECT public: - StatsSentConfirmedPieChartWidget(DataProxy_SQLite *dp, QWidget *parent = nullptr); + StatsSentConfirmedPieChartWidget(DataProxy_SQLite *dp, QWidget *parent = 0); StatsSentConfirmedPieChartWidget(); void prepareChart(); diff --git a/charts/statsworkedconfirmedpiechartwidget.cpp b/charts/statsworkedconfirmedpiechartwidget.cpp old mode 100755 new mode 100644 index 5e6c0940..c784eca1 --- a/charts/statsworkedconfirmedpiechartwidget.cpp +++ b/charts/statsworkedconfirmedpiechartwidget.cpp @@ -1,10 +1,10 @@ -#include "charts/statsworkedconfirmedpiechartwidget.h" +#include "statsworkedconfirmedpiechartwidget.h" StatsWorkedConfirmedPieChartWidget::StatsWorkedConfirmedPieChartWidget(){} StatsWorkedConfirmedPieChartWidget::StatsWorkedConfirmedPieChartWidget(DataProxy_SQLite *dp, QWidget *parent) { - //qDebug() << "StatsWorkedConfirmedPieChartWidget::StatsWorkedConfirmedPieChartWidget" << endl; + //qDebug() << "StatsWorkedConfirmedPieChartWidget::StatsWorkedConfirmedPieChartWidget" << endl; dataProxy = dp; chart = new QChart(); @@ -32,9 +32,9 @@ void StatsWorkedConfirmedPieChartWidget::prepareChart() //PieSlice append(string label, real value) int qsos = dataProxy->getHowManyQSOInLog(-1); int confirmed = dataProxy->getHowManyConfirmedQSLInLog(-1); - //qDebug() << "QSOs: " << QString::number(qsos) << endl; - //qDebug() << "Confirmed: " << QString::number(confirmed) << endl; - //qDebug() << "Worked: " << QString::number(qsos - confirmed) << endl; + //qDebug() << "QSOs: " << QString::number(qsos) << endl; + //qDebug() << "Confirmed: " << QString::number(confirmed) << endl; + //qDebug() << "Worked: " << QString::number(qsos - confirmed) << endl; series->append(tr("Worked, not confirmed - %1").arg(qsos-confirmed), qsos - confirmed); series->append(tr("Confirmed - %2").arg(confirmed), confirmed); diff --git a/charts/statsworkedconfirmedpiechartwidget.h b/charts/statsworkedconfirmedpiechartwidget.h old mode 100755 new mode 100644 index a0bef98c..5b72dfd7 --- a/charts/statsworkedconfirmedpiechartwidget.h +++ b/charts/statsworkedconfirmedpiechartwidget.h @@ -22,7 +22,7 @@ * 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 . * + * along with KLog. If not, see . * * * *****************************************************************************/ diff --git a/charts/statsworkedsentpiechartwidget.cpp b/charts/statsworkedsentpiechartwidget.cpp old mode 100755 new mode 100644 index 4023882d..3dc15bbe --- a/charts/statsworkedsentpiechartwidget.cpp +++ b/charts/statsworkedsentpiechartwidget.cpp @@ -1,10 +1,10 @@ -#include "charts/statsworkedsentpiechartwidget.h" +#include "statsworkedsentpiechartwidget.h" StatsWorkedSentPieChartWidget::StatsWorkedSentPieChartWidget(){} StatsWorkedSentPieChartWidget::StatsWorkedSentPieChartWidget(DataProxy_SQLite *dp, QWidget *parent) { - //qDebug() << "StatsWorkedSentPieChartWidget::StatsWorkedSentPieChartWidget" << endl; + //qDebug() << "StatsWorkedSentPieChartWidget::StatsWorkedSentPieChartWidget" << endl; dataProxy = dp; chart = new QChart(); @@ -32,9 +32,9 @@ void StatsWorkedSentPieChartWidget::prepareChart() //PieSlice append(string label, real value) int qsos = dataProxy->getHowManyQSOInLog(-1); int confirmed = dataProxy->getHowManyQSLSentInLog(-1); - //qDebug() << "QSOs: " << QString::number(qsos) << endl; - //qDebug() << "Confirmed: " << QString::number(confirmed) << endl; - //qDebug() << "Worked: " << QString::number(qsos - confirmed) << endl; + //qDebug() << "QSOs: " << QString::number(qsos) << endl; + //qDebug() << "Confirmed: " << QString::number(confirmed) << endl; + //qDebug() << "Worked: " << QString::number(qsos - confirmed) << endl; series->append(tr("Worked - %1").arg(qsos), qsos); series->append(tr("Sent - %2").arg(confirmed), confirmed); diff --git a/charts/statsworkedsentpiechartwidget.h b/charts/statsworkedsentpiechartwidget.h old mode 100755 new mode 100644 index d043823a..aebcde38 --- a/charts/statsworkedsentpiechartwidget.h +++ b/charts/statsworkedsentpiechartwidget.h @@ -22,7 +22,7 @@ * 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 . * + * along with KLog. If not, see . * * * *****************************************************************************/ diff --git a/database.cpp b/database.cpp index c6394f67..ee4636b1 100644 --- a/database.cpp +++ b/database.cpp @@ -20,7 +20,7 @@ * 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 . * + * along with KLog. If not, see . * * * *****************************************************************************/ @@ -29,29 +29,28 @@ DataBase::DataBase(const QString &_parentClass, const QString &_DBName) { - //qDebug() << "DataBase::DataBase: PLAIN: " << _parentClass << " / Name = " << _DBName << endl; + //qDebug() << "DataBase::DataBase: PLAIN: " << _parentClass << " / Name = " << _DBName << endl; constrid = 1; util = new Utilities(); softVersion = util->getVersion(); dbName = _DBName; - //qDebug() << "DataBase::DataBase1: dbName: " << dbName << endl; + //qDebug() << "DataBase::DataBase1: dbName: " << dbName << endl; //db = QSqlDatabase::database(); dbVersion = DBVersionf; createConnection(QString(Q_FUNC_INFO)+"1"); - //qDebug() << "DataBase::DataBase: PLAIN - connection Name: " << dbConnectionName << endl; - //qDebug() << "DataBase::DataBase: PLAIN - DB Name: " << db.databaseName() << endl; + //qDebug() << "DataBase::DataBase: PLAIN - connection Name: " << dbConnectionName << endl; + //qDebug() << "DataBase::DataBase: PLAIN - DB Name: " << db.databaseName() << endl; insertPreparedQueries.clear(); insertQueryFields.clear(); - //qDebug() << "DataBase::DataBase: PLAIN: - END" << endl; + //qDebug() << "DataBase::DataBase: PLAIN: - END" << endl; } -DataBase::DataBase(const QString &_parentClass, const QString &_softVersion, const QString &_DBName) -{ - //qDebug() << "DataBase::DataBase2: " << _parentClass << "/" << _softVersion << " / Name = " << _DBName << endl; +DataBase::DataBase(const QString &_parentClass, const QString &_softVersion, const QString &_DBName){ + //qDebug() << "DataBase::DataBase2: " << _parentClass << "/" << _softVersion << " / Name = " << _DBName << endl; //TODO: Sometimes the DB is created without the proper calling (without passing softVersion) constrid = 2; dbVersion = DBVersionf; @@ -64,26 +63,21 @@ DataBase::DataBase(const QString &_parentClass, const QString &_softVersion, con //dbName = util->getKLogDBFile(); dbName = _DBName; - //qDebug() << "DataBase::DataBase2: dbName: " << dbName << endl; + //qDebug() << "DataBase::DataBase2: dbName: " << dbName << endl; //dbDir = dbName; - //qDebug() << "DataBase::DataBase: DB(string): " << dbName << endl; + //qDebug() << "DataBase::DataBase: DB(string): " << dbName << endl; //db = QSqlDatabase::database(); - - - //db = QSqlDatabase::removeDatabase("QSQLITE"); if (util->getVersionDouble()>0) { - createConnection(QString(Q_FUNC_INFO)+"2"); - } - //qDebug() << "DataBase::DataBase: - connection Name: " << dbConnectionName << endl; - //qDebug() << "DataBase::DataBase: - DB Name: " << db.databaseName() << endl; + //qDebug() << "DataBase::DataBase: - connection Name: " << dbConnectionName << endl; + //qDebug() << "DataBase::DataBase: - DB Name: " << db.databaseName() << endl; insertPreparedQueries.clear(); insertQueryFields.clear(); - //qDebug() << "DataBase::DataBase2: END" << endl; + //qDebug() << "DataBase::DataBase2: END" << endl; } @@ -120,7 +114,7 @@ bool DataBase::queryPrepare() bool DataBase::queryExec() { - //qDebug() << "DataBase::queryExec " << endl; + //qDebug() << "DataBase::queryExec " << endl; bool sqlOK; //insertQueryFields.clear(); //insertPreparedQueries.clear(); @@ -138,11 +132,11 @@ bool DataBase::queryExec() { queryErrorManagement("DataBase::queryExec", preparedQuery.lastError().databaseText(), preparedQuery.lastError().number(), preparedQuery.lastQuery()); //emit queryError(Q_FUNC_INFO, preparedQuery.lastError().databaseText(), preparedQuery.lastError().number(), preparedQuery.lastQuery()); - //qDebug() << "DataBase::queryExec - FAILED execution: " << preparedQuery.lastQuery() << endl; + //qDebug() << "DataBase::queryExec - FAILED execution: " << preparedQuery.lastQuery() << endl; } else { - //qDebug() << "DataBase::queryExec - executed: " << preparedQuery.lastQuery() << endl; + //qDebug() << "DataBase::queryExec - executed: " << preparedQuery.lastQuery() << endl; } return sqlOK; } @@ -152,7 +146,7 @@ bool DataBase::queryExec() DataBase::~DataBase() { - //qDebug() << "DataBase::~DataBase" << endl; + //qDebug() << "DataBase::~DataBase" << endl; } QString DataBase::getSoftVersion() @@ -232,7 +226,7 @@ QString DataBase::getDBName() QStringList DataBase::getColumnNamesFromTable(const QString &_tableName) { - //qDebug() << "DataBase::getColumnNamesFromTable: " << _tableName << endl; + //qDebug() << "DataBase::getColumnNamesFromTable: " << _tableName << endl; QSqlQuery query; QString queryString = QString("PRAGMA table_info('%1')").arg(_tableName); @@ -243,7 +237,7 @@ QStringList DataBase::getColumnNamesFromTable(const QString &_tableName) QString aux; if (sqlOK) { - //qDebug() << "DataBase::getColumnNamesFromTable: OK" << endl; + //qDebug() << "DataBase::getColumnNamesFromTable: OK" << endl; while(query.next()) { if (query.isValid()) @@ -252,7 +246,7 @@ QStringList DataBase::getColumnNamesFromTable(const QString &_tableName) if (( aux.toUpper() != "ID" ) && (aux.length()>0)) { list << aux; - //qDebug() << "DataBase::getColumnNamesFromTable: " << (query.value(1)).toString() << endl; + //qDebug() << "DataBase::getColumnNamesFromTable: " << (query.value(1)).toString() << endl; } } } @@ -263,14 +257,14 @@ QStringList DataBase::getColumnNamesFromTable(const QString &_tableName) queryErrorManagement(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); } query.finish(); - //qDebug() << "DataBase::getColumnNamesFromTable: " << QString::number(list.size()) << endl; + //qDebug() << "DataBase::getColumnNamesFromTable: " << QString::number(list.size()) << endl; return list; } void DataBase::compress() { - //qDebug() << "DataBase::compress " << endl; + //qDebug() << "DataBase::compress " << endl; //QSqlDatabase db = QSqlDatabase::database(); if (!db.open()) { @@ -286,74 +280,67 @@ void DataBase::compress() bool DataBase::reConnect(const QString &_DBName) { - //qDebug() << "DataBase::reConnect:" << endl; + //qDebug() << "DataBase::reConnect:" << endl; db.close(); dbName = _DBName; - //qDebug() << "DataBase::reConnect: DB closed" << endl; + //qDebug() << "DataBase::reConnect: DB closed" << endl; //dbName = util->getKLogDBFile(); - //qDebug() << "DataBase::reConnect: DB: " << dbDir << endl; + //qDebug() << "DataBase::reConnect: DB: " << dbDir << endl; return createConnection(Q_FUNC_INFO); - //qDebug() << "DataBase::reConnect: END" << endl; + //qDebug() << "DataBase::reConnect: END" << endl; } bool DataBase::createConnection(const QString &function, bool newDB) { - //qDebug() << "DataBase::createConnection: " << function << "-" << QString::number(dbVersion) << "/" << softVersion << endl; + //qDebug() << "DataBase::createConnection: " << function << "-" << QString::number(dbVersion) << "/" << softVersion << endl; QString stringQuery; QSqlQuery query; if (!db.isOpen()) { - //qDebug() << "DataBase::createConnection: DB NOT Opened" << endl; + //qDebug() << "DataBase::createConnection: DB NOT Opened" << endl; //db = QSqlDatabase::database(); if (db.isValid()) { - //qDebug() << "DataBase::createConnection: DB is Valid" << endl; + //qDebug() << "DataBase::createConnection: DB is Valid" << endl; } else { - //qDebug() << "DataBase::createConnection: DB is not valid, let's call addDataBase" << endl; + //qDebug() << "DataBase::createConnection: DB is not valid, let's call addDataBase" << endl; if (db.isOpen()) { - //qDebug() << "DataBase::createConnection: DB is already open" << endl; + //qDebug() << "DataBase::createConnection: DB is already open" << endl; } else { - //qDebug() << "DataBase::createConnection: DB is NOT open, let's open: connection name" << db.connectionName()<< endl; - QSqlDatabase::removeDatabase("qt_sql_default_connection"); + //qDebug() << "DataBase::createConnection: DB is NOT open, let's open" << endl; db = QSqlDatabase::addDatabase("QSQLITE"); - - //if (QSqlDatabase::contains("myConnection")) - //{ - // db = QSqlDatabase::addDatabase("QSQLITE", "myConnection"); - //} - } - //qDebug() << "DataBase::createConnection: Now we call setDatabaseName" << endl; + //qDebug() << "DataBase::createConnection: Now we call setDatabaseName" << endl; db.setDatabaseName(dbName); - //qDebug() << "DataBase::createConnection: end of not valid" << endl; + //qDebug() << "DataBase::createConnection: end of not valid" << endl; } - //qDebug() << "DataBase::createConnection: end of valid check, let's try if it is open" << endl; + //qDebug() << "DataBase::createConnection: end of valid check, let's try if it is open" << endl; if (!db.open()) { - //qDebug() << "DataBase::createConnection:Not open " << endl; + //qDebug() << "DataBase::createConnection:Not open " << endl; QMessageBox::warning(nullptr, QObject::tr("Database Error"), db.lastError().text()); - //qDebug() << "DataBase::createConnection: DB creation ERROR" << endl; + //qDebug() << "DataBase::createConnection: DB creation ERROR" << endl; return false; } else { - //qDebug() << "DataBase::createConnection: created and opened after the creation" << endl; + //qDebug() << "DataBase::createConnection: created and opened after the creation" << endl; if (isTheDBCreated()) { - //qDebug() << "DataBase::createConnection: DB Exists" << endl; + //qDebug() << "DataBase::createConnection: DB Exists" << endl; } else { - //qDebug() << "DataBase::createConnection: DB does not exist" << endl; + //qDebug() << "DataBase::createConnection: DB does not exist" << endl; createDataBase(); stringQuery ="PRAGMA main.page_size = 4096;"; @@ -381,29 +368,29 @@ bool DataBase::createConnection(const QString &function, bool newDB) } else { - //qDebug() << "DataBase::createConnection: No Error, DB is open" << endl; + //qDebug() << "DataBase::createConnection: No Error, DB is open" << endl; } - //qDebug() << "DataBase::createConnection: Going to run - createBandModeMaps " << endl; + //qDebug() << "DataBase::createConnection: Going to run - createBandModeMaps " << endl; if (createBandModeMaps()) { - //qDebug() << "DataBase::createConnection: createBandModeMaps true" << endl; + //qDebug() << "DataBase::createConnection: createBandModeMaps true" << endl; } else { - //qDebug() << "DataBase::createConnection: createBandModeMaps false SSSSSSSSSSSSSSSTOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPP" << endl; + //qDebug() << "DataBase::createConnection: createBandModeMaps false SSSSSSSSSSSSSSSTOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPP" << endl; } //created = true; - //qDebug() << "DataBase::createConnection -------------------------------------------- END" << endl; + //qDebug() << "DataBase::createConnection -------------------------------------------- END" << endl; return unMarkAllQSO(); } bool DataBase::isTheDBCreated() { - //qDebug() << "DataBase::isTheDBCreated: Called from: " << QString::number(constrid) << endl; + //qDebug() << "DataBase::isTheDBCreated: Called from: " << QString::number(constrid) << endl; QSqlQuery query; int _num = 0; @@ -414,24 +401,24 @@ bool DataBase::isTheDBCreated() if (sqlOK) { - //qDebug() << "DataBase::isTheDBCreated - SQL OK" << endl; + //qDebug() << "DataBase::isTheDBCreated - SQL OK" << endl; query.next(); if (query.isValid()) { - //qDebug() << "DataBase::isTheDBCreated - valid" << endl; + //qDebug() << "DataBase::isTheDBCreated - valid" << endl; _num = (query.value(0)).toInt(); if (_num > 0) { - //qDebug() << "DataBase::isTheDBCreated - DB Exists" << endl; - //qDebug() << "DataBase::isTheDBCreated: ------------------------------------------------- END TRUE" << endl; + //qDebug() << "DataBase::isTheDBCreated - DB Exists" << endl; + //qDebug() << "DataBase::isTheDBCreated: ------------------------------------------------- END TRUE" << endl; query.finish(); return true; } else { - //qDebug() << "DataBase::isTheDBCreated - DB does not Exist" << endl; - //qDebug() << "DataBase::isTheDBCreated: ------------------------------------------------- END FALSE-1" << endl; + //qDebug() << "DataBase::isTheDBCreated - DB does not Exist" << endl; + //qDebug() << "DataBase::isTheDBCreated: ------------------------------------------------- END FALSE-1" << endl; query.finish(); return false; } @@ -439,32 +426,32 @@ bool DataBase::isTheDBCreated() else { - //qDebug() << "DataBase::isTheDBCreated - not valid" << endl; - //qDebug() << "DataBase::isTheDBCreated: ------------------------------------------------- END FALSE-2" << endl; + //qDebug() << "DataBase::isTheDBCreated - not valid" << endl; + //qDebug() << "DataBase::isTheDBCreated: ------------------------------------------------- END FALSE-2" << endl; query.finish(); return false; } } else { //ERROR in Query execution - //qDebug() << "DataBase::isTheDBCreated: ------------------------------------------------ ERROR IN QUERY EXECUTION" << endl; + //qDebug() << "DataBase::isTheDBCreated: ------------------------------------------------ ERROR IN QUERY EXECUTION" << endl; queryErrorManagement(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); query.finish(); return false; } //query.finish(); - //qDebug() << "DataBase::isTheDBCreated: ------------------------------------------------- END FALSE-X" << endl; + //qDebug() << "DataBase::isTheDBCreated: ------------------------------------------------- END FALSE-X" << endl; //return false; } bool DataBase::recreateTableLog() { - //qDebug() << "DataBase::recreateTableLog" << endl; + //qDebug() << "DataBase::recreateTableLog" << endl; if (!createTableLog(false)) // Create modetemp { - //qDebug() << "DataBase::recreateTableLog: CreateTableLog returned false" << endl; + //qDebug() << "DataBase::recreateTableLog: CreateTableLog returned false" << endl; return false; } @@ -494,21 +481,21 @@ bool DataBase::recreateTableLog() } else { - //qDebug() << "recreateTableLog ERROR - logTemp not renamed" << endl; + //qDebug() << "recreateTableLog ERROR - logTemp not renamed" << endl; return false; } } else { - //qDebug() << "recreateTableLog ERROR - log table not dropped" << endl; + //qDebug() << "recreateTableLog ERROR - log table not dropped" << endl; } } else { - //qDebug() << "recreateTableLog ERROR - Data not moved" << endl; + //qDebug() << "recreateTableLog ERROR - Data not moved" << endl; return false; } - //qDebug() << "recreateTableLog END" << endl; + //qDebug() << "recreateTableLog END" << endl; return true; } @@ -522,12 +509,12 @@ bool DataBase::createTableLog(bool temp) if (temp) { stringQuery = "CREATE TABLE log" ; - //qDebug() << "DataBase::createTableLog: log" << endl; + //qDebug() << "DataBase::createTableLog: log" << endl; } else { stringQuery = "CREATE TABLE logtemp" ; - //qDebug() << "DataBase::createTableLog: logtemp" << endl; + //qDebug() << "DataBase::createTableLog: logtemp" << endl; } stringQuery = stringQuery + QString(" (id INTEGER PRIMARY KEY AUTOINCREMENT, " @@ -694,7 +681,7 @@ bool DataBase::createTableLog(bool temp) "FOREIGN KEY (dxcc) REFERENCES entity, " "FOREIGN KEY (bandid) REFERENCES band)"); - //qDebug() << "DataBase::createTableLog: " << stringQuery << endl; + //qDebug() << "DataBase::createTableLog: " << stringQuery << endl; if (execQuery(Q_FUNC_INFO, stringQuery)) { @@ -723,11 +710,11 @@ bool DataBase::createTableLog(bool temp) bool DataBase::createDataBase() { - //qDebug() << "DataBase::createDataBase ------------------------------------- START" << QString::number(constrid) << endl; + //qDebug() << "DataBase::createDataBase ------------------------------------- START" << QString::number(constrid) << endl; //bool qres; //http://www.sqlite.org/ //http://www.sqlite.org/datatype3.html - //qDebug() << "DataBase::createData" << endl; + //qDebug() << "DataBase::createData" << endl; //int softDB = dbVersion; //QString softV = _softVersion; //QString dateString; @@ -898,7 +885,7 @@ bool DataBase::createDataBase() execQuery(Q_FUNC_INFO, "INSERT INTO qso_complete_enumeration (shortname, name) VALUES ('NIL', 'Not heard')"); execQuery(Q_FUNC_INFO, "INSERT INTO qso_complete_enumeration (shortname, name) VALUES ('?', 'Uncertain')"); - //qDebug() << "DataBase::createDataBase ------------------------------------- END" << endl; + //qDebug() << "DataBase::createDataBase ------------------------------------- END" << endl; return true; } @@ -976,7 +963,7 @@ bool DataBase::createTableAwardWAZ() int DataBase::getBandIdFromName(const QString &b) { - //qDebug() << "DataBase::getBandIdFromName: " << b << endl; + //qDebug() << "DataBase::getBandIdFromName: " << b << endl; QSqlQuery query; if (isValidBand(b)) { @@ -989,7 +976,7 @@ int DataBase::getBandIdFromName(const QString &b) query.next(); if ( query.isValid() ) { - //qDebug() << "DataBase::getBandIdFromName: OK" << QString::number((query.value(0)).toInt()) << endl; + //qDebug() << "DataBase::getBandIdFromName: OK" << QString::number((query.value(0)).toInt()) << endl; int v = (query.value(0)).toInt(); query.finish(); return v; @@ -997,7 +984,7 @@ int DataBase::getBandIdFromName(const QString &b) } else { - //qDebug() << "DataBase::getBandIdFromName: NOK 1" << endl; + //qDebug() << "DataBase::getBandIdFromName: NOK 1" << endl; query.finish(); return -1; } @@ -1008,11 +995,11 @@ int DataBase::getBandIdFromName(const QString &b) query.finish(); return -2; } - //qDebug() << "DataBase::getBandIdFromName: NOK 3" << endl; + //qDebug() << "DataBase::getBandIdFromName: NOK 3" << endl; } else { - //qDebug() << "DataBase::getBandIdFromName: BAND NOT VALID: " << b << endl; + //qDebug() << "DataBase::getBandIdFromName: BAND NOT VALID: " << b << endl; } query.finish(); return -3; @@ -1020,12 +1007,12 @@ int DataBase::getBandIdFromName(const QString &b) int DataBase::getModeIdFromName(const QString &b) { - //qDebug() << "DataBase::getModeIdFromName: " << b << endl; + //qDebug() << "DataBase::getModeIdFromName: " << b << endl; QSqlQuery query; if (isValidMode(b, false)) { QString queryString = QString("SELECT id FROM mode WHERE name='%1'").arg(b); - //qDebug() << "DataBase::getModeIdFromName: queryString: " << queryString << endl; + //qDebug() << "DataBase::getModeIdFromName: queryString: " << queryString << endl; bool sqlOK = query.exec(queryString); if (sqlOK) @@ -1033,13 +1020,13 @@ int DataBase::getModeIdFromName(const QString &b) query.next(); if ( query.isValid() ) { - //qDebug() << "DataBase::getModeIdFromName: OK" << QString::number((query.value(0)).toInt()) << endl; + //qDebug() << "DataBase::getModeIdFromName: OK" << QString::number((query.value(0)).toInt()) << endl; return (query.value(0)).toInt(); } else { - //qDebug() << "DataBase::getModeIdFromName: NOK 1" << endl; + //qDebug() << "DataBase::getModeIdFromName: NOK 1" << endl; query.finish(); return -1; } @@ -1052,7 +1039,7 @@ int DataBase::getModeIdFromName(const QString &b) } - //qDebug() << "DataBase::getModeIdFromName: NOK 3" << endl; + //qDebug() << "DataBase::getModeIdFromName: NOK 3" << endl; query.finish(); return -1; } @@ -1060,7 +1047,7 @@ int DataBase::getModeIdFromName(const QString &b) int DataBase::getModeIdFromSubMode(const QString &b) { - //qDebug() << "DataBase::getModeIdFromSubMode: " << b << endl; + //qDebug() << "DataBase::getModeIdFromSubMode: " << b << endl; QSqlQuery query; QString queryString = QString("SELECT id FROM mode WHERE submode='%1'").arg(b); /* @@ -1081,33 +1068,33 @@ int DataBase::getModeIdFromSubMode(const QString &b) query.next(); if (query.isValid()) { - //qDebug() << "DataBase::getModeIdFromName: OK - Mode: " << b << " - " << (query.value(0)).toString() << endl; + //qDebug() << "DataBase::getModeIdFromName: OK - Mode: " << b << " - " << (query.value(0)).toString() << endl; return (query.value(0)).toInt(); } else { - //qDebug() << "DataBase::getModeIdFromName: NOK 1" << "-------- END"<< endl; + //qDebug() << "DataBase::getModeIdFromName: NOK 1" << "-------- END"<< endl; query.finish(); return -1; } } else { - //qDebug() << "DataBase::getModeIdFromName: NOK 2" << "-------- END"<< endl; + //qDebug() << "DataBase::getModeIdFromName: NOK 2" << "-------- END"<< endl; queryErrorManagement(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); query.finish(); return -1; } - //qDebug() << "DataBase::getModeIdFromName: NOK 3" << "-------- END"<< endl; + //qDebug() << "DataBase::getModeIdFromName: NOK 3" << "-------- END"<< endl; //query.finish(); //return -1; } QString DataBase::getBandNameFromNumber(const int _n) { - //qDebug() << "DataBase::getBandNameFromNumber: " << QString::number(_n) << endl; + //qDebug() << "DataBase::getBandNameFromNumber: " << QString::number(_n) << endl; QSqlQuery query; QString queryString = QString("SELECT name FROM band WHERE id='%1'").arg(_n); @@ -1120,19 +1107,19 @@ QString DataBase::getBandNameFromNumber(const int _n) { if ( isValidBand((query.value(0)).toString()) ) { - //qDebug() << "DataBase::getBandNameFromNumber: " << (query.value(0)).toString() << "-------- END" << endl; + //qDebug() << "DataBase::getBandNameFromNumber: " << (query.value(0)).toString() << "-------- END" << endl; return (query.value(0)).toString(); } else { - //qDebug() << "DataBase::getBandNameFromNumber: " << "-------- END-1" << endl; + //qDebug() << "DataBase::getBandNameFromNumber: " << "-------- END-1" << endl; query.finish(); return QString(); } } else { - //qDebug() << "DataBase::getBandNameFromNumber: " << "-------- END-2" << endl; + //qDebug() << "DataBase::getBandNameFromNumber: " << "-------- END-2" << endl; query.finish(); return QString(); } @@ -1151,7 +1138,7 @@ QString DataBase::getBandNameFromNumber(const int _n) QString DataBase::getModeNameFromNumber(const int _n, bool _tmp) { //TODO May fail to identify the sumbode(mode/modetemp... (Review STEP-2 o 3) - //qDebug() << "DataBase::getModeNameFromNumber: " << QString::number(_n) << endl; + //qDebug() << "DataBase::getModeNameFromNumber: " << QString::number(_n) << endl; QSqlQuery query; QString queryString; if (_tmp) @@ -1172,30 +1159,30 @@ QString DataBase::getModeNameFromNumber(const int _n, bool _tmp) query.finish(); } query.next(); - //qDebug() << "DataBase::getModeNameFromNumber: " << QString::number(_n) <<" - " << isValidMode((query.value(0)).toString(), _tmp) << endl; + //qDebug() << "DataBase::getModeNameFromNumber: " << QString::number(_n) <<" - " << isValidMode((query.value(0)).toString(), _tmp) << endl; if ( query.isValid() ) { - //qDebug() << "DataBase::getModeNameFromNumber: ------ END-1" << endl; + //qDebug() << "DataBase::getModeNameFromNumber: ------ END-1" << endl; return (query.value(0)).toString(); /* In a version when I change the mode table to include submode, this comparison may need to be checked in both versions * at once, failing the query as old version was not having the column submode * if ( isValidMode((query.value(0)).toString(), _tmp)) { - //qDebug() << "DataBase::getModeNameFromNumber - Found: " << (query.value(0)).toString() << endl; + //qDebug() << "DataBase::getModeNameFromNumber - Found: " << (query.value(0)).toString() << endl; return (query.value(0)).toString(); } else { - //qDebug() << "DataBase::getModeNameFromNumber - Not Valid Mode: " << (query.value(0)).toString() << endl; + //qDebug() << "DataBase::getModeNameFromNumber - Not Valid Mode: " << (query.value(0)).toString() << endl; return QString(); } */ } else { - //qDebug() << "DataBase::getModeNameFromNumber - Not Valid record" << endl; - //qDebug() << "DataBase::getModeNameFromNumber: ------ END-2" << endl; + //qDebug() << "DataBase::getModeNameFromNumber - Not Valid record" << endl; + //qDebug() << "DataBase::getModeNameFromNumber: ------ END-2" << endl; query.finish(); return QString(); } @@ -1203,7 +1190,7 @@ QString DataBase::getModeNameFromNumber(const int _n, bool _tmp) QString DataBase::getSubModeNameFromNumber(const int _n, bool _tmp) { - //qDebug() << "DataBase::getSubModeNameFromNumber: " << QString::number(_n) << endl; + //qDebug() << "DataBase::getSubModeNameFromNumber: " << QString::number(_n) << endl; QSqlQuery query; QString queryString; if (_tmp) @@ -1218,7 +1205,7 @@ QString DataBase::getSubModeNameFromNumber(const int _n, bool _tmp) bool sqlOk = query.exec(queryString); - //qDebug() << "DataBase::getSubModeNameFromNumber - query: " << query.lastQuery() << endl; + //qDebug() << "DataBase::getSubModeNameFromNumber - query: " << query.lastQuery() << endl; if (sqlOk) { @@ -1228,19 +1215,19 @@ QString DataBase::getSubModeNameFromNumber(const int _n, bool _tmp) { if ( isValidMode((query.value(0)).toString(), _tmp) ) { - //qDebug() << "DataBase::getSubModeNameFromNumber: RETURN: " << (query.value(0)).toString() << endl; + //qDebug() << "DataBase::getSubModeNameFromNumber: RETURN: " << (query.value(0)).toString() << endl; return (query.value(0)).toString(); } else { - //qDebug() << "DataBase::getSubModeNameFromNumber: NO valid mode - END" << endl; + //qDebug() << "DataBase::getSubModeNameFromNumber: NO valid mode - END" << endl; query.finish(); return QString(); } } else { - //qDebug() << "DataBase::getSubModeNameFromNumber: query not valid - END" << endl; + //qDebug() << "DataBase::getSubModeNameFromNumber: query not valid - END" << endl; query.finish(); return QString(); } @@ -1248,7 +1235,7 @@ QString DataBase::getSubModeNameFromNumber(const int _n, bool _tmp) } else { - //qDebug() << "DataBase::getSubModeNameFromNumber: query not next - END" << endl; + //qDebug() << "DataBase::getSubModeNameFromNumber: query not next - END" << endl; query.finish(); return QString(); } @@ -1258,18 +1245,18 @@ QString DataBase::getSubModeNameFromNumber(const int _n, bool _tmp) else { queryErrorManagement(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); - //qDebug() << "DataBase::getSubModeNameFromNumber: SQL FALSE - END" << endl; + //qDebug() << "DataBase::getSubModeNameFromNumber: SQL FALSE - END" << endl; query.finish(); return QString(); } - //qDebug() << "DataBase::getSubModeNameFromNumber: - END-X" << endl; + //qDebug() << "DataBase::getSubModeNameFromNumber: - END-X" << endl; //query.finish(); //return QString(); } bool DataBase::isValidBand (const QString &b) { - //qDebug() << "DataBase::isValidBand: " << b << endl; + //qDebug() << "DataBase::isValidBand: " << b << endl; if (b.length()<1) { return false; @@ -1302,11 +1289,11 @@ bool DataBase::isValidBand (const QString &b) bool DataBase::isValidMode (const QString &b, const bool _tmp) { - //qDebug() << "DataBase::isValidMode: " << b << endl; + //qDebug() << "DataBase::isValidMode: " << b << endl; QString stringQuery; if (b.length()<2) { - //qDebug() << "DataBase::isValidMode: (length<2) FALSE" << endl; + //qDebug() << "DataBase::isValidMode: (length<2) FALSE" << endl; return false; } @@ -1334,20 +1321,20 @@ bool DataBase::isValidMode (const QString &b, const bool _tmp) bool DataBase::isValidBandNumber (const int b) { - //qDebug() << "DataBase::isValidBandNumber: " << QString::number(b)<< endl; + //qDebug() << "DataBase::isValidBandNumber: " << QString::number(b)<< endl; return isValidBand(getBandNameFromNumber(b)); } bool DataBase::isValidModeNumber (const int b) { - //qDebug() << "DataBase::isValidModeNumber: " << QString::number(b)<< endl; + //qDebug() << "DataBase::isValidModeNumber: " << QString::number(b)<< endl; return isValidMode(getModeNameFromNumber(b, false), false); } int DataBase::getBandIdFromFreq(const QString &fr) { - //qDebug() << "DataBase::getBandIdFromFreq: " << fr << endl; + //qDebug() << "DataBase::getBandIdFromFreq: " << fr << endl; //Freq should be in MHz QString queryString = QString("SELECT id FROM band WHERE lower <= '%1' and upper >= '%2'").arg(fr).arg(fr); @@ -1355,37 +1342,37 @@ int DataBase::getBandIdFromFreq(const QString &fr) bool sqlOK = query.exec(queryString); - //qDebug() << "DataBase::getBandIdFromFreq: Query: " << query.lastQuery() << endl; + //qDebug() << "DataBase::getBandIdFromFreq: Query: " << query.lastQuery() << endl; if (sqlOK) { - //qDebug() << "DataBase::getBandIdFromFreq: Query OK" << endl; + //qDebug() << "DataBase::getBandIdFromFreq: Query OK" << endl; query.next(); if (query.isValid()) { - //qDebug() << "DataBase::getBandIdFromFreq: Query OK - END" << endl; + //qDebug() << "DataBase::getBandIdFromFreq: Query OK - END" << endl; return (query.value(0)).toInt(); } else { - //qDebug() << "DataBase::getBandIdFromFreq: Valid NOK - END" << endl; + //qDebug() << "DataBase::getBandIdFromFreq: Valid NOK - END" << endl; query.finish(); return -1; } } else { - //qDebug() << "DataBase::getBandIdFromFreq: Query NOK" << endl; - //qDebug() << "DataBase::getBandIdFromFreq: Query NOK: " << query.lastError().text() << endl; - //qDebug() << "DataBase::getBandIdFromFreq: Query NOK: " << query.lastError().nativeErrorCode() << endl; + //qDebug() << "DataBase::getBandIdFromFreq: Query NOK" << endl; + //qDebug() << "DataBase::getBandIdFromFreq: Query NOK: " << query.lastError().text() << endl; + //qDebug() << "DataBase::getBandIdFromFreq: Query NOK: " << query.lastError().nativeErrorCode() << endl; if (query.lastError().isValid()) { - //qDebug() << "DataBase::getBandIdFromFreq: Query NOK - Error VALID" << endl; + //qDebug() << "DataBase::getBandIdFromFreq: Query NOK - Error VALID" << endl; } else { - //qDebug() << "DataBase::getBandIdFromFreq: Query NOK - Error NOT-VALID" << endl; + //qDebug() << "DataBase::getBandIdFromFreq: Query NOK - Error NOT-VALID" << endl; } @@ -1394,7 +1381,7 @@ int DataBase::getBandIdFromFreq(const QString &fr) query.finish(); return -2; } - //qDebug() << "DataBase::getBandIdFromFreq: END-X" << endl; + //qDebug() << "DataBase::getBandIdFromFreq: END-X" << endl; //query.finish(); //return -3; } @@ -1402,28 +1389,28 @@ int DataBase::getBandIdFromFreq(const QString &fr) bool DataBase::isThisFreqInBand(const QString &b, const QString &fr) {//Freq should be in MHz - //qDebug() << "DataBase::isThisFreqInBand: " << b << "/" << fr << endl; + //qDebug() << "DataBase::isThisFreqInBand: " << b << "/" << fr << endl; int bandNf = getBandIdFromFreq(fr); int bandN = getBandIDFromName2(b); - //qDebug() << "DataBase::isThisFreqInBand: (b/f)" << QString::number(bandN) << "/" << QString::number(bandNf) << endl; + //qDebug() << "DataBase::isThisFreqInBand: (b/f)" << QString::number(bandN) << "/" << QString::number(bandNf) << endl; if (bandNf == bandN) { - //qDebug() << "DataBase::isThisFreqInBand: OK " << b << "/" << fr << endl; + //qDebug() << "DataBase::isThisFreqInBand: OK " << b << "/" << fr << endl; return true; } else { - //qDebug() << "DataBase::isThisFreqInBand: NOK " << b << "/" << fr << endl; + //qDebug() << "DataBase::isThisFreqInBand: NOK " << b << "/" << fr << endl; return false; } - //qDebug() << "DataBase::isThisFreqInBand: END" << endl; + //qDebug() << "DataBase::isThisFreqInBand: END" << endl; //return false; } bool DataBase::unMarkAllQSO() { - //qDebug() << "DataBase::unMarkAllQSO" << endl; + //qDebug() << "DataBase::unMarkAllQSO" << endl; QString stringQuery = QString("UPDATE log SET marked = 'N' WHERE 1"); return execQuery(Q_FUNC_INFO, stringQuery); } @@ -1432,7 +1419,7 @@ bool DataBase::unMarkAllQSO() bool DataBase::updateIfNeeded() { - //qDebug() << "DataBase::updateIfNeeded - Version: " << QString::number(dbVersion) << endl; + //qDebug() << "DataBase::updateIfNeeded - Version: " << QString::number(dbVersion) << endl; /************************************************************************************** @@ -1469,7 +1456,7 @@ bool DataBase::updateIfNeeded() //latestReaded = (query.value(0)).toFloat(); query.finish(); - //qDebug() << "DataBase::updateIfNeeded - LatestReaded: " << QString::number(latestReaded) << endl; + //qDebug() << "DataBase::updateIfNeeded - LatestReaded: " << QString::number(latestReaded) << endl; @@ -1477,16 +1464,16 @@ bool DataBase::updateIfNeeded() if (latestReaded >= dbVersion) { // DB is updated, no update is needed - //qDebug() << "DataBase::updateIfNeeded - DB updated (no need to update anything!) " << endl; + //qDebug() << "DataBase::updateIfNeeded - DB updated (no need to update anything!) " << endl; //toBeUpdated = false; - //qDebug() << "DataBase::updateIfNeeded - TRUE - END " << endl; + //qDebug() << "DataBase::updateIfNeeded - TRUE - END " << endl; return true; } else { // DB is outdated. We need to update!! - //qDebug() << "DataBase::updateIfNeeded - DB outdated... upgrade starts now! " << endl; + //qDebug() << "DataBase::updateIfNeeded - DB outdated... upgrade starts now! " << endl; QMessageBox msgBox; msgBox.setWindowTitle("KLog"); @@ -1512,7 +1499,7 @@ bool DataBase::updateIfNeeded() break; default: // should never be reached - //qDebug() << "DataBase::updateIfNeeded - FALSE - CHECK IF SEEN, shoud not be here! - END " << endl; + //qDebug() << "DataBase::updateIfNeeded - FALSE - CHECK IF SEEN, shoud not be here! - END " << endl; return false; //break; } @@ -1520,7 +1507,7 @@ bool DataBase::updateIfNeeded() // If the DB needs to be updated... we update it! :-) - //qDebug() << "DataBase::updateIfNeeded - END!" << endl; + //qDebug() << "DataBase::updateIfNeeded - END!" << endl; return true; } @@ -1536,7 +1523,7 @@ bool DataBase::createTheBandQuickReference() */ - //qDebug() << "DataBase::createTheBandQuickReference: " << endl; + //qDebug() << "DataBase::createTheBandQuickReference: " << endl; QString st = "NULL"; int in = 0; @@ -1567,11 +1554,11 @@ bool DataBase::createTheBandQuickReference() IDBandHash.insert(in, st); freqBandIdHash.insert(in, fr); - //qDebug() << "DataBase::createTheBandQuickReference: " << st <<"/" << QString::number(in)<< endl; + //qDebug() << "DataBase::createTheBandQuickReference: " << st <<"/" << QString::number(in)<< endl; } else { - //qDebug() << "DataBase::createTheBandQuickReference: Query not valid -'RETURN FALSE - END" << endl; + //qDebug() << "DataBase::createTheBandQuickReference: Query not valid -'RETURN FALSE - END" << endl; // QMessageBox::warning(0, QObject::tr("Database Error (DataBase::createTheBandQuickReference)"), // query.lastError().text()); @@ -1580,10 +1567,10 @@ bool DataBase::createTheBandQuickReference() //TODO: Manage this error, in case the query is NOK. } - //qDebug() << "DataBase::createTheBandQuickReference: Go for the next one!" << endl; + //qDebug() << "DataBase::createTheBandQuickReference: Go for the next one!" << endl; } query.finish(); - //qDebug() << "DataBase::createTheBandQuickReference: END" << endl; + //qDebug() << "DataBase::createTheBandQuickReference: END" << endl; return true; } @@ -1597,7 +1584,7 @@ bool DataBase::createTheModeQuickReference() QHash IDModeHash */ - //qDebug() << "DataBase::createTheModeQuickReference: " << endl; + //qDebug() << "DataBase::createTheModeQuickReference: " << endl; if (getDBVersion().toFloat()<0.010) { @@ -1636,11 +1623,11 @@ bool DataBase::createTheModeQuickReference() IDModeHash.insert(in, st); subModeIDHash.insert(sm, in ); IDSubModeHash.insert(in, sm); - //qDebug() << "DataBase::createTheModeQuickReference: " << st <<"/" << QString::number(in)<< endl; + //qDebug() << "DataBase::createTheModeQuickReference: " << st <<"/" << QString::number(in)<< endl; } else { - //qDebug() << "DataBase::createTheModeQuickReference: Query not valid - END" << endl; + //qDebug() << "DataBase::createTheModeQuickReference: Query not valid - END" << endl; //QMessageBox::warning(0, QObject::tr("Database Error (DataBase::createTheModeQuickReference)"), // query.lastError().text()); @@ -1651,7 +1638,7 @@ bool DataBase::createTheModeQuickReference() } } query.finish(); - //qDebug() << "DataBase::createTheModeQuickReference: END" << endl; + //qDebug() << "DataBase::createTheModeQuickReference: END" << endl; return true; } @@ -1667,10 +1654,10 @@ int DataBase::getBandIDFromName2(const QString &b) QHash IDModeHash */ - //qDebug() << "DataBase::getBandIDFromName2: " << b << endl; - //qDebug() << "DataBase::getBandIDFromName2: This line should be the last one... " << endl; + //qDebug() << "DataBase::getBandIDFromName2: " << b << endl; + //qDebug() << "DataBase::getBandIDFromName2: This line should be the last one... " << endl; return getBandIdFromName(b); - //qDebug() << "DataBase::getBandIDFromName2: CHECK IF THIS LINE IS SEEN" << endl; + //qDebug() << "DataBase::getBandIDFromName2: CHECK IF THIS LINE IS SEEN" << endl; /* if (b.length()<1) @@ -1680,48 +1667,48 @@ int DataBase::getBandIDFromName2(const QString &b) if (bandIDHash.contains(b)) { - //qDebug() << "DataBase::getBandIDFromName2: " << b << ":" << bandIDHash.value(b) << endl; + //qDebug() << "DataBase::getBandIDFromName2: " << b << ":" << bandIDHash.value(b) << endl; return bandIDHash.value(b); } else { - //qDebug() << "DataBase::getBandIDFromName2: Contains - False" << endl; + //qDebug() << "DataBase::getBandIDFromName2: Contains - False" << endl; return -1; } - //qDebug() << "DataBase::getBandIDFromName2: Safety exit" << endl; + //qDebug() << "DataBase::getBandIDFromName2: Safety exit" << endl; */ } int DataBase::getModeIDFromName2(const QString &b) { - //qDebug() << "DataBase::getModeIDFromName2: " << b << endl; + //qDebug() << "DataBase::getModeIDFromName2: " << b << endl; return getModeIdFromSubMode(b); /* if (b.length()<2) { - //qDebug() << "DataBase::getModeIDFromName2: END -3" << endl; + //qDebug() << "DataBase::getModeIDFromName2: END -3" << endl; return -3; } if (modeIDHash.contains(b)) { - //qDebug() << "DataBase::getModeIDFromName2: END - " << b << ":" << modeIDHash.value(b) << endl; + //qDebug() << "DataBase::getModeIDFromName2: END - " << b << ":" << modeIDHash.value(b) << endl; return modeIDHash.value(b); } else { - //qDebug() << "DataBase::getModeIDFromName2: Contains - False - END" << endl; + //qDebug() << "DataBase::getModeIDFromName2: Contains - False - END" << endl; return -1; } - //qDebug() << "DataBase::getModeIDFromName2: Safety exit - END" << endl; + //qDebug() << "DataBase::getModeIDFromName2: Safety exit - END" << endl; */ } int DataBase::getSubModeIDFromName2(const QString &b) { - //qDebug() << "DataBase::getSubModeIDFromName2: " << b << endl; + //qDebug() << "DataBase::getSubModeIDFromName2: " << b << endl; return getModeIdFromSubMode(b); @@ -1730,21 +1717,21 @@ int DataBase::getSubModeIDFromName2(const QString &b) if (b.length()<2) { - //qDebug() << "DataBase::getSubModeIDFromName2: END -3" << endl; + //qDebug() << "DataBase::getSubModeIDFromName2: END -3" << endl; return -3; } if (subModeIDHash.contains(b)) { - //qDebug() << "DataBase::getSubModeIDFromName2: END - " << b << ":" << modeIDHash.value(b) << endl; + //qDebug() << "DataBase::getSubModeIDFromName2: END - " << b << ":" << modeIDHash.value(b) << endl; return subModeIDHash.value(b); } else { - //qDebug() << "DataBase::getSubModeIDFromName2: Contains - False - END" << endl; + //qDebug() << "DataBase::getSubModeIDFromName2: Contains - False - END" << endl; return -1; } - //qDebug() << "DataBase::getSubModeIDFromName2: Safety exit - END" << endl; + //qDebug() << "DataBase::getSubModeIDFromName2: Safety exit - END" << endl; return -2; */ @@ -1752,66 +1739,66 @@ int DataBase::getSubModeIDFromName2(const QString &b) QString DataBase::getBandNameFromID2(const int _i) { - //qDebug() << "DataBase::getBandNameFromid2: " << QString::number(_i) << endl; + //qDebug() << "DataBase::getBandNameFromid2: " << QString::number(_i) << endl; return getBandNameFromNumber(_i); /* if (IDBandHash.contains(_i)) { - //qDebug() << "DataBase::getBandNameFromid2: END OK" << endl; + //qDebug() << "DataBase::getBandNameFromid2: END OK" << endl; return IDBandHash.value(_i); } else { - //qDebug() << "DataBase::getBandNameFromid2: END-1" << endl; + //qDebug() << "DataBase::getBandNameFromid2: END-1" << endl; return "-1"; } */ - //qDebug() << "DataBase::getBandNameFromid2: END-2" << endl; + //qDebug() << "DataBase::getBandNameFromid2: END-2" << endl; //return "-2"; } QString DataBase::getModeNameFromID2(const int _i) { - //qDebug() << "DataBase::getModeNameFromId2: " << QString::number(_i) << endl; + //qDebug() << "DataBase::getModeNameFromId2: " << QString::number(_i) << endl; return getSubModeNameFromNumber(_i); /* if (IDModeHash.contains(_i)) { - //qDebug() << "DataBase::getModeNameFromId2: END OK - " << IDModeHash.value(_i) << endl; + //qDebug() << "DataBase::getModeNameFromId2: END OK - " << IDModeHash.value(_i) << endl; return IDModeHash.value(_i); } else { - //qDebug() << "DataBase::getModeNameFromId2: END-1" << endl; + //qDebug() << "DataBase::getModeNameFromId2: END-1" << endl; return "-1"; } */ - //qDebug() << "DataBase::getModeNameFromId2: END-2" << endl; + //qDebug() << "DataBase::getModeNameFromId2: END-2" << endl; //return "-2"; } QString DataBase::getSubModeNameFromID2(const int _i) { - //qDebug() << "DataBase::getSubModeNameFromId2: " << QString::number(_i) << endl; + //qDebug() << "DataBase::getSubModeNameFromId2: " << QString::number(_i) << endl; return getSubModeNameFromNumber(_i); /* if (IDSubModeHash.contains(_i)) { - //qDebug() << "DataBase::getSubModeNameFromId2: END OK - " << IDModeHash.value(_i) << endl; + //qDebug() << "DataBase::getSubModeNameFromId2: END OK - " << IDModeHash.value(_i) << endl; return IDSubModeHash.value(_i); } else { - //qDebug() << "DataBase::getSubModeNameFromId2: END-1" << endl; + //qDebug() << "DataBase::getSubModeNameFromId2: END-1" << endl; return "-1"; } - //qDebug() << "DataBase::getSubModeNameFromId2: END-2" << endl; + //qDebug() << "DataBase::getSubModeNameFromId2: END-2" << endl; */ } bool DataBase::createBandModeMaps() { - //qDebug() << "DataBase::createBandModeMaps" << endl; + //qDebug() << "DataBase::createBandModeMaps" << endl; bool b = false; bool m = false; @@ -1822,40 +1809,39 @@ bool DataBase::createBandModeMaps() b = createTheBandQuickReference(); m = createTheModeQuickReference(); - //qDebug() << "DataBase::createBandModeMaps - isTheDbCreated TRUE" << endl; + //qDebug() << "DataBase::createBandModeMaps - isTheDbCreated TRUE" << endl; return (b && m); } else { - //qDebug() << "DataBase::createBandModeMaps - isTheDbCreated FALSE" << endl; + //qDebug() << "DataBase::createBandModeMaps - isTheDbCreated FALSE" << endl; return false; } //return false; - //qDebug() << "DataBase::createBandModeMaps END" << endl; + //qDebug() << "DataBase::createBandModeMaps END" << endl; } QString DataBase::getFreqFromBandId(const int _i) { - //qDebug() << "DataBase::getFreqFromBandId" << endl; + //qDebug() << "DataBase::getFreqFromBandId" << endl; if (freqBandIdHash.contains(_i)) { - //qDebug() << "DataBase::getFreqFromBandId OK END" << endl; + //qDebug() << "DataBase::getFreqFromBandId OK END" << endl; return freqBandIdHash.value(_i); } else { - //qDebug() << "DataBase::getFreqFromBandId END-1" << endl; + //qDebug() << "DataBase::getFreqFromBandId END-1" << endl; return "-1.0"; } - //qDebug() << "DataBase::getFreqFromBandId END-2" << endl; + //qDebug() << "DataBase::getFreqFromBandId END-2" << endl; //return "-2.0"; } -/* int DataBase::getLogTypeNumber(const QString &_logType) { - //qDebug() << "DataBase::getLogTypeNumber: " << _logType << endl; + //qDebug() << "DataBase::getLogTypeNumber: " << _logType << endl; QSqlQuery query; QString queryString = QString("SELECT id FROM supportedcontests WHERE name='%1'").arg(_logType); @@ -1883,7 +1869,7 @@ int DataBase::getLogTypeNumber(const QString &_logType) QString DataBase::getLogTypeName(const int _logType) { - //qDebug() << "DataBase::getLogTypeName: " << QString::number(_logType) << endl; + //qDebug() << "DataBase::getLogTypeName: " << QString::number(_logType) << endl; QSqlQuery query; QString queryString = QString("SELECT name FROM supportedcontests WHERE id='%1'").arg(_logType); bool sqlOK = query.exec(queryString); @@ -1906,7 +1892,7 @@ QString DataBase::getLogTypeName(const int _logType) //query.finish(); //return QString(); } -*/ + bool DataBase::updateToLatest() { /* @@ -1915,7 +1901,7 @@ bool DataBase::updateToLatest() * */ - //qDebug() << "DataBase::updateToLatest " << endl; + //qDebug() << "DataBase::updateToLatest " << endl; return updateTo016(); @@ -1933,7 +1919,7 @@ bool DataBase::updateTo003() * QString stringQuery = QString ("ALTER TABLE award_enumeration ADD COLUMN dxcc INTEGER;"); * */ - //qDebug() << "DataBase::updateTo003: latestRead: " << QString::number(latestReaded) << endl; + //qDebug() << "DataBase::updateTo003: latestRead: " << QString::number(latestReaded) << endl; bool IAmIn003 = false; bool IAmIn002 = false; bool ErrorUpdating = false; @@ -1970,8 +1956,8 @@ bool DataBase::updateTo003() bool DataBase::updateTo004() {// Updates the DB to 0.0.4 - //qDebug() << "DataBase::updateTo004: latestRead: " << getDBVersion() << endl; - //qDebug() << "DataBase::updateTo004: latestRead: " << QString::number(latestReaded) << endl; + //qDebug() << "DataBase::updateTo004: latestRead: " << getDBVersion() << endl; + //qDebug() << "DataBase::updateTo004: latestRead: " << QString::number(latestReaded) << endl; bool IAmIn004 = false; bool IAmIn003 = false; bool ErrorUpdating = false; @@ -1982,21 +1968,21 @@ bool DataBase::updateTo004() latestReaded = getDBVersion().toFloat(); if (latestReaded >= float(0.004)) { - //qDebug() << "DataBase::updateTo004: - I am in 004" << endl; + //qDebug() << "DataBase::updateTo004: - I am in 004" << endl; return true; } else { - //qDebug() << "DataBase::updateTo004: - I am not in 004" << endl; + //qDebug() << "DataBase::updateTo004: - I am not in 004" << endl; IAmIn004 = false; } while (!IAmIn004 && !ErrorUpdating) { - //qDebug() << "DataBase::updateTo004: - And I am not in 004 nor ErrorUpdating" << endl; + //qDebug() << "DataBase::updateTo004: - And I am not in 004 nor ErrorUpdating" << endl; while (!IAmIn003 && !ErrorUpdating) { - //qDebug() << "DataBase::updateTo004: - And I am not in 003" << endl; + //qDebug() << "DataBase::updateTo004: - And I am not in 003" << endl; //IAmIn002 = updateTo002(); IAmIn003 = true; } @@ -2004,32 +1990,32 @@ bool DataBase::updateTo004() { return false; } - //qDebug() << "DataBase::updateTo004: - And I am in 003" << endl; + //qDebug() << "DataBase::updateTo004: - And I am in 003" << endl; sqlOk = updateDBVersion(softVersion, "0.004"); - //qDebug() << "DataBase::updateTo004: - Update Version" << endl; + //qDebug() << "DataBase::updateTo004: - Update Version" << endl; if (sqlOk) { // Version updated - //qDebug() << "DataBase::updateTo004: - Update OK" << endl; + //qDebug() << "DataBase::updateTo004: - Update OK" << endl; sqlOk = execQuery(Q_FUNC_INFO, "DROP TABLE award_enumeration"); } else { // Version not updated - //qDebug() << "DataBase::updateTo004: - Update NOK" << endl; + //qDebug() << "DataBase::updateTo004: - Update NOK" << endl; } //DO ALL THE TASKS TO BE IN 0.004 from 0.003 HERE and set ErrorUpdating if it is not possible. - //qDebug() << "DataBase::updateTo004: - IAmIn004 = true" << endl; + //qDebug() << "DataBase::updateTo004: - IAmIn004 = true" << endl; IAmIn004 = true; } if (IAmIn004) { - //qDebug() << "DataBase::updateTo004: - Return... TRUE" << endl; + //qDebug() << "DataBase::updateTo004: - Return... TRUE" << endl; } else { - //qDebug() << "DataBase::updateTo004: - Return... FALSE" << endl; + //qDebug() << "DataBase::updateTo004: - Return... FALSE" << endl; } - //qDebug() << "DataBase::updateTo004: UPDATED OK!" << endl; + //qDebug() << "DataBase::updateTo004: UPDATED OK!" << endl; return IAmIn004; } @@ -2037,7 +2023,7 @@ bool DataBase::updateTo004() bool DataBase::updateTo005() {// Updates the DB to 0.0.5 - //qDebug() << "DataBase::updateTo005: latestRead: " << getDBVersion() << endl; + //qDebug() << "DataBase::updateTo005: latestRead: " << getDBVersion() << endl; bool IAmIn005 = false; bool IAmIn004 = false; bool ErrorUpdating = false; @@ -2045,7 +2031,6 @@ bool DataBase::updateTo005() //QString dateString = (date.currentDateTime()).toString("yyyyMMdd"); QSqlQuery query; QMessageBox msgBox; - msgBox.setWindowTitle(QObject::tr("KLog - DB update")); msgBox.setIcon(QMessageBox::Information); //int errorCode; @@ -2054,28 +2039,28 @@ bool DataBase::updateTo005() if (latestReaded >= float(0.005)) { - //qDebug() << "DataBase::updateTo005 - Already in 005" << endl; + //qDebug() << "DataBase::updateTo005 - Already in 005" << endl; return true; } else { - //qDebug() << "DataBase::updateTo005 - 005 update false" << endl; + //qDebug() << "DataBase::updateTo005 - 005 update false" << endl; IAmIn005 = false; } while (!IAmIn005 && !ErrorUpdating) { - //qDebug() << "DataBase::updateTo005 - I am not in 005" << endl; + //qDebug() << "DataBase::updateTo005 - I am not in 005" << endl; while (!IAmIn004 && !ErrorUpdating) { - //qDebug() << "DataBase::updateTo005 - I am not in 004" << endl; + //qDebug() << "DataBase::updateTo005 - I am not in 004" << endl; IAmIn004 = updateTo004(); } - //qDebug() << "DataBase::updateTo005 - I am in 004" << endl; + //qDebug() << "DataBase::updateTo005 - I am in 004" << endl; if (ErrorUpdating) { - //qDebug() << "DataBase::updateTo005 - 005 update false2" << endl; + //qDebug() << "DataBase::updateTo005 - 005 update false2" << endl; return false; } sqlOk = updateDBVersion(softVersion, "0.005"); @@ -2084,7 +2069,7 @@ bool DataBase::updateTo005() { // Version updated if (recreateContestData()) { - //qDebug() << "DataBase::updateTo005 - recreateContestData OK" << endl; + //qDebug() << "DataBase::updateTo005 - recreateContestData OK" << endl; sqlOk = execQuery(Q_FUNC_INFO, "DROP table logs"); @@ -2092,7 +2077,7 @@ bool DataBase::updateTo005() if (!sqlOk) { //queryErrorManagement(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); - //qDebug() << "DataBase::updateTo005 - logs table do not created" << endl; + //qDebug() << "DataBase::updateTo005 - logs table do not created" << endl; } @@ -2111,7 +2096,7 @@ bool DataBase::updateTo005() { //queryErrorManagement(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); //showError(QObject::tr("QSOs not updated to main log")); - //qDebug() << "DataBase::updateTo005 - QSOs not updated to main log" << endl; + //qDebug() << "DataBase::updateTo005 - QSOs not updated to main log" << endl; } QString dateString = (QDate::currentDate()).toString("yyyy/MM/dd"); @@ -2145,8 +2130,8 @@ bool DataBase::updateTo005() { //queryErrorManagement(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); //showError(QObject::tr("New Log not created")); - //qDebug() << "DataBase::updateTo005 - New Log not created" << endl; - //qDebug() << "DataBase::clearLog: Log deleted FAILED" << endl; + //qDebug() << "DataBase::updateTo005 - New Log not created" << endl; + //qDebug() << "DataBase::clearLog: Log deleted FAILED" << endl; } } else @@ -2158,32 +2143,32 @@ bool DataBase::updateTo005() } else { - //qDebug() << "DataBase::updateTo005 - recreateContestData FAILED" << endl; + //qDebug() << "DataBase::updateTo005 - recreateContestData FAILED" << endl; ErrorUpdating = true; } } else { // Version not updated - //qDebug() << "DataBase::updateTo005 - 005 update false6" << endl; + //qDebug() << "DataBase::updateTo005 - 005 update false6" << endl; ErrorUpdating = true; } } - //qDebug() << "DataBase::updateTo005 - 005 updated 3" << endl; + //qDebug() << "DataBase::updateTo005 - 005 updated 3" << endl; //TODO: Delete the table and recreate it if (IAmIn005) { - msgBox.setText(QObject::tr("All the data was migrated correctly. You should now go to Setup->Preferences->Logs to check that everything is okay.")); + msgBox.setText(QObject::tr("All the data was migrated correctly. You should now go to Setup->Preferences->Logs to check that everything is OK.")); msgBox.exec(); } - //qDebug() << "DataBase::updateTo005 - I am in 005 already!! " << endl; - //qDebug() << "DataBase::updateTo005: UPDATED OK!" << endl; + //qDebug() << "DataBase::updateTo005 - I am in 005 already!! " << endl; + //qDebug() << "DataBase::updateTo005: UPDATED OK!" << endl; return IAmIn005; } bool DataBase::recreateSatelliteData() { - //qDebug() << "DataBase::recreateSatelliteData" << endl; + //qDebug() << "DataBase::recreateSatelliteData" << endl; QSqlQuery query; if (isTheTableExisting("satellites")) @@ -2192,17 +2177,17 @@ bool DataBase::recreateSatelliteData() { if (createTableSatellites(true)) { - //qDebug() << "DataBase::recreateSatelliteData SAT table created" << endl; + //qDebug() << "DataBase::recreateSatelliteData SAT table created" << endl; return populateTableSatellites(true); } else { - //qDebug() << "DataBase::recreateSatelliteData SAT table NOT created" << endl; + //qDebug() << "DataBase::recreateSatelliteData SAT table NOT created" << endl; } } else { - //qDebug() << "DataBase::recreateSatelliteData execQuery FAILED" << endl; + //qDebug() << "DataBase::recreateSatelliteData execQuery FAILED" << endl; } } @@ -2210,23 +2195,23 @@ bool DataBase::recreateSatelliteData() { if (createTableSatellites(true)) { - //qDebug() << "DataBase::recreateSatelliteData SAT table created" << endl; + //qDebug() << "DataBase::recreateSatelliteData SAT table created" << endl; return populateTableSatellites(true); } else { - //qDebug() << "DataBase::recreateSatelliteData SAT table NOT created" << endl; + //qDebug() << "DataBase::recreateSatelliteData SAT table NOT created" << endl; } } - //qDebug() << "DataBase::recreateSatelliteData END FALSE" << endl; + //qDebug() << "DataBase::recreateSatelliteData END FALSE" << endl; return false; } bool DataBase::recreateContestData() { - //qDebug() << "DataBase::recreateContestData" << endl; + //qDebug() << "DataBase::recreateContestData" << endl; if (isTheTableExisting("contest")) { QSqlQuery query; @@ -2252,7 +2237,7 @@ bool DataBase::recreateContestData() bool DataBase::recreateSupportedContest() { - //qDebug() << "DataBase::recreateSupportedContest" << endl; + //qDebug() << "DataBase::recreateSupportedContest" << endl; execQuery(Q_FUNC_INFO, "DROP TABLE IF exists supportedcontests"); if (isTheTableExisting("supportedcontests")) @@ -2262,15 +2247,15 @@ bool DataBase::recreateSupportedContest() sqlOk = execQuery(Q_FUNC_INFO, "DROP TABLE supportedcontests"); if (sqlOk) { - //qDebug() << "DataBase::recreateSupportedContest SQLOK" << endl; + //qDebug() << "DataBase::recreateSupportedContest SQLOK" << endl; if (createTableSupportedContest()) { - //qDebug() << "DataBase::recreateSupportedContest - createTable OK" << endl; + //qDebug() << "DataBase::recreateSupportedContest - createTable OK" << endl; return populateTableSupportedContest(); } else { - //qDebug() << "DataBase::recreateSupportedContest createTableSupportContest FALSE" << endl; + //qDebug() << "DataBase::recreateSupportedContest createTableSupportContest FALSE" << endl; return false; } } @@ -2283,84 +2268,84 @@ bool DataBase::recreateSupportedContest() { if (createTableSupportedContest()) { - //qDebug() << "DataBase::recreateSupportedContest - createTable OK" << endl; + //qDebug() << "DataBase::recreateSupportedContest - createTable OK" << endl; return populateTableSupportedContest(); } else { - //qDebug() << "DataBase::recreateSupportedContest createTableSupportContest FALSE" << endl; + //qDebug() << "DataBase::recreateSupportedContest createTableSupportContest FALSE" << endl; return false; } } - //qDebug() << "DataBase::recreateSupportedContest - FALSE end" << endl; + //qDebug() << "DataBase::recreateSupportedContest - FALSE end" << endl; return false; } bool DataBase::recreatePropModes() { - //qDebug() << "DataBase::recreatePropModes" << endl; + //qDebug() << "DataBase::recreatePropModes" << endl; if (isTheTableExisting("prop_mode_enumeration")) { - //qDebug() << "DataBase::recreatePropModes: Table Exist" << endl; + //qDebug() << "DataBase::recreatePropModes: Table Exist" << endl; bool sqlOk = false; sqlOk = execQuery(Q_FUNC_INFO, "DROP TABLE prop_mode_enumeration"); if (sqlOk) { - //qDebug() << "DataBase::recreatePropModes SQLOK" << endl; + //qDebug() << "DataBase::recreatePropModes SQLOK" << endl; if (createTablePropModes()) { - //qDebug() << "DataBase::recreatePropModes - createTable OK" << endl; + //qDebug() << "DataBase::recreatePropModes - createTable OK" << endl; if (populatePropagationModes()) { - //qDebug() << "DataBase::recreatePropModes - populatePropModes OK" << endl; + //qDebug() << "DataBase::recreatePropModes - populatePropModes OK" << endl; return true; } else { - //qDebug() << "DataBase::recreatePropModes - populatePropModes NOK" << endl; + //qDebug() << "DataBase::recreatePropModes - populatePropModes NOK" << endl; return false; } } else { - //qDebug() << "DataBase::recreatePropModes createTableSupportContest FALSE-1" << endl; + //qDebug() << "DataBase::recreatePropModes createTableSupportContest FALSE-1" << endl; return false; } } else { //queryErrorManagement(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); - //qDebug() << "DataBase::recreatePropModes - prop_mode_enumeration table has not been dropped" << endl; - //qDebug() << "DataBase::recreatePropModes : Table creation FAILED" << endl; + //qDebug() << "DataBase::recreatePropModes - prop_mode_enumeration table has not been dropped" << endl; + //qDebug() << "DataBase::recreatePropModes : Table creation FAILED" << endl; } } else { - //qDebug() << "DataBase::recreatePropModes: Table does NOT Exist" << endl; + //qDebug() << "DataBase::recreatePropModes: Table does NOT Exist" << endl; if (createTablePropModes()) { - //qDebug() << "DataBase::recreatePropModes - createTable OK" << endl; + //qDebug() << "DataBase::recreatePropModes - createTable OK" << endl; if (populatePropagationModes()) { - //qDebug() << "DataBase::recreatePropModes - populatePropModes OK" << endl; + //qDebug() << "DataBase::recreatePropModes - populatePropModes OK" << endl; return true; } else { - //qDebug() << "DataBase::recreatePropModes - populatePropModes NOK" << endl; + //qDebug() << "DataBase::recreatePropModes - populatePropModes NOK" << endl; return false; } } else { - //qDebug() << "DataBase::recreatePropModes createTableSupportContest FALSE-2" << endl; + //qDebug() << "DataBase::recreatePropModes createTableSupportContest FALSE-2" << endl; } } - //qDebug() << "DataBase::recreatePropModes - FALSE end" << endl; + //qDebug() << "DataBase::recreatePropModes - FALSE end" << endl; return false; } @@ -2369,18 +2354,18 @@ bool DataBase::createTableLogs(const bool real) { // NoTmp = false => TMP data table to operate and be deleted afterwards //Creating the Sats DB to be able to include satellites to the LOTW - //qDebug() << "DataBase::createTableLogs" << endl; + //qDebug() << "DataBase::createTableLogs" << endl; QString stringQuery = QString(); //QSqlQuery query; if (real) { - //qDebug() << "DataBase::createTableLogs - logs" << endl; + //qDebug() << "DataBase::createTableLogs - logs" << endl; stringQuery = "CREATE TABLE logs" ; } else { - //qDebug() << "DataBase::createTableLogs - logstemp" << endl; + //qDebug() << "DataBase::createTableLogs - logstemp" << endl; stringQuery = "CREATE TABLE logstemp" ; } @@ -2396,7 +2381,7 @@ bool DataBase::createTableLogs(const bool real) - //qDebug() << "DataBase::createTableLogs - END" << endl; + //qDebug() << "DataBase::createTableLogs - END" << endl; return execQuery(Q_FUNC_INFO, stringQuery); @@ -2406,7 +2391,7 @@ bool DataBase::createTableLogs(const bool real) bool DataBase::createTablePropModes() { - //qDebug() << "DataBase::createTablePropModes" << endl; + //qDebug() << "DataBase::createTablePropModes" << endl; execQuery(Q_FUNC_INFO, "DROP TABLE IF exists prop_mode_enumeration"); return execQuery(Q_FUNC_INFO, "CREATE TABLE prop_mode_enumeration (id INTEGER PRIMARY KEY AUTOINCREMENT, shortname VARCHAR(8), name VARCHAR(55) )"); @@ -2415,7 +2400,7 @@ bool DataBase::createTablePropModes() bool DataBase::createTableSupportedContest() { - //qDebug() << "DataBase::createTableSupportedContest" << endl; + //qDebug() << "DataBase::createTableSupportedContest" << endl; execQuery(Q_FUNC_INFO, "DROP TABLE IF exists supportedcontests"); @@ -2428,7 +2413,7 @@ bool DataBase::createTableSupportedContest() bool DataBase::createTableContest() { - //qDebug() << "DataBase::createTableContest" << endl; + //qDebug() << "DataBase::createTableContest" << endl; //QSqlQuery query; createTableSupportedContest(); @@ -2509,14 +2494,14 @@ bool DataBase::createTableContest() execQuery(Q_FUNC_INFO, "INSERT INTO contestcatmode (id, name) VALUES ('2', 'CW')"); execQuery(Q_FUNC_INFO, "INSERT INTO contestcatmode (id, name) VALUES ('3', 'MIXED')"); - //qDebug() << "DataBase::createTableContest END" << endl; + //qDebug() << "DataBase::createTableContest END" << endl; return true; } bool DataBase::populateTableSupportedContest() { - //qDebug() << "DataBase::populateTableSupportedContest" << endl; + //qDebug() << "DataBase::populateTableSupportedContest" << endl; // ADDING ALL THE CATEGORIES OPTIONS return execQuery(Q_FUNC_INFO, "INSERT INTO supportedcontests (id, longname, name) VALUES ('0', 'Normal log', 'DX')"); @@ -2545,7 +2530,7 @@ bool DataBase::populateTableQSL_Via_enumeration() bool DataBase::createTableMode(const bool NoTmp) { // NoTmp = false => TMP data table to operate and be deleted afterwards - //qDebug() << "DataBase::createTableMode" << endl; + //qDebug() << "DataBase::createTableMode" << endl; QString stringQuery = QString(); QSqlQuery query; if (NoTmp) @@ -2563,7 +2548,7 @@ bool DataBase::createTableMode(const bool NoTmp) "submode VARCHAR(40) NOT NULL, " "deprecated VARCHAR(1) NOT NULL)"); - //qDebug() << "DataBase::createTableMode END" << endl; + //qDebug() << "DataBase::createTableMode END" << endl; return execQuery(Q_FUNC_INFO, stringQuery); @@ -2571,7 +2556,7 @@ bool DataBase::createTableMode(const bool NoTmp) bool DataBase::populateTableMode(const bool NoTmp) { - //qDebug() << "DataBase::populateTableMode" << endl; + //qDebug() << "DataBase::populateTableMode" << endl; //QSqlQuery query; QString tableName = QString(); QString squery = QString(); @@ -2591,13 +2576,13 @@ bool DataBase::populateTableMode(const bool NoTmp) if (!sqlOK) { //queryErrorManagement(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); - //qDebug() << "DataBase::populateTableMode: Mode table population FAILED" << endl; + //qDebug() << "DataBase::populateTableMode: Mode table population FAILED" << endl; //errorCode = query.lastError().number(); } else { - //qDebug() << "DataBase::populateTableMode: Mode table population OK" << endl; + //qDebug() << "DataBase::populateTableMode: Mode table population OK" << endl; } execQuery(Q_FUNC_INFO, QString("INSERT INTO %1 (submode, name, cabrillo, deprecated) VALUES ('ARDOP', 'ARDOP', 'NO', '0')").arg(tableName)); @@ -2748,7 +2733,7 @@ bool DataBase::populateTableMode(const bool NoTmp) createTheModeQuickReference(); - //qDebug() << "DataBase::populateTableMode END" << endl; + //qDebug() << "DataBase::populateTableMode END" << endl; return true; } @@ -2757,7 +2742,7 @@ bool DataBase::createTableSatellites(const bool NoTmp) { // NoTmp = false => TMP data table to operate and be deleted afterwards //Creating the Sats DB to be able to include satellites to the LOTW - //qDebug() << "DataBase::createTableSatellites" << endl; + //qDebug() << "DataBase::createTableSatellites" << endl; // The satmode column has the following format: {Up/down-mode;Up/down-mode} // this way we can implement several freqs/modes per sat @@ -2814,7 +2799,7 @@ bool DataBase::createTableSatellites(const bool NoTmp) } */ - //qDebug() << "DataBase::createTableSatellites END" << endl; + //qDebug() << "DataBase::createTableSatellites END" << endl; //return sqlOK; } @@ -2823,7 +2808,7 @@ bool DataBase::populateTableSatellites(const bool NoTmp) { // Data must come from: // https://lotw.arrl.org/lotw-help/frequently-asked-questions/#sats - //qDebug() << "DataBase::populateTableSatellites" << endl; + //qDebug() << "DataBase::populateTableSatellites" << endl; //QSqlQuery query; QString tableName = QString(); @@ -2877,10 +2862,10 @@ bool DataBase::populateTableSatellites(const bool NoTmp) execQuery(Q_FUNC_INFO, QString("INSERT INTO %1 (satarrlid, satname, uplink, downlink, satmode) VALUES ('IO-86', 'Indonesia OSCAR 86 (LAPAN-ORARI)', '435.880', '145.880', 'FM')").arg(tableName)); execQuery(Q_FUNC_INFO, QString("INSERT INTO %1 (satarrlid, satname, uplink, downlink, satmode) VALUES ('LO-19', 'Lusat-OSCAR 19', '145.840-145.900', '437.125-437.150', 'CW')").arg(tableName)); execQuery(Q_FUNC_INFO, QString("INSERT INTO %1 (satarrlid, satname, uplink, downlink, satmode) VALUES ('LO-78', 'LituanicaSAT-1', '145.95,145.85', '435.1755,437.543', 'FM,PKT')").arg(tableName)); - execQuery(Q_FUNC_INFO, QString("INSERT INTO %1 (satarrlid, satname, uplink, downlink, satmode) VALUES ('LO-87', 'LUSEX-OSCAR 87', '435.935-435.965', '145.935-145.965', 'LSB/USB')").arg(tableName)); + execQuery(Q_FUNC_INFO, QString("INSERT INTO %1 (satarrlid, satname, uplink, downlink, satmode) VALUES ('LO-87', 'LUSEX-OSCAR 87', '435.935-435.965', '145.935-145.965' 'LSB/USB')").arg(tableName)); execQuery(Q_FUNC_INFO, QString("INSERT INTO %1 (satarrlid, satname, uplink, downlink, satmode) VALUES ('MIREX', 'Mir packet digipeater', '145.985', '145.985', 'PKT')").arg(tableName)); execQuery(Q_FUNC_INFO, QString("INSERT INTO %1 (satarrlid, satname, uplink, downlink, satmode) VALUES ('NO-44', 'Navy-OSCAR 44', '145.827', '145.827', 'PKT')").arg(tableName)); - execQuery(Q_FUNC_INFO, QString("INSERT INTO %1 (satarrlid, satname, uplink, downlink, satmode) VALUES ('NO-83', 'BRICsat','145.825,28.120', '145.825,435.975', 'PKT,PSK31')").arg(tableName)); + execQuery(Q_FUNC_INFO, QString("INSERT INTO %1 (satarrlid, satname, uplink, downlink, satmode) VALUES ('NO-83', 'BRICsat','145.825,28.120', '145.825,435.975' 'PKT,PSK31')").arg(tableName)); execQuery(Q_FUNC_INFO, QString("INSERT INTO %1 (satarrlid, satname, uplink, downlink, satmode) VALUES ('NO-84', 'PSAT', '145.825,28.120', '435.350', 'PKT,PSK31')").arg(tableName)); execQuery(Q_FUNC_INFO, QString("INSERT INTO %1 (satarrlid, satname, uplink, downlink, satmode) VALUES ('RS-1', 'Radio Sputnik 1', '145', '29', '')").arg(tableName)); execQuery(Q_FUNC_INFO, QString("INSERT INTO %1 (satarrlid, satname, uplink, downlink, satmode) VALUES ('RS-10', 'Radio Sputnik 10', '','29.357,29.403', '')").arg(tableName)); @@ -2914,13 +2899,13 @@ bool DataBase::populateTableSatellites(const bool NoTmp) execQuery(Q_FUNC_INFO, QString("INSERT INTO %1 (satarrlid, satname, uplink, downlink, satmode) VALUES ('QO-100', 'Es''hail-2', '2400.050-2409.500', '10489.550-10499.000', 'SSB,CW')").arg(tableName)); - //qDebug() << "DataBase::populateTableSatellites - END" << endl; + //qDebug() << "DataBase::populateTableSatellites - END" << endl; return true; } bool DataBase::createTableEntity(const bool NoTmp) { // NoTmp = false => TMP data table to operate and be deleted afterwards - //qDebug() << "DataBase::createTableEntity" << endl; + //qDebug() << "DataBase::createTableEntity" << endl; QString stringQuery = QString(); //QSqlQuery query; @@ -2950,7 +2935,7 @@ bool DataBase::createTableEntity(const bool NoTmp) "UNIQUE (dxcc, mainprefix), " "FOREIGN KEY (continent) REFERENCES continent(shortname) )"); - //qDebug() << "DataBase::createTableEntity END" << endl; + //qDebug() << "DataBase::createTableEntity END" << endl; return execQuery(Q_FUNC_INFO, stringQuery); @@ -2962,7 +2947,7 @@ bool DataBase::createTableEntity(const bool NoTmp) bool DataBase::createTableBand(const bool NoTmp) { // NoTmp = false => TMP data table to operate and be deleted afterwards - //qDebug() << "DataBase::createTableBand" << endl; + //qDebug() << "DataBase::createTableBand" << endl; QString stringQuery = QString(); //QSqlQuery query; if (NoTmp) @@ -2981,7 +2966,7 @@ bool DataBase::createTableBand(const bool NoTmp) "name VARCHAR(40) NOT NULL, " "UNIQUE (lower, upper, cabrillo, name) )"); - //qDebug() << "DataBase::createTableBand END" << endl; + //qDebug() << "DataBase::createTableBand END" << endl; return execQuery(Q_FUNC_INFO, stringQuery); } @@ -2992,7 +2977,7 @@ bool DataBase::populateTableBand(const bool NoTmp) { // Cabrillo definition: http://wwrof.org/cabrillo/cabrillo-specification-v3/ - //qDebug() << "DataBase::populateTableBand" << endl; + //qDebug() << "DataBase::populateTableBand" << endl; QString tableName = QString(); @@ -3042,7 +3027,7 @@ bool DataBase::populateTableBand(const bool NoTmp) createTheBandQuickReference(); - //qDebug() << "DataBase::populateTableBand END" << endl; + //qDebug() << "DataBase::populateTableBand END" << endl; return true; } @@ -3050,7 +3035,7 @@ bool DataBase::populateTableBand(const bool NoTmp) bool DataBase::populatePropagationModes() { - //qDebug() << "DataBase::populatePropagationModes" << endl; + //qDebug() << "DataBase::populatePropagationModes" << endl; //QSqlQuery query; execQuery(Q_FUNC_INFO, QString("INSERT INTO prop_mode_enumeration (shortname, name) VALUES ('AS', 'Aircraft Scatter')")); @@ -3072,14 +3057,14 @@ bool DataBase::populatePropagationModes() execQuery(Q_FUNC_INFO, QString("INSERT INTO prop_mode_enumeration (shortname, name) VALUES ('TEP', 'Trans-equatorial')")); execQuery(Q_FUNC_INFO, QString("INSERT INTO prop_mode_enumeration (shortname, name) VALUES ('TR', 'Tropospheric ducting')")); - //qDebug() << "DataBase::populatePropagationModes END" << endl; + //qDebug() << "DataBase::populatePropagationModes END" << endl; return true; } bool DataBase::populateContestData() { - //qDebug() << "DataBase::populateContestData" << endl; + //qDebug() << "DataBase::populateContestData" << endl; @@ -3140,13 +3125,13 @@ bool DataBase::populateContestData() // CQ WW DX SSB END */ - //qDebug() << "DataBase::populateContestData END" << endl; + //qDebug() << "DataBase::populateContestData END" << endl; return true; } bool DataBase::howManyQSOsInLog(const int i) { - //qDebug() << "DataBase::howManyQSOsInLog" << endl; + //qDebug() << "DataBase::howManyQSOsInLog" << endl; QSqlQuery query; QString sqlQueryString = QString("SELECT COUNT(id) from log WHERE lognumber='%1'").arg(i); @@ -3157,12 +3142,12 @@ bool DataBase::howManyQSOsInLog(const int i) query.next(); if (query.isValid()) { - //qDebug() << "DataBase::howManyQSOsInLog OK END" << endl; + //qDebug() << "DataBase::howManyQSOsInLog OK END" << endl; return (query.value(0)).toInt(); } else { - //qDebug() << "DataBase::howManyQSOsInLog END-1" << endl; + //qDebug() << "DataBase::howManyQSOsInLog END-1" << endl; query.finish(); return false; } @@ -3171,7 +3156,7 @@ bool DataBase::howManyQSOsInLog(const int i) { queryErrorManagement(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); query.finish(); - //qDebug() << "DataBase::howManyQSOsInLog END-2" << endl; + //qDebug() << "DataBase::howManyQSOsInLog END-2" << endl; return false; } //query.finish(); @@ -3181,7 +3166,7 @@ bool DataBase::howManyQSOsInLog(const int i) bool DataBase::updateTo006() {// Updates the DB to 0.0.6 - //qDebug() << "DataBase::updateTo006: latestRead: " << getDBVersion() << endl; + //qDebug() << "DataBase::updateTo006: latestRead: " << getDBVersion() << endl; bool IAmIn006 = false; bool IAmIn005 = false; bool ErrorUpdating = false; @@ -3201,16 +3186,16 @@ bool DataBase::updateTo006() while (!IAmIn006 && !ErrorUpdating) { - //qDebug() << "DataBase::updateTo006: - Still not in 006" << endl; + //qDebug() << "DataBase::updateTo006: - Still not in 006" << endl; while (!IAmIn005 && !ErrorUpdating) { - //qDebug() << "DataBase::updateTo006: - And still not in 005" << endl; + //qDebug() << "DataBase::updateTo006: - And still not in 005" << endl; IAmIn005 = updateTo005(); } - //qDebug() << "DataBase::updateTo006: - Already in 005" << endl; + //qDebug() << "DataBase::updateTo006: - Already in 005" << endl; if (ErrorUpdating) { - //qDebug() << "DataBase::updateTo006: UPDATED NOK!(0)" << endl; + //qDebug() << "DataBase::updateTo006: UPDATED NOK!(0)" << endl; return false; } @@ -3218,31 +3203,31 @@ bool DataBase::updateTo006() if(sqlOk) { - //qDebug() << "DataBase::updateTo006: - DB Updated" << endl; + //qDebug() << "DataBase::updateTo006: - DB Updated" << endl; sqlOk = recreatePropModes(); if(sqlOk) { - //qDebug() << "DataBase::updateTo006: - recreatePropModes OK" << endl; + //qDebug() << "DataBase::updateTo006: - recreatePropModes OK" << endl; sqlOk = updateTableLog(6); // We copy the log into logtemp } else { - //qDebug() << "DataBase::updateTo006: - recreatePropModes NOK" << endl; + //qDebug() << "DataBase::updateTo006: - recreatePropModes NOK" << endl; ErrorUpdating = true; IAmIn006 = false; - //qDebug() << "DataBase::updateTo006: UPDATED NOK!(1)" << endl; + //qDebug() << "DataBase::updateTo006: UPDATED NOK!(1)" << endl; return false; } sqlOk = createTableBand(false); // We create the bandTemp if (sqlOk) { - //qDebug() << "DataBase::updateTo006: - createTableBand OK" << endl; + //qDebug() << "DataBase::updateTo006: - createTableBand OK" << endl; } else { - //qDebug() << "DataBase::updateTo006: UPDATED NOK!(2)" << endl; + //qDebug() << "DataBase::updateTo006: UPDATED NOK!(2)" << endl; ErrorUpdating = true; //return false; } @@ -3250,44 +3235,44 @@ bool DataBase::updateTo006() sqlOk = populateTableBand(false); // Populate the bandTemp if (sqlOk) { - //qDebug() << "DataBase::updateTo006: - populateTableBand OK" << endl; + //qDebug() << "DataBase::updateTo006: - populateTableBand OK" << endl; } else { - //qDebug() << "DataBase::updateTo006: UPDATED NOK!(3)" << endl; + //qDebug() << "DataBase::updateTo006: UPDATED NOK!(3)" << endl; ErrorUpdating = true; } sqlOk = updateBandIdTableLogToNewOnes(); if (sqlOk) { - //qDebug() << "DataBase::updateTo006: - updateBandIdTableLogToNewOnes OK" << endl; + //qDebug() << "DataBase::updateTo006: - updateBandIdTableLogToNewOnes OK" << endl; } else { - //qDebug() << "DataBase::updateTo006: UPDATED NOK!(4)" << endl; + //qDebug() << "DataBase::updateTo006: UPDATED NOK!(4)" << endl; ErrorUpdating = true; } sqlOk = updateBandIdTableAward(1); // DXCC if (sqlOk) { - //qDebug() << "DataBase::updateTo006: - updateBandIdTableAward 1 OK" << endl; + //qDebug() << "DataBase::updateTo006: - updateBandIdTableAward 1 OK" << endl; } else { - //qDebug() << "DataBase::updateTo006: UPDATED NOK!(5)" << endl; + //qDebug() << "DataBase::updateTo006: UPDATED NOK!(5)" << endl; ErrorUpdating = true; } sqlOk = updateBandIdTableAward(2); // WAZ if (sqlOk) { - //qDebug() << "DataBase::updateTo006: - updateBandIdTableAward 2 OK" << endl; + //qDebug() << "DataBase::updateTo006: - updateBandIdTableAward 2 OK" << endl; } else { - //qDebug() << "DataBase::updateTo006: UPDATED NOK!(6)" << endl; + //qDebug() << "DataBase::updateTo006: UPDATED NOK!(6)" << endl; ErrorUpdating = true; } @@ -3296,79 +3281,79 @@ bool DataBase::updateTo006() { if (execQuery(Q_FUNC_INFO, "ALTER TABLE bandtemp RENAME TO band")) { - //qDebug() << "DataBase::updateTo006 - bandtemp renamed" << endl; + //qDebug() << "DataBase::updateTo006 - bandtemp renamed" << endl; } else { - //qDebug() << "DataBase::updateTo006 - ERROR - bandtemp not renamed" << endl; + //qDebug() << "DataBase::updateTo006 - ERROR - bandtemp not renamed" << endl; ErrorUpdating = true; - //qDebug() << "DataBase::updateTo006: UPDATED NOK!(7)" << endl; + //qDebug() << "DataBase::updateTo006: UPDATED NOK!(7)" << endl; } } else { - //qDebug() << "DataBase::updateTo006 - ERROR - bandtemp not dropped" << endl; + //qDebug() << "DataBase::updateTo006 - ERROR - bandtemp not dropped" << endl; ErrorUpdating = true; IAmIn006 = false; - //qDebug() << "DataBase::updateTo006: UPDATED NOK!(8)" << endl; + //qDebug() << "DataBase::updateTo006: UPDATED NOK!(8)" << endl; ErrorUpdating = true; } sqlOk = updateTheModeTableAndSyncLog(); if (sqlOk) { - //qDebug() << "DataBase::updateTo006: - updateTheModeTableAndSyncLog OK" << endl; + //qDebug() << "DataBase::updateTo006: - updateTheModeTableAndSyncLog OK" << endl; } else { - //qDebug() << "DataBase::updateTo006: UPDATED NOK!(9)" << endl; + //qDebug() << "DataBase::updateTo006: UPDATED NOK!(9)" << endl; ErrorUpdating = true; } sqlOk = createTableClubLogStatus(); if (sqlOk) { - //qDebug() << "DataBase::updateTo006: - createTableClubLogStatus OK" << endl; + //qDebug() << "DataBase::updateTo006: - createTableClubLogStatus OK" << endl; sqlOk = populateTableClubLogStatus(); if (sqlOk) { - //qDebug() << "DataBase::updateTo006: - populateTableClubLogStatus OK" << endl; + //qDebug() << "DataBase::updateTo006: - populateTableClubLogStatus OK" << endl; } else { - //qDebug() << "DataBase::updateTo006: UPDATED NOK!(10)" << endl; + //qDebug() << "DataBase::updateTo006: UPDATED NOK!(10)" << endl; ErrorUpdating = true; } } else { - //qDebug() << "DataBase::updateTo006: UPDATED NOK!(11)" << endl; + //qDebug() << "DataBase::updateTo006: UPDATED NOK!(11)" << endl; ErrorUpdating = true; } } else {// Version not updated - //qDebug() << "DataBase::updateTo006: - DB NOT Updated" << endl; + //qDebug() << "DataBase::updateTo006: - DB NOT Updated" << endl; ErrorUpdating = true; IAmIn006 = false; - //qDebug() << "DataBase::updateTo006: UPDATED NOK!(12)" << endl; + //qDebug() << "DataBase::updateTo006: UPDATED NOK!(12)" << endl; ErrorUpdating = true; } - //qDebug() << "DataBase::updateTo006: - IAmIn006 = TRUE" << endl; + //qDebug() << "DataBase::updateTo006: - IAmIn006 = TRUE" << endl; IAmIn006 = true; } //DO ALL THE TASKS TO BE IN 0.006 from 0.005 HERE and set ErrorUpdating if it is not possible. - //qDebug() << "DataBase::updateTo006 - I am in 006 " << endl; - //qDebug() << "DataBase::updateTo006 - END " << endl; - //qDebug() << "DataBase::updateTo006: UPDATED OK!" << endl; + //qDebug() << "DataBase::updateTo006 - I am in 006 " << endl; + //qDebug() << "DataBase::updateTo006 - END " << endl; + //qDebug() << "DataBase::updateTo006: UPDATED OK!" << endl; return IAmIn006; } bool DataBase::updateTableLog(const int _v) { - //qDebug() << "DataBase::updateTableLog " << endl; + //qDebug() << "DataBase::updateTableLog " << endl; createTableLog(false); QString queryString; switch (_v) @@ -3378,47 +3363,47 @@ bool DataBase::updateTableLog(const int _v) queryString = QString ("INSERT INTO logtemp (qso_date, time_on, call, rst_sent, rst_rcvd, bandid, modeid, srx, stx, points, multiplier, cqz, ituz, dxcc, address, age, cnty, comment, a_index, ant_az, ant_el, ant_path, arrl_sect, band_rx, checkcontest, class, contacted_op, contest_id, country, credit_submitted, credit_granted, distance, email, eq_call, eqsl_qslrdate, eqsl_qslsdate, eqsl_qsl_rcvd, eqsl_qsl_sent, force_init, freq, freq_rx, gridsquare, iota, iota_island_id, k_index, lat, lon, lotw_qslrdate, lotw_qslsdate, lotw_qsl_rcvd, lotw_qsl_sent, max_bursts, ms_shower, my_city, my_cnty, my_country, my_cq_zone, my_gridsquare, my_iota, my_iota_island_id, my_lat, my_lon, my_name, my_rig, my_sig, my_sig_info, my_state, my_street, name, notes, nr_bursts, nr_pings, operator, owner_callsign, pfx, precedence, prop_mode, public_key, qslmsg, qslrdate, qslsdate, qsl_rcvd, qsl_sent, qsl_rcvd_via, qsl_sent_via, qsl_via, qso_complete, qso_random, qth, rx_pwr, sat_mode, sat_name, sfi, sig, sig_info, srx_string, stx_string, state, station_callsign, swl, ten_ten, tx_pwr, web, qso_date_off, time_off, transmiterid, marked, lognumber) SELECT qso_date, time_on, call, rst_sent, rst_rcvd, bandid, modeid, srx, stx, points, multiplier, cqz, ituz, dxcc, address, age, cnty, comment, a_index, ant_az, ant_el, ant_path, arrl_sect, band_rx, checkcontest, class, contacted_op, contest_id, country, credit_submitted, credit_granted, distance, email, eq_call, eqsl_qslrdate, eqsl_qslsdate, eqsl_qsl_rcvd, eqsl_qsl_sent, force_init, freq, freq_rx, gridsquare, iota, iota_island_id, k_index, lat, lon, lotw_qslrdate, lotw_qslsdate, lotw_qsl_rcvd, lotw_qsl_sent, max_bursts, ms_shower, my_city, my_cnty, my_country, my_cq_zone, my_gridsquare, my_iota, my_iota_island_id, my_lat, my_lon, my_name, my_rig, my_sig, my_sig_info, my_state, my_street, name, notes, nr_bursts, nr_pings, operator, owner_callsign, pfx, precedence, prop_mode, public_key, qslmsg, qslrdate, qslsdate, qsl_rcvd, qsl_sent, qsl_rcvd_via, qsl_sent_via, qsl_via, qso_complete, qso_random, qth, rx_pwr, sat_mode, sat_name, sfi, sig, sig_info, srx_string, stx_string, state, station_callsign, swl, ten_ten, tx_pwr, web, qso_date_off, time_off, transmiterid, marked, lognumber FROM log"); break; default: - //qDebug() << "DataBase::updateTableLog FALSE END" << endl; + //qDebug() << "DataBase::updateTableLog FALSE END" << endl; return false; //break; } if (execQuery(Q_FUNC_INFO, queryString)) { - //qDebug() << "DataBase::updateTableLog: " << QString::number(_v) << " - Query executed" << endl; + //qDebug() << "DataBase::updateTableLog: " << QString::number(_v) << " - Query executed" << endl; queryString = "DROP TABLE log"; if (execQuery(Q_FUNC_INFO, queryString)) { - //qDebug() << "DataBase::updateTableLog: " << QString::number(_v) << " - Table log dropped" << endl; + //qDebug() << "DataBase::updateTableLog: " << QString::number(_v) << " - Table log dropped" << endl; queryString = "ALTER TABLE logtemp RENAME TO log" ; if (execQuery(Q_FUNC_INFO, queryString)) { - //qDebug() << "DataBase::updateTableLog: " << QString::number(_v) << " - tmp renamed - END" << endl; + //qDebug() << "DataBase::updateTableLog: " << QString::number(_v) << " - tmp renamed - END" << endl; return true; } else { - //qDebug() << "DataBase::updateTableLog: " << QString::number(_v) << " - Renaming failed" << endl; + //qDebug() << "DataBase::updateTableLog: " << QString::number(_v) << " - Renaming failed" << endl; } } else { - //qDebug() << "DataBase::updateTableLog: " << QString::number(_v) << " - Table log Not dropped" << endl; + //qDebug() << "DataBase::updateTableLog: " << QString::number(_v) << " - Table log Not dropped" << endl; } } else { - //qDebug() << "DataBase::updateTableLog: " << QString::number(_v) << " - query failed" << endl; + //qDebug() << "DataBase::updateTableLog: " << QString::number(_v) << " - query failed" << endl; } - //qDebug() << "DataBase::updateTableLog END" << endl; + //qDebug() << "DataBase::updateTableLog END" << endl; return false; } bool DataBase::createTableClubLogStatus() { - //qDebug() << "createTableClubLogStatus" << endl; + //qDebug() << "createTableClubLogStatus" << endl; execQuery(Q_FUNC_INFO, "DROP TABLE IF exists clublog_status"); QString queryString = QString("CREATE TABLE clublog_status (" @@ -3432,7 +3417,7 @@ bool DataBase::createTableClubLogStatus() bool DataBase::populateTableClubLogStatus() { - //qDebug() << "populateTableClubLogStatus" << endl; + //qDebug() << "populateTableClubLogStatus" << endl; QString queryString = "INSERT INTO clublog_status (shortname, name) VALUES ('Y', 'Uploaded')"; @@ -3443,12 +3428,12 @@ bool DataBase::populateTableClubLogStatus() if (execQuery(Q_FUNC_INFO, queryString)) { queryString = "INSERT INTO clublog_status (shortname, name) VALUES ('M', 'Modified')"; - //qDebug() << "populateTableClubLogStatus END" << endl; + //qDebug() << "populateTableClubLogStatus END" << endl; return execQuery(Q_FUNC_INFO, queryString); } } - //qDebug() << "populateTableClubLogStatus FALSE END" << endl; + //qDebug() << "populateTableClubLogStatus FALSE END" << endl; return false; } /* @@ -3460,7 +3445,7 @@ bool DataBase::moveFromModeIdToSubmodeId() bool DataBase::updateTableEntity() { - //qDebug() << "DataBase::updateTableEntity" << endl; + //qDebug() << "DataBase::updateTableEntity" << endl; bool result = false; QString stringQuery; bool sqlOk; @@ -3468,7 +3453,7 @@ bool DataBase::updateTableEntity() result = createTableEntity(false); // Now we have a temp entity table with the correct format if (result) { - //qDebug() << "DataBase::updateTableEntity: Table entitytemp created!" << endl; + //qDebug() << "DataBase::updateTableEntity: Table entitytemp created!" << endl; // Now we need to move all the data from the old to the temp entity table. stringQuery = QString("INSERT INTO entitytemp (name, cqz, ituz, continent, latitude, longitude, utc, dxcc, mainprefix, deleted, sincedate, todate) SELECT name, cqz, ituz, continent, latitude, longitude, utc, dxcc, mainprefix, deleted, sincedate, todate FROM entity"); @@ -3477,11 +3462,11 @@ bool DataBase::updateTableEntity() if (sqlOk) { - //qDebug() << "DataBase::updateTableEntity: Data copied from entity to entitytemp!" << endl; + //qDebug() << "DataBase::updateTableEntity: Data copied from entity to entitytemp!" << endl; stringQuery = "DROP TABLE entity"; if (execQuery(Q_FUNC_INFO, stringQuery)) { - //qDebug() << "DataBase::updateTableEntity: Table entity DELETED" << endl; + //qDebug() << "DataBase::updateTableEntity: Table entity DELETED" << endl; stringQuery = "ALTER TABLE entitytemp RENAME TO entity"; return execQuery(Q_FUNC_INFO, stringQuery); @@ -3494,7 +3479,7 @@ bool DataBase::updateTableEntity() } else { - //qDebug() << "DataBase::updateTableEntity: Data NOT copied from entity to entitytemp!" << endl; + //qDebug() << "DataBase::updateTableEntity: Data NOT copied from entity to entitytemp!" << endl; //TODO: If it fails, we should manage errors... return false; } @@ -3502,7 +3487,7 @@ bool DataBase::updateTableEntity() } else { - //qDebug() << "DataBase::updateTableEntity: Table entitytemp NOT created!" << endl; + //qDebug() << "DataBase::updateTableEntity: Table entitytemp NOT created!" << endl; return false; } @@ -3511,7 +3496,7 @@ bool DataBase::updateTableEntity() bool DataBase::updateTableLogs() { - //qDebug() << "DataBase::updateTableLogs" << endl; + //qDebug() << "DataBase::updateTableLogs" << endl; bool result = false; QString stringQuery; bool sqlOk; @@ -3520,7 +3505,7 @@ bool DataBase::updateTableLogs() if (result) { - //qDebug() << "DataBase::updateTableLogs: Table logstemp created!" << endl; + //qDebug() << "DataBase::updateTableLogs: Table logstemp created!" << endl; // Now we need to move all the data from the old to the temp logs table. stringQuery = QString("INSERT INTO logstemp (logdate, stationcall, comment, logtype, logtypen) SELECT logdate, stationcall, comment, logtype, logtypen FROM logs"); @@ -3529,18 +3514,18 @@ bool DataBase::updateTableLogs() if (sqlOk) { - //qDebug() << "DataBase::updateTableLogs: data copied" << endl; + //qDebug() << "DataBase::updateTableLogs: data copied" << endl; stringQuery = "DROP TABLE logs"; if (execQuery(Q_FUNC_INFO, stringQuery)) { - //qDebug() << "DataBase::updateTableLogs: Table logs DELETED" << endl; + //qDebug() << "DataBase::updateTableLogs: Table logs DELETED" << endl; stringQuery = "ALTER TABLE logstemp RENAME TO logs"; return execQuery(Q_FUNC_INFO, stringQuery); } else { - //qDebug() << "DataBase::updateTableLogs: Table logs NOT DELETED" << endl; + //qDebug() << "DataBase::updateTableLogs: Table logs NOT DELETED" << endl; return false; } @@ -3548,7 +3533,7 @@ bool DataBase::updateTableLogs() else { //queryErrorManagement(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); - //qDebug() << "DataBase::updateTableLogs: data NOT copied" << endl; + //qDebug() << "DataBase::updateTableLogs: data NOT copied" << endl; //TODO: If it fails, we should manage errors... return false; } @@ -3556,11 +3541,11 @@ bool DataBase::updateTableLogs() } else { - //qDebug() << "DataBase::updateTableLogs: Table logstemp NOT created!" << endl; + //qDebug() << "DataBase::updateTableLogs: Table logstemp NOT created!" << endl; return false; } - //qDebug() << "DataBase::updateTableLogs: END" << endl; + //qDebug() << "DataBase::updateTableLogs: END" << endl; //return false; } @@ -3572,7 +3557,7 @@ bool DataBase::updateModeIdFromSubModeId() // STEP-4: Updates the new ID in the QSO in the log - //qDebug() << "DataBase::updateModeIdFromSubModeId: " << endl; + //qDebug() << "DataBase::updateModeIdFromSubModeId: " << endl; bool cancel = false; bool alreadyCancelled = false; QString modetxt = QString(); @@ -3599,7 +3584,7 @@ bool DataBase::updateModeIdFromSubModeId() { queryErrorManagement(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); query.finish(); - //qDebug() << "DataBase::updateModeIdFromSubModeId: FALSE END" << endl; + //qDebug() << "DataBase::updateModeIdFromSubModeId: FALSE END" << endl; return false; } @@ -3633,11 +3618,11 @@ bool DataBase::updateModeIdFromSubModeId() modeFound = (query.value(0)).toInt(); id = (query.value(1)).toInt(); - //qDebug() << "DataBase::updateModeIdFromSubModeId: (STEP-1) modeFound (numb): " << QString::number(modeFound) << endl; + //qDebug() << "DataBase::updateModeIdFromSubModeId: (STEP-1) modeFound (numb): " << QString::number(modeFound) << endl; modetxt = getModeNameFromNumber(modeFound, false); //STEP-2 - //qDebug() << "DataBase::updateModeIdFromSubModeId: (STEP-2) mode found (txt): " << modetxt << endl; + //qDebug() << "DataBase::updateModeIdFromSubModeId: (STEP-2) mode found (txt): " << modetxt << endl; //TODO The following query can be executed in: getModeIdFromSubMode() @@ -3647,7 +3632,7 @@ bool DataBase::updateModeIdFromSubModeId() if (sqlOk2) { - //qDebug() << "DataBase::updateModeIdFromSubModeId: (STEP-3) sqlOK2 TRUE" << endl; + //qDebug() << "DataBase::updateModeIdFromSubModeId: (STEP-3) sqlOK2 TRUE" << endl; if (query2.next()) { if (query2.isValid()) @@ -3660,24 +3645,24 @@ bool DataBase::updateModeIdFromSubModeId() if (sqlOk3) { - //qDebug() << "DataBase::updateModeIdFromSubModeId: (STEP-4) ID: " << QString::number(id) << " updated to: " << QString::number(modeFound) <<"/"<< modetxt << endl; + //qDebug() << "DataBase::updateModeIdFromSubModeId: (STEP-4) ID: " << QString::number(id) << " updated to: " << QString::number(modeFound) <<"/"<< modetxt << endl; } else { //queryErrorManagement(Q_FUNC_INFO, query3.lastError().databaseText(), query3.lastError().number(), query3.lastQuery()); - //qDebug() << "DataBase::updateModeIdFromSubModeId: (STEP-4) ID: " << QString::number(id) << " NOT updated-2" << endl; + //qDebug() << "DataBase::updateModeIdFromSubModeId: (STEP-4) ID: " << QString::number(id) << " NOT updated-2" << endl; } } else { query2.finish(); - //qDebug() << "DataBase::updateModeIdFromSubModeId: (STEP-3) query2 not valid " << endl; + //qDebug() << "DataBase::updateModeIdFromSubModeId: (STEP-3) query2 not valid " << endl; } } else { - //qDebug() << "DataBase::updateModeIdFromSubModeId: query2 not next " << endl; + //qDebug() << "DataBase::updateModeIdFromSubModeId: query2 not next " << endl; } } @@ -3685,7 +3670,7 @@ bool DataBase::updateModeIdFromSubModeId() { queryErrorManagement(Q_FUNC_INFO, query2.lastError().databaseText(), query2.lastError().number(), query2.lastQuery()); query2.finish(); - //qDebug() << "DataBase::updateModeIdFromSubModeId: ID: " << QString::number(id) << " NOT updated-1" << endl; + //qDebug() << "DataBase::updateModeIdFromSubModeId: ID: " << QString::number(id) << " NOT updated-1" << endl; } } @@ -3701,7 +3686,6 @@ bool DataBase::updateModeIdFromSubModeId() alreadyCancelled = true; QMessageBox msgBox; - msgBox.setWindowTitle(QObject::tr("KLog - DB update")); aux = QObject::tr("Canceling this update will cause data inconsistencies and possibly data loss. Do you still want to cancel?"); msgBox.setText(aux); msgBox.setStandardButtons(QMessageBox::Yes | QMessageBox::No); @@ -3731,12 +3715,12 @@ bool DataBase::updateModeIdFromSubModeId() query.finish(); if (cancel && (!alreadyCancelled)) { - //qDebug() << "DataBase::updateModeIdFromSubModeId: FALSE END 2" << endl; + //qDebug() << "DataBase::updateModeIdFromSubModeId: FALSE END 2" << endl; query.finish(); return false; } - //qDebug() << "DataBase::updateModeIdFromSubModeId: END" << endl; + //qDebug() << "DataBase::updateModeIdFromSubModeId: END" << endl; query.finish(); return true; @@ -3744,11 +3728,11 @@ bool DataBase::updateModeIdFromSubModeId() else { queryErrorManagement(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); - //qDebug() << "DataBase::updateModeIdFromSubModeId: FALSE END 3" << endl; + //qDebug() << "DataBase::updateModeIdFromSubModeId: FALSE END 3" << endl; query.finish(); return false; } - //qDebug() << "DataBase::updateModeIdFromSubModeId: CHECK IF this is seen - END" << endl; + //qDebug() << "DataBase::updateModeIdFromSubModeId: CHECK IF this is seen - END" << endl; //query.finish(); //return false; } @@ -3756,7 +3740,7 @@ bool DataBase::updateModeIdFromSubModeId() bool DataBase::updateBandIdTableLogToNewOnes() { - //qDebug() << "DataBase::updateBandIdTableLogToNewOnes: " << endl; + //qDebug() << "DataBase::updateBandIdTableLogToNewOnes: " << endl; QString bandtxt = QString(); @@ -3784,7 +3768,7 @@ bool DataBase::updateBandIdTableLogToNewOnes() else { queryErrorManagement(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); - //qDebug() << "DataBase::updateBandIdTableLogToNewOnes: FALSE END" << endl; + //qDebug() << "DataBase::updateBandIdTableLogToNewOnes: FALSE END" << endl; query.finish(); return false; } @@ -3820,7 +3804,7 @@ bool DataBase::updateBandIdTableLogToNewOnes() id = (query.value(1)).toInt(); bandtxt = getBandNameFromNumber(bandFound); - //qDebug() << "DataBase::updateBandIdTableLogToNewOnes: band found: " << bandtxt << endl; + //qDebug() << "DataBase::updateBandIdTableLogToNewOnes: band found: " << bandtxt << endl; sq = QString("SELECT id FROM bandtemp WHERE name='%1'").arg(bandtxt); sqlOk2 = query2.exec(sq); @@ -3838,23 +3822,23 @@ bool DataBase::updateBandIdTableLogToNewOnes() sqlOk3 = execQuery(Q_FUNC_INFO, sq); if (sqlOk3) { - //qDebug() << "DataBase::updateBandIdTableLogToNewOnes: ID: " << QString::number(id) << " updated to: " << QString::number(bandFound) <<"/"<< bandtxt << endl; + //qDebug() << "DataBase::updateBandIdTableLogToNewOnes: ID: " << QString::number(id) << " updated to: " << QString::number(bandFound) <<"/"<< bandtxt << endl; } else { //queryErrorManagement(Q_FUNC_INFO, query3.lastError().databaseText(), query3.lastError().number(), query3.lastQuery()); - //qDebug() << "DataBase::updateBandIdTableLogToNewOnes: ID: " << QString::number(id) << " NOT updated-2" << endl; - //qDebug() << "DataBase::updateBandIdTableLogToNewOnes - QSOs not updated to main log" << endl; + //qDebug() << "DataBase::updateBandIdTableLogToNewOnes: ID: " << QString::number(id) << " NOT updated-2" << endl; + //qDebug() << "DataBase::updateBandIdTableLogToNewOnes - QSOs not updated to main log" << endl; } } else { - //qDebug() << "DataBase::updateBandIdTableLogToNewOnes: query2 not valid " << endl; + //qDebug() << "DataBase::updateBandIdTableLogToNewOnes: query2 not valid " << endl; } } else { - //qDebug() << "DataBase::updateBandIdTableLogToNewOnes: query2 not next " << endl; + //qDebug() << "DataBase::updateBandIdTableLogToNewOnes: query2 not next " << endl; } query2.finish(); @@ -3863,7 +3847,7 @@ bool DataBase::updateBandIdTableLogToNewOnes() { queryErrorManagement(Q_FUNC_INFO, query2.lastError().databaseText(), query2.lastError().number(), query2.lastQuery()); query2.finish(); - //qDebug() << "DataBase::updateBandIdTableLogToNewOnes: ID: " << QString::number(id) << " NOT updated-1" << endl; + //qDebug() << "DataBase::updateBandIdTableLogToNewOnes: ID: " << QString::number(id) << " NOT updated-1" << endl; } } @@ -3879,7 +3863,6 @@ bool DataBase::updateBandIdTableLogToNewOnes() alreadyCancelled = true; QMessageBox msgBox; - msgBox.setWindowTitle(QObject::tr("KLog - DB update")); aux = QObject::tr("Canceling this update will cause data inconsistencies and possibly data loss. Do you still want to cancel?"); msgBox.setText(aux); msgBox.setStandardButtons(QMessageBox::Yes | QMessageBox::No); @@ -3908,17 +3891,17 @@ bool DataBase::updateBandIdTableLogToNewOnes() query.finish(); if (cancel && (!alreadyCancelled)) { - //qDebug() << "DataBase::updateBandIdTableLogToNewOnes: FALSE END 2" << endl; + //qDebug() << "DataBase::updateBandIdTableLogToNewOnes: FALSE END 2" << endl; return false; } - //qDebug() << "DataBase::updateBandIdTableLogToNewOnes: END OK" << endl; + //qDebug() << "DataBase::updateBandIdTableLogToNewOnes: END OK" << endl; return true; } else { queryErrorManagement(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); query.finish(); - //qDebug() << "DataBase::updateBandIdTableLogToNewOnes: FALSE END 3" << endl; + //qDebug() << "DataBase::updateBandIdTableLogToNewOnes: FALSE END 3" << endl; return false; } @@ -3926,7 +3909,7 @@ bool DataBase::updateBandIdTableLogToNewOnes() bool DataBase::updateBandIdTableAward(const int _db) { - //qDebug() << "DataBase::updateBandIdTableAward: " << endl; + //qDebug() << "DataBase::updateBandIdTableAward: " << endl; QString table = QString(); QString field = QString(); @@ -3945,7 +3928,7 @@ bool DataBase::updateBandIdTableAward(const int _db) awardSelected = "WAZ"; break; default: - //qDebug() << "DataBase::updateBandIdTableAward: FALSE END" << endl; + //qDebug() << "DataBase::updateBandIdTableAward: FALSE END" << endl; return false; //break; } @@ -3982,7 +3965,7 @@ bool DataBase::updateBandIdTableAward(const int _db) { queryErrorManagement(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); query.finish(); - //qDebug() << "DataBase::updateBandIdTableAward: FALSE END-2" << endl; + //qDebug() << "DataBase::updateBandIdTableAward: FALSE END-2" << endl; return false; } @@ -4021,7 +4004,7 @@ bool DataBase::updateBandIdTableAward(const int _db) id = (query.value(1)).toInt(); bandtxt = getBandNameFromNumber(bandFound); - //qDebug() << "DataBase::updateBandIdTableAward: band found: " << bandtxt << endl; + //qDebug() << "DataBase::updateBandIdTableAward: band found: " << bandtxt << endl; sq = QString("SELECT id FROM bandtemp WHERE name='%1'").arg(bandtxt); sqlOk2 = query2.exec(sq); @@ -4039,24 +4022,24 @@ bool DataBase::updateBandIdTableAward(const int _db) sqlOk3 = execQuery(Q_FUNC_INFO, sq); if (sqlOk3) { - //qDebug() << "DataBase::updateBandIdTableAward: ID: " << QString::number(id) << " updated to: " << QString::number(bandFound) <<"/"<< bandtxt << endl; + //qDebug() << "DataBase::updateBandIdTableAward: ID: " << QString::number(id) << " updated to: " << QString::number(bandFound) <<"/"<< bandtxt << endl; } else { //queryErrorManagement(Q_FUNC_INFO, query3.lastError().databaseText(), query3.lastError().number(), query3.lastQuery()); - //qDebug() << "DataBase::updateBandIdTableAward: ID: " << QString::number(id) << " NOT updated-2" << endl; + //qDebug() << "DataBase::updateBandIdTableAward: ID: " << QString::number(id) << " NOT updated-2" << endl; - //qDebug() << "DataBase::updateBandIdTableAward - QSOs not updated to main log" << endl; + //qDebug() << "DataBase::updateBandIdTableAward - QSOs not updated to main log" << endl; } } else { - //qDebug() << "DataBase::updateBandIdTableAward: query2 not valid " << endl; + //qDebug() << "DataBase::updateBandIdTableAward: query2 not valid " << endl; } } else { - //qDebug() << "DataBase::updateBandIdTableAward: query2 not next " << endl; + //qDebug() << "DataBase::updateBandIdTableAward: query2 not next " << endl; } query2.finish(); @@ -4065,7 +4048,7 @@ bool DataBase::updateBandIdTableAward(const int _db) { queryErrorManagement(Q_FUNC_INFO, query2.lastError().databaseText(), query2.lastError().number(), query2.lastQuery()); query2.finish(); - //qDebug() << "DataBase::updateBandIdTableAward: ID: " << QString::number(id) << " NOT updated-1" << endl; + //qDebug() << "DataBase::updateBandIdTableAward: ID: " << QString::number(id) << " NOT updated-1" << endl; } } @@ -4081,7 +4064,6 @@ bool DataBase::updateBandIdTableAward(const int _db) alreadyCancelled = true; QMessageBox msgBox; - msgBox.setWindowTitle(QObject::tr("KLog - DB update")); aux = QObject::tr("Canceling this update will cause data inconsistencies and possibly data loss. Do you still want to cancel?"); msgBox.setText(aux); msgBox.setStandardButtons(QMessageBox::Yes | QMessageBox::No); @@ -4108,29 +4090,29 @@ bool DataBase::updateBandIdTableAward(const int _db) } if (cancel && (!alreadyCancelled)) { - //qDebug() << "DataBase::updateBandIdTableAward: FALSE END-3" << endl; + //qDebug() << "DataBase::updateBandIdTableAward: FALSE END-3" << endl; query.finish(); return false; } - //qDebug() << "DataBase::updateBandIdTableAward: END OK" << endl; + //qDebug() << "DataBase::updateBandIdTableAward: END OK" << endl; query.finish(); return true; } else { queryErrorManagement(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); - //qDebug() << "DataBase::updateBandIdTableAward: FALSE END-4" << endl; + //qDebug() << "DataBase::updateBandIdTableAward: FALSE END-4" << endl; query.finish(); return false; } - //qDebug() << "DataBase::updateBandIdTableAward: CHECK IF SEEN END" << endl; + //qDebug() << "DataBase::updateBandIdTableAward: CHECK IF SEEN END" << endl; //query.finish(); //return false; } bool DataBase::updateModeIdTableAward(const int _db) { - //qDebug() << "DataBase::updateModeIdTableAward: " << QString::number(_db) << endl; + //qDebug() << "DataBase::updateModeIdTableAward: " << QString::number(_db) << endl; QString table = QString(); QString field = "mode"; @@ -4147,7 +4129,7 @@ bool DataBase::updateModeIdTableAward(const int _db) awardSelected = "WAZ"; break; default: - //qDebug() << "DataBase::updateModeIdTableAward: FALSE END" << endl; + //qDebug() << "DataBase::updateModeIdTableAward: FALSE END" << endl; return false; //break; } @@ -4183,7 +4165,7 @@ bool DataBase::updateModeIdTableAward(const int _db) else { queryErrorManagement(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); - //qDebug() << "DataBase::updateModeIdTableAward: FALSE END-2" << endl; + //qDebug() << "DataBase::updateModeIdTableAward: FALSE END-2" << endl; query.finish(); return false; } @@ -4200,7 +4182,7 @@ bool DataBase::updateModeIdTableAward(const int _db) sqlOk = query.exec(sq); - //qDebug() << "DataBase::updateModeIdTableAward (query): " << query.lastQuery() << endl; + //qDebug() << "DataBase::updateModeIdTableAward (query): " << query.lastQuery() << endl; if (sqlOk) { while (query.next() && (!cancel) ) @@ -4222,18 +4204,18 @@ bool DataBase::updateModeIdTableAward(const int _db) bandFound = (query.value(0)).toInt(); id = (query.value(1)).toInt(); - //qDebug() << "DataBase::updateModeIdTableAward: bandfound: " << QString::number(bandFound) << endl; - //qDebug() << "DataBase::updateModeIdTableAward: id: " << QString::number(id) << endl; + //qDebug() << "DataBase::updateModeIdTableAward: bandfound: " << QString::number(bandFound) << endl; + //qDebug() << "DataBase::updateModeIdTableAward: id: " << QString::number(id) << endl; bandtxt = getSubModeNameFromNumber(bandFound, true); - //qDebug() << "DataBase::updateModeIdTableAward: mode found: " << bandtxt << "/" << QString::number(bandFound) << endl; + //qDebug() << "DataBase::updateModeIdTableAward: mode found: " << bandtxt << "/" << QString::number(bandFound) << endl; sq = QString("SELECT id FROM modetemp WHERE submode='%1'").arg(bandtxt); sqlOk2 = query2.exec(sq); - //qDebug() << "DataBase::updateModeIdTableAward (query2): " << query2.lastQuery() << endl; + //qDebug() << "DataBase::updateModeIdTableAward (query2): " << query2.lastQuery() << endl; if (sqlOk2) { if (query2.next()) @@ -4248,25 +4230,25 @@ bool DataBase::updateModeIdTableAward(const int _db) if (sqlOk3) { - //qDebug() << "DataBase::updateModeIdTableAward: ID: " << QString::number(id) << " updated to: " << QString::number(bandFound) <<"/"<< bandtxt << endl; + //qDebug() << "DataBase::updateModeIdTableAward: ID: " << QString::number(id) << " updated to: " << QString::number(bandFound) <<"/"<< bandtxt << endl; } else { //queryErrorManagement(Q_FUNC_INFO, query3.lastError().databaseText(), query3.lastError().number(), query3.lastQuery()); - //qDebug() << "DataBase::updateModeIdTableAward: ID: " << QString::number(id) << " NOT updated-2" << endl; + //qDebug() << "DataBase::updateModeIdTableAward: ID: " << QString::number(id) << " NOT updated-2" << endl; - //qDebug() << "DataBase::updateModeIdTableAward - QSOs not updated to main log" << endl; + //qDebug() << "DataBase::updateModeIdTableAward - QSOs not updated to main log" << endl; } } else { - //qDebug() << "DataBase::updateModeIdTableAward: query2 not valid " << endl; + //qDebug() << "DataBase::updateModeIdTableAward: query2 not valid " << endl; } } else { - //qDebug() << "DataBase::updateModeIdTableAward: query2 not next " << endl; + //qDebug() << "DataBase::updateModeIdTableAward: query2 not next " << endl; } } @@ -4274,7 +4256,7 @@ bool DataBase::updateModeIdTableAward(const int _db) { queryErrorManagement(Q_FUNC_INFO, query2.lastError().databaseText(), query2.lastError().number(), query2.lastQuery()); query2.finish(); - //qDebug() << "DataBase::updateModeIdTableAward: ID: " << QString::number(id) << " NOT updated-1" << endl; + //qDebug() << "DataBase::updateModeIdTableAward: ID: " << QString::number(id) << " NOT updated-1" << endl; } } @@ -4290,7 +4272,6 @@ bool DataBase::updateModeIdTableAward(const int _db) alreadyCancelled = true; QMessageBox msgBox; - msgBox.setWindowTitle(QObject::tr("KLog - DB update")); aux = QObject::tr("Canceling this update will cause data inconsistencies and possibly data loss. Do you still want to cancel?"); msgBox.setText(aux); msgBox.setStandardButtons(QMessageBox::Yes | QMessageBox::No); @@ -4317,22 +4298,22 @@ bool DataBase::updateModeIdTableAward(const int _db) } if (cancel && (!alreadyCancelled)) { - //qDebug() << "DataBase::updateModeIdTableAward: FALSE END-3" << endl; + //qDebug() << "DataBase::updateModeIdTableAward: FALSE END-3" << endl; query.finish(); return false; } - //qDebug() << "DataBase::updateModeIdTableAward: END OK" << endl; + //qDebug() << "DataBase::updateModeIdTableAward: END OK" << endl; query.finish(); return true; } else { queryErrorManagement(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); - //qDebug() << "DataBase::updateModeIdTableAward: FALSE END-4" << endl; + //qDebug() << "DataBase::updateModeIdTableAward: FALSE END-4" << endl; query.finish(); return false; } - //qDebug() << "DataBase::updateModeIdTableAward: Checkif seen END" << endl; + //qDebug() << "DataBase::updateModeIdTableAward: Checkif seen END" << endl; //query.finish(); //return false; } @@ -4341,7 +4322,7 @@ bool DataBase::updateModeIdTableAward(const int _db) bool DataBase::updateModeIdTableLogToNewOnes() { - //qDebug() << "DataBase::updateModeIdTableLogToNewOnes: " << endl; + //qDebug() << "DataBase::updateModeIdTableLogToNewOnes: " << endl; QString bandtxt = QString(); @@ -4399,7 +4380,7 @@ bool DataBase::updateModeIdTableLogToNewOnes() id = (query.value(1)).toInt(); bandtxt = getModeNameFromNumber(bandFound, false); - //qDebug() << "DataBase::updateModeIdTableLogToNewOnes: mode found: " << bandtxt << endl; + //qDebug() << "DataBase::updateModeIdTableLogToNewOnes: mode found: " << bandtxt << endl; sq = QString("SELECT id FROM modetemp WHERE name='%1'").arg(bandtxt); sqlOk2 = query2.exec(sq); @@ -4415,36 +4396,36 @@ bool DataBase::updateModeIdTableLogToNewOnes() sqlOk3 = query3.exec(sq); if (sqlOk3) { - //qDebug() << "DataBase::updateModeIdTableLogToNewOnes: ID: " << QString::number(id) << " updated to: " << QString::number(bandFound) <<"/"<< bandtxt << endl; + //qDebug() << "DataBase::updateModeIdTableLogToNewOnes: ID: " << QString::number(id) << " updated to: " << QString::number(bandFound) <<"/"<< bandtxt << endl; } else { - //qDebug() << "DataBase::updateModeIdTableLogToNewOnes: ID: " << QString::number(id) << " NOT updated-2" << endl; - //qDebug() << "DataBase::updateModeIdTableLogToNewOnes - QSOs not updated to main log" << endl; + //qDebug() << "DataBase::updateModeIdTableLogToNewOnes: ID: " << QString::number(id) << " NOT updated-2" << endl; + //qDebug() << "DataBase::updateModeIdTableLogToNewOnes - QSOs not updated to main log" << endl; errorCode = query3.lastError().number(); - //qDebug() << "DataBase::updateModeIdTableLogToNewOnes - query error: " << QString::number(errorCode) << endl; - //qDebug() << "DataBase::updateModeIdTableLogToNewOnes: LastQuery: " << query3.lastQuery() << endl; - //qDebug() << "DataBase::updateModeIdTableLogToNewOnes: LastError-data: " << query3.lastError().databaseText() << endl; - //qDebug() << "DataBase::updateModeIdTableLogToNewOnes: LastError-driver: " << query3.lastError().driverText() << endl; - //qDebug() << "DataBase::updateModeIdTableLogToNewOnes: LastError-n: " << QString::number(query3.lastError().number() ) << endl; + //qDebug() << "DataBase::updateModeIdTableLogToNewOnes - query error: " << QString::number(errorCode) << endl; + //qDebug() << "DataBase::updateModeIdTableLogToNewOnes: LastQuery: " << query3.lastQuery() << endl; + //qDebug() << "DataBase::updateModeIdTableLogToNewOnes: LastError-data: " << query3.lastError().databaseText() << endl; + //qDebug() << "DataBase::updateModeIdTableLogToNewOnes: LastError-driver: " << query3.lastError().driverText() << endl; + //qDebug() << "DataBase::updateModeIdTableLogToNewOnes: LastError-n: " << QString::number(query3.lastError().number() ) << endl; } } else { - //qDebug() << "DataBase::updateModeIdTableLogToNewOnes: query2 not valid " << endl; + //qDebug() << "DataBase::updateModeIdTableLogToNewOnes: query2 not valid " << endl; } } else { - //qDebug() << "DataBase::updateModeIdTableLogToNewOnes: query2 not next " << endl; + //qDebug() << "DataBase::updateModeIdTableLogToNewOnes: query2 not next " << endl; } } else { - //qDebug() << "DataBase::updateModeIdTableLogToNewOnes: ID: " << QString::number(id) << " NOT updated-1" << endl; + //qDebug() << "DataBase::updateModeIdTableLogToNewOnes: ID: " << QString::number(id) << " NOT updated-1" << endl; } } @@ -4489,7 +4470,7 @@ bool DataBase::updateModeIdTableLogToNewOnes() { return false; } - //qDebug() << "DataBase::updateModeIdTableLogToNewOnes: FINISHED OK" << endl; + //qDebug() << "DataBase::updateModeIdTableLogToNewOnes: FINISHED OK" << endl; return true; } else @@ -4503,7 +4484,7 @@ bool DataBase::updateModeIdTableLogToNewOnes() bool DataBase::updateTo007() {// Updates the DB to 0.0.7 - //qDebug() << "DataBase::updateTo007: latestRead: " << getDBVersion() << endl; + //qDebug() << "DataBase::updateTo007: latestRead: " << getDBVersion() << endl; bool IAmIn007 = false; bool IAmIn006 = false; bool ErrorUpdating = false; @@ -4515,12 +4496,12 @@ bool DataBase::updateTo007() if (latestReaded >= float(0.007)) { - //qDebug() << "DataBase::updateTo007: - I am in 007" << endl; + //qDebug() << "DataBase::updateTo007: - I am in 007" << endl; return true; } else { - //qDebug() << "DataBase::updateTo007: - I am not in 007" << endl; + //qDebug() << "DataBase::updateTo007: - I am not in 007" << endl; IAmIn007 = false; } @@ -4529,15 +4510,15 @@ bool DataBase::updateTo007() { while (!IAmIn006 && !ErrorUpdating) { - //qDebug() << "DataBase::updateTo007: - And I am not in 006" << endl; + //qDebug() << "DataBase::updateTo007: - And I am not in 006" << endl; IAmIn006 = updateTo006(); } - //qDebug() << "DataBase::updateTo007: - And I am in 006!!!!" << endl; + //qDebug() << "DataBase::updateTo007: - And I am in 006!!!!" << endl; if (ErrorUpdating) { - //qDebug() << "DataBase::updateTo007: NOK-1" << endl; + //qDebug() << "DataBase::updateTo007: NOK-1" << endl; return false; } sqlOk = updateDBVersion(softVersion, "0.007"); @@ -4548,13 +4529,13 @@ bool DataBase::updateTo007() } else { // Version not updated - //qDebug() << "DataBase::updateTo007: NOK-2" << endl; + //qDebug() << "DataBase::updateTo007: NOK-2" << endl; return false; } //DO ALL THE TASKS TO BE IN 0.007 from 0.006 HERE and set ErrorUpdating if it is not possible. IAmIn007 = true; } - //qDebug() << "DataBase::updateTo007: END" << endl; + //qDebug() << "DataBase::updateTo007: END" << endl; return IAmIn007; } @@ -4563,7 +4544,7 @@ bool DataBase::updateTo007() bool DataBase::updateTo008() {// Updates the DB to 0.0.8 - //qDebug() << "DataBase::updateTo008: latestRead: " << getDBVersion() << endl; + //qDebug() << "DataBase::updateTo008: latestRead: " << getDBVersion() << endl; bool IAmIn008 = false; bool IAmIn007 = false; bool ErrorUpdating = false; @@ -4575,12 +4556,12 @@ bool DataBase::updateTo008() latestReaded = getDBVersion().toFloat(); if (latestReaded >= (0.008)) { - //qDebug() << "DataBase::updateTo008: - I am in 008" << endl; + //qDebug() << "DataBase::updateTo008: - I am in 008" << endl; return true; } else { - //qDebug() << "DataBase::updateTo008: - I am not in 008" << endl; + //qDebug() << "DataBase::updateTo008: - I am not in 008" << endl; IAmIn008 = false; } @@ -4589,14 +4570,14 @@ bool DataBase::updateTo008() { while (!IAmIn007 && !ErrorUpdating) { - //qDebug() << "DataBase::updateTo008: - And I am not in 007" << endl; + //qDebug() << "DataBase::updateTo008: - And I am not in 007" << endl; IAmIn007 = updateTo007(); } - //qDebug() << "DataBase::updateTo008: - I am in 007" << endl; + //qDebug() << "DataBase::updateTo008: - I am in 007" << endl; if (ErrorUpdating) { - //qDebug() << "DataBase::updateTo008: - NOK-1" << endl; + //qDebug() << "DataBase::updateTo008: - NOK-1" << endl; return false; } @@ -4608,22 +4589,22 @@ bool DataBase::updateTo008() bool sqlOk = updateDBVersion(softVersion, "0.008"); if (sqlOk) { // Version updated - //qDebug() << "DataBase::updateTo008: - OK" << endl; + //qDebug() << "DataBase::updateTo008: - OK" << endl; } else { // Version not updated - //qDebug() << "DataBase::updateTo008: - NOK-3" << endl; + //qDebug() << "DataBase::updateTo008: - NOK-3" << endl; return false; } } else { - //qDebug() << "DataBase::updateTo008: - NOK-2" << endl; + //qDebug() << "DataBase::updateTo008: - NOK-2" << endl; return false; } } - //qDebug() << "DataBase::updateTo008: - END" << endl; + //qDebug() << "DataBase::updateTo008: - END" << endl; return IAmIn008; } @@ -4631,7 +4612,7 @@ bool DataBase::updateTo008() bool DataBase::updateTo009() {// Updates the DB to 0.0.9 - We add the Satellite tables - //qDebug() << "DataBase::updateTo009: latestRead: " << getDBVersion() << endl; + //qDebug() << "DataBase::updateTo009: latestRead: " << getDBVersion() << endl; bool IAmIn009 = false; bool IAmIn008 = false; bool ErrorUpdating = false; @@ -4641,30 +4622,30 @@ bool DataBase::updateTo009() //if (latestReaded >= 0.009) - //qDebug() << "DataBase::updateTo009: Checking:" << QString::number(latestReaded) << ":" << QString::number(0.009)<< endl; + //qDebug() << "DataBase::updateTo009: Checking:" << QString::number(latestReaded) << ":" << QString::number(0.009)<< endl; latestReaded = getDBVersion().toFloat(); if (latestReaded >= float(0.009)) //if ((latestReaded = 0.009) || (latestReaded > 0.009)) { - //qDebug() << "DataBase::updateTo009: - I am in 009" << endl; + //qDebug() << "DataBase::updateTo009: - I am in 009" << endl; //IAmIn009 = true; return true; } else { - //qDebug() << "DataBase::updateTo009: - I am not in 009 I am in: " << QString::number(latestReaded)<< endl; + //qDebug() << "DataBase::updateTo009: - I am not in 009 I am in: " << QString::number(latestReaded)<< endl; IAmIn009 = false; } - //qDebug() << "DataBase::updateTo009: compared latestRead: " << QString::number(latestReaded) << endl; + //qDebug() << "DataBase::updateTo009: compared latestRead: " << QString::number(latestReaded) << endl; while (!IAmIn009 && !ErrorUpdating) { while (!IAmIn008 && !ErrorUpdating) { - //qDebug() << "DataBase::updateTo009: - And I am not in 008" << endl; + //qDebug() << "DataBase::updateTo009: - And I am not in 008" << endl; IAmIn008 = updateTo008(); } - //qDebug() << "DataBase::updateTo009: - And I am already at least in 008" << endl; + //qDebug() << "DataBase::updateTo009: - And I am already at least in 008" << endl; if (ErrorUpdating) { return false; @@ -4673,43 +4654,43 @@ bool DataBase::updateTo009() if (sqlOk) { // Version updated - //qDebug() << "DataBase::updateTo009: - version updated" << endl; + //qDebug() << "DataBase::updateTo009: - version updated" << endl; //IAmIn009 = updateTableLog(6); } else { // Version not updated - //qDebug() << "DataBase::updateTo009: - version not updated" << endl; + //qDebug() << "DataBase::updateTo009: - version not updated" << endl; } //DO ALL THE TASKS TO BE IN 0.009 from 0.008 HERE and set ErrorUpdating if it is not possible. if (recreateSatelliteData()) //if (createTableSatellites(true)) { - //qDebug() << "DataBase::updateTo009: - createTableSatellites OK" << endl; + //qDebug() << "DataBase::updateTo009: - createTableSatellites OK" << endl; //if (populateTableSatellites(true)) if (updateTableEntity()) { - //qDebug() << "DataBase::updateTo009: - updateTableEntity OK" << endl; + //qDebug() << "DataBase::updateTo009: - updateTableEntity OK" << endl; if (updateTheEntityTableISONames()) { - //qDebug() << "DataBase::updateTo009: - isonames updated" << endl; + //qDebug() << "DataBase::updateTo009: - isonames updated" << endl; // Now I need to update the logs table if (updateTableLogs()) { - //qDebug() << "DataBase::updateTo009: - logs updated and Function finished successfuly!!" << endl; + //qDebug() << "DataBase::updateTo009: - logs updated and Function finished successfuly!!" << endl; IAmIn009 = true; } else { - //qDebug() << "DataBase::updateTo009: - logs NOT updated" << endl; + //qDebug() << "DataBase::updateTo009: - logs NOT updated" << endl; IAmIn009 = false; ErrorUpdating = true; } } else { - //qDebug() << "DataBase::updateTo009: - isonames NOT updated" << endl; + //qDebug() << "DataBase::updateTo009: - isonames NOT updated" << endl; IAmIn009 = false; ErrorUpdating = true; } @@ -4722,13 +4703,13 @@ bool DataBase::updateTo009() } else { - //qDebug() << "DataBase::updateTo009: - createTableSatellites FALSE" << endl; + //qDebug() << "DataBase::updateTo009: - createTableSatellites FALSE" << endl; ErrorUpdating = true; IAmIn009 = false; } } - //qDebug() << "DataBase::updateTo009: - END" << endl; + //qDebug() << "DataBase::updateTo009: - END" << endl; return IAmIn009; } @@ -4738,7 +4719,7 @@ bool DataBase::updateTo010() // We add FT8 mode and // AS Propagation - //qDebug() << "DataBase::updateTo010: latestRead: " << getDBVersion() << endl; + //qDebug() << "DataBase::updateTo010: latestRead: " << getDBVersion() << endl; bool IAmIn010 = false; bool IAmIn009 = false; bool ErrorUpdating = false; @@ -4746,36 +4727,36 @@ bool DataBase::updateTo010() QSqlQuery query; latestReaded = getDBVersion().toFloat(); - //qDebug() << "DataBase::updateTo010: Checking (latestRead/dbVersion):" << QString::number(latestReaded) << "/" << QString::number(dbVersion) << endl; + //qDebug() << "DataBase::updateTo010: Checking (latestRead/dbVersion):" << QString::number(latestReaded) << "/" << QString::number(dbVersion) << endl; if (latestReaded >= float(0.01)) { - //qDebug() << "DataBase::updateTo010: - I am in 010" << endl; + //qDebug() << "DataBase::updateTo010: - I am in 010" << endl; IAmIn010 = true; return true; } else { - //qDebug() << "DataBase::updateTo010: - I am not in 010 I am in: " << QString::number(latestReaded)<< endl; + //qDebug() << "DataBase::updateTo010: - I am not in 010 I am in: " << QString::number(latestReaded)<< endl; while (!IAmIn009 && !ErrorUpdating) { - //qDebug() << "DataBase::updateTo010: - Check if I am in 009: !" << endl; + //qDebug() << "DataBase::updateTo010: - Check if I am in 009: !" << endl; IAmIn009 = updateTo009(); if (IAmIn009) { - //qDebug() << "DataBase::updateTo010: - updateTo009 returned TRUE - I am in 0.009: " << QString::number(latestReaded) << endl; + //qDebug() << "DataBase::updateTo010: - updateTo009 returned TRUE - I am in 0.009: " << QString::number(latestReaded) << endl; } else { - //qDebug() << "DataBase::updateTo010: - updateTo009 returned FALSE - I am NOT in 0.009: " << QString::number(latestReaded) << endl; + //qDebug() << "DataBase::updateTo010: - updateTo009 returned FALSE - I am NOT in 0.009: " << QString::number(latestReaded) << endl; ErrorUpdating = false; } } if (ErrorUpdating) { - //qDebug() << "DataBase::updateTo010: - I Could not update to: " << QString::number(dbVersion) << endl; + //qDebug() << "DataBase::updateTo010: - I Could not update to: " << QString::number(dbVersion) << endl; return false; } @@ -4785,12 +4766,12 @@ bool DataBase::updateTo010() bool sqlOk = execQuery(Q_FUNC_INFO, "UPDATE band SET lower = '0.1357', upper = '0.1378' WHERE name='2190M'"); if (sqlOk) { - //qDebug() << "DataBase::updateTo010: - Band update OK" << endl; + //qDebug() << "DataBase::updateTo010: - Band update OK" << endl; } else { queryErrorManagement(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); - //qDebug() << "DataBase::updateTo010: - Band update NOK" << endl; + //qDebug() << "DataBase::updateTo010: - Band update NOK" << endl; } @@ -4800,16 +4781,16 @@ bool DataBase::updateTo010() if (updateDBVersion(softVersion, "0.010")) { - //qDebug() << "DataBase::updateTo010: - We are in 010! " << endl; + //qDebug() << "DataBase::updateTo010: - We are in 010! " << endl; IAmIn010 = true; } else { - //qDebug() << "DataBase::updateTo010: - Failed to go to 010! " << endl; + //qDebug() << "DataBase::updateTo010: - Failed to go to 010! " << endl; IAmIn010 = false; } - //qDebug() << "DataBase::updateTo010: - END" << endl; + //qDebug() << "DataBase::updateTo010: - END" << endl; return IAmIn010; } @@ -4817,7 +4798,7 @@ bool DataBase::updateDBVersion(QString _softV, QString _dbV) { QString dateString = (QDate::currentDate()).toString("yyyyMMdd"); - //qDebug() << "DataBase::updateDBVersion: (date/SoftVersion/dbVersion): " << dateString << "/" << _softV << "/" << _dbV << endl; + //qDebug() << "DataBase::updateDBVersion: (date/SoftVersion/dbVersion): " << dateString << "/" << _softV << "/" << _dbV << endl; QString stringQuery = "INSERT INTO softwarecontrol (dateupgrade, softversion, dbversion) VALUES ('" + dateString + "', '" + _softV + "', '" + _dbV + "')"; return execQuery(Q_FUNC_INFO, stringQuery); } @@ -4825,7 +4806,7 @@ bool DataBase::updateDBVersion(QString _softV, QString _dbV) bool DataBase::updateTheModeTableAndSyncLog() { - //qDebug() << "DataBase::updateTheModeTableAndSyncLog" << endl; + //qDebug() << "DataBase::updateTheModeTableAndSyncLog" << endl; QSqlQuery query; createTableMode(false); // Create modetemp @@ -4841,7 +4822,7 @@ bool DataBase::updateTheModeTableAndSyncLog() if (sqlOK) { //QSqlDatabase::database().commit(); - //qDebug() << "DataBase::updateTheModeTableAndSyncLog - OK - mode was dropped" << endl; + //qDebug() << "DataBase::updateTheModeTableAndSyncLog - OK - mode was dropped" << endl; return execQuery(Q_FUNC_INFO, "ALTER TABLE modetemp RENAME TO mode"); @@ -4849,16 +4830,16 @@ bool DataBase::updateTheModeTableAndSyncLog() else { //queryErrorManagement(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); - //qDebug() << "DataBase::updateTheModeTableAndSyncLog - ERROR - modetemp not dropped" << endl; + //qDebug() << "DataBase::updateTheModeTableAndSyncLog - ERROR - modetemp not dropped" << endl; return false; } - //qDebug() << "DataBase::updateTheModeTableAndSyncLog END" << endl; + //qDebug() << "DataBase::updateTheModeTableAndSyncLog END" << endl; //return true; } bool DataBase::recreateTableBand() { - //qDebug() << "DataBase::recreateTableBand" << endl; + //qDebug() << "DataBase::recreateTableBand" << endl; QSqlQuery query; createTableBand(false); // Create modetemp @@ -4871,27 +4852,27 @@ bool DataBase::recreateTableBand() else { //queryErrorManagement(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); - //qDebug() << "DataBase::recreateTableBand - ERROR - bandtemp not dropped" << endl; + //qDebug() << "DataBase::recreateTableBand - ERROR - bandtemp not dropped" << endl; return false; } - //qDebug() << "DataBase::recreateTableBand END" << endl; + //qDebug() << "DataBase::recreateTableBand END" << endl; //return true; } bool DataBase::updateTheEntityTableISONames() { - //qDebug() << "DataBase::updateTheEntityTableISONames" << endl; + //qDebug() << "DataBase::updateTheEntityTableISONames" << endl; QSqlQuery query; QString sq; //First of all we will check if the entity table does contain data. We can't update something non existent! if (!hasTheTableData("entity")) { - //qDebug() << "DataBase::updateTheEntityTableISONames: Entity has NO data" << endl; + //qDebug() << "DataBase::updateTheEntityTableISONames: Entity has NO data" << endl; return false; } - //qDebug() << "DataBase::updateTheEntityTableISONames-1" << endl; + //qDebug() << "DataBase::updateTheEntityTableISONames-1" << endl; sq = QString ("UPDATE entity SET isoname='mt' WHERE dxcc='246'"); //Sovereign Order of Malta bool sqlOK = execQuery(Q_FUNC_INFO, sq); @@ -4900,7 +4881,7 @@ bool DataBase::updateTheEntityTableISONames() queryErrorManagement(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); return false; } - //qDebug() << "DataBase::updateTheEntityTableISONames-2" << endl; + //qDebug() << "DataBase::updateTheEntityTableISONames-2" << endl; sq = QString ("UPDATE entity SET isoname='un' WHERE dxcc='247'"); //Spratly sqlOK = execQuery(Q_FUNC_INFO, sq); @@ -6654,7 +6635,7 @@ bool DataBase::updateTheEntityTableISONames() if (!sqlOK) {return false;} - //qDebug() << "DataBase::updateTheEntityTableISONames-END" << endl; + //qDebug() << "DataBase::updateTheEntityTableISONames-END" << endl; return true; } @@ -6674,12 +6655,12 @@ bool DataBase::isTheTableExisting(const QString &_tableName) query.finish(); if (_n > 0) { - //qDebug() << "DataBase::isTheTableExisting - Table Exists" << endl; + //qDebug() << "DataBase::isTheTableExisting - Table Exists" << endl; return true; } else { - //qDebug() << "DataBase::isTheTableExisting - Table does not Exist" << endl; + //qDebug() << "DataBase::isTheTableExisting - Table does not Exist" << endl; return false; } } @@ -6696,7 +6677,7 @@ bool DataBase::isTheTableExisting(const QString &_tableName) bool DataBase::hasTheTableData(const QString &_tableName) { - //qDebug() << "DataBase::hasTheTableData" << _tableName << endl; + //qDebug() << "DataBase::hasTheTableData" << _tableName << endl; QSqlQuery query; @@ -6708,40 +6689,40 @@ bool DataBase::hasTheTableData(const QString &_tableName) query.next(); if (query.isValid()) { - //qDebug() << "DataBase::hasTheTableData - valid" << endl; + //qDebug() << "DataBase::hasTheTableData - valid" << endl; int _num = (query.value(0)).toInt(); query.finish(); if (_num > 0) { - //qDebug() << "DataBase::hasTheTableData - DB Exists" << endl; + //qDebug() << "DataBase::hasTheTableData - DB Exists" << endl; return true; } else { - //qDebug() << "DataBase::hasTheTableData - DB does not Exist" << endl; + //qDebug() << "DataBase::hasTheTableData - DB does not Exist" << endl; return false; } } else { - //qDebug() << "DataBase::hasTheTableData - not valid" << endl; + //qDebug() << "DataBase::hasTheTableData - not valid" << endl; query.finish(); return false; } } else { - //qDebug() << "DataBase::hasTheTableData: LastQuery: " << query.lastQuery() << endl; - //qDebug() << "DataBase::hasTheTableData: LastError-data: " << query.lastError().databaseText() << endl; - //qDebug() << "DataBase::hasTheTableData: LastError-driver: " << query.lastError().driverText() << endl; - //qDebug() << "DataBase::hasTheTableData LastError-n: " << QString::number(query.lastError().number() ) << endl; - //qDebug() << "DataBase::updateTheEntityTableISONames" << endl; + //qDebug() << "DataBase::hasTheTableData: LastQuery: " << query.lastQuery() << endl; + //qDebug() << "DataBase::hasTheTableData: LastError-data: " << query.lastError().databaseText() << endl; + //qDebug() << "DataBase::hasTheTableData: LastError-driver: " << query.lastError().driverText() << endl; + //qDebug() << "DataBase::hasTheTableData LastError-n: " << QString::number(query.lastError().number() ) << endl; + //qDebug() << "DataBase::updateTheEntityTableISONames" << endl; queryErrorManagement(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); query.finish(); return false; } - //qDebug() << "DataBase::isTheDBCreated: END FALSE" << endl; + //qDebug() << "DataBase::isTheDBCreated: END FALSE" << endl; //query.finish(); //return false; } @@ -6752,7 +6733,7 @@ bool DataBase::updateTo011() // AS Propagation - //qDebug() << "DataBase::updateTo011: latestRead: " << getDBVersion() << endl; + //qDebug() << "DataBase::updateTo011: latestRead: " << getDBVersion() << endl; bool IAmIn011 = false; bool IAmIn010 = false; @@ -6761,36 +6742,36 @@ bool DataBase::updateTo011() //bool sqlOk = false; latestReaded = getDBVersion().toFloat(); - //qDebug() << "DataBase::updateTo011: Checking (latestRead/dbVersion):" << QString::number(latestReaded) << "/" << QString::number(dbVersion) << endl; + //qDebug() << "DataBase::updateTo011: Checking (latestRead/dbVersion):" << QString::number(latestReaded) << "/" << QString::number(dbVersion) << endl; if (latestReaded >= float(0.011)) { - //qDebug() << "DataBase::updateTo011: - I am in 011" << endl; + //qDebug() << "DataBase::updateTo011: - I am in 011" << endl; IAmIn011 = true; return true; } else { - //qDebug() << "DataBase::updateTo011: - I am not in 0.012 I am in: " << QString::number(latestReaded)<< endl; + //qDebug() << "DataBase::updateTo011: - I am not in 0.012 I am in: " << QString::number(latestReaded)<< endl; bool ErrorUpdating = false; while (!IAmIn010 && !ErrorUpdating) { - //qDebug() << "DataBase::updateTo011: - Check if I am in 010: !" << endl; + //qDebug() << "DataBase::updateTo011: - Check if I am in 010: !" << endl; IAmIn010 = updateTo010(); if (IAmIn010) { - //qDebug() << "DataBase::updateTo011: - updateTo010 returned TRUE - I am in 0.010: " << QString::number(latestReaded) << endl; + //qDebug() << "DataBase::updateTo011: - updateTo010 returned TRUE - I am in 0.010: " << QString::number(latestReaded) << endl; } else { - //qDebug() << "DataBase::updateTo011: - updateTo009 returned FALSE - I am NOT in 0.010: " << QString::number(latestReaded) << endl; + //qDebug() << "DataBase::updateTo011: - updateTo009 returned FALSE - I am NOT in 0.010: " << QString::number(latestReaded) << endl; ErrorUpdating = false; } } if (ErrorUpdating) { - //qDebug() << "DataBase::updateTo011: - I Could not update to: " << QString::number(dbVersion) << endl; + //qDebug() << "DataBase::updateTo011: - I Could not update to: " << QString::number(dbVersion) << endl; return false; } @@ -6798,60 +6779,60 @@ bool DataBase::updateTo011() if (!recreateSatelliteData()) { - //qDebug() << "DataBase::updateTo011: - Sats update NOK " << endl; + //qDebug() << "DataBase::updateTo011: - Sats update NOK " << endl; return false; } if (!recreateTableDXCC()) { - //qDebug() << "DataBase::updateTo011: - recreateTableDXCC NOK " << endl; + //qDebug() << "DataBase::updateTo011: - recreateTableDXCC NOK " << endl; return false; } if (!recreateTableWAZ()) { - //qDebug() << "DataBase::updateTo011: - recreateTableWAZ NOK " << endl; + //qDebug() << "DataBase::updateTo011: - recreateTableWAZ NOK " << endl; return false; } if(!execQuery(Q_FUNC_INFO, "INSERT INTO mode (submode, name, cabrillo, deprecated) VALUES ('MSK144', 'MSK144', 'NO', '0')")) { - //qDebug() << "DataBase::updateTo011: - MSK NOK " << endl; + //qDebug() << "DataBase::updateTo011: - MSK NOK " << endl; return false; } if (!recreateTableLog()) { - //qDebug() << "DataBase::updateTo011: - Failed to recreate Table Log " << endl; + //qDebug() << "DataBase::updateTo011: - Failed to recreate Table Log " << endl; return false; } if (updateDBVersion(softVersion, "0.011")) { - //qDebug() << "DataBase::updateTo011: - We are in 011! " << endl; + //qDebug() << "DataBase::updateTo011: - We are in 011! " << endl; IAmIn011 = true; } else { - //qDebug() << "DataBase::updateTo011: - Failed to go to 011! " << endl; + //qDebug() << "DataBase::updateTo011: - Failed to go to 011! " << endl; IAmIn011 = false; } if (!updateAwardDXCCTable()) { - //qDebug() << "DataBase::updateTo011: - updateAwardDXCCTable NOK " << endl; + //qDebug() << "DataBase::updateTo011: - updateAwardDXCCTable NOK " << endl; IAmIn011 = false; return false; } if (!updateAwardWAZTable()) { - //qDebug() << "DataBase::updateTo011: - updateAwardWAZTable NOK " << endl; + //qDebug() << "DataBase::updateTo011: - updateAwardWAZTable NOK " << endl; IAmIn011 = false; } - //qDebug() << "DataBase::updateTo011: - END" << endl; + //qDebug() << "DataBase::updateTo011: - END" << endl; return IAmIn011; } @@ -6863,37 +6844,37 @@ bool DataBase::updateTo012() // Solve the supportedContest table missing bug in some deployments - //qDebug() << "DataBase::updateTo012: latestRead: " << getDBVersion() << endl; + //qDebug() << "DataBase::updateTo012: latestRead: " << getDBVersion() << endl; bool IAmIn011 = false; bool ErrorUpdating = false; latestReaded = getDBVersion().toFloat(); - //qDebug() << "DataBase::updateTo012: Checking (latestRead/dbVersion):" << getDBVersion() << "/" << QString::number(dbVersion) << endl; + //qDebug() << "DataBase::updateTo012: Checking (latestRead/dbVersion):" << getDBVersion() << "/" << QString::number(dbVersion) << endl; if (latestReaded >= float(0.012)) { - //qDebug() << "DataBase::updateTo012: - I am in 012" << endl; + //qDebug() << "DataBase::updateTo012: - I am in 012" << endl; return true; } else { - //qDebug() << "DataBase::updateTo012: - I am not in 0.012 I am in: " << getDBVersion() << endl; + //qDebug() << "DataBase::updateTo012: - I am not in 0.012 I am in: " << getDBVersion() << endl; while (!IAmIn011 && !ErrorUpdating) { - //qDebug() << "DataBase::updateTo012: - Check if I am in 011: !" << endl; + //qDebug() << "DataBase::updateTo012: - Check if I am in 011: !" << endl; IAmIn011 = updateTo011(); if (IAmIn011) { - //qDebug() << "DataBase::updateTo012: - updateTo011 returned TRUE - I am in 0.011: " << QString::number(latestReaded) << endl; + //qDebug() << "DataBase::updateTo012: - updateTo011 returned TRUE - I am in 0.011: " << QString::number(latestReaded) << endl; } else { - //qDebug() << "DataBase::updateTo012: - updateTo011 returned FALSE - I am NOT in 0.011: " << QString::number(latestReaded) << endl; + //qDebug() << "DataBase::updateTo012: - updateTo011 returned FALSE - I am NOT in 0.011: " << QString::number(latestReaded) << endl; ErrorUpdating = false; } } if (ErrorUpdating) { - //qDebug() << "DataBase::updateTo012: - I Could not update to: " << QString::number(dbVersion) << endl; + //qDebug() << "DataBase::updateTo012: - I Could not update to: " << QString::number(dbVersion) << endl; return false; } } @@ -6912,7 +6893,7 @@ bool DataBase::updateTo012() } else { - //qDebug() << "DataBase::updateTo012: UPDATED NOK-1!" << endl; + //qDebug() << "DataBase::updateTo012: UPDATED NOK-1!" << endl; return false; } } @@ -6923,7 +6904,7 @@ bool DataBase::updateTo012() { if (!recreateSupportedContest()) { - //qDebug() << "DataBase::updateTo012: UPDATED NOK-2!" << endl; + //qDebug() << "DataBase::updateTo012: UPDATED NOK-2!" << endl; return false; } } @@ -6931,15 +6912,15 @@ bool DataBase::updateTo012() if (updateDBVersion(softVersion, "0.012")) { - //qDebug() << "DataBase::updateTo012: - We are in 012! " << endl; + //qDebug() << "DataBase::updateTo012: - We are in 012! " << endl; } else { - //qDebug() << "DataBase::updateTo011: - Failed to go to 012! " << endl; + //qDebug() << "DataBase::updateTo011: - Failed to go to 012! " << endl; return false; } - //qDebug() << "DataBase::updateTo012: UPDATED OK!" << endl; + //qDebug() << "DataBase::updateTo012: UPDATED OK!" << endl; return true; } @@ -6951,37 +6932,37 @@ bool DataBase::updateTo013() // Solve the supportedContest table missing bug in some deployments - //qDebug() << "DataBase::updateTo013: latestRead: " << getDBVersion() << endl; + //qDebug() << "DataBase::updateTo013: latestRead: " << getDBVersion() << endl; bool IAmIn012 = false; bool ErrorUpdating = false; latestReaded = getDBVersion().toFloat(); - //qDebug() << "DataBase::updateTo013: Checking (latestRead/dbVersion):" << getDBVersion() << "/" << QString::number(dbVersion) << endl; + //qDebug() << "DataBase::updateTo013: Checking (latestRead/dbVersion):" << getDBVersion() << "/" << QString::number(dbVersion) << endl; if (latestReaded >= float(0.013)) { - //qDebug() << "DataBase::updateTo013: - I am in 013" << endl; + //qDebug() << "DataBase::updateTo013: - I am in 013" << endl; return true; } else { - //qDebug() << "DataBase::updateTo013: - I am not in 0.013 I am in: " << getDBVersion() << endl; + //qDebug() << "DataBase::updateTo013: - I am not in 0.013 I am in: " << getDBVersion() << endl; while (!IAmIn012 && !ErrorUpdating) { - //qDebug() << "DataBase::updateTo013: - Check if I am in 012: !" << endl; + //qDebug() << "DataBase::updateTo013: - Check if I am in 012: !" << endl; IAmIn012 = updateTo012(); if (IAmIn012) { - //qDebug() << "DataBase::updateTo013: - updateTo012 returned TRUE - I am in 0.012: " << QString::number(latestReaded) << endl; + //qDebug() << "DataBase::updateTo013: - updateTo012 returned TRUE - I am in 0.012: " << QString::number(latestReaded) << endl; } else { - //qDebug() << "DataBase::updateTo013: - updateTo011 returned FALSE - I am NOT in 0.012: " << QString::number(latestReaded) << endl; + //qDebug() << "DataBase::updateTo013: - updateTo011 returned FALSE - I am NOT in 0.012: " << QString::number(latestReaded) << endl; ErrorUpdating = false; } } if (ErrorUpdating) { - //qDebug() << "DataBase::updateTo013: - I Could not update to: " << QString::number(dbVersion) << endl; + //qDebug() << "DataBase::updateTo013: - I Could not update to: " << QString::number(dbVersion) << endl; return false; } } @@ -7013,15 +6994,15 @@ bool DataBase::updateTo013() if (updateDBVersion(softVersion, "0.013")) { - //qDebug() << "DataBase::updateTo013: - We are in 013! " << endl; + //qDebug() << "DataBase::updateTo013: - We are in 013! " << endl; } else { - //qDebug() << "DataBase::updateTo013: - Failed to go to 013! " << endl; + //qDebug() << "DataBase::updateTo013: - Failed to go to 013! " << endl; return false; } - //qDebug() << "DataBase::updateTo013: UPDATED OK!" << endl; + //qDebug() << "DataBase::updateTo013: UPDATED OK!" << endl; return true; } @@ -7033,37 +7014,37 @@ bool DataBase::updateTo014() // Updates the Satellite DB - //qDebug() << "DataBase::updateto014: latestRead: " << getDBVersion() << endl; + //qDebug() << "DataBase::updateto014: latestRead: " << getDBVersion() << endl; bool IAmIn013 = false; bool ErrorUpdating = false; latestReaded = getDBVersion().toFloat(); - //qDebug() << "DataBase::updateto014: Checking (latestRead/dbVersion):" << getDBVersion() << "/" << QString::number(dbVersion) << endl; + //qDebug() << "DataBase::updateto014: Checking (latestRead/dbVersion):" << getDBVersion() << "/" << QString::number(dbVersion) << endl; if (latestReaded >= float(0.14)) { - //qDebug() << "DataBase::updateto014: - I am in 013" << endl; + //qDebug() << "DataBase::updateto014: - I am in 013" << endl; return true; } else { - //qDebug() << "DataBase::updateto014: - I am not in 0.013 I am in: " << getDBVersion() << endl; + //qDebug() << "DataBase::updateto014: - I am not in 0.013 I am in: " << getDBVersion() << endl; while (!IAmIn013 && !ErrorUpdating) { - //qDebug() << "DataBase::updateto014: - Check if I am in 013: !" << endl; + //qDebug() << "DataBase::updateto014: - Check if I am in 013: !" << endl; IAmIn013 = updateTo013(); if (IAmIn013) { - //qDebug() << "DataBase::updateto014: - updateTo012 returned TRUE - I am in 0.013: " << QString::number(latestReaded) << endl; + //qDebug() << "DataBase::updateto014: - updateTo012 returned TRUE - I am in 0.013: " << QString::number(latestReaded) << endl; } else { - //qDebug() << "DataBase::updateto014: - updateTo011 returned FALSE - I am NOT in 0.013: " << QString::number(latestReaded) << endl; + //qDebug() << "DataBase::updateto014: - updateTo011 returned FALSE - I am NOT in 0.013: " << QString::number(latestReaded) << endl; ErrorUpdating = false; } } if (ErrorUpdating) { - //qDebug() << "DataBase::updateto014: - I Could not update to: " << QString::number(dbVersion) << endl; + //qDebug() << "DataBase::updateto014: - I Could not update to: " << QString::number(dbVersion) << endl; return false; } } @@ -7073,22 +7054,22 @@ bool DataBase::updateTo014() if (!recreateSatelliteData()) { - //qDebug() << "DataBase::updateTo014: - Sats update NOK " << endl; + //qDebug() << "DataBase::updateTo014: - Sats update NOK " << endl; return false; } if (updateDBVersion(softVersion, "0.014")) { - //qDebug() << "DataBase::updateto014: - We are in 013! " << endl; + //qDebug() << "DataBase::updateto014: - We are in 013! " << endl; } else { - //qDebug() << "DataBase::updateto014: - Failed to go to 013! " << endl; + //qDebug() << "DataBase::updateto014: - Failed to go to 013! " << endl; return false; } - //qDebug() << "DataBase::updateTo014: UPDATED OK!" << endl; + //qDebug() << "DataBase::updateTo014: UPDATED OK!" << endl; return true; } @@ -7098,36 +7079,36 @@ bool DataBase::updateTo015() // Updates the DB to 0.015: // Adds the FT4 mode - //qDebug() << "DataBase::updateto015: latestRead: " << getDBVersion() << endl; + //qDebug() << "DataBase::updateto015: latestRead: " << getDBVersion() << endl; bool IAmIn014 = false; bool ErrorUpdating = false; latestReaded = getDBVersion().toFloat(); - //qDebug() << "DataBase::updateto015: Checking (latestRead/dbVersion):" << getDBVersion() << "/" << QString::number(dbVersion) << endl; + //qDebug() << "DataBase::updateto015: Checking (latestRead/dbVersion):" << getDBVersion() << "/" << QString::number(dbVersion) << endl; if (latestReaded >= float(0.15)) { - //qDebug() << "DataBase::updateto015: - I am in 013" << endl; + //qDebug() << "DataBase::updateto015: - I am in 013" << endl; return true; } else { - //qDebug() << "DataBase::updateto014: - I am not in 0.014 I am in: " << getDBVersion() << endl; + //qDebug() << "DataBase::updateto014: - I am not in 0.014 I am in: " << getDBVersion() << endl; while (!IAmIn014 && !ErrorUpdating) { - //qDebug() << "DataBase::updateto015: - Check if I am in 014: !" << endl; + //qDebug() << "DataBase::updateto015: - Check if I am in 014: !" << endl; IAmIn014 = updateTo014(); if (IAmIn014) { - //qDebug() << "DataBase::updateto015: - updateTo013 returned TRUE - I am in 0.014: " << QString::number(latestReaded) << endl; + //qDebug() << "DataBase::updateto015: - updateTo013 returned TRUE - I am in 0.014: " << QString::number(latestReaded) << endl; } else { - //qDebug() << "DataBase::updateto015: - updateTo011 returned FALSE - I am NOT in 0.014: " << QString::number(latestReaded) << endl; + //qDebug() << "DataBase::updateto015: - updateTo011 returned FALSE - I am NOT in 0.014: " << QString::number(latestReaded) << endl; ErrorUpdating = false; } } if (ErrorUpdating) { - //qDebug() << "DataBase::updateto015: - I Could not update to: " << QString::number(dbVersion) << endl; + //qDebug() << "DataBase::updateto015: - I Could not update to: " << QString::number(dbVersion) << endl; return false; } } @@ -7137,26 +7118,26 @@ bool DataBase::updateTo015() if (updateTheModeTableAndSyncLog()) { - //qDebug() << "DataBase::updateTo015: - updateTheModeTableAndSyncLog OK" << endl; + //qDebug() << "DataBase::updateTo015: - updateTheModeTableAndSyncLog OK" << endl; } else { - //qDebug() << "DataBase::updateTo015: UPDATED NOK!(9)" << endl; + //qDebug() << "DataBase::updateTo015: UPDATED NOK!(9)" << endl; //ErrorUpdating = true; } if (updateDBVersion(softVersion, "0.015")) { - //qDebug() << "DataBase::updateto015: - We are in 015! " << endl; + //qDebug() << "DataBase::updateto015: - We are in 015! " << endl; } else { - //qDebug() << "DataBase::updateto015: - Failed to go to 014! " << endl; + //qDebug() << "DataBase::updateto015: - Failed to go to 014! " << endl; return false; } - //qDebug() << "DataBase::updateTo015: UPDATED OK!" << endl; + //qDebug() << "DataBase::updateTo015: UPDATED OK!" << endl; return true; } @@ -7168,37 +7149,37 @@ bool DataBase::updateTo016() // Updates the Satellite DB - //qDebug() << "DataBase::updateto016: latestRead: " << getDBVersion() << endl; + //qDebug() << "DataBase::updateto016: latestRead: " << getDBVersion() << endl; bool IAmIn015 = false; bool ErrorUpdating = false; latestReaded = getDBVersion().toFloat(); - //qDebug() << "DataBase::updateto016: Checking (latestRead/dbVersion):" << getDBVersion() << "/" << QString::number(dbVersion) << endl; + //qDebug() << "DataBase::updateto016: Checking (latestRead/dbVersion):" << getDBVersion() << "/" << QString::number(dbVersion) << endl; if (latestReaded >= float(0.16)) { - //qDebug() << "DataBase::updateto016: - I am in 015" << endl; + //qDebug() << "DataBase::updateto016: - I am in 015" << endl; return true; } else { - //qDebug() << "DataBase::updateto016: - I am not in 0.015 I am in: " << getDBVersion() << endl; + //qDebug() << "DataBase::updateto016: - I am not in 0.015 I am in: " << getDBVersion() << endl; while (!IAmIn015 && !ErrorUpdating) { - //qDebug() << "DataBase::updateto014: - Check if I am in 015: !" << endl; + //qDebug() << "DataBase::updateto014: - Check if I am in 015: !" << endl; IAmIn015 = updateTo015(); if (IAmIn015) { - //qDebug() << "DataBase::updateto016: - updateTo015 returned TRUE - I am in 0.015: " << QString::number(latestReaded) << endl; + //qDebug() << "DataBase::updateto016: - updateTo015 returned TRUE - I am in 0.015: " << QString::number(latestReaded) << endl; } else { - //qDebug() << "DataBase::updateto016: - updateTo015 returned FALSE - I am NOT in 0.015: " << QString::number(latestReaded) << endl; + //qDebug() << "DataBase::updateto016: - updateTo015 returned FALSE - I am NOT in 0.015: " << QString::number(latestReaded) << endl; ErrorUpdating = false; } } if (ErrorUpdating) { - //qDebug() << "DataBase::updateto016: - I Could not update to: " << QString::number(dbVersion) << endl; + //qDebug() << "DataBase::updateto016: - I Could not update to: " << QString::number(dbVersion) << endl; return false; } } @@ -7207,25 +7188,25 @@ bool DataBase::updateTo016() if (!recreateSatelliteData()) { - //qDebug() << "DataBase::updateTo016: - Sats update NOK " << endl; + //qDebug() << "DataBase::updateTo016: - Sats update NOK " << endl; return false; } if (updateDBVersion(softVersion, "0.016")) { - //qDebug() << "DataBase::updateto014: - We are in 016! " << endl; + //qDebug() << "DataBase::updateto014: - We are in 016! " << endl; } else { - //qDebug() << "DataBase::updateto014: - Failed to go to 016! " << endl; + //qDebug() << "DataBase::updateto014: - Failed to go to 016! " << endl; return false; } - //qDebug() << "DataBase::updateTo016: UPDATED OK!" << endl; + //qDebug() << "DataBase::updateTo016: UPDATED OK!" << endl; return true; } bool DataBase::updateAwardDXCCTable() { - //qDebug() << "DataBase::updateAwardDXCCTable" << endl; + //qDebug() << "DataBase::updateAwardDXCCTable" << endl; QList dxccStatusList; //QList dxccStatusListCheck; @@ -7259,7 +7240,7 @@ bool DataBase::updateAwardDXCCTable() } else { - //qDebug() << "DataBase::updateAwardDXCCTable SELECT when OK" << endl; + //qDebug() << "DataBase::updateAwardDXCCTable SELECT when OK" << endl; } QStringList dxccStatus = QStringList(); //dxcc, band, mode, confirmed, lognumber, qsoid (per award set) QStringList dxccStatusCheck = QStringList(); //dxcc, band, mode, confirmed, lognumber (per award set) just to check @@ -7267,20 +7248,20 @@ bool DataBase::updateAwardDXCCTable() QString _aux = QString(); - //qDebug() << "DataBase::updateAwardDXCCTable before the while" << endl; + //qDebug() << "DataBase::updateAwardDXCCTable before the while" << endl; while (query.next()) { - //qDebug() << "DataBase::updateAwardDXCCTable IN the while" << endl; + //qDebug() << "DataBase::updateAwardDXCCTable IN the while" << endl; if (query.isValid()) { - //qDebug() << "DataBase::updateAwardDXCCTable VALID" << endl; + //qDebug() << "DataBase::updateAwardDXCCTable VALID" << endl; awardEntry.dxcc.clear(); awardEntry.band.clear(); awardEntry.status.clear(); awardEntry.logNumber.clear(); awardEntry.qsoID.clear(); - //qDebug() << "DataBase::updateAwardDXCCTable in the while" << endl; + //qDebug() << "DataBase::updateAwardDXCCTable in the while" << endl; nameCol = rec.indexOf("qsl_rcvd"); if ((query.value(nameCol)).toString() == "Y") @@ -7291,7 +7272,7 @@ bool DataBase::updateAwardDXCCTable() { awardEntry.status = "0"; } - //qDebug() << "DataBase::updateAwardDXCCTable - status" << awardEntry.status << endl; + //qDebug() << "DataBase::updateAwardDXCCTable - status" << awardEntry.status << endl; if ((awardEntry.status == "1") || (awardEntry.status == "0") ) { @@ -7312,7 +7293,7 @@ bool DataBase::updateAwardDXCCTable() nameCol = rec.indexOf("lognumber"); awardEntry.logNumber = (query.value(nameCol)).toString(); - //qDebug() << "DataBase::updateAwardDXCCTable: Adding: " << awardEntry.dxcc <<"/" << awardEntry.band <<"/" << awardEntry.mode <<"/" << awardEntry.status <<"/" << awardEntry.logNumber <<"/" << awardEntry.qsoID << endl; + //qDebug() << "DataBase::updateAwardDXCCTable: Adding: " << awardEntry.dxcc <<"/" << awardEntry.band <<"/" << awardEntry.mode <<"/" << awardEntry.status <<"/" << awardEntry.logNumber <<"/" << awardEntry.qsoID << endl; dxccStatusList.append(awardEntry); } @@ -7320,12 +7301,12 @@ bool DataBase::updateAwardDXCCTable() } } // END OF WHILE - //qDebug() << "DataBase::updateAwardDXCCTable - END OF WHILE" << endl; + //qDebug() << "DataBase::updateAwardDXCCTable - END OF WHILE" << endl; query.finish(); - //qDebug() << "DataBase::updateAwardDXCCTable: Log analized... let's clean the table!" << endl; + //qDebug() << "DataBase::updateAwardDXCCTable: Log analized... let's clean the table!" << endl; stringQuery = QString("DELETE FROM awarddxcc"); @@ -7334,11 +7315,11 @@ bool DataBase::updateAwardDXCCTable() {return false;} else { - //qDebug() << "DataBase::updateAwardDXCCTable: awarddxcc table DELETED" << endl; + //qDebug() << "DataBase::updateAwardDXCCTable: awarddxcc table DELETED" << endl; } - //qDebug() << "DataBase::updateAwardDXCCTable: Now we start writing the table!!" << endl; + //qDebug() << "DataBase::updateAwardDXCCTable: Now we start writing the table!!" << endl; //int i = 0; _aux.clear(); @@ -7350,7 +7331,7 @@ bool DataBase::updateAwardDXCCTable() progress.setMaximum(qsos); progress.setWindowModality(Qt::WindowModal); - //qDebug() << "DataBase::updateAwardDXCCTable: INSERTING: " << QString::number(qsos) << " QSOS..." << endl; + //qDebug() << "DataBase::updateAwardDXCCTable: INSERTING: " << QString::number(qsos) << " QSOS..." << endl; for (int j=0;j dxccStatusList; //QList dxccStatusListCheck; dxccStatusList.clear(); @@ -7482,7 +7463,7 @@ bool DataBase::updateAwardWAZTable() } else { - //qDebug() << "DataBase::updateAwardWAZTable SELECT when OK" << endl; + //qDebug() << "DataBase::updateAwardWAZTable SELECT when OK" << endl; } QStringList dxccStatus = QStringList(); //cqz, band, mode, confirmed, lognumber, qsoid (per award set) QStringList dxccStatusCheck = QStringList(); //cqz, band, mode, confirmed, lognumber (per award set) just to check @@ -7490,20 +7471,20 @@ bool DataBase::updateAwardWAZTable() QString _aux = QString(); - //qDebug() << "DataBase::updateAwardWAZTable before the while" << endl; + //qDebug() << "DataBase::updateAwardWAZTable before the while" << endl; while (query.next()) { - //qDebug() << "DataBase::updateAwardWAZTable IN the while" << endl; + //qDebug() << "DataBase::updateAwardWAZTable IN the while" << endl; if (query.isValid()) { - //qDebug() << "DataBase::updateAwardWAZTable VALID" << endl; + //qDebug() << "DataBase::updateAwardWAZTable VALID" << endl; awardEntry.dxcc.clear(); awardEntry.band.clear(); awardEntry.status.clear(); awardEntry.logNumber.clear(); awardEntry.qsoID.clear(); - //qDebug() << "DataBase::updateAwardWAZTable in the while" << endl; + //qDebug() << "DataBase::updateAwardWAZTable in the while" << endl; nameCol = rec.indexOf("qsl_rcvd"); if ((query.value(nameCol)).toString() == "Y") @@ -7514,7 +7495,7 @@ bool DataBase::updateAwardWAZTable() { awardEntry.status = "0"; } - //qDebug() << "DataBase::updateAwardWAZTable - status" << awardEntry.status << endl; + //qDebug() << "DataBase::updateAwardWAZTable - status" << awardEntry.status << endl; if ((awardEntry.status == "1") || (awardEntry.status == "0") ) { @@ -7535,7 +7516,7 @@ bool DataBase::updateAwardWAZTable() nameCol = rec.indexOf("lognumber"); awardEntry.logNumber = (query.value(nameCol)).toString(); - //qDebug() << "DataBase::updateAwardWAZTable: Adding: " << awardEntry.dxcc <<"/" << awardEntry.band <<"/" << awardEntry.mode <<"/" << awardEntry.status <<"/" << awardEntry.logNumber <<"/" << awardEntry.qsoID << endl; + //qDebug() << "DataBase::updateAwardWAZTable: Adding: " << awardEntry.dxcc <<"/" << awardEntry.band <<"/" << awardEntry.mode <<"/" << awardEntry.status <<"/" << awardEntry.logNumber <<"/" << awardEntry.qsoID << endl; dxccStatusList.append(awardEntry); } @@ -7543,12 +7524,12 @@ bool DataBase::updateAwardWAZTable() } } // END OF WHILE - //qDebug() << "DataBase::updateAwardWAZTable - END OF WHILE" << endl; + //qDebug() << "DataBase::updateAwardWAZTable - END OF WHILE" << endl; query.finish(); - //qDebug() << "DataBase::updateAwardWAZTable: Log analized... let's clean the table!" << endl; + //qDebug() << "DataBase::updateAwardWAZTable: Log analized... let's clean the table!" << endl; stringQuery = QString("DELETE FROM awardwaz"); @@ -7557,11 +7538,11 @@ bool DataBase::updateAwardWAZTable() {return false;} else { - //qDebug() << "DataBase::updateAwardWAZTable: awardwaz table DELETED" << endl; + //qDebug() << "DataBase::updateAwardWAZTable: awardwaz table DELETED" << endl; } - //qDebug() << "DataBase::updateAwardWAZTable: Now we start writing the table!!" << endl; + //qDebug() << "DataBase::updateAwardWAZTable: Now we start writing the table!!" << endl; //int i = 0; _aux.clear(); @@ -7573,7 +7554,7 @@ bool DataBase::updateAwardWAZTable() progress.setMaximum(qsos); progress.setWindowModality(Qt::WindowModal); - //qDebug() << "DataBase::updateAwardWAZTable: INSERTING: " << QString::number(qsos) << " QSOS..." << endl; + //qDebug() << "DataBase::updateAwardWAZTable: INSERTING: " << QString::number(qsos) << " QSOS..." << endl; for (int j=0;j. * + * along with KLog. If not, see . * * * *****************************************************************************/ @@ -108,8 +108,8 @@ public: QString getFreqFromBandId(const int _i); - //int getLogTypeNumber(const QString &_logType); - //QString getLogTypeName(const int _logType); + int getLogTypeNumber(const QString &_logType); + QString getLogTypeName(const int _logType); bool unMarkAllQSO(); bool updateIfNeeded(); diff --git a/dataproxy_sqlite.cpp b/dataproxy_sqlite.cpp index 1e8a7b8e..cc37ccc4 100644 --- a/dataproxy_sqlite.cpp +++ b/dataproxy_sqlite.cpp @@ -20,7 +20,7 @@ * 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 . * + * along with KLog. If not, see . * * * *****************************************************************************/ @@ -30,9 +30,9 @@ DataProxy_SQLite::DataProxy_SQLite(const QString &_softVersion, const QString &_parentFunction) { - //qDebug() << "DataProxy_SQLite::DataProxy_SQLite" << _softVersion << _parentFunction << endl; + //qDebug() << "DataProxy_SQLite::DataProxy_SQLite" << _softVersion << _parentFunction << endl; - //qDebug() << "DataProxy_SQLite::DataProxy_SQLite 1" << endl; + //qDebug() << "DataProxy_SQLite::DataProxy_SQLite 1" << endl; util = new Utilities(); util->setVersion(_softVersion); @@ -40,18 +40,18 @@ DataProxy_SQLite::DataProxy_SQLite(const QString &_softVersion, const QString &_ //db = new DataBase(Q_FUNC_INFO, util->getKLogDBFile()); dbCreated = db->createConnection(Q_FUNC_INFO); //dbCreated = db->createBandModeMaps(); - //qDebug() << "DataProxy_SQLite::DataProxy_SQLite - END" << endl; + //qDebug() << "DataProxy_SQLite::DataProxy_SQLite - END" << endl; searching = false; executionN = 0; //preparedQuery = new QSqlQuery; //db = new DataBase(0); //DataProxy_SQLite = new DataProxy_SQLite(); - //qDebug() << "DataProxy_SQLite::DataProxy_SQLite END" << endl; + //qDebug() << "DataProxy_SQLite::DataProxy_SQLite END" << endl; } DataProxy_SQLite::~DataProxy_SQLite(){ - //qDebug() << "DataProxy_SQLite::~DataProxy_SQLite" << endl; + //qDebug() << "DataProxy_SQLite::~DataProxy_SQLite" << endl; } @@ -67,18 +67,18 @@ QString DataProxy_SQLite::getSoftVersion() { QString v = (query.value(0)).toString(); query.finish(); - //qDebug() << "DataProxy_SQLite::getSoftVersion: DATA: " << v << endl; + //qDebug() << "DataProxy_SQLite::getSoftVersion: DATA: " << v << endl; if (v.length()<1) { //The following is not a query error but if the softwareversion value is lower than 0 or empty - queryError(Q_FUNC_INFO, tr("Software version in DB is null"), -1, tr("Query didn't failed")); // To alert about any failed query execution + queryError(Q_FUNC_INFO, tr("Software version in DB is null"), -1, tr("No query failed")); // To alert about any failed query execution } return v; } else { query.finish(); - //qDebug() << "DataProxy_SQLite::getSoftVersion: version empty-1" << endl; + //qDebug() << "DataProxy_SQLite::getSoftVersion: version empty-1" << endl; return QString(); } } @@ -86,7 +86,7 @@ QString DataProxy_SQLite::getSoftVersion() { emit queryError(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); query.finish(); - //qDebug() << "DataProxy_SQLite::getSoftVersion: version empty-1 - ERROR" << endl; + //qDebug() << "DataProxy_SQLite::getSoftVersion: version empty-1 - ERROR" << endl; return QString(); } } @@ -125,16 +125,16 @@ bool DataProxy_SQLite::reconnectDB() } void DataProxy_SQLite::createLogModel(){ - //qDebug() << "DataProxy_SQLite::createLogModel" << endl; + //qDebug() << "DataProxy_SQLite::createLogModel" << endl; } void DataProxy_SQLite::createLogPanel(){ - //qDebug() << "DataProxy_SQLite::createLogPanel" << endl; + //qDebug() << "DataProxy_SQLite::createLogPanel" << endl; } int DataProxy_SQLite::getIdFromModeName(const QString& _modeName) { - //qDebug() << "DataProxy_SQLite::getIdFromModeName: " << _modeName << "/" << QString::number(db->getModeIDFromName2(_modeName)) << endl; + //qDebug() << "DataProxy_SQLite::getIdFromModeName: " << _modeName << "/" << QString::number(db->getModeIDFromName2(_modeName)) << endl; if (_modeName.length()<2) { return -4; @@ -145,7 +145,7 @@ int DataProxy_SQLite::getIdFromModeName(const QString& _modeName) int DataProxy_SQLite::getSubModeIdFromSubMode(const QString &_subModeName) { - //qDebug() << "DataProxy_SQLite::getSubModeIdFromSubMode: " << _subModeName << endl; + //qDebug() << "DataProxy_SQLite::getSubModeIdFromSubMode: " << _subModeName << endl; if (_subModeName.length()<2) { @@ -226,10 +226,10 @@ bool DataProxy_SQLite::isModeDeprecated (const QString &_sm) int DataProxy_SQLite::getIdFromBandName(const QString& _bandName) { -// //qDebug() << "DataProxy_SQLite::getIdFromBandName: " << _bandName << "/" << QString::number(db->getBandIDFromName2(_bandName))<< endl; +// //qDebug() << "DataProxy_SQLite::getIdFromBandName: " << _bandName << "/" << QString::number(db->getBandIDFromName2(_bandName))<< endl; if (_bandName.length()<1) { - //qDebug() << "DataProxy_SQLite::getIdFromBandName:-4: " << _bandName << "/" << QString::number(db->getBandIDFromName2(_bandName))<< endl; + //qDebug() << "DataProxy_SQLite::getIdFromBandName:-4: " << _bandName << "/" << QString::number(db->getBandIDFromName2(_bandName))<< endl; return -4; } @@ -238,13 +238,13 @@ int DataProxy_SQLite::getIdFromBandName(const QString& _bandName) QString DataProxy_SQLite::getNameFromBandId (const int _id) { - //qDebug() << "DataProxy_SQLite::getNameFromBandId: " << QString::number(_id) << endl; + //qDebug() << "DataProxy_SQLite::getNameFromBandId: " << QString::number(_id) << endl; return db->getBandNameFromID2(_id); } QString DataProxy_SQLite::getNameFromModeId (const int _id) { - //qDebug() << "DataProxy_SQLite::getNameFromModeId" << endl; + //qDebug() << "DataProxy_SQLite::getNameFromModeId" << endl; //return db->getModeNameFromID2(_id); return db->getModeNameFromNumber(_id); @@ -252,7 +252,7 @@ QString DataProxy_SQLite::getNameFromModeId (const int _id) QString DataProxy_SQLite::getNameFromSubModeId (const int _id) { - //qDebug() << "DataProxy_SQLite::getNameFromSubModeId: " << QString::number(_id) << "DB: " << db->getModeNameFromID2(_id) << endl; + //qDebug() << "DataProxy_SQLite::getNameFromSubModeId: " << QString::number(_id) << "DB: " << db->getModeNameFromID2(_id) << endl; return db->getSubModeNameFromID2(_id); /* @@ -288,7 +288,7 @@ QString DataProxy_SQLite::getNameFromSubModeId (const int _id) QString DataProxy_SQLite::getSubModeFromId (const int _id) { - //qDebug() << "DataProxy_SQLite::getSubModeFromId: " << QString::number(_id) << endl; + //qDebug() << "DataProxy_SQLite::getSubModeFromId: " << QString::number(_id) << endl; QSqlQuery query; QString queryString = QString("SELECT submode FROM mode WHERE id='%1'").arg(_id); bool sqlOK = query.exec(queryString); @@ -359,7 +359,7 @@ QString DataProxy_SQLite::getFreqFromBandId(const int _id) int DataProxy_SQLite::getBandIdFromFreq(const double _n) { - //qDebug() << "DataProxy_SQLite::getBandIdFromFreq: " << QString::number(_n) << endl; + //qDebug() << "DataProxy_SQLite::getBandIdFromFreq: " << QString::number(_n) << endl; //Freq should be in MHz bool sqlOk = false; QString queryString = QString("SELECT id FROM band WHERE lower <= '%1' and upper >= '%2'").arg(_n).arg(_n); @@ -367,10 +367,10 @@ int DataProxy_SQLite::getBandIdFromFreq(const double _n) QSqlQuery query(queryString); sqlOk = query.exec(); - //qDebug() << "DataProxy_SQLite::getBandIdFromFreq: Query: " << query.lastQuery() << endl; + //qDebug() << "DataProxy_SQLite::getBandIdFromFreq: Query: " << query.lastQuery() << endl; if (sqlOk) { - //qDebug() << "DataProxy_SQLite::getBandIdFromFreq: Query OK" << endl; + //qDebug() << "DataProxy_SQLite::getBandIdFromFreq: Query OK" << endl; query.next(); @@ -388,7 +388,7 @@ int DataProxy_SQLite::getBandIdFromFreq(const double _n) } else { - //qDebug() << "DataProxy_SQLite::getBandIdFromFreq: Query NOK" << endl; + //qDebug() << "DataProxy_SQLite::getBandIdFromFreq: Query NOK" << endl; emit queryError(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); query.finish(); return -2; @@ -398,13 +398,13 @@ int DataProxy_SQLite::getBandIdFromFreq(const double _n) QString DataProxy_SQLite::getBandNameFromFreq(const double _n) { - //qDebug() << "DataProxy_SQLite::getBandNameFromFreq: " << QString::number(_n) << endl; + //qDebug() << "DataProxy_SQLite::getBandNameFromFreq: " << QString::number(_n) << endl; return getNameFromBandId(getBandIdFromFreq(_n)); } double DataProxy_SQLite::getLowLimitBandFromBandName(const QString &_sm) { - //qDebug() << "DataProxy_SQLite::getLowLimitBandFromBandName: " << _sm << endl; + //qDebug() << "DataProxy_SQLite::getLowLimitBandFromBandName: " << _sm << endl; QSqlQuery query; QString queryString = QString("SELECT lower FROM band WHERE name='%1' OR name='%2'").arg(_sm).arg(_sm.toUpper()); bool sqlOK = query.exec(queryString); @@ -416,13 +416,13 @@ double DataProxy_SQLite::getLowLimitBandFromBandName(const QString &_sm) { if ( (query.value(0)).toDouble()<0 ) { - //qDebug() << "DataProxy_SQLite::getLowLimitBandFromBandName: -1.0-1" << endl; + //qDebug() << "DataProxy_SQLite::getLowLimitBandFromBandName: -1.0-1" << endl; query.finish(); return -1.0; } else { - //qDebug() << "DataProxy_SQLite::getLowLimitBandFromBandName(else): " << QString::number((query.value(0)).toDouble()) << endl; + //qDebug() << "DataProxy_SQLite::getLowLimitBandFromBandName(else): " << QString::number((query.value(0)).toDouble()) << endl; double v = (query.value(0)).toDouble(); query.finish(); return v; @@ -430,12 +430,12 @@ double DataProxy_SQLite::getLowLimitBandFromBandName(const QString &_sm) } else { - //qDebug() << "DataProxy_SQLite::getLowLimitBandFromBandName: -1.0-2" << endl; + //qDebug() << "DataProxy_SQLite::getLowLimitBandFromBandName: -1.0-2" << endl; query.finish(); return -1.0; } - //qDebug() << "DataProxy_SQLite::getLowLimitBandFromBandName: -1.0-3" << endl; + //qDebug() << "DataProxy_SQLite::getLowLimitBandFromBandName: -1.0-3" << endl; //query.finish(); //return -1.0; } @@ -451,7 +451,7 @@ double DataProxy_SQLite::getLowLimitBandFromBandName(const QString &_sm) double DataProxy_SQLite::getLowLimitBandFromBandId(const QString &_sm) { - //qDebug() << "DataProxy_SQLite::getLowLimitBandFromBandId" << endl; + //qDebug() << "DataProxy_SQLite::getLowLimitBandFromBandId" << endl; QSqlQuery query; QString queryString = QString("SELECT lower FROM band WHERE id='%1'").arg(_sm.toUpper()); bool sqlOK = query.exec(queryString); @@ -463,13 +463,13 @@ double DataProxy_SQLite::getLowLimitBandFromBandId(const QString &_sm) { if ( (query.value(1)).toDouble()<0 ) { - //qDebug() << "DataProxy_SQLite::getLowLimitBandFromBandId: -1.0-1" << endl; + //qDebug() << "DataProxy_SQLite::getLowLimitBandFromBandId: -1.0-1" << endl; query.finish(); return -1.0; } else { - //qDebug() << "DataProxy_SQLite::getLowLimitBandFromBandId: " << QString::number((query.value(0)).toDouble()) << endl; + //qDebug() << "DataProxy_SQLite::getLowLimitBandFromBandId: " << QString::number((query.value(0)).toDouble()) << endl; double v = (query.value(0)).toDouble(); query.finish(); return v; @@ -477,12 +477,12 @@ double DataProxy_SQLite::getLowLimitBandFromBandId(const QString &_sm) } else { - //qDebug() << "DataProxy_SQLite::getLowLimitBandFromBandId: -1.0-2" << endl; + //qDebug() << "DataProxy_SQLite::getLowLimitBandFromBandId: -1.0-2" << endl; query.finish(); return -1.0; } - + //qDebug() << "DataProxy_SQLite::getLowLimitBandFromBandId: -1.0-3" << endl; //query.finish(); //return -1.0; } @@ -503,7 +503,7 @@ bool DataProxy_SQLite::isThisFreqInBand(const QString &_band, const QString &_fr QStringList DataProxy_SQLite::getBands() { - //qDebug() << "DataProxy_SQLite::getBands - DEPRECATED please use getBandNames - TODO: Remove this function and change the calls" << endl; + //qDebug() << "DataProxy_SQLite::getBands - DEPRECATED please use getBandNames - TODO: Remove this function and change the calls" << endl; return getBandNames(); @@ -522,7 +522,7 @@ QStringList DataProxy_SQLite::getBands() QStringList DataProxy_SQLite::getBandNames() { - //qDebug() << "DataProxy_SQLite::getBandNames" << endl; + //qDebug() << "DataProxy_SQLite::getBandNames" << endl; QStringList bands = QStringList(); QSqlQuery query; QString queryString; @@ -537,7 +537,7 @@ QStringList DataProxy_SQLite::getBandNames() if (query.isValid()) { queryString = (query.value(0)).toString(); - //qDebug() << "DataProxy_SQLite::getBandNames: " << queryString << endl; + //qDebug() << "DataProxy_SQLite::getBandNames: " << queryString << endl; bands.append(queryString); } else @@ -577,31 +577,37 @@ QStringList DataProxy_SQLite::getModes() QStringList DataProxy_SQLite::sortBandNamesBottonUp(const QStringList _qs) { //Receives a list of band names, sorts it from the lower band to the upper band and returns - //qDebug() << "DataProxy_SQLite::sortBandNamesBottonUp: " << QString::number(_qs.length()) << endl; + //qDebug() << "DataProxy_SQLite::sortBandNamesBottonUp: " << QString::number(_qs.length()) << endl; if (_qs.length()<2) { return _qs; } + //Next lines to be commented out + //for (int i=0; i<_qs.length();i++) + //{ + // //qDebug() << "DataProxy_SQLite::sortBandNamesBottonUp - band: " << _qs.at(i) << QString::number(i) << "/" << QString::number(_qs.length())<< endl; + //} + //Previous lines to be commented out QMap map; map.clear(); QStringList qs; qs.clear(); - //qDebug() << "DataProxy_SQLite::sortBandNamesBottonUp-00" << endl; + //qDebug() << "DataProxy_SQLite::sortBandNamesBottonUp-00" << endl; for (int j=0; j<_qs.count(); j++) { map.insert(getLowLimitBandFromBandName(_qs.at(j)), _qs.at(j)); } - //qDebug() << "DataProxy_SQLite::sortBandNamesBottonUp-10" << endl; + //qDebug() << "DataProxy_SQLite::sortBandNamesBottonUp-10" << endl; QMap::const_iterator i = map.constBegin(); - //qDebug() << "DataProxy_SQLite::sortBandNamesBottonUp-20" << endl; + //qDebug() << "DataProxy_SQLite::sortBandNamesBottonUp-20" << endl; while (i != map.constEnd()) { qs << i.value(); ++i; } - //qDebug() << "DataProxy_SQLite::sortBandNamesBottonUp - END -lengh = " << QString::number(qs.length()) << endl; + //qDebug() << "DataProxy_SQLite::sortBandNamesBottonUp - END -lengh = " << QString::number(qs.length()) << endl; qs.removeDuplicates(); return qs; } @@ -609,7 +615,7 @@ QStringList DataProxy_SQLite::sortBandNamesBottonUp(const QStringList _qs) QStringList DataProxy_SQLite::getBandIDs() { - //qDebug() << "DataProxy_SQLite::getBandIDs" << endl; + //qDebug() << "DataProxy_SQLite::getBandIDs" << endl; QStringList bands = QStringList(); QSqlQuery query("SELECT id FROM band"); @@ -662,7 +668,7 @@ QStringList DataProxy_SQLite::getModesIDs() QStringList DataProxy_SQLite::getBandsInLog(const int _log) { - //qDebug() << "DataProxy_SQLite::getBandsInLog: " << endl; + //qDebug() << "DataProxy_SQLite::getBandsInLog: " << endl; QStringList bands = QStringList(); QString queryString = QString(); if (_log <= 0) @@ -688,7 +694,7 @@ QStringList DataProxy_SQLite::getBandsInLog(const int _log) QStringList DataProxy_SQLite::getModesInLog(const int _log) { - //qDebug() << "DataProxy_SQLite::getModesInLog: " << endl; + //qDebug() << "DataProxy_SQLite::getModesInLog: " << endl; QStringList modes = QStringList(); QString queryString = QString(); if (_log <=0 ) @@ -709,14 +715,14 @@ QStringList DataProxy_SQLite::getModesInLog(const int _log) } } query.finish(); - //qDebug() << "DataProxy_SQLite::getModesInLog: " << modes.join(" - ") << endl; + //qDebug() << "DataProxy_SQLite::getModesInLog: " << modes.join(" - ") << endl; modes.sort(); return modes; } int DataProxy_SQLite::getMostUsedBand(const int _log) { - //qDebug() << "DataProxy_SQLite::getMostUsedBand: " << endl; + //qDebug() << "DataProxy_SQLite::getMostUsedBand: " << endl; QString queryString = QString(); if (_log <=0 ) @@ -738,7 +744,7 @@ int DataProxy_SQLite::getMostUsedBand(const int _log) { int v = query.value(0).toInt(); query.finish(); - //qDebug() << "DataProxy_SQLite::getMostUsedBand-OK: " << QString::number(v)<< endl; + //qDebug() << "DataProxy_SQLite::getMostUsedBand-OK: " << QString::number(v)<< endl; return v; } } @@ -747,16 +753,16 @@ int DataProxy_SQLite::getMostUsedBand(const int _log) { emit queryError(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); query.finish(); - //qDebug() << "DataProxy_SQLite::getMostUsedBand-ERROR-1: " << endl; + //qDebug() << "DataProxy_SQLite::getMostUsedBand-ERROR-1: " << endl; return -1; } - //qDebug() << "DataProxy_SQLite::getMostUsedBand-ERROR-2: " << endl; + //qDebug() << "DataProxy_SQLite::getMostUsedBand-ERROR-2: " << endl; return -2; } int DataProxy_SQLite::getMostUsedMode(const int _log) { - //qDebug() << "DataProxy_SQLite::getMostUsedMode: " << endl; + //qDebug() << "DataProxy_SQLite::getMostUsedMode: " << endl; QString queryString = QString(); if (_log <=0 ) @@ -796,7 +802,7 @@ int DataProxy_SQLite::getMostUsedMode(const int _log) int DataProxy_SQLite::getLastQSOid() { - //qDebug() << "DataProxy_SQLite::getLastQSOid" << endl; + //qDebug() << "DataProxy_SQLite::getLastQSOid" << endl; QSqlQuery query; bool sqlOK = query.exec("SELECT MAX(id) from log"); @@ -824,126 +830,27 @@ int DataProxy_SQLite::getLastQSOid() } -QDate DataProxy_SQLite::getFirstQSODateFromCall (const QString &_call) -{ - //qDebug() << "DataProxy_SQLite::getFirstQSODateFromCall: " << _call << endl; - - QSqlQuery query; - QString stringQuery; - QDate _date; - if (util->isValidCall(_call)) - { - stringQuery = QString("SELECT qso_date from log where station_callsign='%1' ORDER BY qso_date ASC LIMIT 1").arg(_call); - } - else - { - stringQuery = QString("SELECT qso_date from log where 1 ORDER BY qso_date ASC LIMIT 1"); - } - - bool sqlOK = query.exec(stringQuery); - - if (sqlOK) - { - query.next(); - if (query.isValid()) - { - _date = QDate::fromString((query.value(0)).toString(), "yyyy/MM/dd"); - //stringQuery = query.value(0).toString(); - query.finish(); - if (_date.isValid()) - { - return _date; - } - else - { - return QDate(); - } - - } - else - { - query.finish(); - return QDate(); - } - } - else - { - emit queryError(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); - query.finish(); - return QDate(); - } -} - -QDate DataProxy_SQLite::getLastQSODateFromCall (const QString &_call) -{ - //qDebug() << "DataProxy_SQLite::getLastQSODateFromCall: " << _call << endl; - QSqlQuery query; - QString stringQuery; - QDate _date; - if (util->isValidCall(_call)) - { - stringQuery = QString("SELECT qso_date from log where station_callsign='%1' ORDER BY qso_date DESC LIMIT 1").arg(_call); - } - else - { - stringQuery = QString("SELECT qso_date from log where 1 ORDER BY qso_date DESC LIMIT 1"); - } - - bool sqlOK = query.exec(stringQuery); - - if (sqlOK) - { - query.next(); - if (query.isValid()) - { - _date = QDate::fromString((query.value(0)).toString(), "yyyy/MM/dd"); - //stringQuery = query.value(0).toString(); - query.finish(); - if (_date.isValid()) - { - return _date; - } - else - { - return QDate(); - } - - } - else - { - query.finish(); - return QDate(); - } - } - else - { - emit queryError(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); - query.finish(); - return QDate(); - } -} - bool DataProxy_SQLite::clearLog() { - //qDebug() << "DataProxy_SQLite::clearLog" << endl; + //qDebug() << "DataProxy_SQLite::clearLog" << endl; //int errorCode = 0; QSqlQuery query; bool sqlOK = query.exec("DELETE FROM log"); if (sqlOK) { - //qDebug() << "DataProxy_SQLite::clearLog: Log deleted!" << endl; + //qDebug() << "DataProxy_SQLite::clearLog: Log deleted!" << endl; } else { emit queryError(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); - //qDebug() << "DataProxy_SQLite::clearLog: Log deleted FAILED" << endl; + //qDebug() << "DataProxy_SQLite::clearLog: Log deleted FAILED" << endl; //errorCode = query.lastError().number(); - - //qDebug() << "DataProxy_SQLite::clearLog: LastQuery: " << query.lastQuery() << endl; - //qDebug() << "DataProxy_SQLite::clearLog: LastError-data: " << query.lastError().databaseText() << endl; - //qDebug() << "DataProxy_SQLite::clearLog: LastError-driver: " << query.lastError().driverText() << endl; - //qDebug() << "DataProxy_SQLite::clearLog: LastError-n: " << QString::number(query.lastError().number() ) << endl; + //qDebug() << "DataProxy_SQLite::clearLog - query error: " << QString::number(errorCode) << endl; + //qDebug() << "DataProxy_SQLite::clearLog: LastQuery: " << query.lastQuery() << endl; + //qDebug() << "DataProxy_SQLite::clearLog: LastError-data: " << query.lastError().databaseText() << endl; + //qDebug() << "DataProxy_SQLite::clearLog: LastError-driver: " << query.lastError().driverText() << endl; + //qDebug() << "DataProxy_SQLite::clearLog: LastError-n: " << QString::number(query.lastError().number() ) << endl; } query.finish(); sqlOK = query.exec("DELETE FROM awarddxcc"); @@ -951,34 +858,34 @@ bool DataProxy_SQLite::clearLog() if (sqlOK) { - //qDebug() << "DataProxy_SQLite::clearLog: Awarddxcc deleted!" << endl; + //qDebug() << "DataProxy_SQLite::clearLog: Awarddxcc deleted!" << endl; } else { emit queryError(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); - //qDebug() << "DataProxy_SQLite::clearLog: Awarddxcc deletedFAILED" << endl; + //qDebug() << "DataProxy_SQLite::clearLog: Awarddxcc deletedFAILED" << endl; - //qDebug() << "DataProxy_SQLite::clearLog - query error: " << QString::number(query.lastError().number()) << endl; - //qDebug() << "DataProxy_SQLite::clearLog: LastQuery: " << query.lastQuery() << endl; - //qDebug() << "DataProxy_SQLite::clearLog: LastError-data: " << query.lastError().databaseText() << endl; - //qDebug() << "DataProxy_SQLite::clearLog: LastError-driver: " << query.lastError().driverText() << endl; - //qDebug() << "DataProxy_SQLite::clearLog: LastError-n: " << QString::number(query.lastError().number() ) << endl; + //qDebug() << "DataProxy_SQLite::clearLog - query error: " << QString::number(query.lastError().number()) << endl; + //qDebug() << "DataProxy_SQLite::clearLog: LastQuery: " << query.lastQuery() << endl; + //qDebug() << "DataProxy_SQLite::clearLog: LastError-data: " << query.lastError().databaseText() << endl; + //qDebug() << "DataProxy_SQLite::clearLog: LastError-driver: " << query.lastError().driverText() << endl; + //qDebug() << "DataProxy_SQLite::clearLog: LastError-n: " << QString::number(query.lastError().number() ) << endl; } query.finish(); if (query.exec("DELETE FROM awardwaz")) { - //qDebug() << "DataProxy_SQLite::clearLog: Awardwaz deleted!" << endl; + //qDebug() << "DataProxy_SQLite::clearLog: Awardwaz deleted!" << endl; } else { emit queryError(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); - //qDebug() << "DataProxy_SQLite::clearLog: Awardwaz deleted FAILED" << endl; + //qDebug() << "DataProxy_SQLite::clearLog: Awardwaz deleted FAILED" << endl; //errorCode = query.lastError().number(); - //qDebug() << "DataProxy_SQLite::clearLog - query error: " << QString::number(query.lastError().number()) << endl; - //qDebug() << "DataProxy_SQLite::clearLog: LastQuery: " << query.lastQuery() << endl; - //qDebug() << "DataProxy_SQLite::clearLog: LastError-data: " << query.lastError().databaseText() << endl; - //qDebug() << "DataProxy_SQLite::clearLog: LastError-driver: " << query.lastError().driverText() << endl; - //qDebug() << "DataProxy_SQLite::clearLog: LastError-n: " << QString::number(query.lastError().number() ) << endl; + //qDebug() << "DataProxy_SQLite::clearLog - query error: " << QString::number(query.lastError().number()) << endl; + //qDebug() << "DataProxy_SQLite::clearLog: LastQuery: " << query.lastQuery() << endl; + //qDebug() << "DataProxy_SQLite::clearLog: LastError-data: " << query.lastError().databaseText() << endl; + //qDebug() << "DataProxy_SQLite::clearLog: LastError-driver: " << query.lastError().driverText() << endl; + //qDebug() << "DataProxy_SQLite::clearLog: LastError-n: " << QString::number(query.lastError().number() ) << endl; } query.finish(); @@ -986,7 +893,7 @@ bool DataProxy_SQLite::clearLog() if (query.isActive()) { - //qDebug() << "DataProxy_SQLite::clearLog: Query Active!" << endl; + //qDebug() << "DataProxy_SQLite::clearLog: Query Active!" << endl; query.finish(); return false; } @@ -994,23 +901,23 @@ bool DataProxy_SQLite::clearLog() { query.prepare("VACUUM;"); - //qDebug() << "DataProxy_SQLite::clearLog: Query Not Active!" << endl; + //qDebug() << "DataProxy_SQLite::clearLog: Query Not Active!" << endl; if (query.exec()) { - //qDebug() << "DataProxy_SQLite::clearLog: VACUUM OK!" << endl; + //qDebug() << "DataProxy_SQLite::clearLog: VACUUM OK!" << endl; query.finish(); return true; } else { emit queryError(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); - //qDebug() << "DataProxy_SQLite::clearLog: VACUUM FAILED" << endl; + //qDebug() << "DataProxy_SQLite::clearLog: VACUUM FAILED" << endl; //errorCode = query.lastError().number(); - //qDebug() << "DataProxy_SQLite::clearLog - query error: " << QString::number(query.lastError().number()) << endl; - //qDebug() << "DataProxy_SQLite::clearLog: LastQuery: " << query.lastQuery() << endl; - //qDebug() << "DataProxy_SQLite::clearLog: LastError-data: " << query.lastError().databaseText() << endl; - //qDebug() << "DataProxy_SQLite::clearLog: LastError-driver: " << query.lastError().driverText() << endl; - //qDebug() << "DataProxy_SQLite::clearLog: LastError-n: " << QString::number(query.lastError().number() ) << endl; + //qDebug() << "DataProxy_SQLite::clearLog - query error: " << QString::number(query.lastError().number()) << endl; + //qDebug() << "DataProxy_SQLite::clearLog: LastQuery: " << query.lastQuery() << endl; + //qDebug() << "DataProxy_SQLite::clearLog: LastError-data: " << query.lastError().databaseText() << endl; + //qDebug() << "DataProxy_SQLite::clearLog: LastError-driver: " << query.lastError().driverText() << endl; + //qDebug() << "DataProxy_SQLite::clearLog: LastError-n: " << QString::number(query.lastError().number() ) << endl; } } query.finish(); @@ -1019,11 +926,11 @@ bool DataProxy_SQLite::clearLog() bool DataProxy_SQLite::qslSentViaDirect(const int _qsoId, const QString &_updateDate) { - //qDebug() << "DataProxy_SQLite::qslSentViaDirect" << endl; + //qDebug() << "DataProxy_SQLite::qslSentViaDirect" << endl; QSqlQuery query; QString queryString; queryString = QString("UPDATE log SET qsl_sent = 'Y', qsl_sent_via = 'D', qslsdate = '%1' WHERE id = '%2'").arg(_updateDate).arg(_qsoId); - //qDebug() << "DataProxy_SQLite::qslSentViaDirect: " << queryString << endl; + //qDebug() << "DataProxy_SQLite::qslSentViaDirect: " << queryString << endl; bool sqlOK = query.exec(queryString); query.finish(); if (sqlOK) @@ -1034,12 +941,13 @@ bool DataProxy_SQLite::qslSentViaDirect(const int _qsoId, const QString &_update { emit queryError(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); } + return false; } bool DataProxy_SQLite::qslSentViaBureau(const int _qsoId, const QString &_updateDate) { - //qDebug() << "DataProxy_SQLite::qslSentViaBureau" << endl; + //qDebug() << "DataProxy_SQLite::qslSentViaBureau" << endl; QSqlQuery query; QString queryString; @@ -1061,7 +969,7 @@ bool DataProxy_SQLite::qslSentViaBureau(const int _qsoId, const QString &_update bool DataProxy_SQLite::qslRecViaBureau(const int _qsoId, const QString &_updateDate) { - //qDebug() << "DataProxy_SQLite::" << QString::number (_qsoId) << "/" << _updateDate << endl; + //qDebug() << "DataProxy_SQLite::" << QString::number (_qsoId) << "/" << _updateDate << endl; QSqlQuery query; QString queryString; @@ -1071,7 +979,7 @@ bool DataProxy_SQLite::qslRecViaBureau(const int _qsoId, const QString &_updateD query.finish(); if (sqlOK) { - //qDebug() << "DataProxy_SQLite:: TRUE" << endl; + //qDebug() << "DataProxy_SQLite:: TRUE" << endl; //setDXCCAwardStatus(_qsoId); //setWAZAwardStatus(_qsoId); return true; @@ -1081,13 +989,13 @@ bool DataProxy_SQLite::qslRecViaBureau(const int _qsoId, const QString &_updateD emit queryError(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); } - //qDebug() << "DataProxy_SQLite:: FALSE" << endl; + //qDebug() << "DataProxy_SQLite:: FALSE" << endl; return false; } bool DataProxy_SQLite::qslRecViaBureau(const int _qsoId, const QString &_updateDate, const bool _queueSentQSL) { - //qDebug() << "DataProxy_SQLite::qslRecViaBureau: " << _updateDate << endl; + //qDebug() << "DataProxy_SQLite::qslRecViaBureau: " << _updateDate << endl; QSqlQuery query; QString queryString; //bool requestQSL = false; @@ -1109,27 +1017,27 @@ bool DataProxy_SQLite::qslRecViaBureau(const int _qsoId, const QString &_updateD if ((queryString == "Y") || (queryString == "R")) { // NO ACTION REQUIRED, QSL IS ALREADY SENT - //qDebug() << "DataProxy_SQLite::qslRecViaBureau: QSL already requested" << endl; + //qDebug() << "DataProxy_SQLite::qslRecViaBureau: QSL already requested" << endl; //requestQSL = false; queryString = QString("UPDATE log SET qsl_rcvd = 'Y', qsl_rcvd_via = 'B', qslrdate = '%1' WHERE id = '%2'").arg(_updateDate).arg(_qsoId); } else { - //qDebug() << "DataProxy_SQLite::qslRecViaBureau: Request QSL-1" << endl; + //qDebug() << "DataProxy_SQLite::qslRecViaBureau: Request QSL-1" << endl; //requestQSL = true; queryString = QString("UPDATE log SET qsl_rcvd = 'Y', qsl_rcvd_via = 'B', qsl_sent='R', qslrdate = '%1' WHERE id = '%2'").arg(_updateDate).arg(_qsoId); } } else { - //qDebug() << "DataProxy_SQLite::qslRecViaBureau: Request QSL-2" << endl; + //qDebug() << "DataProxy_SQLite::qslRecViaBureau: Request QSL-2" << endl; queryString = QString("UPDATE log SET qsl_rcvd = 'Y', qsl_rcvd_via = 'B', qsl_sent='R', qslrdate = '%1' WHERE id = '%2'").arg(_updateDate).arg(_qsoId); //requestQSL = true; } } else { - //qDebug() << "DataProxy_SQLite::qslRecViaBureau: Request QSL-3" << endl; + //qDebug() << "DataProxy_SQLite::qslRecViaBureau: Request QSL-3" << endl; emit queryError(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); queryString = QString("UPDATE log SET qsl_rcvd = 'Y', qsl_rcvd_via = 'B', qsl_sent='R', qslrdate = '%1' WHERE id = '%2'").arg(_updateDate).arg(_qsoId); //requestQSL = true; @@ -1148,7 +1056,7 @@ bool DataProxy_SQLite::qslRecViaBureau(const int _qsoId, const QString &_updateD //queryString = QString("UPDATE log SET qsl_rcvd = 'Y', qsl_rcvd_via = 'B', qslrdate = '%1' WHERE id = '%2'").arg(_updateDate).arg(_qsoId); if (sqlOK) { - //qDebug() << "DataProxy_SQLite::qslRecViaBureau TRUE" << endl; + //qDebug() << "DataProxy_SQLite::qslRecViaBureau TRUE" << endl; query.finish(); //setDXCCAwardStatus(_qsoId); //setWAZAwardStatus(_qsoId); @@ -1160,14 +1068,14 @@ bool DataProxy_SQLite::qslRecViaBureau(const int _qsoId, const QString &_updateD emit queryError(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); } - //qDebug() << "DataProxy_SQLite::qslRecViaBureau FALSE" << endl; + //qDebug() << "DataProxy_SQLite::qslRecViaBureau FALSE" << endl; query.finish(); return false; } bool DataProxy_SQLite::qslRecViaDirect(const int _qsoId, const QString &_updateDate) { - //qDebug() << "DataProxy_SQLite::qslRecViaDirect" << endl; + //qDebug() << "DataProxy_SQLite::qslRecViaDirect" << endl; QSqlQuery query; QString queryString; queryString = QString("UPDATE log SET qsl_rcvd = 'Y', qsl_rcvd_via = 'D', qslrdate = '%1' WHERE id = '%2'").arg(_updateDate).arg(_qsoId); @@ -1190,7 +1098,7 @@ bool DataProxy_SQLite::qslRecViaDirect(const int _qsoId, const QString &_updateD bool DataProxy_SQLite::qslRecViaDirect(const int _qsoId, const QString &_updateDate, const bool _queueSentQSL) { - //qDebug() << "DataProxy_SQLite::qslRecViaDirect: " << _updateDate << endl; + //qDebug() << "DataProxy_SQLite::qslRecViaDirect: " << _updateDate << endl; QSqlQuery query; QString queryString; bool sqlOK; @@ -1209,25 +1117,25 @@ bool DataProxy_SQLite::qslRecViaDirect(const int _qsoId, const QString &_updateD if ((queryString == "Y") || (queryString == "R")) { // NO ACTION REQUIRED, QSL IS ALREADY SENT - //qDebug() << "DataProxy_SQLite::qslRecViaDirect: QSL already requested" << endl; + //qDebug() << "DataProxy_SQLite::qslRecViaDirect: QSL already requested" << endl; queryString = QString("UPDATE log SET qsl_rcvd = 'Y', qsl_rcvd_via = 'D', qslrdate = '%1' WHERE id = '%2'").arg(_updateDate).arg(_qsoId); } else { - //qDebug() << "DataProxy_SQLite::qslRecViaDirect: Request QSL-1" << endl; + //qDebug() << "DataProxy_SQLite::qslRecViaDirect: Request QSL-1" << endl; queryString = QString("UPDATE log SET qsl_rcvd = 'Y', qsl_rcvd_via = 'D', qsl_sent='R', qslrdate = '%1' WHERE id = '%2'").arg(_updateDate).arg(_qsoId); } } else { - //qDebug() << "DataProxy_SQLite::qslRecViaDirect: Request QSL-2" << endl; + //qDebug() << "DataProxy_SQLite::qslRecViaDirect: Request QSL-2" << endl; queryString = QString("UPDATE log SET qsl_rcvd = 'Y', qsl_rcvd_via = 'D', qsl_sent='R', qslrdate = '%1' WHERE id = '%2'").arg(_updateDate).arg(_qsoId); } } else { emit queryError(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); - //qDebug() << "DataProxy_SQLite::qslRecViaDirect: Request QSL-3" << endl; + //qDebug() << "DataProxy_SQLite::qslRecViaDirect: Request QSL-3" << endl; queryString = QString("UPDATE log SET qsl_rcvd = 'Y', qsl_rcvd_via = 'D', qsl_sent='R', qslrdate = '%1' WHERE id = '%2'").arg(_updateDate).arg(_qsoId); } @@ -1242,7 +1150,7 @@ bool DataProxy_SQLite::qslRecViaDirect(const int _qsoId, const QString &_updateD if (sqlOK) { - //qDebug() << "DataProxy_SQLite::qslRecViaDirect TRUE" << endl; + //qDebug() << "DataProxy_SQLite::qslRecViaDirect TRUE" << endl; query.finish(); //setDXCCAwardStatus(_qsoId); //setWAZAwardStatus(_qsoId); @@ -1253,7 +1161,7 @@ bool DataProxy_SQLite::qslRecViaDirect(const int _qsoId, const QString &_updateD emit queryError(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); } - //qDebug() << "DataProxy_SQLite::qslRecViaDirect FALSE" << endl; + //qDebug() << "DataProxy_SQLite::qslRecViaDirect FALSE" << endl; query.finish(); return false; } @@ -1262,17 +1170,17 @@ bool DataProxy_SQLite::qslRecViaDirect(const int _qsoId, const QString &_updateD bool DataProxy_SQLite::qslSentAsRequested(const int _qsoId, const QString &_updateDate) { //TODO: Add some protection to the data before modifying - //qDebug() << "DataProxy_SQLite::qslSentAsRequested" << endl; + //qDebug() << "DataProxy_SQLite::qslSentAsRequested" << endl; QSqlQuery query; QString queryString; queryString = QString("UPDATE log SET qsl_sent = 'R', qslsdate = '%1' WHERE id = '%2'").arg(_updateDate).arg(_qsoId); - //qDebug() << "DataProxy_SQLite::qslSentAsRequested: " << queryString << endl; + //qDebug() << "DataProxy_SQLite::qslSentAsRequested: " << queryString << endl; bool sqlOK = query.exec(queryString); if (sqlOK) { - //qDebug() << "DataProxy_SQLite::qslSentAsRequested" << endl; + //qDebug() << "DataProxy_SQLite::qslSentAsRequested" << endl; query.finish(); return true; } @@ -1287,17 +1195,17 @@ bool DataProxy_SQLite::qslSentAsRequested(const int _qsoId, const QString &_upda bool DataProxy_SQLite::qslRecAsRequested(const int _qsoId, const QString &_updateDate) { //TODO: Add some protection to the data before modifying - //qDebug() << "DataProxy_SQLite::qslRecAsRequested" << endl; + //qDebug() << "DataProxy_SQLite::qslRecAsRequested" << endl; QSqlQuery query; QString queryString; queryString = QString("UPDATE log SET qsl_rcvd = 'R', qslsdate = '%1' WHERE id = '%2'").arg(_updateDate).arg(_qsoId); - //qDebug() << "DataProxy_SQLite::qslRecAsRequested: " << queryString << endl; + //qDebug() << "DataProxy_SQLite::qslRecAsRequested: " << queryString << endl; bool sqlOK = query.exec(queryString); if (sqlOK) { - //qDebug() << "DataProxy_SQLite::qslRecAsRequested" << endl; + //qDebug() << "DataProxy_SQLite::qslRecAsRequested" << endl; query.finish(); return true; } @@ -1315,12 +1223,12 @@ bool DataProxy_SQLite::setClubLogSent(const int _qsoId, const QString &_st, cons QSqlQuery query; QString queryString; queryString = QString("UPDATE log SET clublog_qso_upload_status = '%1', clublog_qso_upload_date = '%2' WHERE id = '%3'").arg(_st).arg(_updateDate).arg(_qsoId); - //qDebug() << "DataProxy_SQLite::setClubLogSent: " << queryString << endl; + //qDebug() << "DataProxy_SQLite::setClubLogSent: " << queryString << endl; bool sqlOK = query.exec(queryString); if (sqlOK) { - //qDebug() << "DataProxy_SQLite::setClubLogSent - TRUE" << endl; + //qDebug() << "DataProxy_SQLite::setClubLogSent - TRUE" << endl; query.finish(); return true; } @@ -1328,7 +1236,7 @@ bool DataProxy_SQLite::setClubLogSent(const int _qsoId, const QString &_st, cons { emit queryError(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); } - //qDebug() << "DataProxy_SQLite::setClubLogSent - FALSE" << endl; + //qDebug() << "DataProxy_SQLite::setClubLogSent - FALSE" << endl; query.finish(); return false; } @@ -1337,7 +1245,7 @@ bool DataProxy_SQLite::setClubLogSent(const int _qsoId, const QString &_st, cons bool DataProxy_SQLite::isQSLReceived(const int _qsoId) { - //qDebug() << "DataProxy_SQLite::isQSLReceived" << QString::number(_qsoId) << endl; + //qDebug() << "DataProxy_SQLite::isQSLReceived" << QString::number(_qsoId) << endl; QSqlQuery query; QString queryString; queryString = QString("SELECT qsl_rcvd FROM log WHERE id = '%1'").arg(_qsoId); @@ -1353,18 +1261,18 @@ bool DataProxy_SQLite::isQSLReceived(const int _qsoId) query.finish(); if (queryString == "Y") { - //qDebug() << "DataProxy_SQLitew::isQSLReceived: " << QString::number(_qsoId) << "QSL Received" << endl; + //qDebug() << "DataProxy_SQLitew::isQSLReceived: " << QString::number(_qsoId) << "QSL Received" << endl; return true; } else { - //qDebug() << "DataProxy_SQLite::isQSLReceived: " << QString::number(_qsoId) << "QSL NOT Received-1" << endl; + //qDebug() << "DataProxy_SQLite::isQSLReceived: " << QString::number(_qsoId) << "QSL NOT Received-1" << endl; return false; } } else { - //qDebug() << "DataProxy_SQLite::isQSLReceived: " << QString::number(_qsoId) << "QSL NOT Received-2" << endl; + //qDebug() << "DataProxy_SQLite::isQSLReceived: " << QString::number(_qsoId) << "QSL NOT Received-2" << endl; query.finish(); return false; } @@ -1381,7 +1289,7 @@ bool DataProxy_SQLite::isQSLReceived(const int _qsoId) bool DataProxy_SQLite::isQSLSent(const int _qsoId) { - //qDebug() << "DataProxy_SQLite::isQSLSent: " << QString::number(_qsoId) << endl; + //qDebug() << "DataProxy_SQLite::isQSLSent: " << QString::number(_qsoId) << endl; QSqlQuery query; QString queryString; queryString = QString("SELECT qsl_sent FROM log WHERE id = '%1'").arg(_qsoId); @@ -1397,18 +1305,18 @@ bool DataProxy_SQLite::isQSLSent(const int _qsoId) query.finish(); if (queryString == "Y") { - //qDebug() << "DataProxy_SQLite::isQSLSent: " << QString::number(_qsoId) << "QSL Sent" << endl; + //qDebug() << "DataProxy_SQLite::isQSLSent: " << QString::number(_qsoId) << "QSL Sent" << endl; return true; } else { - //qDebug() << "DataProxy_SQLite::isQSLSent: " << QString::number(_qsoId) << "QSL NOT Sent-1" << endl; + //qDebug() << "DataProxy_SQLite::isQSLSent: " << QString::number(_qsoId) << "QSL NOT Sent-1" << endl; return false; } } else { - //qDebug() << "DataProxy_SQLite::isQSLSent: " << QString::number(_qsoId) << "QSL NOT Sent-2" << endl; + //qDebug() << "DataProxy_SQLite::isQSLSent: " << QString::number(_qsoId) << "QSL NOT Sent-2" << endl; return false; } } @@ -1541,7 +1449,7 @@ int DataProxy_SQLite::getCQZFromId(const int _qsoId) QString DataProxy_SQLite::getCallFromId(const int _qsoId) { - //qDebug() << "DataProxy_SQLite::getCallFromId" << endl; + //qDebug() << "DataProxy_SQLite::getCallFromId" << endl; QSqlQuery query; QString queryString = QString("SELECT call FROM log WHERE id='%1'").arg(_qsoId); bool sqlOK = query.exec(queryString); @@ -1572,7 +1480,7 @@ QString DataProxy_SQLite::getCallFromId(const int _qsoId) QStringList DataProxy_SQLite::getClubLogRealTimeFromId(const int _qsoId) { - //qDebug() << "DataProxy_SQLite::getClubLogRealTimeFromId: " << QString::number(_qsoId) << endl; + //qDebug() << "DataProxy_SQLite::getClubLogRealTimeFromId: " << QString::number(_qsoId) << endl; /* Return a QStringList with 16 fields with these data: QSO_DATE, TIME_ON, QSLRDATE, QSLSDATE, CALL, OPERATOR, MODE, BAND, BAND_RX, FREQ, QSL_RCVD, @@ -1600,7 +1508,7 @@ LOTW_QSL_RCVD, QSL_SENT, DXCC, PROP_MODE, CREDIT_GRANTED { QSqlRecord rec = query.record(); - //qDebug() << "DataProxy_SQLite::getClubLogRealTimeFromId sqlOK" << endl; + //qDebug() << "DataProxy_SQLite::getClubLogRealTimeFromId sqlOK" << endl; if (query.next()) //if (1) { @@ -1612,14 +1520,14 @@ LOTW_QSL_RCVD, QSL_SENT, DXCC, PROP_MODE, CREDIT_GRANTED aux1 = (query.value(nameCol)).toString(); - //qDebug() << "DataProxy_SQLite::getClubLogRealTimeFromId time: " << aux1 << endl; + //qDebug() << "DataProxy_SQLite::getClubLogRealTimeFromId time: " << aux1 << endl; if ( ((aux1.length()) == 5) || ((aux1.length()) == 8) ){ aux1.remove(QChar(':'), Qt::CaseInsensitive); dataC << aux1; - //qDebug() << "DataProxy_SQLite::getClubLogRealTimeFromId time1.5: " << aux1 << endl; + //qDebug() << "DataProxy_SQLite::getClubLogRealTimeFromId time1.5: " << aux1 << endl; } - //qDebug() << "DataProxy_SQLite::getClubLogRealTimeFromId time2: " << aux1 << endl; + //qDebug() << "DataProxy_SQLite::getClubLogRealTimeFromId time2: " << aux1 << endl; @@ -1673,13 +1581,13 @@ LOTW_QSL_RCVD, QSL_SENT, DXCC, PROP_MODE, CREDIT_GRANTED //dataC << (query.value(nameCol)).toString(); - //qDebug() << "DataProxy_SQLite::getClubLogRealTimeFromId: RETURNING ... OK" << endl; + //qDebug() << "DataProxy_SQLite::getClubLogRealTimeFromId: RETURNING ... OK" << endl; return dataC; } else { //NO VALID - //qDebug() << "DataProxy_SQLite::getClubLogRealTimeFromId NO VALID NOT OK" << endl; + //qDebug() << "DataProxy_SQLite::getClubLogRealTimeFromId NO VALID NOT OK" << endl; query.finish(); return QStringList(); } @@ -1688,7 +1596,7 @@ LOTW_QSL_RCVD, QSL_SENT, DXCC, PROP_MODE, CREDIT_GRANTED { QString queryString = QString("SELECT qso_date, time_on, qslrdate, qslsdate, call, station_callsign, operator, M.name, B.name, freq, qsl_rcvd, lotw_qsl_rcvd, qsl_sent, dxcc, prop_mode, credit_granted FROM log INNER JOIN band as B ON bandid = B.id INNER JOIN mode as M ON modeid = M.id WHERE log.id='%1'").arg(_qsoId); //QString queryString = QString("SELECT qso_date, time_on, qslrdate, qslsdate, call, operator, M.name, B.name, freq, qsl_rcvd, lotw_qsl_rcvd, qsl_sent, dxcc, prop_mode, credit_granted FROM log INNER JOIN band as B ON bandid = B.id INNER JOIN mode as M ON modeid = M.id WHERE log.id='%1'").arg(_qsoId); - //qDebug() << "DataProxy_SQLite::getClubLogRealTimeFromId NO NEXT NOT OK" << endl; + //qDebug() << "DataProxy_SQLite::getClubLogRealTimeFromId NO NEXT NOT OK" << endl; call = QString(); sqlOk = query2.exec(queryString); @@ -1696,10 +1604,10 @@ LOTW_QSL_RCVD, QSL_SENT, DXCC, PROP_MODE, CREDIT_GRANTED rec = query2.record(); if (sqlOk) { - //qDebug() << "DataProxy_SQLite::getClubLogRealTimeFromId OK2" << endl; + //qDebug() << "DataProxy_SQLite::getClubLogRealTimeFromId OK2" << endl; if (query2.next()) { - //qDebug() << "DataProxy_SQLite::getClubLogRealTimeFromId NEXT OK2" << endl; + //qDebug() << "DataProxy_SQLite::getClubLogRealTimeFromId NEXT OK2" << endl; if (query2.isValid()) { nameCol = rec.indexOf("qso_date"); @@ -1707,14 +1615,14 @@ LOTW_QSL_RCVD, QSL_SENT, DXCC, PROP_MODE, CREDIT_GRANTED nameCol = rec.indexOf("time_on"); aux1 = (query2.value(nameCol)).toString(); - //qDebug() << "DataProxy_SQLite::getClubLogRealTimeFromId time2-1: " << aux1 << endl; + //qDebug() << "DataProxy_SQLite::getClubLogRealTimeFromId time2-1: " << aux1 << endl; if ( ((aux1.length()) == 5) || ((aux1.length()) == 8) ){ aux1.remove(QChar(':'), Qt::CaseInsensitive); dataC << aux1; - //qDebug() << "DataProxy_SQLite::getClubLogRealTimeFromId time2-1.5: " << aux1 << endl; + //qDebug() << "DataProxy_SQLite::getClubLogRealTimeFromId time2-1.5: " << aux1 << endl; } - //qDebug() << "DataProxy_SQLite::getClubLogRealTimeFromId time2-2: " << aux1 << endl; + //qDebug() << "DataProxy_SQLite::getClubLogRealTimeFromId time2-2: " << aux1 << endl; //dataC << (query.value(nameCol)).toString(); @@ -1764,21 +1672,21 @@ LOTW_QSL_RCVD, QSL_SENT, DXCC, PROP_MODE, CREDIT_GRANTED } - //qDebug() << "DataProxy_SQLite::getClubLogRealTimeFromId: RETURNING ... OK" << endl; + //qDebug() << "DataProxy_SQLite::getClubLogRealTimeFromId: RETURNING ... OK" << endl; query2.finish(); return dataC; } else { - //qDebug() << "DataProxy_SQLite::getClubLogRealTimeFromId NO VALID NOT OK2" << endl; + //qDebug() << "DataProxy_SQLite::getClubLogRealTimeFromId NO VALID NOT OK2" << endl; query2.finish(); return QStringList(); } } else { - //qDebug() << "DataProxy_SQLite::getClubLogRealTimeFromId NO NEXT NOT OK2" << endl; + //qDebug() << "DataProxy_SQLite::getClubLogRealTimeFromId NO NEXT NOT OK2" << endl; query.finish(); return QStringList(); } @@ -1788,7 +1696,7 @@ LOTW_QSL_RCVD, QSL_SENT, DXCC, PROP_MODE, CREDIT_GRANTED } else { - //qDebug() << "DataProxy_SQLite::getClubLogRealTimeFromId NOT OK2" << endl; + //qDebug() << "DataProxy_SQLite::getClubLogRealTimeFromId NOT OK2" << endl; emit queryError(Q_FUNC_INFO, query2.lastError().databaseText(), query2.lastError().number(), query2.lastQuery()); query2.finish(); return QStringList(); @@ -1800,18 +1708,18 @@ LOTW_QSL_RCVD, QSL_SENT, DXCC, PROP_MODE, CREDIT_GRANTED } else { - //qDebug() << "DataProxy_SQLite::getClubLogRealTimeFromId NOT sqlOK" << endl; - //qDebug() << "DataProxy_SQLite::getClubLogRealTimeFromId: 2 LastQuery: " << query.lastQuery() << endl; - //qDebug() << "DataProxy_SQLite::getClubLogRealTimeFromId: 2 LastError-data: " << query.lastError().databaseText() << endl; - //qDebug() << "DataProxy_SQLite::getClubLogRealTimeFromId: 2 LastError-driver: " << query.lastError().driverText() << endl; - //qDebug() << "DataProxy_SQLite::getClubLogRealTimeFromId: 2 LastError-n: " << QString::number(query.lastError().number() ) << endl; + //qDebug() << "DataProxy_SQLite::getClubLogRealTimeFromId NOT sqlOK" << endl; + //qDebug() << "DataProxy_SQLite::getClubLogRealTimeFromId: 2 LastQuery: " << query.lastQuery() << endl; + //qDebug() << "DataProxy_SQLite::getClubLogRealTimeFromId: 2 LastError-data: " << query.lastError().databaseText() << endl; + //qDebug() << "DataProxy_SQLite::getClubLogRealTimeFromId: 2 LastError-driver: " << query.lastError().driverText() << endl; + //qDebug() << "DataProxy_SQLite::getClubLogRealTimeFromId: 2 LastError-n: " << QString::number(query.lastError().number() ) << endl; emit queryError(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); query.finish(); return QStringList(); } //query.finish(); //query2.finish(); - //qDebug() << "DataProxy_SQLite::getClubLogRealTimeFromId END NOT OK" << endl; + //qDebug() << "DataProxy_SQLite::getClubLogRealTimeFromId END NOT OK" << endl; //return QStringList(); } @@ -1819,7 +1727,7 @@ QString DataProxy_SQLite::getNameFromQRZ(const QString &_call) { if (_call.length() <= 0) { - //qDebug() << "DataProxy_SQLite::getNameFromQRZ return 0" << endl; + //qDebug() << "DataProxy_SQLite::getNameFromQRZ return 0" << endl; return QString(); } @@ -1836,7 +1744,7 @@ QString DataProxy_SQLite::getNameFromQRZ(const QString &_call) { if (((query.value(0)).toString()).length()>0) { - //qDebug() << "DataProxy_SQLite::getNameFromQRZ: " << (query.value(0)).toString() << endl; + //qDebug() << "DataProxy_SQLite::getNameFromQRZ: " << (query.value(0)).toString() << endl; QString v = (query.value(0)).toString(); query.finish(); return v; @@ -1963,6 +1871,7 @@ QString DataProxy_SQLite::getIOTAFromQRZ(const QString &_call) query.finish(); return QString(); } + } @@ -2004,15 +1913,15 @@ QString DataProxy_SQLite::getQSLViaFromQRZ(const QString &_call) bool DataProxy_SQLite::updateAwardDXCC() { - //qDebug() << "DataProxy_SQLite::updateAwardDXCC" << endl; + //qDebug() << "DataProxy_SQLite::updateAwardDXCC" << endl; fillEmptyDXCCInTheLog(); return db->updateAwardDXCCTable(); - //qDebug() << "DataProxy_SQLite::updateAwardDXCC-END" << endl; + //qDebug() << "DataProxy_SQLite::updateAwardDXCC-END" << endl; } bool DataProxy_SQLite::updateAwardWAZ() { - //qDebug() << "DataProxy_SQLite::updateAwardWAZ" << endl; + //qDebug() << "DataProxy_SQLite::updateAwardWAZ" << endl; return db->updateAwardWAZTable(); } @@ -2021,7 +1930,7 @@ bool DataProxy_SQLite::addQSOFromWSJTX(const QString &_dxcall, const double _fre const QString &_tx_power, const QString &_comments, const QString &_name, const QString &_time_on, const int _dxcc, const QString &_opQrz, const QString &_stQrz, const QString &_myLoc, const int _logN) { - //qDebug() << "DataProxy_SQLite::addQSOFromWSJTX: " << _dxcall << endl; + //qDebug() << "DataProxy_SQLite::addQSOFromWSJTX: " << _dxcall << endl; //void MainWindow::slotWSJTXloggedQSO(const int _type, const QString &_dxcall, const quint64 _freq, const QString &_mode, // const QString &_dx_grid, const QString &_time_off, const QString &_report_sent, const QString &_report_rec, @@ -2054,7 +1963,7 @@ bool DataProxy_SQLite::addQSOFromWSJTX(const QString &_dxcall, const double _fre } else { - //qDebug() << "DataProxy_SQLite::addQSOFromWSJTX: Error: call" << endl; + //qDebug() << "DataProxy_SQLite::addQSOFromWSJTX: Error: call" << endl; return false; } @@ -2065,15 +1974,15 @@ bool DataProxy_SQLite::addQSOFromWSJTX(const QString &_dxcall, const double _fre } else { - //qDebug() << "DataProxy_SQLite::addQSOFromWSJTX: Error: time-on" << endl; + //qDebug() << "DataProxy_SQLite::addQSOFromWSJTX: Error: time-on" << endl; return false; } QString _band; _band = QString::number(_freq); - //qDebug() << "DataProxy_SQLite::addQSOFromWSJTX: freq: " << QString::number(_freq) << endl; - //qDebug() << "DataProxy_SQLite::addQSOFromWSJTX: freq: " << QString::number(_freq/1000) << endl; + //qDebug() << "DataProxy_SQLite::addQSOFromWSJTX: freq: " << QString::number(_freq) << endl; + //qDebug() << "DataProxy_SQLite::addQSOFromWSJTX: freq: " << QString::number(_freq/1000) << endl; if (_band.length()>0) { stringFields = stringFields + "bandid, " ; @@ -2084,7 +1993,7 @@ bool DataProxy_SQLite::addQSOFromWSJTX(const QString &_dxcall, const double _fre } else { - //qDebug() << "DataProxy_SQLite::addQSOFromWSJTX: Error: band" << endl; + //qDebug() << "DataProxy_SQLite::addQSOFromWSJTX: Error: band" << endl; emit queryError(Q_FUNC_INFO, "Incorrect band: " + _band, -1000 , "No query error"); @@ -2092,8 +2001,8 @@ bool DataProxy_SQLite::addQSOFromWSJTX(const QString &_dxcall, const double _fre } int _modeid = getSubModeIdFromSubMode(_mode); - //qDebug() << "DataProxy_SQLite::addQSOFromWSJTX: mode: " << _mode << endl; - //qDebug() << "DataProxy_SQLite::addQSOFromWSJTX: modeid: " << QString::number(_modeid) << endl; + //qDebug() << "DataProxy_SQLite::addQSOFromWSJTX: mode: " << _mode << endl; + //qDebug() << "DataProxy_SQLite::addQSOFromWSJTX: modeid: " << QString::number(_modeid) << endl; if (util->isValidModeId(_modeid)) { stringFields = stringFields + "modeid, "; @@ -2101,7 +2010,7 @@ bool DataProxy_SQLite::addQSOFromWSJTX(const QString &_dxcall, const double _fre } else { - //qDebug() << "DataProxy_SQLite::addQSOFromWSJTX: Error: mode" << endl; + //qDebug() << "DataProxy_SQLite::addQSOFromWSJTX: Error: mode" << endl; emit queryError(Q_FUNC_INFO, "Incorrect mode: " + _mode, -1000, "No query error"); return false; } @@ -2189,23 +2098,23 @@ bool DataProxy_SQLite::addQSOFromWSJTX(const QString &_dxcall, const double _fre } */ stringQuery = "INSERT INTO log (" + stringFields + ") values (" + stringData +")" ; - //qDebug() << "DataProxy_SQLite::addQSOFromWSJTX: Query: " << stringQuery << endl; + //qDebug() << "DataProxy_SQLite::addQSOFromWSJTX: Query: " << stringQuery << endl; bool sqlOK = query.exec(stringQuery); - //qDebug() << "DataProxy_SQLite::addQSOFromWSJTX: LastQuery: " << query.lastQuery() << endl; + //qDebug() << "DataProxy_SQLite::addQSOFromWSJTX: LastQuery: " << query.lastQuery() << endl; if (sqlOK) { query.finish(); - //qDebug() << "DataProxy_SQLite::addQSOFromWSJTX: SQL OK" << endl; + //qDebug() << "DataProxy_SQLite::addQSOFromWSJTX: SQL OK" << endl; return true; } else { emit queryError(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); query.finish(); - //qDebug() << "DataProxy_SQLite::addQSOFromWSJTX: Error: SQL " << endl; + //qDebug() << "DataProxy_SQLite::addQSOFromWSJTX: Error: SQL " << endl; return false; } @@ -2213,7 +2122,7 @@ bool DataProxy_SQLite::addQSOFromWSJTX(const QString &_dxcall, const double _fre bool DataProxy_SQLite::deleteQSO(const int _qsoId) { - //qDebug() << "DataProxy_SQLite::deleteQSO" << endl; + //qDebug() << "DataProxy_SQLite::deleteQSO" << endl; QSqlQuery query; QString queryString = QString("DELETE FROM log WHERE id='%1'").arg(_qsoId); bool sqlOK = query.exec(queryString); @@ -2233,7 +2142,7 @@ bool DataProxy_SQLite::deleteQSO(const int _qsoId) int DataProxy_SQLite::isWorkedB4(const QString &_qrz, const int _currentLog) { - //qDebug() << "DataProxy_SQLite::isWorkedB4" << endl; + //qDebug() << "DataProxy_SQLite::isWorkedB4" << endl; //Returns the QSO id QSqlQuery query; QString queryString; @@ -2274,7 +2183,7 @@ int DataProxy_SQLite::isWorkedB4(const QString &_qrz, const int _currentLog) bool DataProxy_SQLite::isThisQSODuplicated(const QString &_qrz, const QString &_date, const QString &_time, const int _band, const int _mode) { - //qDebug() << "DataProxy_SQLite::isThisQSODuplicated" << endl; + //qDebug() << "DataProxy_SQLite::isThisQSODuplicated" << endl; QSqlQuery query; QString queryString; @@ -2315,7 +2224,7 @@ bool DataProxy_SQLite::isThisQSODuplicated(const QString &_qrz, const QString &_ int DataProxy_SQLite::getDuplicatedQSOId(const QString &_qrz, const QString &_date, const QString &_time, const int _band, const int _mode) { - //qDebug() << "DataProxy_SQLite::isThisQSODuplicated" << endl; + //qDebug() << "DataProxy_SQLite::isThisQSODuplicated" << endl; QSqlQuery query; QString queryString; int qsoId = -1; @@ -2359,7 +2268,7 @@ int DataProxy_SQLite::getDuplicatedQSOId(const QString &_qrz, const QString &_da bool DataProxy_SQLite::isDXCCConfirmed(const int _dxcc, const int _currentLog) { - //qDebug() << "DataProxy_SQLite::isDXCCConfirmed: " << QString::number(_dxcc) << "/" << QString::number(_currentLog) << endl; + //qDebug() << "DataProxy_SQLite::isDXCCConfirmed: " << QString::number(_dxcc) << "/" << QString::number(_currentLog) << endl; QString queryString = QString("SELECT confirmed from awarddxcc WHERE dxcc='%1' AND lognumber='%2'").arg(_dxcc).arg(_currentLog); QSqlQuery query; @@ -2372,20 +2281,20 @@ bool DataProxy_SQLite::isDXCCConfirmed(const int _dxcc, const int _currentLog) { if ( (query.value(0)).toInt() == 1) { - //qDebug() << "DataProxy_SQLite::isDXCCConfrmed: TRUE" << endl; + //qDebug() << "DataProxy_SQLite::isDXCCConfrmed: TRUE" << endl; query.finish(); return true; } else { - //qDebug() << "DataProxy_SQLite::isDXCCConfrmed: FALSE1" << endl; + //qDebug() << "DataProxy_SQLite::isDXCCConfrmed: FALSE1" << endl; query.finish(); return false; } } else { - //qDebug() << "DataProxy_SQLite::isDXCCConfrmed: FALSE2" << endl; + //qDebug() << "DataProxy_SQLite::isDXCCConfrmed: FALSE2" << endl; query.finish(); return false; } @@ -2393,7 +2302,7 @@ bool DataProxy_SQLite::isDXCCConfirmed(const int _dxcc, const int _currentLog) else { emit queryError(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); - //qDebug() << "DataProxy_SQLite::isDXCCConfrmed: FALSE3" << endl; + //qDebug() << "DataProxy_SQLite::isDXCCConfrmed: FALSE3" << endl; query.finish(); return false; } @@ -2403,12 +2312,12 @@ bool DataProxy_SQLite::isHF(const int _band) {// 160M is considered as HF if ( (_band>=getIdFromBandName("10M")) && (_band<=getIdFromBandName("160M")) ) { - //qDebug() << "DataProxy_SQLite::isHF: TRUE" << endl; + //qDebug() << "DataProxy_SQLite::isHF: TRUE" << endl; return true; } else { - //qDebug() << "DataProxy_SQLite::isHF: FALSE" << endl; + //qDebug() << "DataProxy_SQLite::isHF: FALSE" << endl; return false; } } @@ -2417,12 +2326,12 @@ bool DataProxy_SQLite::isWARC(const int _band) { if ( (_band==getIdFromBandName("12M")) || (_band==getIdFromBandName("17M")) || ((_band==getIdFromBandName("30M")) ) ) { - //qDebug() << "DataProxy_SQLite::isWARC: tRUE" << endl; + //qDebug() << "DataProxy_SQLite::isWARC: tRUE" << endl; return true; } else { - //qDebug() << "DataProxy_SQLite::isWARC: FALSE" << endl; + //qDebug() << "DataProxy_SQLite::isWARC: FALSE" << endl; return false; } } @@ -2431,12 +2340,12 @@ bool DataProxy_SQLite::isVHF(const int _band) { if (_band<=getIdFromBandName("6M")) { - //qDebug() << "DataProxy_SQLite::isVHF: TRUE" << endl; + //qDebug() << "DataProxy_SQLite::isVHF: TRUE" << endl; return true; } else { - //qDebug() << "DataProxy_SQLite::isVHF: FALSE" << endl; + //qDebug() << "DataProxy_SQLite::isVHF: FALSE" << endl; return false; } } @@ -2445,19 +2354,19 @@ bool DataProxy_SQLite::isUHF(const int _band) { if (_band<=getIdFromBandName("70CM")) { - //qDebug() << "DataProxy_SQLite::isUHF: TRUE" << endl; + //qDebug() << "DataProxy_SQLite::isUHF: TRUE" << endl; return true; } else { - //qDebug() << "DataProxy_SQLite::isUHF: FALSE" << endl; + //qDebug() << "DataProxy_SQLite::isUHF: FALSE" << endl; return false; } } QStringList DataProxy_SQLite::getOperatingYears(const int _currentLog) { - //qDebug() << "DataProxy_SQLite::getYearsOperating: " << QString::number(_currentLog) << endl; + //qDebug() << "DataProxy_SQLite::getYearsOperating: " << QString::number(_currentLog) << endl; QStringList years = QStringList(); //QStringList yearsSorted = QStringList(); QSqlQuery query; @@ -2473,27 +2382,27 @@ QStringList DataProxy_SQLite::getOperatingYears(const int _currentLog) QString year = QString(); - //qDebug() << "DataProxy_SQLite::getYearsOperating: -1" << endl; + //qDebug() << "DataProxy_SQLite::getYearsOperating: -1" << endl; bool sqlOk = query.exec(queryString); if (sqlOk) { - //qDebug() << "DataProxy_SQLite::getYearsOperating: sqlOk = true" << endl; + //qDebug() << "DataProxy_SQLite::getYearsOperating: sqlOk = true" << endl; while (query.next()) { if (query.isValid()) { year = (query.value(0)).toString(); - //qDebug() << "DataProxy_SQLite::getYearsOperating: year=" << year << endl; + //qDebug() << "DataProxy_SQLite::getYearsOperating: year=" << year << endl; years << year; year.clear(); } else { - //qDebug() << "DataProxy_SQLite::getYearsOperating: NOT VALID" << endl; + //qDebug() << "DataProxy_SQLite::getYearsOperating: NOT VALID" << endl; } } - //qDebug() << "DataProxy_SQLite::getYearsOperating: END OK - " << QString::number(years.size())<< endl; + //qDebug() << "DataProxy_SQLite::getYearsOperating: END OK - " << QString::number(years.size())<< endl; query.finish(); //return years; if (years.length()>0) @@ -2505,7 +2414,7 @@ QStringList DataProxy_SQLite::getOperatingYears(const int _currentLog) else { emit queryError(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); - //qDebug() << "DataProxy_SQLite::getYearsOperating: sqlOk = false" << endl; + //qDebug() << "DataProxy_SQLite::getYearsOperating: sqlOk = false" << endl; } return years; } @@ -2524,7 +2433,7 @@ bool DataProxy_SQLite::lotwSentQueue(const QString &_updateDate, const int _curr {// Mark LOTW QSL SENT as Q (Queued) // If currentLog <0 ALL the QSO of the log will be queued - //qDebug() << "DataProxy_SQLite::lotwSentQueue: Date:" << _updateDate << " /" << QString::number(_currentLog) << endl; + //qDebug() << "DataProxy_SQLite::lotwSentQueue: Date:" << _updateDate << " /" << QString::number(_currentLog) << endl; QString queryString; if (_currentLog<1) @@ -2556,7 +2465,7 @@ bool DataProxy_SQLite::lotwSentYes(const QString &_updateDate, const int _curren {// Mark LOTW QSL SENT as Q (Queued) // If currentLog <0 ALL the QSO of the log will be queued - //qDebug() << "DataProxy_SQLite::lotwSentQueue: " << QString::number(_currentLog) << endl; + //qDebug() << "DataProxy_SQLite::lotwSentQueue: " << QString::number(_currentLog) << endl; QString queryString; @@ -2603,276 +2512,11 @@ bool DataProxy_SQLite::lotwSentYes(const QString &_updateDate, const int _curren return false; } -bool DataProxy_SQLite::lotwSentQSOs(const QList &_qsos) -{ - //qDebug() << " DataProxy_SQLite::lotwSentQSOs" << QString::number(_qsos.count()) << endl; - if (_qsos.count() < 1) - { - return true; - } - QString queryString; - bool sqlOK; - QSqlQuery query; - for (int i = 0; i< _qsos.count(); i++) - { - //qDebug() << " DataProxy_SQLite::lotwSentQSOs: updating QSO: " << QString::number(_qsos.at(i)) << endl; - queryString = QString("UPDATE log SET lotw_qsl_sent = 'Y', lotw_qslsdate = '%1' WHERE id='%2'").arg((QDate::currentDate()).toString("yyyy/MM/dd")).arg(QString::number(_qsos.at(i))); - sqlOK = query.exec(queryString); - query.finish(); - if (sqlOK) - { - //qDebug() << " DataProxy_SQLite::lotwSentQSOs: exec: " << query.lastQuery() << endl; - } - else - { - emit queryError(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); - //qDebug() << " DataProxy_SQLite::lotwSentQSOs: END FALSE" << endl; - return false; - } - } - //qDebug() << " DataProxy_SQLite::lotwSentQSOs: END TRUE" << endl; - return true; -} - -int DataProxy_SQLite::lotwUpdateQSLReception (const QString &_call, const QString &_qso_date, const QString &_time_on, const QString &_band, const QString &_mode, const QString &_qslrdate) -{ //Returns the QSO id updated or -1 if none was updated. - - int bandid = getIdFromBandName(_band); - int modeid = getIdFromModeName(_mode); - QString qso_date; - if (_qso_date.contains('/')) - { - qso_date = _qso_date; - } - else - { - qso_date = (QDate::fromString(_qso_date, "yyyyMMdd")).toString("yyyy/MM/dd"); - - } - - QString timeon; - if (_time_on.contains(':')) - { - timeon = _time_on; - } - else - { - timeon = (QTime::fromString(_time_on, "hhmmss")).toString("hh:mm:ss"); - - } - - - QString queryString; - queryString = QString("SELECT id, lotw_qsl_rcvd FROM log WHERE call='%1' AND qso_date='%2' AND time_on='%3' AND bandid='%4' AND modeid='%5'").arg(_call).arg(qso_date).arg(timeon).arg(bandid).arg(modeid); - - QSqlQuery query; - - bool sqlOK = query.exec(queryString); - if (sqlOK) - { - query.next(); - if (query.isValid()) - { - int id = (query.value(0)).toInt(); - QString _lotwQSLReceived = (query.value(1).toString()); - - if (( id > 0) && (_lotwQSLReceived!="Y")) - { - query.finish(); - - - QString qslrdate; - if (_qslrdate.contains('/')) - { - qslrdate = _qslrdate; - } - else - { - qslrdate = (QDate::fromString(_qslrdate, "yyyyMMdd")).toString("yyyy/MM/dd"); - - } - - //QString qslsdate = (QDate::fromString(_qslsdate, "yyyyMMdd")).toString("yyyy/MM/dd"); - //QString qslrdate = (QDate::fromString(_qslrdate, "yyyyMMdd")).toString("yyyy/MM/dd"); - queryString = QString("UPDATE log SET lotw_qsl_rcvd = 'Y', lotw_qslrdate = '%1' WHERE id='%2'").arg(qslrdate).arg(QString::number(id)); - - sqlOK = query.exec(queryString); - query.finish(); - if (sqlOK) - { - return id; - } - else - { - emit queryError(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); - return -4; - } - } - else - { - //qDebug() << "DataProxy_SQLite::lotwUpdateQSLReception ID Not found" << endl; - query.finish(); - return -1; - } - } - else - { - //qDebug() << "DataProxy_SQLite::lotwUpdateQSLReception Query not valid: " << query.lastQuery() << endl; - - query.finish(); - return -2; - } - } - else - { - emit queryError(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); - } - query.finish(); - return -3; -} - -QList DataProxy_SQLite::getQSOsListLoTWNotSent(const QString &_stationCallsign, const QDate &_startDate, const QDate &_endDate, bool _justQueued) -{ - //qDebug() << "DataProxy_SQLite::getQSOsListLoTWNotSent Call/Start/end: " << _stationCallsign << _startDate.toString("yyyyMMdd") << "/" << _endDate.toString("yyyyMMdd") << endl; - QList qsoList; - qsoList.clear(); - QDate tmpDate; - QString aux = QString(); - QStringList qs; - qs.clear(); - QString queryString; - - QString _queryST_string; - if (util->isValidCall(_stationCallsign)) - { - _queryST_string = QString("station_callsign='%1'").arg(_stationCallsign); - } - else if (_stationCallsign == "ALL") - { - _queryST_string = QString("station_callsign!='ALL'"); - } - else - { - _queryST_string = QString("station_callsign=''"); - } - - QString _query_justQueued; - if (_justQueued) - { - _query_justQueued = QString("lotw_qsl_sent='Q'"); - } - else - { - _query_justQueued = QString("lotw_qsl_sent!='1'"); - } - - queryString = QString("SELECT id, qso_date FROM log WHERE ") + _queryST_string + " AND " + _query_justQueued; - - /* - if (justQueued) - { - queryString = QString("SELECT id, qso_date FROM log WHERE station_callsign='%1' AND lotw_qsl_sent='Q'").arg(_stationCallsign); - } - else - { - queryString = QString("SELECT id, qso_date FROM log WHERE station_callsign='%1' ").arg(_stationCallsign); - } - */ - - - QSqlQuery query; - - bool sqlOK = query.exec(queryString); - //qDebug() << "DataProxy_SQLite::getQSOsListLoTWNotSent Query: " << query.lastQuery() << endl; - - if (sqlOK) - { - // //qDebug() << "DataProxy_SQLite::getQSOsListLoTWNotSent Query: " << query.lastQuery() << endl; - - while ( (query.next())) { - if (query.isValid()) - { - aux.clear(); - aux = (query.value(1)).toString() ; - tmpDate = QDate::fromString(aux, "yyyy/MM/dd"); - if ((_startDate<=tmpDate) && _endDate>=tmpDate) - { - qsoList.append((query.value(0)).toInt()); - } - } - else - { - } - } - } - else - { - emit queryError(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); - query.finish(); - qsoList.clear(); - return qsoList; - } - query.finish(); - qs.sort(); - return qsoList; - -} - -QStringList DataProxy_SQLite::getQSODetailsForLoTWDownload(const int _id) -{ //Returns QRZ << date+time << Band (txt) << mode (txt) - //qDebug() << "DataProxy_SQLite::getQSODetailsForLoTWDownload" << QString::number(_id) << endl; - QStringList result; - result.clear(); - //getNameFromBandId - QSqlQuery query; - QString queryString = QString("SELECT call, qso_date, time_on, bandid, modeid FROM log WHERE id='%0'").arg(_id); - - bool sqlOk = query.exec(queryString); - - if (sqlOk) - { - if (query.next()) - { - if (query.isValid()) - { - QString call = query.value(0).toString(); - QString date = query.value(1).toString(); - QString time = query.value(2).toString(); - QString bandid = query.value(3).toString(); - QString modeid = query.value(4).toString(); - query.finish(); - //qDebug() << "DataProxy_SQLite::getQSODetailsForLoTWDownload - date: " << date << endl; - //qDebug() << "DataProxy_SQLite::getQSODetailsForLoTWDownload - time: " << time << endl; - QString dateTime = (QDateTime::fromString(date+"-"+time, "yyyy/MM/dd-hh:mm:ss")).toString("yyyy/MM/dd-hh:mm"); - bandid = getNameFromBandId(bandid.toInt()); - modeid = getNameFromModeId(modeid.toInt()); - - result.append(call); - result.append(dateTime); - result.append(bandid); - result.append(modeid); - //qDebug() << "DataProxy_SQLite::getQSODetailsForLoTWDownload - END: call: " << call << endl; - return result; - } - //qDebug() << "DataProxy_SQLite::getQSODetailsForLoTWDownload - END: no valid " << endl; - } - query.finish(); - //qDebug() << "DataProxy_SQLite::getQSODetailsForLoTWDownload - END: no next " << endl; - return result; - } - else - { - //qDebug() << "DataProxy_SQLite::getQSODetailsForLoTWDownload - END: SQL NOK " << endl; - emit queryError(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); - query.finish(); - return result; - } -} int DataProxy_SQLite::getQSOonYear(const int _year, const int _logNumber) { - //qDebug() << "DataProxy_SQLite::getQSOonYear: " << QString::number(_year) << "/" << QString::number(_logNumber) << endl; + //qDebug() << "DataProxy_SQLite::getQSOonYear: " << QString::number(_year) << "/" << QString::number(_logNumber) << endl; QSqlQuery query; QString queryString; @@ -2890,20 +2534,20 @@ int DataProxy_SQLite::getQSOonYear(const int _year, const int _logNumber) sqlOK = query.exec(queryString); - //qDebug() << "DataProxy_SQLite::getQSOonYear: queryString: " << queryString << endl; + //qDebug() << "DataProxy_SQLite::getQSOonYear: queryString: " << queryString << endl; if (sqlOK) { query.next(); if (query.isValid()) { - //qDebug() << "DataProxy_SQLite::getQSOonYear: " << QString::number((query.value(0)).toInt()) << endl; + //qDebug() << "DataProxy_SQLite::getQSOonYear: " << QString::number((query.value(0)).toInt()) << endl; int v = (query.value(0)).toInt(); query.finish(); return v; } else { - //qDebug() << "DataProxy_SQLite::getQSOonYear: 0" << endl; + //qDebug() << "DataProxy_SQLite::getQSOonYear: 0" << endl; query.finish(); return 0; } @@ -2911,7 +2555,7 @@ int DataProxy_SQLite::getQSOonYear(const int _year, const int _logNumber) else { emit queryError(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); - //qDebug() << "DataProxy_SQLite::getDXCConYear: Query error" << endl; + //qDebug() << "DataProxy_SQLite::getDXCConYear: Query error" << endl; query.finish(); return 0; } @@ -2919,37 +2563,37 @@ int DataProxy_SQLite::getQSOonYear(const int _year, const int _logNumber) int DataProxy_SQLite::getDXCConYear(const int _year, const int _logNumber) { - //qDebug() << "DataProxy_SQLite::getDXCConYear: " << QString::number(_year) << "/" << QString::number(_logNumber) << endl; + //qDebug() << "DataProxy_SQLite::getDXCConYear: " << QString::number(_year) << "/" << QString::number(_logNumber) << endl; QSqlQuery query; QString queryString; bool sqlOK; if (_logNumber < 0) { - queryString = QString("SELECT COUNT (DISTINCT dxcc) FROM log WHERE dxcc>'0' AND qso_date LIKE '%1%'").arg(_year); + queryString = QString("SELECT COUNT (DISTINCT dxcc) FROM log where qso_date LIKE '%1%'").arg(_year); } else { - queryString = QString("SELECT COUNT (DISTINCT dxcc) FROM log WHERE dxcc>'0' AND lognumber='%1' AND qso_date LIKE '%2%'").arg(_logNumber).arg(_year); + queryString = QString("SELECT COUNT (DISTINCT dxcc) FROM log where lognumber='%1' AND qso_date LIKE '%2%'").arg(_logNumber).arg(_year); } sqlOK = query.exec(queryString); - //qDebug() << "DataProxy_SQLite::getDXCConYear: queryString: " << queryString << endl; + //qDebug() << "DataProxy_SQLite::getDXCConYear: queryString: " << queryString << endl; if (sqlOK) { query.next(); if (query.isValid()) { - //qDebug() << "DataProxy_SQLite::getDXCConYear: " << QString::number((query.value(0)).toInt()) << endl; + //qDebug() << "DataProxy_SQLite::getDXCConYear: " << QString::number((query.value(0)).toInt()) << endl; int v = (query.value(0)).toInt(); query.finish(); return v; } else { - //qDebug() << "DataProxy_SQLite::getDXCConYear: 0" << endl; + //qDebug() << "DataProxy_SQLite::getDXCConYear: 0" << endl; query.finish(); return 0; } @@ -2957,7 +2601,7 @@ int DataProxy_SQLite::getDXCConYear(const int _year, const int _logNumber) else { emit queryError(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); - //qDebug() << "DataProxy_SQLite::getDXCConYear: Query error" << endl; + //qDebug() << "DataProxy_SQLite::getDXCConYear: Query error" << endl; query.finish(); return 0; } @@ -2965,35 +2609,35 @@ int DataProxy_SQLite::getDXCConYear(const int _year, const int _logNumber) int DataProxy_SQLite::getCQzonYear(const int _year, const int _logNumber) { - //qDebug() << "DataProxy_SQLite::getCQzonYear: " << QString::number(_year) << endl; + //qDebug() << "DataProxy_SQLite::getCQzonYear: " << QString::number(_year) << endl; QSqlQuery query; QString queryString; bool sqlOK; if (_logNumber < 0) { - queryString = QString("SELECT COUNT (DISTINCT cqz) FROM log where qso_date LIKE '%1%' AND cqz>'0' AND cqz < '41'").arg(_year); + queryString = QString("SELECT COUNT (DISTINCT cqz) FROM log where qso_date LIKE '%1%' AND cqz < '41' AND cqz > '0'").arg(_year); } else { - queryString = QString("SELECT COUNT (DISTINCT cqz) FROM log where lognumber='%1' AND cqz>'0' AND cqz<'41' AND qso_date LIKE '%2%'").arg(_logNumber).arg(_year); + queryString = QString("SELECT COUNT (DISTINCT cqz) FROM log where lognumber='%1' AND qso_date LIKE '%2%'").arg(_logNumber).arg(_year); } sqlOK = query.exec(queryString); - //qDebug() << "DataProxy_SQLite::getCQzonYear: queryString: " << queryString << endl; + //qDebug() << "DataProxy_SQLite::getCQzonYear: queryString: " << queryString << endl; if (sqlOK) { query.next(); if (query.isValid()) { - //qDebug() << "DataProxy_SQLite::getCQzonYear: " << QString::number((query.value(0)).toInt()) << endl; + //qDebug() << "DataProxy_SQLite::getCQzonYear: " << QString::number((query.value(0)).toInt()) << endl; int v = (query.value(0)).toInt(); query.finish(); return v; } else { - //qDebug() << "DataProxy_SQLite::getCQzonYear: 0" << endl; + //qDebug() << "DataProxy_SQLite::getCQzonYear: 0" << endl; query.finish(); return 0; } @@ -3001,7 +2645,7 @@ int DataProxy_SQLite::getCQzonYear(const int _year, const int _logNumber) else { emit queryError(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); - //qDebug() << "DataProxy_SQLite::getCQzonYear: Query error" << endl; + //qDebug() << "DataProxy_SQLite::getCQzonYear: Query error" << endl; query.finish(); return 0; } @@ -3010,7 +2654,7 @@ int DataProxy_SQLite::getCQzonYear(const int _year, const int _logNumber) int DataProxy_SQLite::getQSOsWithDXCC(const int _dxcc, const int _logNumber) { - //qDebug() << "DataProxy_SQLite::getQSOsWithDXCC: " << QString::number(_dxcc) << endl; + //qDebug() << "DataProxy_SQLite::getQSOsWithDXCC: " << QString::number(_dxcc) << endl; QSqlQuery query; QString queryString; bool sqlOK; @@ -3026,20 +2670,20 @@ int DataProxy_SQLite::getQSOsWithDXCC(const int _dxcc, const int _logNumber) sqlOK = query.exec(queryString); - //qDebug() << "DataProxy_SQLite::getQSOsWithDXCC: queryString: " << queryString << endl; + //qDebug() << "DataProxy_SQLite::getQSOsWithDXCC: queryString: " << queryString << endl; if (sqlOK) { query.next(); if (query.isValid()) { - //qDebug() << "DataProxy_SQLite::getQSOsWithDXCC: " << QString::number((query.value(0)).toInt()) << endl; + //qDebug() << "DataProxy_SQLite::getQSOsWithDXCC: " << QString::number((query.value(0)).toInt()) << endl; int v = (query.value(0)).toInt(); query.finish(); return v; } else { - //qDebug() << "DataProxy_SQLite::getQSOsWithDXCC: 0" << endl; + //qDebug() << "DataProxy_SQLite::getQSOsWithDXCC: 0" << endl; query.finish(); return 0; } @@ -3048,7 +2692,7 @@ int DataProxy_SQLite::getQSOsWithDXCC(const int _dxcc, const int _logNumber) else { emit queryError(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); - //qDebug() << "DataProxy_SQLite::getQSOsWithDXCC: Query error" << endl; + //qDebug() << "DataProxy_SQLite::getQSOsWithDXCC: Query error" << endl; query.finish(); return 0; } @@ -3056,7 +2700,7 @@ int DataProxy_SQLite::getQSOsWithDXCC(const int _dxcc, const int _logNumber) int DataProxy_SQLite::getQSOsAtHour(const int _hour, const int _log) { - //qDebug() << "DataProxy_SQLite::getQSOsAtHour: " << QString::number(_hour) << endl; + //qDebug() << "DataProxy_SQLite::getQSOsAtHour: " << QString::number(_hour) << endl; QSqlQuery query; QString queryString; bool sqlOK; @@ -3081,20 +2725,20 @@ int DataProxy_SQLite::getQSOsAtHour(const int _hour, const int _log) sqlOK = query.exec(queryString); - //qDebug() << "DataProxy_SQLite::getQSOsAtHour: queryString: " << queryString << endl; + //qDebug() << "DataProxy_SQLite::getQSOsAtHour: queryString: " << queryString << endl; if (sqlOK) { query.next(); if (query.isValid()) { - //qDebug() << "DataProxy_SQLite::getQSOsAtHour: " << QString::number((query.value(0)).toInt()) << endl; + //qDebug() << "DataProxy_SQLite::getQSOsAtHour: " << QString::number((query.value(0)).toInt()) << endl; int v = (query.value(0)).toInt(); query.finish(); return v; } else { - //qDebug() << "DataProxy_SQLite::getQSOsAtHour: 0" << endl; + //qDebug() << "DataProxy_SQLite::getQSOsAtHour: 0" << endl; query.finish(); return 0; } @@ -3102,7 +2746,7 @@ int DataProxy_SQLite::getQSOsAtHour(const int _hour, const int _log) else { emit queryError(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); - //qDebug() << "DataProxy_SQLite::getQSOsAtHour: Query error" << endl; + //qDebug() << "DataProxy_SQLite::getQSOsAtHour: Query error" << endl; query.finish(); return 0; } @@ -3111,7 +2755,7 @@ int DataProxy_SQLite::getQSOsAtHour(const int _hour, const int _log) int DataProxy_SQLite::getQSOsAtHourOnBand(const int _hour, const int _band, const int _log) { - //qDebug() << "DataProxy_SQLite::getQSOsAtHourOnBand: " << QString::number(_hour) << endl; + //qDebug() << "DataProxy_SQLite::getQSOsAtHourOnBand: " << QString::number(_hour) << endl; QSqlQuery query; QString queryString; bool sqlOK; @@ -3137,20 +2781,20 @@ int DataProxy_SQLite::getQSOsAtHourOnBand(const int _hour, const int _band, cons sqlOK = query.exec(queryString); - //qDebug() << "DataProxy_SQLite::getQSOsAtHourOnBand: queryString: " << queryString << endl; + //qDebug() << "DataProxy_SQLite::getQSOsAtHourOnBand: queryString: " << queryString << endl; if (sqlOK) { query.next(); if (query.isValid()) { - //qDebug() << "DataProxy_SQLite::getQSOsAtHourOnBand: " << QString::number((query.value(0)).toInt()) << endl; + //qDebug() << "DataProxy_SQLite::getQSOsAtHourOnBand: " << QString::number((query.value(0)).toInt()) << endl; int v = (query.value(0)).toInt(); query.finish(); return v; } else { - //qDebug() << "DataProxy_SQLite::getQSOsAtHourOnBand: 0" << endl; + //qDebug() << "DataProxy_SQLite::getQSOsAtHourOnBand: 0" << endl; query.finish(); return 0; } @@ -3158,7 +2802,7 @@ int DataProxy_SQLite::getQSOsAtHourOnBand(const int _hour, const int _band, cons else { emit queryError(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); - //qDebug() << "DataProxy_SQLite::getQSOsAtHourOnBandç: Query error" << endl; + //qDebug() << "DataProxy_SQLite::getQSOsAtHourOnBandç: Query error" << endl; query.finish(); return 0; } @@ -3166,7 +2810,7 @@ int DataProxy_SQLite::getQSOsAtHourOnBand(const int _hour, const int _band, cons int DataProxy_SQLite::getQSOsOnMonth(const int _month, const int _log) { - //qDebug() << "DataProxy_SQLite::getgetQSOsOnMonth: " << QString::number(_month) << endl; + //qDebug() << "DataProxy_SQLite::getgetQSOsOnMonth: " << QString::number(_month) << endl; QSqlQuery query; QString queryString; bool sqlOK; @@ -3191,20 +2835,20 @@ int DataProxy_SQLite::getQSOsOnMonth(const int _month, const int _log) sqlOK = query.exec(queryString); - //qDebug() << "DataProxy_SQLite::getQSOsAtHour: queryString: " << queryString << endl; + //qDebug() << "DataProxy_SQLite::getQSOsAtHour: queryString: " << queryString << endl; if (sqlOK) { query.next(); if (query.isValid()) { - //qDebug() << "DataProxy_SQLite::getQSOsAtHour: " << QString::number((query.value(0)).toInt()) << endl; + //qDebug() << "DataProxy_SQLite::getQSOsAtHour: " << QString::number((query.value(0)).toInt()) << endl; int v = (query.value(0)).toInt(); query.finish(); return v; } else { - //qDebug() << "DataProxy_SQLite::getQSOsAtHour: 0" << endl; + //qDebug() << "DataProxy_SQLite::getQSOsAtHour: 0" << endl; query.finish(); return 0; } @@ -3212,7 +2856,7 @@ int DataProxy_SQLite::getQSOsOnMonth(const int _month, const int _log) else { emit queryError(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); - //qDebug() << "DataProxy_SQLite::getQSOsAtHour: Query error" << endl; + //qDebug() << "DataProxy_SQLite::getQSOsAtHour: Query error" << endl; query.finish(); return 0; } @@ -3220,7 +2864,7 @@ int DataProxy_SQLite::getQSOsOnMonth(const int _month, const int _log) bool DataProxy_SQLite::newDXMarathon(const int _dxcc, const int _cq, const int _year, const int _logNumber) { - //qDebug() << "DataProxy_SQLite::newDXMarathon" << endl; + //qDebug() << "DataProxy_SQLite::newDXMarathon" << endl; QSqlQuery query; QString queryString; bool sqlOK; @@ -3239,12 +2883,12 @@ bool DataProxy_SQLite::newDXMarathon(const int _dxcc, const int _cq, const int _ { if ( (query.value(0)).toInt() == _dxcc) { - //qDebug() << "DataProxy_SQLite::newDXMarathon - Existing DXCC" << endl; + //qDebug() << "DataProxy_SQLite::newDXMarathon - Existing DXCC" << endl; existingDXCC = true; } if ( (query.value(1)).toInt() == _cq) { - //qDebug() << "DataProxy_SQLite::newDXMarathon - Existing CQz" << endl; + //qDebug() << "DataProxy_SQLite::newDXMarathon - Existing CQz" << endl; existingCQz = true; } @@ -3253,13 +2897,13 @@ bool DataProxy_SQLite::newDXMarathon(const int _dxcc, const int _cq, const int _ if (existingDXCC && existingCQz) { - //qDebug() << "DataProxy_SQLite::newDXMarathon - FALSE" << endl; + //qDebug() << "DataProxy_SQLite::newDXMarathon - FALSE" << endl; query.finish(); return false; } else { - //qDebug() << "DataProxy_SQLite::newDXMarathon - TRUE1" << endl; + //qDebug() << "DataProxy_SQLite::newDXMarathon - TRUE1" << endl; query.finish(); return true; } @@ -3267,7 +2911,7 @@ bool DataProxy_SQLite::newDXMarathon(const int _dxcc, const int _cq, const int _ else { emit queryError(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); - //qDebug() << "DataProxy_SQLite::newDXMarathon - TRUE2" << endl; + //qDebug() << "DataProxy_SQLite::newDXMarathon - TRUE2" << endl; query.finish(); return true; // It is an error inthe query but Work First Worry Later, let us work that QSO. } @@ -3275,7 +2919,7 @@ bool DataProxy_SQLite::newDXMarathon(const int _dxcc, const int _cq, const int _ QStringList DataProxy_SQLite::getContestNames() { - //qDebug() << "DataProxy_SQLite::getContestNames() " << endl; + //qDebug() << "DataProxy_SQLite::getContestNames() " << endl; QStringList contests = QStringList(); QSqlQuery query; QString queryString; @@ -3292,7 +2936,7 @@ QStringList DataProxy_SQLite::getContestNames() if (query.isValid()) { queryString = (query.value(0)).toString(); - //qDebug() << "DataProxy_SQLite::getContestNames: " << queryString << endl; + //qDebug() << "DataProxy_SQLite::getContestNames: " << queryString << endl; contests.append(queryString); } else @@ -3345,7 +2989,7 @@ QStringList DataProxy_SQLite::getContestCat(const int _catn) break; default: return QStringList(); - //break; + break; } sqlOK = query.exec(queryString); @@ -3380,7 +3024,7 @@ QStringList DataProxy_SQLite::getContestCat(const int _catn) QStringList DataProxy_SQLite::getContestOverlays() { - //qDebug() << "DataProxy_SQLite::getContestOverlays: "<< endl; + //qDebug() << "DataProxy_SQLite::getContestOverlays: "<< endl; QStringList contests = QStringList(); QSqlQuery query; @@ -3398,7 +3042,7 @@ QStringList DataProxy_SQLite::getContestOverlays() if (query.isValid()) { queryString = (query.value(0)).toString(); - //qDebug() << "DataProxy_SQLite::getContestOverlays: " << queryString << endl; + //qDebug() << "DataProxy_SQLite::getContestOverlays: " << queryString << endl; contests.append(queryString); } else @@ -3421,7 +3065,7 @@ QStringList DataProxy_SQLite::getContestOverlays() QStringList DataProxy_SQLite::getPropModeList() { - //qDebug() << "DataProxy_SQLite::getPropModeLists" << endl; + //qDebug() << "DataProxy_SQLite::getPropModeLists" << endl; QString aux = QString(); QStringList qs; qs.clear(); @@ -3430,7 +3074,7 @@ QStringList DataProxy_SQLite::getPropModeList() QSqlQuery query; bool sqlOK = query.exec(queryString); - QString num; + if (sqlOK) { @@ -3515,12 +3159,7 @@ QStringList DataProxy_SQLite::getPropModeList() } aux.clear(); - num = (query.value(0)).toString(); - if (num.toInt() <= 9) - { - num = "0" + num; - } - aux = num + " - " + (query.value(1)).toString() + " - " + translatedValue; + aux = (query.value(0)).toString() + " - " + (query.value(1)).toString() + " - " + translatedValue; qs << aux; } else @@ -3560,7 +3199,7 @@ bool DataProxy_SQLite::clearSatList() bool DataProxy_SQLite::addSatellite(const QString &_arrlId, const QString &_name, const QString &_downLink, const QString &_upLink, const QString &_mode, int id) { - //qDebug() << "DataProxy_SQLite::addSatellite: " << QString::number(id) << endl; + //qDebug() << "DataProxy_SQLite::addSatellite: " << QString::number(id) << endl; QSqlQuery query; QString queryString; @@ -3575,18 +3214,18 @@ bool DataProxy_SQLite::addSatellite(const QString &_arrlId, const QString &_name } bool sqlOK = query.exec(queryString); - //qDebug() << "DataProxy_SQLite::addSatellite - query: " << query.lastQuery() << endl; + //qDebug() << "DataProxy_SQLite::addSatellite - query: " << query.lastQuery() << endl; if (sqlOK) { - //qDebug() << "DataProxy_SQLite::addSatellite - TRUE" << endl; - //qDebug() << "DataProxy_SQLite::addSatellite - TRUE - ERROR: " << QString::number(query.lastError().number()) << endl; + //qDebug() << "DataProxy_SQLite::addSatellite - TRUE" << endl; + //QDebug() << "DataProxy_SQLite::addSatellite - TRUE - ERROR: " << QString::number(query.lastError().number()) << endl; query.finish(); return true; } else { - //qDebug() << "DataProxy_SQLite::addSatellite - FALSE" << endl; + //QDebug() << "DataProxy_SQLite::addSatellite - FALSE" << endl; //if (query.lastError().number() == 19) //{ // Duplicate Satellite // QMessageBox msgBox; @@ -3605,7 +3244,7 @@ bool DataProxy_SQLite::addSatellite(const QString &_arrlId, const QString &_name int DataProxy_SQLite::getDBSatId(const QString &_arrlId) { - //qDebug() << "DataProxy_SQLite::getDBSatId: " << _arrlId << endl; + //qDebug() << "DataProxy_SQLite::getDBSatId: " << _sat << endl; int aux = -1; QString queryString = QString("SELECT id FROM satellites WHERE satarrlid='%1'").arg(_arrlId); QSqlQuery query; @@ -3621,25 +3260,25 @@ int DataProxy_SQLite::getDBSatId(const QString &_arrlId) } else { - //qDebug() << "DataProxy_SQLite::getDBSatId: query not valid" << endl; + //qDebug() << "DataProxy_SQLite::getDBSatId: query not valid" << endl; query.finish(); } } else { - //qDebug() << "DataProxy_SQLite::getSatelliteUplink: query failed: " << query.lastQuery() << endl; + //qDebug() << "DataProxy_SQLite::getSatelliteUplink: query failed: " << query.lastQuery() << endl; emit queryError(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); query.finish(); } - //qDebug() << "DataProxy_SQLite::getSatelliteUplink: final: " << aux << endl; + //qDebug() << "DataProxy_SQLite::getSatelliteUplink: final: " << aux << endl; query.finish(); return aux; } QStringList DataProxy_SQLite::getSatellitesList() { - //qDebug() << "DataProxy_SQLite::getSatellitesList" << endl; + //qDebug() << "DataProxy_SQLite::getSatellitesList" << endl; QString aux = QString(); QStringList qs; qs.clear(); @@ -3678,7 +3317,7 @@ QStringList DataProxy_SQLite::getSatellitesList() QString DataProxy_SQLite::getSatelliteUplink(const QString &_sat) { - //qDebug() << "DataProxy_SQLite::getSatelliteUplink: " << _sat << endl; + //qDebug() << "DataProxy_SQLite::getSatelliteUplink: " << _sat << endl; QString aux = QString(); //QString aux2 = QString(); //double fr1, fr2, fr; @@ -3697,20 +3336,20 @@ QString DataProxy_SQLite::getSatelliteUplink(const QString &_sat) } else { - //qDebug() << "DataProxy_SQLite::getSatelliteUplink: query not valid" << endl; + //qDebug() << "DataProxy_SQLite::getSatelliteUplink: query not valid" << endl; query.finish(); return QString(); } } else { - //qDebug() << "DataProxy_SQLite::getSatelliteUplink: query failed: " << query.lastQuery() << endl; + //qDebug() << "DataProxy_SQLite::getSatelliteUplink: query failed: " << query.lastQuery() << endl; emit queryError(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); query.finish(); return QString(); } - //qDebug() << "DataProxy_SQLite::getSatelliteUplink: final: " << aux << endl; + //qDebug() << "DataProxy_SQLite::getSatelliteUplink: final: " << aux << endl; query.finish(); return aux; } @@ -3718,7 +3357,7 @@ QString DataProxy_SQLite::getSatelliteUplink(const QString &_sat) QString DataProxy_SQLite::getSatelliteDownlink(const QString &_sat) { - //qDebug() << "DataProxy_SQLite::getSatelliteDownlink: " << _sat << endl; + //qDebug() << "DataProxy_SQLite::getSatelliteDownlink: " << _sat << endl; QString aux = QString(); //QString aux2 = QString(); //double fr1, fr2, fr; @@ -3738,20 +3377,20 @@ QString DataProxy_SQLite::getSatelliteDownlink(const QString &_sat) } else { - //qDebug() << "DataProxy_SQLite::getSatelliteDownlink: query not valid" << endl; + //qDebug() << "DataProxy_SQLite::getSatelliteDownlink: query not valid" << endl; query.finish(); return QString(); } } else { - //qDebug() << "DataProxy_SQLite::getSatelliteDownlink: query failed: " << query.lastQuery() << endl; + //qDebug() << "DataProxy_SQLite::getSatelliteDownlink: query failed: " << query.lastQuery() << endl; emit queryError(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); query.finish(); return QString(); } - //qDebug() << "DataProxy_SQLite::getSatelliteDownlink: final: " << aux << endl; + //qDebug() << "DataProxy_SQLite::getSatelliteDownlink: final: " << aux << endl; query.finish(); return aux; } @@ -3782,26 +3421,26 @@ QString DataProxy_SQLite::getSatelliteMode(const QString &_sat) } else { - //qDebug() << "DataProxy_SQLite::getSatelliteMode: query not valid" << endl; + //qDebug() << "DataProxy_SQLite::getSatelliteMode: query not valid" << endl; query.finish(); return QString(); } } else { - //qDebug() << "DataProxy_SQLite::getSatelliteMode: query failed: " << query.lastQuery() << endl; + //qDebug() << "DataProxy_SQLite::getSatelliteMode: query failed: " << query.lastQuery() << endl; emit queryError(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); query.finish(); return QString(); } - //qDebug() << "DataProxy_SQLite::getSatelliteMode: final: " << aux << endl; + //qDebug() << "DataProxy_SQLite::getSatelliteMode: final: " << aux << endl; return aux; } QString DataProxy_SQLite::getSatelliteFullUplink(const QString &_sat) { - //qDebug() << "DataProxy_SQLite::getSatelliteFullUplink: " << _sat << endl; + //qDebug() << "DataProxy_SQLite::getSatelliteFullUplink: " << _sat << endl; QString aux = QString(); //QString aux2 = QString(); //double fr1, fr2, fr; @@ -3819,27 +3458,27 @@ QString DataProxy_SQLite::getSatelliteFullUplink(const QString &_sat) } else { - //qDebug() << "DataProxy_SQLite::getSatelliteFullUplink: query not valid" << endl; + //qDebug() << "DataProxy_SQLite::getSatelliteFullUplink: query not valid" << endl; query.finish(); return QString(); } } else { - //qDebug() << "DataProxy_SQLite::getSatelliteFullUplink: query failed: " << query.lastQuery() << endl; + //qDebug() << "DataProxy_SQLite::getSatelliteFullUplink: query failed: " << query.lastQuery() << endl; emit queryError(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); query.finish(); return QString(); } - //qDebug() << "DataProxy_SQLite::getSatelliteFullUplink: final: " << aux << endl; + //qDebug() << "DataProxy_SQLite::getSatelliteFullUplink: final: " << aux << endl; query.finish(); return aux; } QString DataProxy_SQLite::getSatelliteFullDownlink(const QString &_sat) { - //qDebug() << "DataProxy_SQLite::getSatelliteFullDownlink: " << _sat << endl; + //qDebug() << "DataProxy_SQLite::getSatelliteFullDownlink: " << _sat << endl; QString aux = QString(); //QString aux2 = QString(); //double fr1, fr2, fr; @@ -3858,20 +3497,20 @@ QString DataProxy_SQLite::getSatelliteFullDownlink(const QString &_sat) } else { - //qDebug() << "DataProxy_SQLite::getSatelliteFullDownlink: query not valid" << endl; + //qDebug() << "DataProxy_SQLite::getSatelliteFullDownlink: query not valid" << endl; query.finish(); return QString(); } } else { - //qDebug() << "DataProxy_SQLite::getSatelliteFullDownlink: query failed: " << query.lastQuery() << endl; + //qDebug() << "DataProxy_SQLite::getSatelliteFullDownlink: query failed: " << query.lastQuery() << endl; emit queryError(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); query.finish(); return QString(); } - //qDebug() << "DataProxy_SQLite::getSatelliteFullDownlink: final: " << aux << endl; + //qDebug() << "DataProxy_SQLite::getSatelliteFullDownlink: final: " << aux << endl; query.finish(); return aux; @@ -3898,26 +3537,26 @@ QString DataProxy_SQLite::getSatelliteFullMode(const QString &_sat) } else { - //qDebug() << "DataProxy_SQLite::getSatelliteMode: query not valid" << endl; + //qDebug() << "DataProxy_SQLite::getSatelliteMode: query not valid" << endl; query.finish(); return QString(); } } else { - //qDebug() << "DataProxy_SQLite::getSatelliteMode: query failed: " << query.lastQuery() << endl; + //qDebug() << "DataProxy_SQLite::getSatelliteMode: query failed: " << query.lastQuery() << endl; emit queryError(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); query.finish(); return QString(); } - //qDebug() << "DataProxy_SQLite::getSatelliteMode: final: " << aux << endl; + //qDebug() << "DataProxy_SQLite::getSatelliteMode: final: " << aux << endl; return aux; } QString DataProxy_SQLite::getSatelliteName(const QString &_sat) { - //qDebug() << "DataProxy_SQLite::getSatelliteName: " << _sat << endl; + //qDebug() << "DataProxy_SQLite::getSatelliteName: " << _sat << endl; QString aux = QString(); QString queryString = QString("SELECT satname FROM satellites WHERE satarrlid='%1'").arg(_sat); @@ -3935,20 +3574,20 @@ QString DataProxy_SQLite::getSatelliteName(const QString &_sat) } else { - //qDebug() << "DataProxy_SQLite::getSatelliteName: query not valid" << endl; + //qDebug() << "DataProxy_SQLite::getSatelliteName: query not valid" << endl; query.finish(); return QString(); } } else { - //qDebug() << "DataProxy_SQLite::getSatelliteName: query failed: " << query.lastQuery() << endl; + //qDebug() << "DataProxy_SQLite::getSatelliteName: query failed: " << query.lastQuery() << endl; emit queryError(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); query.finish(); return QString(); } - //qDebug() << "DataProxy_SQLite::getSatelliteName: final: " << aux << endl; + //qDebug() << "DataProxy_SQLite::getSatelliteName: final: " << aux << endl; query.finish(); return aux; } @@ -3972,27 +3611,27 @@ QString DataProxy_SQLite::getSateliteArrlIdFromId(const int _id) } else { - //qDebug() << "DataProxy_SQLite::getSateliteArrlIdFromId: query not valid" << endl; + //qDebug() << "DataProxy_SQLite::getSateliteArrlIdFromId: query not valid" << endl; query.finish(); return QString(); } } else { - //qDebug() << "DataProxy_SQLite::getSateliteArrlIdFromId: query failed: " << query.lastQuery() << endl; + //qDebug() << "DataProxy_SQLite::getSateliteArrlIdFromId: query failed: " << query.lastQuery() << endl; emit queryError(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); query.finish(); return QString(); } - //qDebug() << "DataProxy_SQLite::getSateliteArrlIdFromId: final: " << aux << endl; + //qDebug() << "DataProxy_SQLite::getSateliteArrlIdFromId: final: " << aux << endl; return aux; } double DataProxy_SQLite::getFreqFromRange(QString _fr) { //May even receive: 145.900-146.00 and should return the mid in the range (145.950) - //qDebug() << "DataProxy_SQLite::getFreqFromRange: " << _fr << endl; + //qDebug() << "DataProxy_SQLite::getFreqFromRange: " << _fr << endl; QString fr1, fr2, aux; double f1, f2; @@ -4008,39 +3647,39 @@ double DataProxy_SQLite::getFreqFromRange(QString _fr) { // Potentially somethink like: 435.030-435.456,146.180 // We select the first range - //qDebug() << "DataProxy_SQLite::getFreqFromRange: has several freqs: " << aux << endl; + //qDebug() << "DataProxy_SQLite::getFreqFromRange: has several freqs: " << aux << endl; aux = aux.section(',', 0, 0); // We select the first package } if (aux.contains('-')) // Potentially somethink like: 435.030-435.456 { - //qDebug() << "DataProxy_SQLite::getFreqFromRange: has several freqs: " << aux << endl; + //qDebug() << "DataProxy_SQLite::getFreqFromRange: has several freqs: " << aux << endl; fr2 = aux.section('-', 1, 1); // We select the second freq fr1 = aux.section('-', 0, 0); // We select the first freq - //qDebug() << "DataProxy_SQLite::getFreqFromRange: fr1: " << fr1 << endl; - //qDebug() << "DataProxy_SQLite::getFreqFromRange: fr2: " << fr2 << endl; + //qDebug() << "DataProxy_SQLite::getFreqFromRange: fr1: " << fr1 << endl; + //qDebug() << "DataProxy_SQLite::getFreqFromRange: fr2: " << fr2 << endl; f1 = fr1.toDouble(); f2 = fr2.toDouble(); - //qDebug() << "DataProxy_SQLite::getFreqFromRange: f1: " << QString::number(f1) << endl; - //qDebug() << "DataProxy_SQLite::getFreqFromRange: f2: " << QString::number(f2) << endl; + //qDebug() << "DataProxy_SQLite::getFreqFromRange: f1: " << QString::number(f1) << endl; + //qDebug() << "DataProxy_SQLite::getFreqFromRange: f2: " << QString::number(f2) << endl; f1 = (f2 + f1)/2; - //qDebug() << "DataProxy_SQLite::getFreqFromRange: f1 after calc: " << QString::number(f1) << endl; + //qDebug() << "DataProxy_SQLite::getFreqFromRange: f1 after calc: " << QString::number(f1) << endl; } else { // It is only one freq 145.950 so this is what must be returned f1 = aux.toDouble(); } - //qDebug() << "DataProxy_SQLite::getFreqFromRange: Return: " << QString::number(f1) << endl; + //qDebug() << "DataProxy_SQLite::getFreqFromRange: Return: " << QString::number(f1) << endl; return f1; } QStringList DataProxy_SQLite::getQSLRcvdList() { - //qDebug() << "DataProxy_SQLite::getQSLRcvdList" << endl; + //qDebug() << "DataProxy_SQLite::getQSLRcvdList" << endl; QString aux = QString(); QStringList qs; qs.clear(); @@ -4106,7 +3745,7 @@ QStringList DataProxy_SQLite::getQSLRcvdList() QStringList DataProxy_SQLite::getQSLSentList() { - //qDebug() << "DataProxy_SQLite::getQSLSentList" << endl; + //qDebug() << "DataProxy_SQLite::getQSLSentList" << endl; QString aux = QString(); QStringList qs; qs.clear(); @@ -4174,7 +3813,7 @@ QStringList DataProxy_SQLite::getQSLSentList() QStringList DataProxy_SQLite::getClubLogStatusList() { - //qDebug() << "DataProxy_SQLite::getClubLogStatusList" << endl; + //qDebug() << "DataProxy_SQLite::getClubLogStatusList" << endl; QString aux = QString(); QStringList qs; qs.clear(); @@ -4229,7 +3868,7 @@ QStringList DataProxy_SQLite::getClubLogStatusList() QStringList DataProxy_SQLite::getQSLViaList() { - //qDebug() << "DataProxy_SQLite::getQSLViaList" << endl; + //qDebug() << "DataProxy_SQLite::getQSLViaList" << endl; QString aux = QString(); QStringList qs; qs.clear(); @@ -4293,7 +3932,7 @@ QStringList DataProxy_SQLite::getQSLViaList() /* QStringList DataProxy_SQLite::getValidCatOptions(const int _currentCat, const int _lowerCat) { - //qDebug() << "DataProxy_SQLite::getContestNames: " << QString::number(_currentCat) <<"/" << QString::number(_lowerCat) << endl; + //qDebug() << "DataProxy_SQLite::getContestNames: " << QString::number(_currentCat) <<"/" << QString::number(_lowerCat) << endl; QStringList contests = QStringList(); QSqlQuery query; QString queryString; @@ -4357,7 +3996,7 @@ QStringList DataProxy_SQLite::getValidCatOptions(const int _currentCat, const in bool DataProxy_SQLite::haveAtLeastOneLog() { - //qDebug() << "DataProxy_SQLite::haveAtLeastOneLog()" << endl; + //qDebug() << "DataProxy_SQLite::haveAtLeastOneLog()" << endl; QSqlQuery query; bool sqlOK = query.exec("SELECT COUNT(id) from logs"); @@ -4396,13 +4035,13 @@ bool DataProxy_SQLite::haveAtLeastOneLog() QStringList DataProxy_SQLite::getColumnNamesFromTableLog() { - //qDebug() << "DataProxy_SQLite::getColumnNamesFromTableLog" << endl; + //qDebug() << "DataProxy_SQLite::getColumnNamesFromTableLog" << endl; return getColumnNamesFromTable("log"); } QStringList DataProxy_SQLite::getColumnNamesFromTable(const QString &_tableName) { - //qDebug() << "DataProxy_SQLite::getColumnNamesFromTable" << endl; + //qDebug() << "DataProxy_SQLite::getColumnNamesFromTable" << endl; return db->getColumnNamesFromTable(_tableName); } @@ -4413,38 +4052,38 @@ bool DataProxy_SQLite::setDXCCAwardStatus(const int _qsoId) // If the band/mode/log is already worked and status confirmed: Update and Return true // If not worked: Add and Return true - //qDebug() << "DataProxy_SQLite::setDXCCAwardStatus: " << QString::number(_qsoId) << endl; + //qDebug() << "DataProxy_SQLite::setDXCCAwardStatus: " << QString::number(_qsoId) << endl; if (_qsoId <= 0) { - //qDebug() << "DataProxy_SQLite::setDXCCAwardStatus: QSOid <=0 " << QString::number(_qsoId) << endl; + //qDebug() << "DataProxy_SQLite::setDXCCAwardStatus: QSOid <=0 " << QString::number(_qsoId) << endl; return false; } int _dxcc = getDXCCFromId(_qsoId); if (_dxcc <= 0) { - //qDebug() << "DataProxy_SQLite::setDXCCAwardStatus: DXCC <= 0: DXCC: " << QString::number(_dxcc) << " - " << QString::number(_qsoId) << endl; + //qDebug() << "DataProxy_SQLite::setDXCCAwardStatus: DXCC <= 0: DXCC: " << QString::number(_dxcc) << " - " << QString::number(_qsoId) << endl; return false; } int _band = getBandFromId(_qsoId); if (_band <= 0) { - //qDebug() << "DataProxy_SQLite::setDXCCAwardStatus: Band <= 0: BAND: " << QString::number(_band) << " - " << QString::number(_qsoId) << endl; + //qDebug() << "DataProxy_SQLite::setDXCCAwardStatus: Band <= 0: BAND: " << QString::number(_band) << " - " << QString::number(_qsoId) << endl; return false; } int _mode = getModeFromId(_qsoId); if (_mode <= 0) { - //qDebug() << "DataProxy_SQLite::setDXCCAwardStatus: Mode <= 0: Mode: " << QString::number(_mode) << " - " << QString::number(_qsoId) << endl; + //qDebug() << "DataProxy_SQLite::setDXCCAwardStatus: Mode <= 0: Mode: " << QString::number(_mode) << " - " << QString::number(_qsoId) << endl; return false; } int _log = getLogNumberFromQSOId(_qsoId); if (_log <= 0) { - //qDebug() << "DataProxy_SQLite::setDXCCAwardStatus: Log <= 0: Log: " << QString::number(_log) << " - " << QString::number(_qsoId) << endl; + //qDebug() << "DataProxy_SQLite::setDXCCAwardStatus: Log <= 0: Log: " << QString::number(_log) << " - " << QString::number(_qsoId) << endl; return false; } @@ -4460,7 +4099,7 @@ bool DataProxy_SQLite::setDXCCAwardStatus(const int _qsoId) QString queryString = QString("SELECT id, confirmed, qsoid FROM awarddxcc WHERE band='%1' AND mode='%2' AND dxcc='%3'").arg(_band).arg(_mode).arg(_dxcc); bool sqlOK = query.exec(queryString); - //qDebug() << "DataProxy_SQLite::setDXCCAwardStatus: Queryexec-1: " << queryString << endl; + //qDebug() << "DataProxy_SQLite::setDXCCAwardStatus: Queryexec-1: " << queryString << endl; queryString.clear(); if (sqlOK) @@ -4512,14 +4151,14 @@ bool DataProxy_SQLite::setDXCCAwardStatus(const int _qsoId) //#4 - If not worked: Add and Return true query.finish(); // awarddxcc id dxcc band mode confirmed qsoid lognumber - queryString = QString("INSERT INTO awarddxcc (dxcc, band, mode, confirmed, qsoid, lognumber) values('%1','%2','%3','0', '%4', '%5')").arg(_dxcc).arg(_band).arg(_mode).arg(_qsoId).arg(_log); + queryString = QString("INSERT INTO awarddxcc (dxcc, band, mode, confirmed, qsoid, lognumber) values('%1','%2','%3','0', '%5', '%6')").arg(_dxcc).arg(_band).arg(_mode).arg(_qsoId).arg(_log); } if (queryString.length()>5) { if (query.exec(queryString)) { - //qDebug() << "DataProxy_SQLite::setDXCCAwardStatus: Queryexec-2: " << queryString << endl; + //qDebug() << "DataProxy_SQLite::setDXCCAwardStatus: Queryexec-2: " << queryString << endl; query.finish(); return true; } @@ -4560,7 +4199,7 @@ bool DataProxy_SQLite::setWAZAwardStatus(const int _qsoId) // If the band/mode/log is already worked and status confirmed: Update and Return true // If not worked: Add and Return true - //qDebug() << "DataProxy_SQLite::setDXCCAwardStatus: " << QString::number(_qsoId) << endl; + //qDebug() << "DataProxy_SQLite::setDXCCAwardStatus: " << QString::number(_qsoId) << endl; if (_qsoId <= 0) { return false; @@ -4653,7 +4292,7 @@ bool DataProxy_SQLite::setWAZAwardStatus(const int _qsoId) //#4 - If not worked: Add and Return true query.finish(); // awarddxcc id dxcc band mode confirmed qsoid lognumber - queryString = QString("INSERT INTO awardwaz (cqz, band, mode, confirmed, qsoid, lognumber) values('%1','%2','%3','0', '%4', '%5')").arg(_cqz).arg(_band).arg(_mode).arg(_qsoId).arg(_log); + queryString = QString("INSERT INTO awardwaz (cqz, band, mode, confirmed, qsoid, lognumber) values('%1','%2','%3','%4', '%5', '%6')").arg(_cqz); } if (queryString.length()>5) @@ -4692,7 +4331,7 @@ bool DataProxy_SQLite::setWAZAwardStatus(const int _qsoId) int DataProxy_SQLite::getNumberOfManagedLogs() { - //qDebug() << "DataProxy_SQLite::getNumberOfManagedLogs" << endl; + //qDebug() << "DataProxy_SQLite::getNumberOfManagedLogs" << endl; QSqlQuery query; bool sqlOK = query.exec("SELECT COUNT (*) from logs"); @@ -4755,7 +4394,7 @@ int DataProxy_SQLite::getMaxLogNumber() QStringList DataProxy_SQLite::getListOfManagedLogs() { //This function returns the list of log IDs that are being managed - //qDebug() << "DataProxy_SQLite::getListOfManagedLogs" << endl; + //qDebug() << "DataProxy_SQLite::getListOfManagedLogs" << endl; QSqlQuery query; QStringList qs; qs.clear(); @@ -4769,7 +4408,7 @@ QStringList DataProxy_SQLite::getListOfManagedLogs() if (query.isValid()) { qs << (query.value(0)).toString(); - //qDebug() << "DataProxy_SQLite::getListOfManagedLogs: " << (query.value(0)).toString() << endl; + //qDebug() << "DataProxy_SQLite::getListOfManagedLogs: " << (query.value(0)).toString() << endl; } } } @@ -4784,7 +4423,7 @@ QStringList DataProxy_SQLite::getListOfManagedLogs() QString DataProxy_SQLite::getStationCallSignFromLog(const int _log) { - //qDebug() << "DataProxy_SQLite::getStationCallSignFromLog: " << QString::number(_log)<< endl; + //qDebug() << "DataProxy_SQLite::getStationCallSignFromLog: " << QString::number(_log)<< endl; QSqlQuery query; QString queryString = QString("SELECT stationcall FROM logs WHERE id='%1'").arg(_log); bool sqlOK = query.exec(queryString); @@ -4794,14 +4433,14 @@ QString DataProxy_SQLite::getStationCallSignFromLog(const int _log) query.next(); if (query.isValid()) { - //qDebug() << "DataProxy_SQLite::getStationCallSignFromLog: " << (query.value(0)).toString() << endl; + //qDebug() << "DataProxy_SQLite::getStationCallSignFromLog: " << (query.value(0)).toString() << endl; QString v = (query.value(0)).toString(); query.finish(); return v; } else { - //qDebug() << "DataProxy_SQLite::getStationCallSignFromLog: Not valid" << endl; + //qDebug() << "DataProxy_SQLite::getStationCallSignFromLog: Not valid" << endl; query.finish(); return QString(); } @@ -4809,32 +4448,24 @@ QString DataProxy_SQLite::getStationCallSignFromLog(const int _log) else { emit queryError(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); - //qDebug() << "DataProxy_SQLite::getStationCallSignFromLog: query failed" << endl; + //qDebug() << "DataProxy_SQLite::getStationCallSignFromLog: query failed" << endl; query.finish(); return QString(); } - //qDebug() << "DataProxy_SQLite::getStationCallSignFromLog: END" << endl; + //qDebug() << "DataProxy_SQLite::getStationCallSignFromLog: END" << endl; //return QString(); } QStringList DataProxy_SQLite::getStationCallSignsFromLog(const int _log) { - //qDebug() << "DataProxy_SQLite::getStationCallSignsFromLog" << endl; + //qDebug() << "DataProxy_SQLite::getStationCallSignsFromLog" << endl; QStringList calls = QStringList(); QSqlQuery query; QString queryString; bool sqlOK; - if (doesThisLogExist(_log)) - { - queryString = QString("SELECT DISTINCT station_callsign FROM log WHERE lognumber='%1'").arg(_log); - } - else - { - queryString = QString("SELECT DISTINCT station_callsign FROM log"); - } - + queryString = QString("SELECT DISTINCT station_callsign FROM log"); sqlOK = query.exec(queryString); if (sqlOK) @@ -4848,7 +4479,7 @@ QStringList DataProxy_SQLite::getStationCallSignsFromLog(const int _log) { calls.append(queryString); } - //qDebug() << "DataProxy_SQLite::getStationCallSignsFromLog: " << queryString << endl; + //qDebug() << "DataProxy_SQLite::getStationCallSignsFromLog: " << queryString << endl; } else @@ -4877,43 +4508,43 @@ QStringList DataProxy_SQLite::getStationCallSignsFromLog(const int _log) QString DataProxy_SQLite::getOperatorsFromLog(const int _log) { - //qDebug() << "DataProxy_SQLite::getOperatorsFromLog: " << QString::number(_log)<< endl; - QSqlQuery query; - QString queryString = QString("SELECT operators FROM logs WHERE id='%1'").arg(_log); - bool sqlOK = query.exec(queryString); + //qDebug() << "DataProxy_SQLite::getOperatorsFromLog: " << QString::number(_log)<< endl; + QSqlQuery query; + QString queryString = QString("SELECT operators FROM logs WHERE id='%1'").arg(_log); + bool sqlOK = query.exec(queryString); - if (sqlOK) - { - query.next(); - if (query.isValid()) - { - //qDebug() << "DataProxy_SQLite::getOperatorsFromLog: " << (query.value(0)).toString() << endl; - QString v = (query.value(0)).toString(); - query.finish(); - return v; - } - else - { - //qDebug() << "DataProxy_SQLite::getOperatorsFromLog: Not valid" << endl; - query.finish(); - return QString(); - } - } - else - { - emit queryError(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); - //qDebug() << "DataProxy_SQLite::getOperatorsFromLog: query failed" << endl; - query.finish(); - return QString(); - } + if (sqlOK) + { + query.next(); + if (query.isValid()) + { + //qDebug() << "DataProxy_SQLite::getOperatorsFromLog: " << (query.value(0)).toString() << endl; + QString v = (query.value(0)).toString(); + query.finish(); + return v; + } + else + { + //qDebug() << "DataProxy_SQLite::getOperatorsFromLog: Not valid" << endl; + query.finish(); + return QString(); + } + } + else + { + emit queryError(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); + //qDebug() << "DataProxy_SQLite::getOperatorsFromLog: query failed" << endl; + query.finish(); + return QString(); + } - //qDebug() << "DataProxy_SQLite::getOperatorsFromLog: END" << endl; - //return QString(); + //qDebug() << "DataProxy_SQLite::getOperatorsFromLog: END" << endl; + return QString(); } QString DataProxy_SQLite::getCommentsFromLog(const int _log) { - //qDebug() << "DataProxy_SQLite::getLogDateFromLog: " << QString::number(_log)<< endl; + //qDebug() << "DataProxy_SQLite::getLogDateFromLog: " << QString::number(_log)<< endl; QSqlQuery query; QString queryString = QString("SELECT comment FROM logs WHERE id='%1'").arg(_log); bool sqlOK = query.exec(queryString); @@ -4923,14 +4554,14 @@ QString DataProxy_SQLite::getCommentsFromLog(const int _log) query.next(); if (query.isValid()) { - //qDebug() << "DataProxy_SQLite::getCommentsFromLog: " << (query.value(0)).toString() << endl; + //qDebug() << "DataProxy_SQLite::getLogDateFromLog: " << (query.value(0)).toString() << endl; QString v = (query.value(0)).toString(); query.finish(); return v; } else { - //qDebug() << "DataProxy_SQLite::getCommentsFromLog: Not valid" << endl; + //qDebug() << "DataProxy_SQLite::getLogDateFromLog: Not valid" << endl; query.finish(); return QString(); } @@ -4938,18 +4569,18 @@ QString DataProxy_SQLite::getCommentsFromLog(const int _log) else { emit queryError(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); - //qDebug() << "DataProxy_SQLite::getLogDateFromLog: query failed" << endl; + //qDebug() << "DataProxy_SQLite::getLogDateFromLog: query failed" << endl; query.finish(); return QString(); } - //qDebug() << "DataProxy_SQLite::getCommentsFromLog: END" << endl; - //return QString(); + //qDebug() << "DataProxy_SQLite::getCommentsFromLog: END" << endl; + return QString(); } QString DataProxy_SQLite::getLogDateFromLog(const int _log) { - //qDebug() << "DataProxy_SQLite::getLogDateFromLog: " << QString::number(_log)<< endl; + //qDebug() << "DataProxy_SQLite::getLogDateFromLog: " << QString::number(_log)<< endl; QSqlQuery query; QString queryString = QString("SELECT logdate FROM logs WHERE id='%1'").arg(_log); bool sqlOK = query.exec(queryString); @@ -4959,14 +4590,14 @@ QString DataProxy_SQLite::getLogDateFromLog(const int _log) query.next(); if (query.isValid()) { - //qDebug() << "DataProxy_SQLite::getLogDateFromLog: " << (query.value(0)).toString() << endl; + //qDebug() << "DataProxy_SQLite::getLogDateFromLog: " << (query.value(0)).toString() << endl; QString v = (query.value(0)).toString(); query.finish(); return v; } else { - //qDebug() << "DataProxy_SQLite::getLogDateFromLog: Not valid" << endl; + //qDebug() << "DataProxy_SQLite::getLogDateFromLog: Not valid" << endl; query.finish(); return QString(); } @@ -4974,13 +4605,211 @@ QString DataProxy_SQLite::getLogDateFromLog(const int _log) else { emit queryError(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); - //qDebug() << "DataProxy_SQLite::getLogDateFromLog: query failed" << endl; + //qDebug() << "DataProxy_SQLite::getLogDateFromLog: query failed" << endl; query.finish(); return QString(); } - //qDebug() << "DataProxy_SQLite::getLogDateFromLog: END" << endl; - //return QString(); + //qDebug() << "DataProxy_SQLite::getLogDateFromLog: END" << endl; + return QString(); +} + +QString DataProxy_SQLite::getLogTypeNFromLog(const int _log) +{ + //qDebug() << "DataProxy_SQLite::getLogTypeNFromLog: " << QString::number(_log)<< endl; + QSqlQuery query; + QString queryString = QString("SELECT logtypen FROM logs WHERE id='%1'").arg(_log); + bool sqlOK = query.exec(queryString); + + if (sqlOK) + { + query.next(); + if (query.isValid()) + { + //qDebug() << "DataProxy_SQLite::getLogTypeNFromLog: " << (query.value(0)).toString() << endl; + QString v = (query.value(0)).toString(); + query.finish(); + return v; + } + else + { + //qDebug() << "DataProxy_SQLite::getLogTypeNFromLog: Not valid" << endl; + query.finish(); + return QString(); + } + } + else + { + emit queryError(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); + //qDebug() << "DataProxy_SQLite::getLogTypeNFromLog: query failed" << endl; + query.finish(); + return QString(); + } + + //qDebug() << "DataProxy_SQLite::getLogTypeNFromLog: END" << endl; + return QString(); +} + +int DataProxy_SQLite::getContestTypeN(const int _co, const int _catop, const int _catas, const int _catpo, const int _catba, const int _catov, const int _catmo) +{//typeContestSelected, contestCatOperators, contestCatAssisted, contestCatPower, contestCatBands, contestCatOverlay, contestCatMode + //qDebug() << "DataProxy_SQLite::getContestTypeN: " << endl; + QSqlQuery query; + QString queryString = QString("SELECT id FROM contest WHERE contest='%1' AND catoperator='%2' AND catassisted='%3' AND catpower='%4' AND catoverlay='%5' AND catmode='%6' AND catband='%7'").arg(_co).arg(_catop).arg(_catas).arg(_catpo).arg(_catov).arg(_catmo).arg(_catba); + + //qDebug() << "DataProxy_SQLite::getContestTypeN: " << queryString << endl; + + bool sqlOK = query.exec(queryString); + + if (sqlOK) + { + //qDebug() << "DataProxy_SQLite::getContestTypeN: (OK) LastQuery: " << query.lastQuery() << endl; + query.next(); + if (query.isValid()) + { + //qDebug() << "DataProxy_SQLite::getContestTypeN: " << (query.value(0)).toString() << endl; + int v = (query.value(0)).toInt(); + query.finish(); + return v; + } + else + { + //qDebug() << "DataProxy_SQLite::getContestTypeN: Not valid (-1)" << endl; + query.finish(); + return -1; + } + } + else + { + emit queryError(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); + //qDebug() << "DataProxy_SQLite::getContestTypeN: (ERROR) LastQuery: " << query.lastQuery() << endl; + //qDebug() << "DataProxy_SQLite::getContestTypeN: query failed (-1)" << endl; + query.finish(); + return -1; + } + + //qDebug() << "DataProxy_SQLite::getContestTypeN: END (-1)" << endl; + return -1; + +} + +QStringList DataProxy_SQLite::getDataFromContestType(const int _n) +{ + //qDebug() << "DataProxy_SQLite::getDataFromContestType - n: " << QString::number(_n) << endl; + QStringList dataC = QStringList(); + QSqlQuery query, query1; + QString queryString; + int nameCol = -1; + bool sqlOK; + queryString = QString("SELECT supportedcontests.name, contest.contest, contest.catoperator, contest.catassisted, contest.catpower, contest.catoverlay, contest.catmode, contest.catband FROM supportedcontests JOIN contest ON contest.contest=supportedcontests.id WHERE contest.id='%1'").arg(_n); + sqlOK = query.exec(queryString); + + //qDebug() << "DataProxy_SQLite::getDataFromContestType: LastQuery: " << query.lastQuery() << endl; + QSqlRecord rec = query.record(); + if (sqlOK) + { + //qDebug() << "DataProxy_SQLite::getDataFromContestType: Query OK" << endl; + if(query.next()) + { + //qDebug() << "DataProxy_SQLite::getDataFromContestType: Query Next" << endl; + if (query.isValid()) + { + //qDebug() << "DataProxy_SQLite::getDataFromContestType: Query Valid" << endl; + + //qDebug() << "DataProxy_SQLite::getDataFromContestType:-1 " << endl; + nameCol = rec.indexOf("contest"); + dataC << (query.value(nameCol)).toString(); + //qDebug() << "DataProxy_SQLite::getDataFromContestType: -2" << endl; + nameCol = rec.indexOf("catoperator"); + dataC << (query.value(nameCol)).toString(); + //qDebug() << "DataProxy_SQLite::getDataFromContestType: -3" << endl; + nameCol = rec.indexOf("catassisted"); + dataC << (query.value(nameCol)).toString(); + nameCol = rec.indexOf("catpower"); + dataC << (query.value(nameCol)).toString(); + nameCol = rec.indexOf("catoverlay"); + dataC << (query.value(nameCol)).toString(); + nameCol = rec.indexOf("catmode"); + dataC << (query.value(nameCol)).toString(); + nameCol = rec.indexOf("name"); + dataC << (query.value(nameCol)).toString(); + nameCol = rec.indexOf("catband"); + dataC << (query.value(nameCol)).toString(); + query.finish(); + return dataC; + + } + else + { + //qDebug() << "DataProxy_SQLite::getDataFromContestType: Query value no valid" << endl; + query.finish(); + return QStringList(); + } + + } + else + { + //qDebug() << "DataProxy_SQLite::getDataFromContestType: No Next" << endl; + query.finish(); + return QStringList(); + } + //query.finish(); + //return dataC; + } + else + { + emit queryError(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); + //qDebug() << "DataProxy_SQLite::getDataFromContestType: Query not OK" << endl; + query.finish(); + return QStringList(); + } +} + +int DataProxy_SQLite::getLogTypeNumber(const QString &_logType) +{ + return db->getLogTypeNumber(_logType); +} + +QString DataProxy_SQLite::getLogTypeName(const int _logType) +{ + return db->getLogTypeName(_logType); +} + +QString DataProxy_SQLite::getLogTypeOfUserLog(const int _logN) +{ +/* + * Returns the type of log (DX, CQ-WW-SSB, ...) or DX as default if nothing found +*/ + //qDebug() << "DataProxy_SQLite::getLogTypeOfUserLog: " << QString::number(_logN) << endl; + QSqlQuery query; + QString queryString; + queryString = QString("SELECT logtype FROM logs WHERE id='%1'").arg(_logN); + bool sqlOK = query.exec(queryString); + + if (sqlOK) + { + query.next(); + if (query.isValid()) + { + //qDebug() << "DataProxy_SQLite::getLogTypeOfUserLog: found: " << (query.value(0)).toString() << endl; + queryString = (query.value(0)).toString(); + query.finish(); + return queryString; + } + else + { + //qDebug() << "DataProxy_SQLite::getLogTypeOfUserLog: NOT found: returning DX" << endl; + query.finish(); + return "DX"; + } + + } + else + { + emit queryError(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); + //qDebug() << "DataProxy_SQLite::getLogTypeOfUserLog: Query error: returning DX" << endl; + query.finish(); + return "DX"; + } } int DataProxy_SQLite::getLogNumberFromQSOId(const int _qsoId) @@ -5015,12 +4844,12 @@ int DataProxy_SQLite::getLogNumberFromQSOId(const int _qsoId) bool DataProxy_SQLite::fillEmptyDXCCInTheLog() { - //qDebug() << "DataProxy_SQLite::fillEmptyDXCCInTheLog" << endl; - + //qDebug() << "DataProxy_SQLite::fillEmptyDXCCInTheLog" << endl; + int nameCol = -1; QSqlQuery query; QSqlQuery query2; - QString queryString = QString("SELECT COUNT (id) FROM log WHERE dxcc IS NULL OR dxcc<'1' OR cont IS NULL"); + QString queryString = QString("SELECT COUNT (id) FROM log WHERE dxcc IS NULL OR dxcc<1 OR cont IS NULL"); bool sqlOK = query.exec(queryString); int qsos = -1; @@ -5053,8 +4882,6 @@ bool DataProxy_SQLite::fillEmptyDXCCInTheLog() if (sqlOK) { - int nameCol = -1; - QSqlRecord rec = query.record(); QString _call = QString(); QString _id = QString(); @@ -5074,8 +4901,8 @@ bool DataProxy_SQLite::fillEmptyDXCCInTheLog() _dxcc = QString::number(getPrefixId(_call)); _continent = getContinentShortNameFromEntity(_dxcc.toInt()); - //qDebug() << "DataBase::fillEmptyDXCCInTheLog: DXCC: " << _dxcc << endl; - //qDebug() << "DataBase::fillEmptyDXCCInTheLog: Cont: " << _continent << endl; + //qDebug() << "DataBase::fillEmptyDXCCInTheLog: DXCC: " << _dxcc << endl; + //qDebug() << "DataBase::fillEmptyDXCCInTheLog: Cont: " << _continent << endl; // UPDATE THE ID WITH THE DXCC queryString = QString("UPDATE log SET dxcc = '%1', cont = '%2' WHERE id = '%3'").arg(_dxcc).arg(_continent).arg(_id); sqlOK = query2.exec(queryString); @@ -5096,7 +4923,7 @@ bool DataProxy_SQLite::fillEmptyDXCCInTheLog() } if ( progress.wasCanceled() ) { - //qDebug() << "DataBase::fillEmptyDXCCInTheLog: progress canceled" << endl; + //qDebug() << "DataBase::fillEmptyDXCCInTheLog: progress canceled" << endl; query.finish(); return true; } @@ -5126,7 +4953,7 @@ bool DataProxy_SQLite::fillEmptyDXCCInTheLog() int DataProxy_SQLite::getHowManyQSOInLog(const int _log) { QString queryString = QString(); - QSqlQuery query = QSqlQuery(); + QSqlQuery query; if (_log < 0) { queryString = QString("SELECT count(id) FROM log"); @@ -5248,7 +5075,7 @@ int DataProxy_SQLite::getHowManyQSLSentInLog(const int _log) int DataProxy_SQLite::getQSOsWithContinent(const QString &_cont, const int _logNumber) { - //qDebug() << "DataProxy_SQLite::getQSOsWithContinent: " << _cont << endl; + //qDebug() << "DataProxy_SQLite::getQSOsWithContinent: " << _cont << endl; QSqlQuery query; QString queryString; bool sqlOK; @@ -5264,20 +5091,20 @@ int DataProxy_SQLite::getQSOsWithContinent(const QString &_cont, const int _logN sqlOK = query.exec(queryString); - //qDebug() << "DataProxy_SQLite::getQSOsWithContinent: queryString: " << queryString << endl; + //qDebug() << "DataProxy_SQLite::getQSOsWithContinent: queryString: " << queryString << endl; if (sqlOK) { query.next(); if (query.isValid()) { - //qDebug() << "DataProxy_SQLite::getQSOsWithContinent: " << QString::number((query.value(0)).toInt()) << endl; + //qDebug() << "DataProxy_SQLite::getQSOsWithContinent: " << QString::number((query.value(0)).toInt()) << endl; int v = (query.value(0)).toInt(); query.finish(); return v; } else { - //qDebug() << "DataProxy_SQLite::getQSOsWithContinent: 0" << endl; + //qDebug() << "DataProxy_SQLite::getQSOsWithContinent: 0" << endl; query.finish(); return 0; } @@ -5286,7 +5113,7 @@ int DataProxy_SQLite::getQSOsWithContinent(const QString &_cont, const int _logN else { emit queryError(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); - //qDebug() << "DataProxy_SQLite::getQSOsWithContinent: Query error" << endl; + //qDebug() << "DataProxy_SQLite::getQSOsWithContinent: Query error" << endl; query.finish(); return 0; } @@ -5390,13 +5217,15 @@ int DataProxy_SQLite::getQSOsInMode(const QString &_mode, const int _log) bool DataProxy_SQLite::addNewLog (const QStringList _qs) { - //qDebug() << "DataProxy_SQLite::addNewLog: " << _qs.at(2) << "/" << _qs.at(5) << "/" << _qs.at(6) << endl; - //qDebug() << "DataProxy_SQLite::addNewLog: Size: " << QString::number(_qs.size()) << endl; - // newLogq << dateString << stationCallsign << operators << comment << QString::number(selectedLog) << _qs.at(4) ; (last field is 1 or 0 editing) + //qDebug() << "DataProxy_SQLite::addNewLog: " << _qs.at(2) << "/" << _qs.at(5) << "/" << _qs.at(6) << endl; - if (_qs.size()!=6) + //_qs << dateString << stationCallsign << _qs.at(4) << comment << _qs.at(12); + //qDebug() << "DataProxy_SQLite::slotAnalyzeNewLogData: " << _qs.at(4) << "/" << _qs.at(12) << endl; + // Date/Call/Operators/"DX"/comment/"1" + + if (_qs.size()!=8) { - //qDebug() << "DataProxy_SQLite::addNewLog: != 6" << endl; + //qDebug() << "DataProxy_SQLite::addNewLog: != 8" << endl; return false; } //qDebug() << "DataProxy_SQLite::addNewLog: Has the appropriate length" << endl; @@ -5410,12 +5239,11 @@ bool DataProxy_SQLite::addNewLog (const QStringList _qs) //_operators.clear(); //_operators << (_qs.at(2)).split(',', QString::SkipEmptyParts); - //QString _typeContest = _qs.at(3); - QString _comment = _qs.at(3); - //QString _typeContestN = _qs.at(5); - - QString id = _qs.at(4); - QString editing = _qs.at(5); + QString _typeContest = _qs.at(3); + QString _comment = _qs.at(4); + QString _typeContestN = _qs.at(5); + QString id = _qs.at(6); + QString editing = _qs.at(7); QString queryString; QSqlQuery query; @@ -5423,20 +5251,19 @@ bool DataProxy_SQLite::addNewLog (const QStringList _qs) if (editing == "1") { // We are editing - //qDebug() << "DataProxy_SQLite::addNewLog: We are editing!" << endl; - //queryString = QString("UPDATE logs SET logdate = '%1', stationcall = '%2', operators = '%3', comment = '%4', logtype = '%5', logtypen = '%6' WHERE id = '%7'").arg(_dateString).arg(_stationCallsign).arg(_operators).arg(_comment).arg(_typeContest).arg(_typeContestN).arg(id); - queryString = QString("UPDATE logs SET logdate = '%1', stationcall = '%2', operators = '%3', comment = '%4' WHERE id = '%5'").arg(_dateString).arg(_stationCallsign).arg(_operators).arg(_comment).arg(id); + //qDebug() << "DataProxy_SQLite::addNewLog: We are editing!" << endl; + queryString = QString("UPDATE logs SET logdate = '%1', stationcall = '%2', operators = '%3', comment = '%4', logtype = '%5', logtypen = '%6' WHERE id = '%7'").arg(_dateString).arg(_stationCallsign).arg(_operators).arg(_comment).arg(_typeContest).arg(_typeContestN).arg(id); sqlOK = query.exec(queryString); if (sqlOK) { - //qDebug() << "DataProxy_SQLite::addNewLog: Editing OK!" << endl; + //qDebug() << "DataProxy_SQLite::addNewLog: Editing OK!" << endl; query.finish(); return true; } else { - //qDebug() << "DataProxy_SQLite::addNewLog: Editing NOK!" << endl; + //qDebug() << "DataProxy_SQLite::addNewLog: Editing NOK!" << endl; emit queryError(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); query.finish(); return false; @@ -5444,14 +5271,13 @@ bool DataProxy_SQLite::addNewLog (const QStringList _qs) //return false; } - //qDebug() << "DataProxy_SQLite::addNewLog: We are adding a new log" << endl; + //qDebug() << "DataProxy_SQLite::addNewLog: We are adding a new log" << endl; // First we check if the log is already there - //queryString = QString("SELECT id FROM logs WHERE logdate='%1' AND stationcall='%2' AND logtype='%3' AND logtypen='%4'").arg(_dateString).arg(_stationCallsign).arg(_typeContest).arg(_typeContestN); - queryString = QString("SELECT id FROM logs WHERE logdate='%1' AND stationcall='%2'").arg(_dateString).arg(_stationCallsign); + queryString = QString("SELECT id FROM logs WHERE logdate='%1' AND stationcall='%2' AND logtype='%3' AND logtypen='%4'").arg(_dateString).arg(_stationCallsign).arg(_typeContest).arg(_typeContestN); //"logs" //"id, logdate, stationcall, comment, logtype" - //qDebug() << "DataProxy_SQLite::addNewLog query1: " << queryString << endl; + //qDebug() << "DataProxy_SQLite::addNewLog query1: " << queryString << endl; sqlOK = query.exec(queryString); if (sqlOK) @@ -5476,9 +5302,8 @@ bool DataProxy_SQLite::addNewLog (const QStringList _qs) //Now we add the new log - //queryString = QString("INSERT INTO logs (logdate, stationcall, operators, comment, logtype, logtypen) values('%1','%2','%3','%4', '%5', '%6')").arg(_dateString).arg(_stationCallsign).arg(_operators).arg(_comment).arg(_typeContest).arg(_typeContestN); - queryString = QString("INSERT INTO logs (logdate, stationcall, operators, comment) values('%1','%2','%3','%4')").arg(_dateString).arg(_stationCallsign).arg(_operators).arg(_comment); - //qDebug() << "DataProxy_SQLite::addNewLog query1: " << queryString << endl; + queryString = QString("INSERT INTO logs (logdate, stationcall, operators, comment, logtype, logtypen) values('%1','%2','%3','%4', '%5', '%6')").arg(_dateString).arg(_stationCallsign).arg(_operators).arg(_comment).arg(_typeContest).arg(_typeContestN); + //qDebug() << "DataProxy_SQLite::addNewLog query1: " << queryString << endl; sqlOK = query.exec(queryString); @@ -5493,21 +5318,21 @@ bool DataProxy_SQLite::addNewLog (const QStringList _qs) query.finish(); return false; } - //return false; + return false; } bool DataProxy_SQLite::doesThisLogExist(const int _log) { - //qDebug() << "DataProxy_SQLite::doesThisLogExist: " << QString::number(_log) << endl; - //qDebug() << "DataProxy_SQLite::doesThisLogExist - Name:" << db->getDBName() << endl; + //qDebug() << "DataProxy_SQLite::doesThisLogExist: " << QString::number(_log) << endl; + //qDebug() << "DataProxy_SQLite::doesThisLogExist - Name:" << db->getDBName() << endl; QSqlQuery query; QString queryString = QString("SELECT id FROM logs WHERE id='%1'").arg(_log); bool sqlOK = query.exec(queryString); - //qDebug() << "DataProxy_SQLite::doesThisLogExist: query: " << query.lastQuery() << endl; + //qDebug() << "DataProxy_SQLite::doesThisLogExist: query: " << query.lastQuery() << endl; if (sqlOK) { @@ -5516,20 +5341,20 @@ bool DataProxy_SQLite::doesThisLogExist(const int _log) if (query.isValid()) { query.finish(); - //qDebug() << "DataProxy_SQLite::doesThisLogExist: END TRUE" << endl; + //qDebug() << "DataProxy_SQLite::doesThisLogExist: END TRUE" << endl; return true; } else { query.finish(); - //qDebug() << "DataProxy_SQLite::doesThisLogExist: END FALSE 1" << endl; + //qDebug() << "DataProxy_SQLite::doesThisLogExist: END FALSE 1" << endl; return false; } } else { query.finish(); - //qDebug() << "DataProxy_SQLite::doesThisLogExist: END FALSE 2" << endl; + //qDebug() << "DataProxy_SQLite::doesThisLogExist: END FALSE 2" << endl; return false; } } @@ -5537,10 +5362,10 @@ bool DataProxy_SQLite::doesThisLogExist(const int _log) { emit queryError(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); query.finish(); - //qDebug() << "DataProxy_SQLite::doesThisLogExist: END FALSE 3" << endl; + //qDebug() << "DataProxy_SQLite::doesThisLogExist: END FALSE 3" << endl; return false; } - //qDebug() << "DataProxy_SQLite::doesThisLogExist: END FALSE 4" << endl; + //qDebug() << "DataProxy_SQLite::doesThisLogExist: END FALSE 4" << endl; //return false; } @@ -5709,42 +5534,6 @@ bool DataProxy_SQLite::isValidContinentShortName(const QString &_n) } } -bool DataProxy_SQLite::isValidDXCC(const int _e) -{ - QString queryString = QString("SELECT id FROM entity WHERE dxcc ='%1'").arg(_e); - QSqlQuery query; - bool sqlOK = query.exec(queryString); - - if (sqlOK) - { - if (query.next()) - { - if (query.isValid()) - { - if (query.value(0).toInt()==1) - query.finish(); - return true; - } - else - { - query.finish(); - return false; - } - } - else - { - query.finish(); - return false; - } - } - else - { - emit queryError(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); - query.finish(); - return false; - } -} - int DataProxy_SQLite::getITUzFromPrefix(const QString &_p) { QSqlQuery query; @@ -5864,7 +5653,7 @@ int DataProxy_SQLite::getITUzFromEntity(const int _n) QString DataProxy_SQLite::getEntityNameFromId(const int _n) { - //qDebug() << "DataProxy_SQLite::getEntityNameFromId: " << QString::number(_n) << endl; + //qDebug() << "DataProxy_SQLite::getEntityNameFromId: " << QString::number(_n) << endl; QSqlQuery query; QString queryString = QString("SELECT name FROM entity WHERE dxcc='%1'").arg(_n); @@ -5936,7 +5725,7 @@ QString DataProxy_SQLite::getEntityNameFromId(const int _n) int DataProxy_SQLite::getEntityIdFromName(const QString &_e) { - //qDebug() << "DataProxy_SQLite::getEntityIdFromName:" << _e << endl; + //qDebug() << "DataProxy_SQLite::getEntityIdFromName:" << _e << endl; int id = -1; QString queryString; @@ -5968,12 +5757,12 @@ int DataProxy_SQLite::getEntityIdFromName(const QString &_e) return -1; } } - + //return -1; } QString DataProxy_SQLite::getEntityMainPrefix(const int _entityN) { - //qDebug() << "DataProxy_SQLite::getEntityMainPrefix:" << QString::number(_entityN) << endl; + //qDebug() << "DataProxy_SQLite::getEntityMainPrefix:" << QString::number(_entityN) << endl; if (_entityN <= 0 ) { @@ -6013,43 +5802,9 @@ QString DataProxy_SQLite::getEntityMainPrefix(const int _entityN) //return QString(); } -int DataProxy_SQLite::getEntityIdFromMainPrefix(const QString &_e) -{ - - //qDebug() << "DataProxy_SQLite::getEntityIdFromMainPrefix:" << _e << endl; - - int id = -1; - QString queryString; - QSqlQuery query; - queryString = QString("SELECT dxcc FROM entity WHERE mainprefix='%1'").arg(_e); - bool sqlOK = query.exec(queryString); - - if (!sqlOK) - { - emit queryError(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); - query.finish(); - return id; - } - else - { - query.next(); - if (query.isValid()) - { - id = (query.value(0)).toInt(); - query.finish(); - return id; - } - else - { - query.finish(); - return -1; - } - } -} - int DataProxy_SQLite::getDXCCFromPrefix(const QString &_p) { - //qDebug() << "DataProxy_SQLite::getDXCCFromPrefix - " << Q_FUNC_INFO << "-" << _p << "-" << endl; + //qDebug() << "DataProxy_SQLite::getDXCCFromPrefix - " << Q_FUNC_INFO << "-" << _p << "-" << endl; QSqlQuery query; QString queryString = QString("SELECT dxcc FROM prefixesofentity WHERE prefix='%1'").arg(_p); @@ -6057,36 +5812,36 @@ int DataProxy_SQLite::getDXCCFromPrefix(const QString &_p) if (sqlOK) { - //qDebug() << "DataProxy_SQLite::getDXCCFromPrefix: query OK: query: " << queryString << endl; + //qDebug() << "DataProxy_SQLite::getDXCCFromPrefix: query OK: query: " << queryString << endl; if (query.next()) { if (query.isValid()) { int v = (query.value(0)).toInt(); query.finish(); - //qDebug() << "DataProxy_SQLite::getDXCCFromPrefix: return 0: " << QString::number(v) << endl; + //qDebug() << "DataProxy_SQLite::getDXCCFromPrefix: return 0: " << QString::number(v) << endl; return v; } else { query.finish(); - //qDebug() << "DataProxy_SQLite::getDXCCFromPrefix: return -1: " << endl; + //qDebug() << "DataProxy_SQLite::getDXCCFromPrefix: return -1: " << endl; return -1; } } else { query.finish(); - //qDebug() << "DataProxy_SQLite::getDXCCFromPrefix: return -2: " << endl; + //qDebug() << "DataProxy_SQLite::getDXCCFromPrefix: return -2: " << endl; return -2; } } else { - //qDebug() << "DataProxy_SQLite::getDXCCFromPrefix: query NOK: query: " << queryString << endl; + //qDebug() << "DataProxy_SQLite::getDXCCFromPrefix: query NOK: query: " << queryString << endl; emit queryError(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); query.finish(); - //qDebug() << "DataProxy_SQLite::getDXCCFromPrefix: return -3: " << endl; + //qDebug() << "DataProxy_SQLite::getDXCCFromPrefix: return -3: " << endl; return -3; } //return -4; @@ -6278,7 +6033,7 @@ QString DataProxy_SQLite::getEntityPrefixes(const int _enti) QStringList DataProxy_SQLite::getEntitiesNames() { - //qDebug() << "DataProxy_SQLite::getEntitiesNames" << endl; + //qDebug() << "DataProxy_SQLite::getEntitiesNames" << endl; QString aux = QString(); QStringList qs; qs.clear(); @@ -6354,7 +6109,7 @@ QStringList DataProxy_SQLite::getEntitiesIds() * The following code was showing in the Entities prefixes and entities like Sicily, African Italy... and they are not officially an entity in the DXCC QStringList DataProxy_SQLite::getEntitiesNames() { - //qDebug() << "DataProxy_SQLite::getEntitiesNames" << endl; + //qDebug() << "DataProxy_SQLite::getEntitiesNames" << endl; QString aux = QString(); QStringList qs; qs.clear(); @@ -6369,14 +6124,14 @@ QStringList DataProxy_SQLite::getEntitiesNames() if (query.isValid()) { dxcc = query.value(2).toInt(); - //qDebug() << "DataProxy_SQLite::getEntitiesNames - DXCC: " << QString::number(dxcc) << endl; + //qDebug() << "DataProxy_SQLite::getEntitiesNames - DXCC: " << QString::number(dxcc) << endl; if (dxcc > 1000) { - //qDebug() << "DataProxy_SQLite::getEntitiesNames - DXCC>1000 going in details: " << endl; + //qDebug() << "DataProxy_SQLite::getEntitiesNames - DXCC>1000 going in details: " << endl; aux2 = QString::number(dxcc); aux2 = aux2.right(3); - //qDebug() << "DataProxy_SQLite::getEntitiesNames - aux2: " << aux2 << endl; + //qDebug() << "DataProxy_SQLite::getEntitiesNames - aux2: " << aux2 << endl; queryString = QString("SELECT mainprefix, name FROM entity WHERE dxcc ='%1'").arg(aux2); if (query2.exec(queryString)) @@ -6402,13 +6157,13 @@ QStringList DataProxy_SQLite::getEntitiesNames() } else { - //qDebug() << "DataProxy_SQLite::getEntitiesNames - DXCC<1000 quick! " << endl; + //qDebug() << "DataProxy_SQLite::getEntitiesNames - DXCC<1000 quick! " << endl; aux.clear(); aux = (query.value(0)).toString() + "-" + (query.value(1)).toString()+" ("+QString::number(dxcc)+")"; } - //qDebug() << "DataProxy_SQLite::getEntitiesNames - AUX: " << aux << endl; + //qDebug() << "DataProxy_SQLite::getEntitiesNames - AUX: " << aux << endl; //result = result + ", " + (query.value(0)).toString(); qs << aux; } @@ -6499,7 +6254,7 @@ int DataProxy_SQLite::getMaxEntityID(bool limit) bool DataProxy_SQLite::updateISONames() { - //qDebug() << "DataProxy_SQLite::updateISONames" << endl; + //qDebug() << "DataProxy_SQLite::updateISONames" << endl; bool result; result = db->updateTheEntityTableISONames(); @@ -6508,10 +6263,10 @@ bool DataProxy_SQLite::updateISONames() QString DataProxy_SQLite::getISOName(const int _n) { - //qDebug() << "DataProxy_SQLite::getISONames: " << QString::number(_n) << endl; + //qDebug() << "DataProxy_SQLite::getISONames: " << QString::number(_n) << endl; if (_n <= 0 ) { - //qDebug() << "DataProxy_SQLite::getISONames: NOT KNOWN - UN" << endl; + //qDebug() << "DataProxy_SQLite::getISONames: NOT KNOWN - UN" << endl; return "un"; // When no flag is known, we return the UN flag } @@ -6525,7 +6280,7 @@ QString DataProxy_SQLite::getISOName(const int _n) if (!sqlOK) { emit queryError(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); - //qDebug() << "DataProxy_SQLite::getISOName: Query error - UN" << endl; + //qDebug() << "DataProxy_SQLite::getISOName: Query error - UN" << endl; query.finish(); return "nu"; // When no flag is known, we return the UN flag } @@ -6534,7 +6289,7 @@ QString DataProxy_SQLite::getISOName(const int _n) query.next(); if (query.isValid()){ - //qDebug() << "DataProxy_SQLite::getISOName: ISO Name: " << (query.value(0)).toString() << endl; + //qDebug() << "DataProxy_SQLite::getISOName: ISO Name: " << (query.value(0)).toString() << endl; aux = (query.value(0)).toString(); query.finish(); if (aux.length()>1) @@ -6549,18 +6304,18 @@ QString DataProxy_SQLite::getISOName(const int _n) } else { - //qDebug() << "DataProxy_SQLite::getISOName: NO ISO Name: " << endl; + //qDebug() << "DataProxy_SQLite::getISOName: NO ISO Name: " << endl; query.finish(); return "un"; // When no flag is known, we return the UN flag } } - //qDebug() << "DataProxy_SQLite::getISOName: NO ISO Name: default" << endl; + //qDebug() << "DataProxy_SQLite::getISOName: NO ISO Name: default" << endl; //return "un"; // When no flag is known, we return the UN flag } void DataProxy_SQLite::getFoundInLog(const QString &_txt, const int _log) { - //qDebug() << "DataProxy_SQLite::getFoundInLog: " << _txt << "/" << QString::number(_log) << endl; + //qDebug() << "DataProxy_SQLite::getFoundInLog: " << _txt << "/" << QString::number(_log) << endl; /* searching = true; executionN++; @@ -6572,12 +6327,12 @@ void DataProxy_SQLite::getFoundInLog(const QString &_txt, const int _log) qsoDataFound.clear(); if (_txt.length()<2) { - //qDebug() << "DataProxy_SQLite::getFoundInLog: lengh shorter than 2" << endl; + //qDebug() << "DataProxy_SQLite::getFoundInLog: lengh shorter than 2" << endl; searching = false; return; } - //qDebug() << "DataProxy_SQLite::getFoundInLog: let's go searching!" << endl; + //qDebug() << "DataProxy_SQLite::getFoundInLog: let's go searching!" << endl; if (_log <= 0) { queryString = QString("SELECT call, qso_date, time_on, bandid, modeid, qsl_rcvd, qsl_sent, station_callsign, id FROM log WHERE call LIKE '%%1%'").arg(_txt); @@ -6590,7 +6345,7 @@ void DataProxy_SQLite::getFoundInLog(const QString &_txt, const int _log) bool sqlOk = query.exec(queryString); if (sqlOk) { - //qDebug() << "DataProxy_SQLite::getFoundInLog: Query OK" << endl; + //qDebug() << "DataProxy_SQLite::getFoundInLog: Query OK" << endl; QSqlRecord rec = query.record(); int nameCol = -1; int counter = 0; @@ -6599,12 +6354,12 @@ void DataProxy_SQLite::getFoundInLog(const QString &_txt, const int _log) if (query.isValid()) { counter++; - //qDebug() << "DataProxy_SQLite::getFoundInLog: Data found: - " << QString::number(counter) << endl; + //qDebug() << "DataProxy_SQLite::getFoundInLog: Data found: - " << QString::number(counter) << endl; qsoDataFound.clear(); nameCol = rec.indexOf("call"); qsoDataFound << "call:" + (query.value(nameCol)).toString(); - //qDebug() << "DataProxy_SQLite::getFoundInLog: Data found: " << (query.value(nameCol)).toString() << endl; + //qDebug() << "DataProxy_SQLite::getFoundInLog: Data found: " << (query.value(nameCol)).toString() << endl; nameCol = rec.indexOf("qso_date"); qsoDataFound << "qso_date:" + (query.value(nameCol)).toString(); @@ -6642,26 +6397,26 @@ void DataProxy_SQLite::getFoundInLog(const QString &_txt, const int _log) if (qsoDataFound.length()>1) { emit qsoFound(qsoDataFound); - //qDebug() << "DataProxy_SQLite::getFoundInLog: Emitting qsoDataFound... (exec: "<< QString::number(executionN) << ") Call-id: " << qsoDataFound.at(0) << "-" << qsoDataFound.at(8) << endl; + //qDebug() << "DataProxy_SQLite::getFoundInLog: Emitting qsoDataFound... (exec: "<< QString::number(executionN) << ") Call-id: " << qsoDataFound.at(0) << "-" << qsoDataFound.at(8) << endl; } else { - //qDebug() << "DataProxy_SQLite::getFoundInLog: NOT emitting qsoDataFound... (exec: "<< QString::number(executionN) << ")" << endl; - //qDebug() << "DataProxy_SQLite::getFoundInLog: NOT Emitting qsoDataFound..." << endl; + //qDebug() << "DataProxy_SQLite::getFoundInLog: NOT emitting qsoDataFound... (exec: "<< QString::number(executionN) << ")" << endl; + //qDebug() << "DataProxy_SQLite::getFoundInLog: NOT Emitting qsoDataFound..." << endl; } } // Closes if next.isValid } // Closes While - //qDebug() << "DataProxy_SQLite::getFoundInLog: No more data!" << endl; + //qDebug() << "DataProxy_SQLite::getFoundInLog: No more data!" << endl; return; } else { - //qDebug() << "DataProxy_SQLite::getFoundInLog: Error 1: Query NOK" << endl; + //qDebug() << "DataProxy_SQLite::getFoundInLog: Error 1: Query NOK" << endl; searching = false; return; } - //qDebug() << "DataProxy_SQLite::getFoundInLog: Error 2" << endl; + //qDebug() << "DataProxy_SQLite::getFoundInLog: Error 2" << endl; searching = false; return; */ @@ -6670,7 +6425,7 @@ void DataProxy_SQLite::getFoundInLog(const QString &_txt, const int _log) /* bool DataProxy_SQLite::queryPrepare(const QString &_query) { - //qDebug() << "DataProxy_SQLite::queryPrepare: " << _query << endl; + //qDebug() << "DataProxy_SQLite::queryPrepare: " << _query << endl; //return preparedQuery.prepare( _query ); //return preparedQuery.prepare("INSERT INTO log (call, qso_date, bandid, modeid, time_on, time_off, srx, stx, srx_string, stx_string, qso_date_off, band_rx, rst_sent, rst_rcvd, cqz, ituz, dxcc, address, age, cnty, comment, a_index, ant_az, ant_el, ant_path, arrl_sect, checkcontest, class, contacted_op, contest_id, country, credit_submitted, credit_granted, distance, eq_call, email, eqsl_qslrdate, eqsl_qslsdate, eqsl_qsl_rcvd, eqsl_qsl_sent, force_init, freq, freq_rx, gridsquare, my_gridsquare, iota, iota_island_id, my_iota, my_iota_island_id, k_index, lat, lon, my_lat, my_lon, lotw_qslrdate, lotw_qslsdate, lotw_qsl_rcvd, lotw_qsl_sent, clublog_qso_upload_date, clublog_qso_upload_status, max_bursts, ms_shower, my_city, my_cnty, my_country, my_cq_zone, my_name, name, operator, station_callsign, owner_callsign, my_rig, my_sig, my_sig_info, my_state, state, my_street, notes, nr_bursts, nr_pings, pfx, precedence, prop_mode, public_key, qslmsg, qslrdate, qslsdate, qsl_rcvd, qsl_sent, qsl_rcvd_via, qsl_sent_via, qsl_via, qso_complete, qso_random, qth, rx_pwr, tx_pwr, sat_mode, sat_name, sfi, sig, swl, ten_ten, web, points, multiplier, lognumber) VALUES (:call, :qso_date, :bandid, :modeid, :time_on, :time_off, :srx, :stx, :srx_string, :stx_string, :qso_date_off, :band_rx, :rst_sent, :rst_rcvd, :cqz, :ituz, :dxcc, :address, :age, :cnty, :comment, :a_index, :ant_az, :ant_el, :ant_path, :arrl_sect, :checkcontest, :class, :contacted_op, :contest_id, :country, :credit_submitted, :credit_granted, :distance, :eq_call, :email, :eqsl_qslrdate, :eqsl_qslsdate, :eqsl_qsl_rcvd, :eqsl_qsl_sent, :force_init, :freq, :freq_rx, :gridsquare, :my_gridsquare, :iota, :iota_island_id, :my_iota, :my_iota_island_id, :k_index, :lat, :lon, :my_lat, :my_lon, :lotw_qslrdate, :lotw_qslsdate, :lotw_qsl_rcvd, :lotw_qsl_sent, :clublog_qso_upload_date, :clublog_qso_upload_status, :max_bursts, :ms_shower, :my_city, :my_cnty, :my_country, :my_cq_zone, :my_name, :name, :operator, :station_callsign, :owner_callsign, :my_rig, :my_sig, :my_sig_info, :my_state, :state, :my_street, :notes, :nr_bursts, :nr_pings, :pfx, :precedence, :prop_mode, :public_key, :qslmsg, :qslrdate, :qslsdate, :qsl_rcvd, :qsl_sent, :qsl_rcvd_via, :qsl_sent_via, :qsl_via, :qso_complete, :qso_random, :qth, :rx_pwr, :tx_pwr, :sat_mode, :sat_name, :sfi, :sig, :swl, :ten_ten, :web, :points, :multiplier, :lognumber)"); @@ -6680,7 +6435,7 @@ bool DataProxy_SQLite::queryPrepare(const QString &_query) bool DataProxy_SQLite::queryBind(const QString &_field, const QString &value) { - //qDebug() << "DataProxy_SQLite::queryBind: " << _field << "/" << value << endl; + //qDebug() << "DataProxy_SQLite::queryBind: " << _field << "/" << value << endl; //preparedQuery.bindValue( _field, value ); //db->queryBind(_field, value); @@ -6691,18 +6446,18 @@ bool DataProxy_SQLite::queryBind(const QString &_field, const QString &value) bool DataProxy_SQLite::queryExec() { - //qDebug() << "DataProxy_SQLite::queryExec " << endl; + //qDebug() << "DataProxy_SQLite::queryExec " << endl; bool sqlOK = db->queryExec(); if (!sqlOK) { //emit queryError(Q_FUNC_INFO, preparedQuery.lastError().databaseText(), preparedQuery.lastError().number(), preparedQuery.lastQuery()); - //qDebug() << "DataProxy_SQLite::queryExec - FAILED execution " << endl; + //qDebug() << "DataProxy_SQLite::queryExec - FAILED execution " << endl; } else { - //qDebug() << "DataProxy_SQLite::queryExec - executed " << endl; + //qDebug() << "DataProxy_SQLite::queryExec - executed " << endl; } return sqlOK; } @@ -6710,7 +6465,7 @@ bool DataProxy_SQLite::queryExec() int DataProxy_SQLite::getPrefixId(const QString &_qrz) { - //qDebug() << "DataProxy_SQLite::getPrefixId: -" << _qrz <<"-" << endl; + //qDebug() << "DataProxy_SQLite::getPrefixId: -" << _qrz <<"-" << endl; //TODO: Instead of going from long to short, identify prefixes from the begining: // character(may be number) + number @@ -6726,20 +6481,20 @@ int DataProxy_SQLite::getPrefixId(const QString &_qrz) { entityID = getDXCCFromPrefix(aux); - //qDebug() << "DataProxy_SQLite::getPrefixId: in the while" << aux << " = " << QString::number(entityID) << endl; + //qDebug() << "DataProxy_SQLite::getPrefixId: in the while" << aux << " = " << QString::number(entityID) << endl; if (entityID<=0) { aux.chop(1); } } - //qDebug() << "DataProxy_SQLite::getPrefixId: " << _qrz << QString::number(entityID) << endl; + //qDebug() << "DataProxy_SQLite::getPrefixId: " << _qrz << QString::number(entityID) << endl; return entityID; } QString DataProxy_SQLite::changeSlashAndFindPrefix(const QString &_qrz) { - //qDebug() << "DataProxy_SQLite::changeSlashAndFindPrefix: -" << _qrz <<"-" << endl; + //qDebug() << "DataProxy_SQLite::changeSlashAndFindPrefix: -" << _qrz <<"-" << endl; int iaux1, iaux2; QString aux = _qrz.toUpper(); @@ -6761,7 +6516,7 @@ QString DataProxy_SQLite::changeSlashAndFindPrefix(const QString &_qrz) aux.remove(aux.length()-1,1); } iaux1 = aux.indexOf('/'); - //qDebug() << "DataProxy_SQLite::changeSlashAndFindPrefix: Slash found at: " << QString::number(iaux1) << endl; + //qDebug() << "DataProxy_SQLite::changeSlashAndFindPrefix: Slash found at: " << QString::number(iaux1) << endl; iaux2 = (aux.length())- iaux1; // iaux2 is the length of the second part if (iaux2 < 0){ diff --git a/dataproxy_sqlite.h b/dataproxy_sqlite.h index e7835081..3c8e5062 100644 --- a/dataproxy_sqlite.h +++ b/dataproxy_sqlite.h @@ -22,7 +22,7 @@ * 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 . * + * along with KLog. If not, see . * * * *****************************************************************************/ #include @@ -30,6 +30,7 @@ #include //#include +#include "dataproxy_sqlite.h" #include "database.h" @@ -85,9 +86,6 @@ public: bool isThisFreqInBand(const QString &_band, const QString &_fr); int getLastQSOid(); - QDate getFirstQSODateFromCall (const QString &_call); // If the callsign provided is not valid it provides the date of the first QSO - QDate getLastQSODateFromCall (const QString &_call); // If the callsign provided is not valid it provides the date of the last QSO - bool addQSOFromWSJTX(const QString &_dxcall, const double _freq, const QString &_mode, const QString &_dx_grid, const QString &_time_off, const QString &_report_sent, const QString &_report_rec, const QString &_tx_power, const QString &_comments, const QString &_name, const QString &_time_on, @@ -135,19 +133,12 @@ public: //LOTW - bool lotwSentQueue(const QString &_updateDate, const int _currentLog); // Mark LOTW QSL SENT as Q (Queued) - bool lotwSentYes(const QString &_updateDate, const int _currentLog, const QString &_station); // Update LOTW QSL SENT marked as Q as Y (Queued) - bool lotwSentQSOs(const QList &_qsos); - int lotwUpdateQSLReception (const QString &_call, const QString &_qso_date, const QString &_time_on, const QString &_band, const QString &_mode, const QString &_qslrdate); - QList getQSOsListLoTWNotSent(const QString &_stationCallsign, const QDate &_startDate, const QDate &_endDate, bool _justQueued=true); - QStringList getQSODetailsForLoTWDownload(const int _id); int getContinentIdFromContinentShortName(const QString &_n); QString getContinentShortNameFromEntity(const int _n); int getContinentIdFromEntity(const int _n); QStringList getContinentShortNames(); bool isValidContinentShortName(const QString &_n); - bool isValidDXCC(const int _e); int getCQzFromPrefix(const QString &_p); int getCQzFromEntity(const int _n); @@ -156,7 +147,6 @@ public: QString getEntityNameFromId(const int _n); int getEntityIdFromName(const QString &_e); QString getEntityMainPrefix(const int _entityN); - int getEntityIdFromMainPrefix(const QString &_e); bool isNewCQz(int _c); bool isNewEntity(int _e); double getLongitudeFromEntity(const int _e); @@ -171,6 +161,8 @@ public: QStringList getOperatingYears(const int _currentLog); void compressDB(); bool unMarkAllQSO(); // Unmarks all the marked QSO + bool lotwSentQueue(const QString &_updateDate, const int _currentLog); // Mark LOTW QSL SENT as Q (Queued) + bool lotwSentYes(const QString &_updateDate, const int _currentLog, const QString &_station); // Update LOTW QSL SENT marked as Q as Y (Queued) bool clearLog(); @@ -201,11 +193,11 @@ public: QStringList getContestNames(); QStringList getContestCat(const int _catn); QStringList getContestOverlays(); - //int getContestTypeN(const int _co, const int _catop, const int _catas, const int _catpo, const int _catba, const int _catov, const int _catmo); - //QStringList getDataFromContestType(const int _n); - //int getLogTypeNumber(const QString &_logType); - //QString getLogTypeName(const int _logType); - //QString getLogTypeOfUserLog(const int _logN); + int getContestTypeN(const int _co, const int _catop, const int _catas, const int _catpo, const int _catba, const int _catov, const int _catmo); + QStringList getDataFromContestType(const int _n); + int getLogTypeNumber(const QString &_logType); + QString getLogTypeName(const int _logType); + QString getLogTypeOfUserLog(const int _logN); int getLogNumberFromQSOId(const int _qsoId); QStringList getBandNames(); @@ -240,7 +232,7 @@ public: QString getOperatorsFromLog(const int _log); QString getCommentsFromLog(const int _log); QString getLogDateFromLog(const int _log); - //QString getLogTypeNFromLog(const int _log); + QString getLogTypeNFromLog(const int _log); bool addNewLog (const QStringList _qs); bool doesThisLogExist(const int _log); @@ -278,4 +270,5 @@ signals: void queryError(QString functionFailed, QString errorCodeS, int errorCodeN, QString failedQuery); // To alert about any failed query execution }; + #endif // DATAPROXY_SQLITE_H diff --git a/downloadcty.cpp b/downloadcty.cpp index b2f9cb1e..d0425629 100644 --- a/downloadcty.cpp +++ b/downloadcty.cpp @@ -15,13 +15,15 @@ DownLoadCTY::DownLoadCTY(const QString _klogDir, const QString _klogVersion) : Q manager = new QNetworkAccessManager; request = new QNetworkRequest; - //request->setUrl(QUrl("https://www.country-files.com/cty/cty.csv")); - request->setUrl(QUrl("https://www.country-files.com/bigcty/cty.csv")); + //request->setUrl(QUrl("http://www.country-files.com/cty/cty.csv")); + request->setUrl(QUrl("http://www.country-files.com/bigcty/cty.csv")); QString ver = "KLog"+_klogVersion; QByteArray str; str.clear(); str.append(util->getAgent(_klogVersion)); + //str.append(_klogVersion); + //request.setUrl(QUrl("http://qt.nokia.com")); request->setRawHeader("User-Agent", str); //request->setHeader(QNetworkRequest::UserAgentHeader, str); @@ -41,7 +43,7 @@ DownLoadCTY::~DownLoadCTY() void DownLoadCTY::slotDownloadFinished(QNetworkReply *reply) { //qDebug() << "DownLoadCTY::slotDownloadFinished" << endl; - emit downloadStopped(); + QUrl url = reply->url(); //qDebug() << "DownLoadCTY::slotDownloadFinished - URL: " << url.toString() << endl; @@ -84,7 +86,7 @@ DownLoadCTY::~DownLoadCTY() reply->deleteLater(); - emit done(true); + emit done(); } @@ -124,7 +126,7 @@ void DownLoadCTY::slotErrorManagement(QNetworkReply::NetworkError networkError) //qDebug() << "DownLoadCTY::downloadFinished: ERROR: " << QString::number(result) << endl; } - emit actionError(result); + actionError(result); } QString DownLoadCTY::saveFileName(const QUrl &url) @@ -149,6 +151,7 @@ QString DownLoadCTY::saveFileName(const QUrl &url) msgBox.exec(); + // already exists, don't overwrite //int i = 0; //basename += '.'; diff --git a/downloadcty.h b/downloadcty.h index 1b2dca74..f79c7f0a 100644 --- a/downloadcty.h +++ b/downloadcty.h @@ -22,7 +22,7 @@ * 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 . * + * along with KLog. If not, see . * * * *****************************************************************************/ #include @@ -74,10 +74,9 @@ private slots: signals: void actionReturnDownload(const int _i); - void done(bool _success); + void done(); void actionShowProgres(qint64 received, qint64 total); void actionError(const int _i); - void downloadStopped(); }; diff --git a/dxccstatuswidget.cpp b/dxccstatuswidget.cpp index eaca8bfd..8dde3a76 100644 --- a/dxccstatuswidget.cpp +++ b/dxccstatuswidget.cpp @@ -11,16 +11,16 @@ TODO: Call the creation of this depending on the bands that the user is using DXCCStatusWidget::DXCCStatusWidget(DataProxy_SQLite *dp, const QString &_parentFunction, QWidget *parent) : QWidget(parent) { - //qDebug() << "DXCCStatusWidget::DXCCStatusWidget from: " << _parentFunction << endl; + //qDebug() << "DXCCStatusWidget::DXCCStatusWidget from: " << _parentFunction << endl; dataProxy = dp; locator = new Locator(); awards = new Awards(dataProxy, Q_FUNC_INFO); - //qDebug() << "DXCCStatusWidget::DXCCStatusWidget-1" << endl; + //qDebug() << "DXCCStatusWidget::DXCCStatusWidget-1" << endl; world = new World(dataProxy,Q_FUNC_INFO); - //qDebug() << "DXCCStatusWidget::DXCCStatusWidget-2" << endl; + //qDebug() << "DXCCStatusWidget::DXCCStatusWidget-2" << endl; dxccView = new QTableWidget; - //qDebug() << "DXCCStatusWidget::DXCCStatusWidget-3" << endl; + //qDebug() << "DXCCStatusWidget::DXCCStatusWidget-3" << endl; dxccView->setMouseTracking(true); dxccView->setSortingEnabled(true); numberOfColumns = 0; @@ -31,39 +31,39 @@ DXCCStatusWidget::DXCCStatusWidget(DataProxy_SQLite *dp, const QString &_parentF bandNames.clear(); validBands.clear(); - //qDebug() << "DXCCStatusWidget::DXCCStatusWidget-4" << endl; + //qDebug() << "DXCCStatusWidget::DXCCStatusWidget-4" << endl; setDefaultBands(); - //qDebug() << "DXCCStatusWidget::DXCCStatusWidget-5" << endl; + //qDebug() << "DXCCStatusWidget::DXCCStatusWidget-5" << endl; createUI(); - //qDebug() << "DXCCStatusWidget::DXCCStatusWidget - END" << endl; + //qDebug() << "DXCCStatusWidget::DXCCStatusWidget - END" << endl; } DXCCStatusWidget::~DXCCStatusWidget(){} void DXCCStatusWidget::createUI() { - //qDebug() << "DXCCStatusWidget::createUI " << endl; + //qDebug() << "DXCCStatusWidget::createUI " << endl; // We remove the vertical header hv = dxccView->verticalHeader(); hv->hide(); hv->setStretchLastSection(true); hh = dxccView->horizontalHeader(); - //qDebug() << "DXCCStatusWidget::createUI-10" << endl; + //qDebug() << "DXCCStatusWidget::createUI-10" << endl; refreshButton->setText(tr("Update")); //showAllLogsButton->setText("All logs"); - //qDebug() << "DXCCStatusWidget::createUI-11" << endl; + //qDebug() << "DXCCStatusWidget::createUI-11" << endl; dxccView->setContextMenuPolicy(Qt::CustomContextMenu); - //qDebug() << "DXCCStatusWidget::createUI-12" << endl; + //qDebug() << "DXCCStatusWidget::createUI-12" << endl; dxccView->setColumnCount(numberOfColumns); - //qDebug() << "DXCCStatusWidget::createUI-13" << endl; + //qDebug() << "DXCCStatusWidget::createUI-13" << endl; dxccView->horizontalHeader()->setStretchLastSection(true); - //qDebug() << "DXCCStatusWidget::createUI-14" << endl; + //qDebug() << "DXCCStatusWidget::createUI-14" << endl; - //qDebug() << "DXCCStatusWidget::createUI-15" << endl; + //qDebug() << "DXCCStatusWidget::createUI-15" << endl; dxccView->setRowCount(0); - //qDebug() << "DXCCStatusWidget::createUI-20" << endl; + //qDebug() << "DXCCStatusWidget::createUI-20" << endl; QHBoxLayout *bottonLineLayout = new QHBoxLayout; bottonLineLayout->addSpacerItem(new QSpacerItem(10,0,QSizePolicy::Expanding,QSizePolicy::Maximum)); bottonLineLayout->addWidget(refreshButton); @@ -72,84 +72,76 @@ void DXCCStatusWidget::createUI() tabLayout->addWidget(dxccView); tabLayout->addLayout(bottonLineLayout); setLayout(tabLayout); - //qDebug() << "DXCCStatusWidget::createUI-30" << endl; + //qDebug() << "DXCCStatusWidget::createUI-30" << endl; dxccView->resizeColumnsToContents(); dxccView->resizeRowsToContents(); - //qDebug() << "DXCCStatusWidget::createUI-90" << endl; + //qDebug() << "DXCCStatusWidget::createUI-90" << endl; connect(refreshButton, SIGNAL(clicked()), this, SLOT(slotRefreshButtonClicked() ) ); - //qDebug() << "DXCCStatusWidget::createUI-91" << endl; + //qDebug() << "DXCCStatusWidget::createUI-91" << endl; connect(dxccView, SIGNAL(itemDoubleClicked(QTableWidgetItem *)), this, SLOT(slotItemDoubleClicked(QTableWidgetItem *) ) ); - //qDebug() << "DXCCStatusWidget::createUI-92" << endl; + //qDebug() << "DXCCStatusWidget::createUI-92" << endl; connect(dxccView, SIGNAL(itemEntered(QTableWidgetItem *)), this, SLOT(slotItemEntered(QTableWidgetItem *) ) ); - //connect(dxccView, SIGNAL(customContextMenuRequested( const QPoint& ) ), this, SLOT(slotRightButton( const QPoint& ) ) ); - //qDebug() << "DXCCStatusWidget::createUI-93" << endl; + //qDebug() << "DXCCStatusWidget::createUI-93" << endl; //dxccView->setSortingEnabled(false); - //qDebug() << "DXCCStatusWidget::createUI-END" << endl; + //qDebug() << "DXCCStatusWidget::createUI-END" << endl; } void DXCCStatusWidget::update() { - //qDebug() << "DXCCStatusWidget::update " << endl; + //qDebug() << "DXCCStatusWidget::update " << endl; //int entities = world->getHowManyEntities(); int entities = dataProxy->getMaxEntityID(false); - //qDebug() << "DXCCStatusWidget::update: " << QString::number(entities) << " entities to update" << endl; + //qDebug() << "DXCCStatusWidget::update: " << QString::number(entities) << " entities to update" << endl; QStringList list; - //qDebug() << "DXCCStatusWidget::update: -1" << endl; + //qDebug() << "DXCCStatusWidget::update: -1" << endl; list.clear(); - //qDebug() << "DXCCStatusWidget::update: -2" << endl; + //qDebug() << "DXCCStatusWidget::update: -2" << endl; - QString aux, prefix; - //qDebug() << "DXCCStatusWidget::update: -3" << endl; - if (dxccView->columnCount()>0) + QString aux; + //qDebug() << "DXCCStatusWidget::update: -3" << endl; + if (dxccView->columnCount()>1) { //dxccView->sortByColumn(1, Qt::AscendingOrder); dxccView->clearContents(); tempLog = -1; - //qDebug() << "DXCCStatusWidget::update pre FOR" << endl; + //qDebug() << "DXCCStatusWidget::update pre FOR" << endl; for (int i=1; i<=entities; i++) { - //qDebug() << "DXCCStatusWidget::update in FOR " << QString::number(i) << endl; + //qDebug() << "DXCCStatusWidget::update in FOR " << QString::number(i) << endl; aux = world->getEntityName(i); - prefix = world->getEntityMainPrefix(i); - if (prefix.startsWith("*")) - { - QString a = prefix.right(prefix.length()-1); - prefix = a; - } - //qDebug() << "DXCCStatusWidget::update in FOR aux: " << aux << endl; + //qDebug() << "DXCCStatusWidget::update in FOR aux: " << aux << endl; list.clear(); if (aux.length()>2) // Not all integers refers to an entity. { - list << prefix << aux << bandNames; + list << QString::number(i) << aux << bandNames; addEntity(list); } } } - //qDebug() << "DXCCStatusWidget::update END" << endl; + //qDebug() << "DXCCStatusWidget::update END" << endl; } void DXCCStatusWidget::addEntity(const QStringList &_ent) { - //qDebug() << "DXCCStatusWidget::addEntity: " << _ent.at(1) << " / " << QString::number(_ent.length()) << endl; + //qDebug() << "DXCCStatusWidget::addEntity: " << _ent.at(1) << " / " << QString::number(_ent.length()) << endl; // DXCC id, Entity Name, bandName1, bandName2, ... if (_ent.length() != numberOfColumns) { - //qDebug() << "DXCCStatusWidget::addEntity: ERROR: in number of columns" << QString::number(_ent.length()) << "/" << QString::number(numberOfColumns) << endl; + //qDebug() << "DXCCStatusWidget::addEntity: ERROR: in number of columns" << QString::number(_ent.length()) << "/" << QString::number(numberOfColumns) << endl; return; } int status = -1; - int ent = dataProxy->getEntityIdFromMainPrefix(_ent.at(0)); - //(_ent.at(0)).toInt(); + + int ent = (_ent.at(0)).toInt(); int bandid = 0; - //qDebug() << "DXCCStatusWidget::addEntity: ent = " << QString::number(ent) << endl; QString entName = _ent.at(1); if (entName.length()<2) { - //qDebug() << "DXCCStatusWidget::addEntity: ERROR: entname too short!" << endl; + //qDebug() << "DXCCStatusWidget::addEntity: ERROR: entname too short!" << endl; return; } @@ -170,13 +162,12 @@ void DXCCStatusWidget::addEntity(const QStringList &_ent) flagSt = ":/flags/" + aux + ".png"; QIcon flagIcon(flagSt); - //qDebug() << "DXCCStatusWidget::addEntity: Flag: " << flagSt << endl; + //qDebug() << "DXCCStatusWidget::addEntity: Flag: " << flagSt << endl; dxccView->insertRow(dxccView->rowCount()); - //qDebug() << "DXCCStatusWidget::addEntity: rowCount: " << QString::number(dxccView->rowCount()) << endl; + //qDebug() << "DXCCStatusWidget::addEntity: rowCount: " << QString::number(dxccView->rowCount()) << endl; QTableWidgetItem *newItemID = new QTableWidgetItem(_ent.at(0)); - newItemID->setTextAlignment(Qt::AlignCenter); newItemID->setFlags(Qt::NoItemFlags); dxccView->setItem(dxccView->rowCount()-1, 0, newItemID); @@ -185,8 +176,10 @@ void DXCCStatusWidget::addEntity(const QStringList &_ent) { bandid = dataProxy->getIdFromBandName(_ent.at(i)); QTableWidgetItem *newItem = new QTableWidgetItem(awards->getDXCCStatusBand(ent, bandid, tempLog)); - newItem->setTextAlignment(Qt::AlignCenter); + newItem->setTextAlignment(Qt::AlignCenter); + //newItem->setFlags(Qt::NoItemFlags); newItem->setFlags(Qt::ItemIsEnabled); + //newItem->setFont(font); if (newItem->text()=="C") { @@ -205,16 +198,13 @@ void DXCCStatusWidget::addEntity(const QStringList &_ent) } else { + } dxccView->setItem(dxccView->rowCount()-1, i, newItem); - //qDebug() << "DXCCStatusWidget::addEntity: rowCount-2: " << QString::number(dxccView->rowCount()) << "/" << QString::number(i) << " / " << newItem->text() << endl; + //qDebug() << "DXCCStatusWidget::addEntity: rowCount-2: " << QString::number(dxccView->rowCount()) << "/" << QString::number(i) << " / " << newItem->text() << endl; } - QTableWidgetItem *newItemPref = new QTableWidgetItem(_ent.at(0)); - newItemPref->setTextAlignment(Qt::AlignLeft|Qt::AlignVCenter); - newItemPref->setFlags(Qt::ItemIsEnabled); - QTableWidgetItem *newItemName = new QTableWidgetItem(entName); newItemName->setTextAlignment(Qt::AlignLeft|Qt::AlignVCenter); @@ -225,38 +215,44 @@ void DXCCStatusWidget::addEntity(const QStringList &_ent) if (status == 1) { newItemName->setTextColor(Qt::blue); - newItemPref->setTextColor(Qt::blue); //newItemName->setTextColor(Qt::blue); //newItemName->setBackgroundColor(Qt::green); } else if (status == 0) { newItemName->setTextColor(Qt::darkRed); - newItemPref->setTextColor(Qt::darkRed); } else { newItemName->setTextColor(Qt::red); - newItemPref->setTextColor(Qt::red); } - dxccView->setItem(dxccView->rowCount()-1, 0, newItemPref); + dxccView->setItem(dxccView->rowCount()-1, 1, newItemName); - //qDebug() << "DXCCStatusWidget::addEntity: END" << endl; + //qDebug() << "DXCCStatusWidget::addEntity: END" << endl; } void DXCCStatusWidget::setBands(QStringList const &_ent, const bool _creating) {// Receives the list of band names - //qDebug() << "DXCCStatusWidget::setBands: " << endl; + //qDebug() << "DXCCStatusWidget::setBands: " << endl; + //qDebug() << "DXCCStatusWidget::setBands: " << QString::number(_ent.length()) << endl; + //if (_creating) + //{ + //qDebug() << "DXCCStatusWidget::setBands (creating true) " << QString::number(_ent.length()) << endl; + //} + //else + //{ + //qDebug() << "DXCCStatusWidget::setBands (creating false) " << QString::number(_ent.length()) << endl; + //} QStringList qs; qs.clear(); - //qDebug() << "DXCCStatusWidget::setBands - 01" << endl; + //qDebug() << "DXCCStatusWidget::setBands - 01" << endl; qs << dataProxy->sortBandNamesBottonUp(_ent); - //qDebug() << "DXCCStatusWidget::setBands - 02: Lenght qs: " << QString::number(qs.size()) << endl; + //qDebug() << "DXCCStatusWidget::setBands - 02: Lenght qs: " << QString::number(qs.size()) << endl; if (qs.length()<0) { - //qDebug() << "DXCCStatusWidget::setBands no bands received here " << endl; + //qDebug() << "DXCCStatusWidget::setBands no bands received here " << endl; return; } @@ -265,76 +261,88 @@ void DXCCStatusWidget::setBands(QStringList const &_ent, const bool _creating) bandNames.clear(); //bandNames << "Id" << "Entity"; - //qDebug() << "DXCCStatusWidget::setBands - 03 " << endl; + //qDebug() << "DXCCStatusWidget::setBands - 03 " << endl; validBands.clear(); //validBands << dataProxy->getBands(); - validBands = dataProxy->getBandNames(); - //qDebug() << "DXCCStatusWidget::setBands - 04 " << endl; + validBands << dataProxy->getBandNames(); + //qDebug() << "DXCCStatusWidget::setBands - 04 " << endl; //dxccView->clearContents(); dxccView->clearSelection(); dxccView->clear(); + // for (int x = 0; x < dxccView->columnCount(); x++) + // { + // dxccView->removeColumn(x); + // } + //bands.clear(); for (int i = 0; isetColumnCount(0); numberOfColumns = dxccView->columnCount(); + //qDebug() << "DXCCStatusWidget::setBands 5 to Remove: " << QString::number(dxccView->columnCount()) << endl; + //for (int i=0; icolumnCount(); i++) + //{ + // dxccView->removeColumn(i); +// //qDebug() << "DXCCStatusWidget::setBands: Still pending: " << QString::number(i) << endl; + //} + //dxccView->clear(); while(dxccView->columnCount()>0) { - //qDebug() << "DXCCStatusWidget::setBands: Still pending: " << QString::number(dxccView->columnCount()) << endl; + //qDebug() << "DXCCStatusWidget::setBands: Still pending: " << QString::number(dxccView->columnCount()) << endl; dxccView->removeColumn(0); } numberOfColumns = dxccView->columnCount(); - //qDebug() << "DXCCStatusWidget::setBands: -6 All removed: " << QString::number(numberOfColumns) << endl; + //qDebug() << "DXCCStatusWidget::setBands: -6 All removed: " << QString::number(numberOfColumns) << endl; - //qDebug() << "DXCCStatusWidget::setBands - 7 " << endl; + //qDebug() << "DXCCStatusWidget::setBands - 7 " << endl; - numberOfColumns = 2 + bandNames.length(); //Prefix, Entity Name - //qDebug() << "DXCCStatusWidget::setBands - 7.1 - columnCount: " << QString::number(dxccView->columnCount()) << endl; - //qDebug() << "DXCCStatusWidget::setBands - 7.1 - numberOfColumns: " << QString::number(numberOfColumns) << endl; + numberOfColumns = 2 + bandNames.length(); + //qDebug() << "DXCCStatusWidget::setBands - 7.1 - columnCount: " << QString::number(dxccView->columnCount()) << endl; + //qDebug() << "DXCCStatusWidget::setBands - 7.1 - numberOfColumns: " << QString::number(numberOfColumns) << endl; dxccView->setColumnCount(numberOfColumns); - //qDebug() << "DXCCStatusWidget::setBands - 7.2 " << endl; + //qDebug() << "DXCCStatusWidget::setBands - 7.2 " << endl; dxccView->setRowCount(0); - //qDebug() << "DXCCStatusWidget::setBands - 7.3 " << endl; + //qDebug() << "DXCCStatusWidget::setBands - 7.3 " << endl; QStringList headerqs; - //qDebug() << "DXCCStatusWidget::setBands - 7.4 " << endl; + //qDebug() << "DXCCStatusWidget::setBands - 7.4 " << endl; headerqs.clear(); - //qDebug() << "DXCCStatusWidget::setBands - 7.5 " << endl; - headerqs << tr("Prefix") << tr("Entity") << bandNames; - //qDebug() << "DXCCStatusWidget::setBands - 8 " << endl; + //qDebug() << "DXCCStatusWidget::setBands - 7.5 " << endl; + headerqs << tr("ID") << tr("Entity") << bandNames; + //qDebug() << "DXCCStatusWidget::setBands - 8 " << endl; dxccView->setHorizontalHeaderLabels(headerqs); - //qDebug() << "DXCCStatusWidget::setBands - 9 PRE-END" << endl; + //qDebug() << "DXCCStatusWidget::setBands - 9 PRE-END" << endl; if (!_creating) { - //qDebug() << "DXCCStatusWidget::setBands: 9.1 !_creating" << endl; + //qDebug() << "DXCCStatusWidget::setBands: 9.1 !_creating" << endl; update(); } - //qDebug() << "DXCCStatusWidget::setBands: END" << endl; + //qDebug() << "DXCCStatusWidget::setBands: END" << endl; } void DXCCStatusWidget::setDefaultBands() { - //qDebug() << "DXCCStatusWidget::setDefaultBands" << endl; + //qDebug() << "DXCCStatusWidget::setDefaultBands" << endl; /* Default bands: 160M 80M 40M 30M 20M 17M 15M 12M 10M 6M 4M 2M 70CM @@ -345,17 +353,16 @@ void DXCCStatusWidget::setDefaultBands() bandNames << "160M" << "80M" << "40M" << "30M" << "20M" << "17M" << "15M" << "12M" << "10M" << "6M" << "4M" << "2M" << "70CM"; setBands(bandNames, true); - //qDebug() << "DXCCStatusWidget::setDefaultBands - END" << endl; + //qDebug() << "DXCCStatusWidget::setDefaultBands - END" << endl; } void DXCCStatusWidget::slotRefreshButtonClicked() { - //qDebug() << "DXCCStatusWidget::slotRefreshButtonClicked" << endl; + //qDebug() << "DXCCStatusWidget::slotRefreshButtonClicked" << endl; //TODO: Define a way to show the status of the selected log or all the logs in the DB if (dxccView->rowCount()<1) { - //qDebug() << "DXCCStatusWidget::slotRefreshButtonClicked - rowcount <1" << endl; return; } QStringList _bands = bandNames; @@ -367,7 +374,7 @@ void DXCCStatusWidget::slotRefreshButtonClicked() void DXCCStatusWidget::refresh() { - //qDebug() << "DXCCStatusWidget::refresh" << endl; + //qDebug() << "DXCCStatusWidget::refresh" << endl; //update(); slotRefreshButtonClicked(); @@ -375,7 +382,7 @@ void DXCCStatusWidget::refresh() void DXCCStatusWidget::setCurrentLog(const int _logN) { - //qDebug() << "DXCCStatusWidget::setCurrentLog: " << QString::number(_logN) << endl; + //qDebug() << "DXCCStatusWidget::setCurrentLog: " << QString::number(_logN) << endl; if (dataProxy->doesThisLogExist(_logN)) { logNumber = _logN; @@ -388,15 +395,13 @@ void DXCCStatusWidget::refresh() void DXCCStatusWidget::slotItemEntered(QTableWidgetItem * item ) { - //qDebug() << "DXCCStatusWidget::slotItemEntered: " << ((item->data(0)).toString()).simplified() << endl; - //qDebug() << "DXCCStatusWidget::slotItemEntered: " << item->text() << endl; - //qDebug() << "DXCCStatusWidget::slotItemEntered: " << endl; - - if (dxccView->rowCount()<1) - { - return; - } - + //qDebug() << "DXCCStatusWidget::slotItemEntered: " << ((item->data(0)).toString()).simplified() << endl; + //qDebug() << "DXCCStatusWidget::slotItemEntered: " << item->text() << endl; + //qDebug() << "DXCCStatusWidget::slotItemEntered: " << endl; + if (dxccView->rowCount()<1) + { + return; + } QString tip; tip.clear(); int row = -1; @@ -404,32 +409,30 @@ void DXCCStatusWidget::refresh() int bandi = -1; QString band = QString(); - if (item) { - // row = dxccView->row(item); + row = dxccView->row(item); column = dxccView->column(item); - //qDebug() << "DXCCStatusWidget::slotItemEntered: row: " << QString::number(row) << endl; - //qDebug() << "DXCCStatusWidget::slotItemEntered: hrow: " << dxccView->verticalHeaderItem(row)->text() << endl; - // row = (dxccView->item(row,0)->text()).toInt(); - int entiID = dataProxy->getEntityIdFromMainPrefix(dxccView->item(dxccView->row(item),0)->text()); - if (entiID<0) - { // Some prefix are shown with a * in the begining that is removed to show the real prefix - entiID = dataProxy->getEntityIdFromMainPrefix("*" + dxccView->item(dxccView->row(item),0)->text()); - } - //qDebug() << "DXCCStatusWidget::slotItemEntered: entiID: " << QString::number(entiID) << endl; + //qDebug() << "DXCCStatusWidget::slotItemEntered: row: " << QString::number(row) << endl; + //qDebug() << "DXCCStatusWidget::slotItemEntered: hrow: " << dxccView->verticalHeaderItem(row)->text() << endl; + row = (dxccView->item(row,0)->text()).toInt(); + //qDebug() << "DXCCStatusWidget::slotItemEntered: column: " << QString::number(column) << endl; - if ((column == 0) || (column == 1)) + if (column == 1) { + int _enti = dataProxy->getEntityIdFromName(item->text()) ; + tip = tr("Pref: ") + dataProxy->getEntityMainPrefix(_enti) + " - "; + tip = tip + tr("CQ: ") + QString::number(dataProxy->getCQzFromEntity(_enti)) + " - "; + tip = tip + tr("ITU: ") + QString::number(dataProxy->getITUzFromEntity(_enti)) + " - "; - //tip = tr("Pref: ") + (dxccView->item(row, 1))->text() + " - "; - tip = tr("Pref: ") + dataProxy->getEntityMainPrefix(entiID) + " - "; - tip = tip + tr("CQ: ") + QString::number(dataProxy->getCQzFromEntity(entiID)) + " - "; - tip = tip + tr("ITU: ") + QString::number(dataProxy->getITUzFromEntity(entiID)) + " - "; - QString dxLoc = locator->getLocator(dataProxy->getLongitudeFromEntity(entiID), dataProxy->getLatitudeFromEntity(entiID)) ; + + QString dxLoc = locator->getLocator(dataProxy->getLongitudeFromEntity(_enti), dataProxy->getLatitudeFromEntity(_enti)) ; tip = tip + tr("Beam: ") + QString::number(locator->getBeamBetweenLocators(loc, dxLoc)); + + //qDebug() << "DXCCStatusWidget::slotItemEntered: myLoc: " << loc << endl; + //qDebug() << "DXCCStatusWidget::slotItemEntered: DXLoc: " << dxLoc << endl; } else if (column >= 2) @@ -441,12 +444,11 @@ void DXCCStatusWidget::refresh() else { band = dxccView->horizontalHeaderItem(column)->text(); - //qDebug() << "DXCCStatusWidget::slotItemEntered: band: " << band << endl; + //qDebug() << "DXCCStatusWidget::slotItemEntered: band: " << band << endl; bandi = dataProxy->getIdFromBandName(band); - //qDebug() << "DXCCStatusWidget::slotItemEntered: band: " << QString::number(bandi) << endl; - //tip = awards->getQSOofAward(row, bandi); - tip = awards->getQSOofAward(entiID, bandi); - //qDebug() << "DXCCStatusWidget::slotItemEntered: tip: " << tip << endl; + //qDebug() << "DXCCStatusWidget::slotItemEntered: band: " << QString::number(bandi) << endl; + tip = awards->getQSOofAward(row, bandi); + //qDebug() << "DXCCStatusWidget::slotItemEntered: tip: " << tip << endl; if (tip.length()>3) { tip = "QSO: " + tip; @@ -457,29 +459,32 @@ void DXCCStatusWidget::refresh() tip = tr(""); } } + } else { //tip = tr("ADD: Pref: Bearing, CQ & ITU."); - tip = ""; // TODO define a text to be shown when no band column is selected (maybe Continent and bearing or a link to wikipedia or whatever!) + tip = ""; // TODO define a text to be shown when no band column is selected (maybe Continent & bearing or a link to wikipedia or whatever!) } item->setToolTip(tip); - //qDebug() << "DXCCStatusWidget::slotItemEntered: tip: " << tip << endl; + //qDebug() << "DXCCStatusWidget::slotItemEntered: tip: " << tip << endl; + + } else {} - //qDebug() << "DXCCStatusWidget::slotItemEntered: END " << endl; + //qDebug() << "DXCCStatusWidget::slotItemEntered: END " << endl; } void DXCCStatusWidget::slotItemDoubleClicked(QTableWidgetItem * item ) { - //qDebug() << "DXCCStatusWidget::slotItemDoubleClicked: " << ((item->data(0)).toString()).simplified() << endl; - //qDebug() << "DXCCStatusWidget::slotItemDoubleClicked: " << item->text() << endl; - //qDebug() << "DXCCStatusWidget::slotItemDoubleClicked - start" << endl; + //qDebug() << "DXCCStatusWidget::slotItemDoubleClicked: " << ((item->data(0)).toString()).simplified() << endl; + //qDebug() << "DXCCStatusWidget::slotItemDoubleClicked: " << item->text() << endl; + //qDebug() << "DXCCStatusWidget::slotItemDoubleClicked - start" << endl; if (dxccView->rowCount()<1) { return; @@ -489,70 +494,78 @@ void DXCCStatusWidget::slotItemDoubleClicked(QTableWidgetItem * item ) int qsoId = -1; int bandi = -1; int columns = dxccView->columnCount(); - int _entiNumb = -1; //Read the Entity number that the user is selecting. + int _entiNumb = -1; //Read the ENtity number that the user is selecting. QString band = QString(); - + //QString entityName = QString(); QList qsos; qsos.clear(); QTableWidgetItem * it = new QTableWidgetItem(0); + //it->setText(item->data(Qt::DisplayRole)); - //qDebug() << "DXCCStatusWidget::slotItemDoubleClicked: - 01" << endl; - + //qDebug() << "DXCCStatusWidget::slotItemDoubleClicked: - 01" << endl; if (item) { - row = dxccView->row(item); + //column = dxccView->column(item); - //qDebug() << "DXCCStatusWidget::slotItemDoubleClicked: - column = 1" << endl; - _entiNumb= dataProxy->getEntityIdFromMainPrefix(dxccView->item(dxccView->row(item),0)->text()); - if (_entiNumb<0) - { // Some prefix are shown with a * in the begining that is removed to show the real prefix - _entiNumb= dataProxy->getEntityIdFromMainPrefix("*" + dxccView->item(dxccView->row(item),0)->text()); + //qDebug() << "DXCCStatusWidget::slotItemDoubleClicked: row: " << QString::number(row) << endl; + //qDebug() << "DXCCStatusWidget::slotItemDoubleClicked: column: " << QString::number(column) << endl; + + //if (column == 1) + if (true) + { + //qDebug() << "DXCCStatusWidget::slotItemDoubleClicked: - column = 1" << endl; + //qDebug() << "DXCCStatusWidget::slotItemDoubleClicked: - column header: " << dxccView->horizontalHeaderItem(column)->text() << endl; + _entiNumb = ((dxccView->item(row,0))->text()).toInt(); + //qDebug() << "DXCCStatusWidget::slotItemDoubleClicked: - EntityNumber: " << QString::number(_entiNumb) << endl; + + for (int i = 2; i < columns; ++i) + { + //qDebug() << "DXCCStatusWidget::slotItemDoubleClicked: - column: " << QString::number(i) << endl; + //qDebug() << "DXCCStatusWidget::slotItemDoubleClicked: - column header: " << (dxccView->horizontalHeaderItem(i))->text() << endl; + //entityName = (dxccView->item(row,i))->text() ; + //qDebug() << "DXCCStatusWidget::slotItemDoubleClicked: - item: " << endl; + + + it->setText(dxccView->item(row,i)->text()); + //qDebug() << "DXCCStatusWidget::slotItemDoubleClicked: - column-txt: " << it->text() << endl; + + band = dxccView->horizontalHeaderItem(i)->text(); + //qDebug() << "DXCCStatusWidget::slotItemDoubleClicked: band: " << band << endl; + bandi = dataProxy->getIdFromBandName(band); + //qDebug() << "DXCCStatusWidget::slotItemDoubleClicked: band: " << QString::number(bandi) << endl; + qsoId = awards->getQSOIdofAward(_entiNumb, bandi); + //qDebug() << "DXCCStatusWidget::slotItemDoubleClicked: QSOid: " << QString::number(qsoId) << endl; + if (qsoId>0) + { + qsos.append(qsoId); + } + + } + //qDebug() << "DXCCStatusWidget::slotItemDoubleClicked: - END of for" << endl; + if (qsos.length()>0) + { + //qDebug() << "DXCCStatusWidget::slotItemDoubleClicked: - qsos.length = " << QString::number(qsos.length()) << endl; + emit showQsos(qsos); + } + //qDebug() << "DXCCStatusWidget::slotItemDoubleClicked: - END of column == 1" << endl; + } + else + { + //qDebug() << "DXCCStatusWidget::slotItemDoubleClicked: - column != 1" << endl; + //tip = ""; // TODO define a text to be shown when no band column is selected (maybe Continent & bearing or a link to wikipedia or whatever!) } - //_entiNumb = ((dxccView->item(row,0))->text()).toInt(); - //qDebug() << "DXCCStatusWidget::slotItemDoubleClicked: - EntityNumber: " << QString::number(_entiNumb) << endl; - - for (int i = 2; i < columns; ++i) - { - //qDebug() << "DXCCStatusWidget::slotItemDoubleClicked: - column: " << QString::number(i) << endl; - //qDebug() << "DXCCStatusWidget::slotItemDoubleClicked: - column header: " << (dxccView->horizontalHeaderItem(i))->text() << endl; - //entityName = (dxccView->item(row,i))->text() ; - //qDebug() << "DXCCStatusWidget::slotItemDoubleClicked: - item: " << endl; - - it->setText(dxccView->item(row,i)->text()); - //qDebug() << "DXCCStatusWidget::slotItemDoubleClicked: - column-txt: " << it->text() << endl; - - band = dxccView->horizontalHeaderItem(i)->text(); - //qDebug() << "DXCCStatusWidget::slotItemDoubleClicked: band: " << band << endl; - bandi = dataProxy->getIdFromBandName(band); - //qDebug() << "DXCCStatusWidget::slotItemDoubleClicked: band: " << QString::number(bandi) << endl; - qsoId = awards->getQSOIdofAward(_entiNumb, bandi); - //qDebug() << "DXCCStatusWidget::slotItemDoubleClicked: QSOid: " << QString::number(qsoId) << endl; - if (qsoId>0) - { - qsos.append(qsoId); - } - - } - //qDebug() << "DXCCStatusWidget::slotItemDoubleClicked: - END of for" << endl; - if (qsos.length()>0) - { - //qDebug() << "DXCCStatusWidget::slotItemDoubleClicked: - qsos.length = " << QString::number(qsos.length()) << endl; - emit showQsos(qsos); - } - //qDebug() << "DXCCStatusWidget::slotItemDoubleClicked: - END of column == 1" << endl; - } - //qDebug() << "DXCCStatusWidget::slotItemDoubleClicked: END " << endl; + //qDebug() << "DXCCStatusWidget::slotItemDoubleClicked: END " << endl; } void DXCCStatusWidget::setMyLocator(const QString &_loc) { - //qDebug() << "DXCCStatusWidget::setMyLocator: " << _loc << endl; + //qDebug() << "DXCCStatusWidget::setMyLocator: " << _loc << endl; QString l = _loc; if ( locator->isValidLocator(l.toUpper()) ) { @@ -560,44 +573,3 @@ void DXCCStatusWidget::setMyLocator(const QString &_loc) } } -/* -void DXCCStatusWidget::slotRightButton(const QPoint& pos) -{ - //qDebug() << "DXCCStatusWidget::slotRighButton" << endl; - int row = (dxccView->indexAt(pos)).row(); - - showDXCCWikipediaAct = new QAction(tr("&Wikipedia"), this); - showDXCCWikipediaAct->setShortcut(Qt::CTRL + Qt::Key_W); - showDXCCWikipediaAct->setStatusTip(tr("Show this DXCC in Wikipedia")); - connect(showDXCCWikipediaAct, SIGNAL(triggered()), this, SLOT(slotWikipedia())); - - righButtonFromLogMenu(row); - -} - -void DXCCStatusWidget::slotWikipedia() -{ - //qDebug() << "DXCCStatusWidget::slotWikipedia: " << (showDXCCWikipediaAct->data()).toString() << endl; - //TODO: To be added to the DXCCStatusWidget and create an action that emist the QSO id - //int QSOid = ((logModel->index((showDXCCWikipediaAct->data()).toInt(), 0)).data(0)).toInt(); - - //qDebug() << "DXCCStatusWidget::slotQsoDeleteFromLog (id): " << QString::number(QSOid) << endl; - -} - -void DXCCStatusWidget::righButtonFromLogMenu(const int trow) -{ - //qDebug() << "DXCCStatusWidget::slotshowRighButtonFromLogMenu: " << QString::number(trow) << endl; - - //int _qsoID = ((logModel->index(trow, 0)).data(0)).toInt(); - //qDebug() << "DXCCStatusWidget::slotshowRighButtonFromLogMenu: QSOid: " << QString::number(_qsoID) << endl; - - QMenu menu(this); - - menu.addAction(showDXCCWikipediaAct); - showDXCCWikipediaAct->setData(trow); - - - menu.exec(QCursor::pos()); -} -*/ diff --git a/dxccstatuswidget.h b/dxccstatuswidget.h index 6d19b044..32d22d23 100644 --- a/dxccstatuswidget.h +++ b/dxccstatuswidget.h @@ -22,7 +22,7 @@ * 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 . * + * along with KLog. If not, see . * * * *****************************************************************************/ #include @@ -60,21 +60,14 @@ signals: public slots: //void slotSearchLineEditTextChanged(); void slotRefreshButtonClicked(); - -private slots: - //void slotRightButton(const QPoint& pos); - //void slotWikipedia(); void slotItemEntered(QTableWidgetItem * item ); void slotItemDoubleClicked(QTableWidgetItem * item ); - private: void createUI(); void setDefaultBands(); void addEntity(const QStringList &_ent); // DXCC id, bandid, bandid, ... -// void showMenuRightButtonFromLogCreateActions(); -// void righButtonFromLogMenu(const int trow); - + //QStringList sortBandNamesBottonUp(const QStringList _qs); QTableWidget *dxccView; Awards *awards; @@ -93,8 +86,6 @@ private: int logNumber, tempLog; // log in use in the log / log to be used in the widget QString loc; // The locator of the user. - QAction *showDXCCWikipediaAct; - }; #endif // DXCCSTATUSWIDGET_H diff --git a/dxcluster.cpp b/dxcluster.cpp index 8676517a..744cea32 100644 --- a/dxcluster.cpp +++ b/dxcluster.cpp @@ -20,7 +20,7 @@ email : jaime@robles.es * 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 . * +* along with KLog. If not, see . * * * *****************************************************************************/ #include "dxcluster.h" @@ -28,29 +28,25 @@ email : jaime@robles.es DXClusterWidget::DXClusterWidget(DataProxy_SQLite *dp, QWidget *parent) : QWidget(parent) { - //qDebug() << "DXClusterWidget::DXClusterWidget" << endl; + //qDebug() << "DXClusterWidget::DXClusterWidget" << endl; dataProxy = dp; constrid = 1; awards = new Awards(dataProxy, Q_FUNC_INFO); - util = new Utilities; - saveSpotsFile = new QFile(); initClass(); - //qDebug() << "DXClusterWidget::DXClusterWidget - END" << endl; + //qDebug() << "DXClusterWidget::DXClusterWidget - END" << endl; } DXClusterWidget::DXClusterWidget(DataProxy_SQLite *dp, const QString &clusterToConnect, const int portToConnect, QWidget *parent) : QWidget(parent) { - //qDebug() << "DXClusterWidget::DXClusterWidget2" << clusterToConnect << QString::number(portToConnect) << endl; + //qDebug() << "DXClusterWidget::DXClusterWidget2" << clusterToConnect << QString::number(portToConnect) << endl; constrid = 2; - util = new Utilities; - saveSpotsFile = new QFile(); initClass(); server = clusterToConnect; - port = quint16(portToConnect); + port = portToConnect; dxSpotColor.setNamedColor("slategrey"); //defaultColor.setNamedColor("slategrey"); @@ -103,7 +99,7 @@ DXClusterWidget::DXClusterWidget(DataProxy_SQLite *dp, const QString &clusterToC addData(); //TESTADDSPOT(); - //qDebug() << "DXClusterWidget::DXClusterWidget2 - END" << endl; + //qDebug() << "DXClusterWidget::DXClusterWidget2 - END" << endl; } @@ -121,10 +117,8 @@ void DXClusterWidget::initClass() showann = true; showwwv = true; showwcy = true; - saveSpots = false; myQrz = QString(); currentLog = 0; - saveSpotsFile->setFileName(util->getSaveSpotsLogFile()); } void DXClusterWidget::setMyQRZ(const QString &_qrz) @@ -138,7 +132,7 @@ void DXClusterWidget::setMyQRZ(const QString &_qrz) void DXClusterWidget::addData() { - //qDebug() << "DXClusterWidget::addData " << endl; + //qDebug() << "DXClusterWidget::addData " << endl; /* QTreeWidgetItem *item = new QTreeWidgetItem(searchResultsTreeWidget); @@ -153,21 +147,21 @@ void DXClusterWidget::addData() item->setToolTip(6, aux); */ - dxClusterSpotItem * item = new dxClusterSpotItem(dxClusterListWidget, tr("Click on connect to connect to the DX-Cluster"), awards->getDefaultColor()); + dxClusterSpotItem * item = new dxClusterSpotItem(dxClusterListWidget, tr("Click on connect to connect to the DX-Cluster"), awards->getDefaultColor()); } DXClusterWidget::~DXClusterWidget() { - //qDebug() << "DXClusterWidget::~DXClusterWidget" << endl; + //qDebug() << "DXClusterWidget::~DXClusterWidget" << endl; } void DXClusterWidget::slotClusterDXClusterWidgetItemDoubleClicked( QListWidgetItem * item ) { - //qDebug() << "DXClusterWidget::slotClusterDXClusterWidgetItemDoubleClicked: " << item->text() << endl; + //qDebug() << "DXClusterWidget::slotClusterDXClusterWidgetItemDoubleClicked: " << item->text() << endl; QStringList ql; ql.clear(); @@ -175,31 +169,31 @@ void DXClusterWidget::slotClusterDXClusterWidgetItemDoubleClicked( QListWidgetIt if (item) { ql = readItem(item); - //qDebug() << "DXClusterWidget::slotClusterDXClusterWidgetItemDoubleClicked: Length: " << QString::number(ql.length()) << endl; + //qDebug() << "DXClusterWidget::slotClusterDXClusterWidgetItemDoubleClicked: Length: " << QString::number(ql.length()) << endl; if (ql.length()==2) { ql << "double"; - //qDebug() << "DXClusterWidget::slotClusterDXClusterWidgetItemDoubleClicked: EMMITED" << endl; + //qDebug() << "DXClusterWidget::slotClusterDXClusterWidgetItemDoubleClicked: EMMITED" << endl; emit dxspotclicked(ql); } else { - //qDebug() << "DXClusterWidget::slotClusterDXClusterWidgetItemDoubleClicked: NOT EMMITED-1" << endl; + //qDebug() << "DXClusterWidget::slotClusterDXClusterWidgetItemDoubleClicked: NOT EMMITED-1" << endl; } } else { - //qDebug() << "DXClusterWidget::slotClusterDXClusterWidgetItemDoubleClicked: NOT EMMITED-2 (no item)" << endl; + //qDebug() << "DXClusterWidget::slotClusterDXClusterWidgetItemDoubleClicked: NOT EMMITED-2 (no item)" << endl; } } void DXClusterWidget::connectToDXCluster() { - //qDebug() << "DXClusterWidget::connectToDXCluster" << endl; + //qDebug() << "DXClusterWidget::connectToDXCluster" << endl; if (dxClusterConnected) { - //qDebug() << "DXClusterWidget::connectToDXCluster: - Already connected!!" << endl; + //qDebug() << "DXClusterWidget::connectToDXCluster: - Already connected!!" << endl; return; // If we are connected we don't want to start another connection } @@ -209,18 +203,17 @@ void DXClusterWidget::connectToDXCluster() connect(tcpSocket, SIGNAL(disconnected()), SLOT(slotClusterSocketConnectionClosed()) ); connect(inputCommand, SIGNAL(returnPressed()), this, SLOT(slotClusterSendToServer()) ); connect(clearButton, SIGNAL(clicked()), this, SLOT(slotClusterClearLineInput()) ); - //openFile(); // This functions opens the file to save the DX-Cluster activity. The file will be closed when the DX is disconnected. + tcpSocket->connectToHost( server, port ); dxClusterListWidget->setSortingEnabled (false); dxClusterSpotItem * item = new dxClusterSpotItem(dxClusterListWidget, tr("Trying to connect to the server") + "\n", awards->getDefaultColor()); - } void DXClusterWidget::slotClusterDisplayError(QAbstractSocket::SocketError socketError) { - //qDebug() << "DXClusterWidget:displayError:" << endl; + //qDebug() << "DXClusterWidget:displayError:" << endl; switch (socketError) { case QAbstractSocket::RemoteHostClosedError: break; @@ -247,74 +240,74 @@ void DXClusterWidget::slotClusterDisplayError(QAbstractSocket::SocketError socke bool DXClusterWidget::checkIfNeedsToBePrinted(const QString &_DXEntity, int const _band, const int _mode) { - //qDebug() << "DXClusterWidget::checkIfNeedsToBePrinted: " << _DXEntity << "/" << dataProxy->getNameFromBandId(_band) << QString::number(_mode)<< endl; + //qDebug() << "DXClusterWidget::checkIfNeedsToBePrinted: " << _DXEntity << "/" << dataProxy->getNameFromBandId(_band) << QString::number(_mode)<< endl; QStringList qs; qs.clear(); qs << _DXEntity << QString::number(_band) << QString::number(_mode) << QString::number(currentLog); //bool isConfirmed = false; bool status = awards->isThisSpotConfirmed (qs); - //qDebug() << "DXClusterWidget::checkIfNeedsToBePrinted: Status: " << _DXEntity << "/" << QString::number(status); + //qDebug() << "DXClusterWidget::checkIfNeedsToBePrinted: Status: " << _DXEntity << "/" << QString::number(status); if (!showconfirmed) { - //qDebug() << "DXClusterWidget::checkIfNeedsToBePrinted: is confirmed? ("<< QString::number(status)<< ")" << endl; + //qDebug() << "DXClusterWidget::checkIfNeedsToBePrinted: is confirmed? ("<< QString::number(status)<< ")" << endl; if (status) { - //qDebug() << "DXClusterWidget::checkIfNeedsToBePrinted: It is confirmed: DON'T' print: " << _DXEntity <<"/" << dataProxy->getNameFromBandId(_band) << endl; + //qDebug() << "DXClusterWidget::checkIfNeedsToBePrinted: It is confirmed: DON'T' print: " << _DXEntity <<"/" << dataProxy->getNameFromBandId(_band) << endl; return false; } } if (!showhf) { - //qDebug() << "DXClusterWidget::checkIfNeedsToBePrinted: is HF?" << endl; + //qDebug() << "DXClusterWidget::checkIfNeedsToBePrinted: is HF?" << endl; if (dataProxy->isHF(_band)) { - //qDebug() << "DXClusterWidget::checkIfNeedsToBePrinted: Not showing HF but... is it WARC?" << endl; + //qDebug() << "DXClusterWidget::checkIfNeedsToBePrinted: Not showing HF but... is it WARC?" << endl; if ( (showwarc) && dataProxy->isWARC(_band) ) { - //qDebug() << "DXClusterWidget::checkIfNeedsToBePrinted: Not showing HF but... is WARC, print!" << endl; + //qDebug() << "DXClusterWidget::checkIfNeedsToBePrinted: Not showing HF but... is WARC, print!" << endl; return true; } - //qDebug() << "DXClusterWidget::checkIfNeedsToBePrinted: is HF: DON'T print: "<< _DXEntity << "/" << dataProxy->getNameFromBandId(_band) << QString::number(_mode)<< endl; + //qDebug() << "DXClusterWidget::checkIfNeedsToBePrinted: is HF: DON'T print: "<< _DXEntity << "/" << dataProxy->getNameFromBandId(_band) << QString::number(_mode)<< endl; return false; } else { - //qDebug() << "DXClusterWidget::checkIfNeedsToBePrinted: is NOT HF" << endl; + //qDebug() << "DXClusterWidget::checkIfNeedsToBePrinted: is NOT HF" << endl; } } if (!showwarc) { - //qDebug() << "DXClusterWidget::checkIfNeedsToBePrinted: is WARC?" << endl; + //qDebug() << "DXClusterWidget::checkIfNeedsToBePrinted: is WARC?" << endl; if (dataProxy->isWARC(_band)) { - //qDebug() << "DXClusterWidget::checkIfNeedsToBePrinted: is WARC, DON'T print: "<< _DXEntity << "/" << dataProxy->getNameFromBandId(_band) << QString::number(_mode)<< endl; + //qDebug() << "DXClusterWidget::checkIfNeedsToBePrinted: is WARC, DON'T print: "<< _DXEntity << "/" << dataProxy->getNameFromBandId(_band) << QString::number(_mode)<< endl; return false; } else { - //qDebug() << "DXClusterWidget::checkIfNeedsToBePrinted: is NOT WARC" << endl; + //qDebug() << "DXClusterWidget::checkIfNeedsToBePrinted: is NOT WARC" << endl; } } if (!showvhf) { - //qDebug() << "DXClusterWidget::checkIfNeedsToBePrinted: is VHF?" << endl; + //qDebug() << "DXClusterWidget::checkIfNeedsToBePrinted: is VHF?" << endl; if (dataProxy->isVHF(_band)) { - //qDebug() << "DXClusterWidget::checkIfNeedsToBePrinted: is VHF, DON'T print: "<< _DXEntity << "/" << dataProxy->getNameFromBandId(_band) << QString::number(_mode)<< endl; + //qDebug() << "DXClusterWidget::checkIfNeedsToBePrinted: is VHF, DON'T print: "<< _DXEntity << "/" << dataProxy->getNameFromBandId(_band) << QString::number(_mode)<< endl; return false; } else { - //qDebug() << "DXClusterWidget::checkIfNeedsToBePrinted: is NOT VHF " << endl; + //qDebug() << "DXClusterWidget::checkIfNeedsToBePrinted: is NOT VHF " << endl; } } - //qDebug() << "DXClusterWidget::checkIfNeedsToBePrinted: returns TRUE and will be printed: " << _DXEntity << "/" << dataProxy->getNameFromBandId(_band) << QString::number(_mode)<< endl; + //qDebug() << "DXClusterWidget::checkIfNeedsToBePrinted: returns TRUE and will be printed: " << _DXEntity << "/" << dataProxy->getNameFromBandId(_band) << QString::number(_mode)<< endl; return true; } @@ -333,7 +326,7 @@ void DXClusterWidget::setCurrentLog(const int _log) void DXClusterWidget::slotClusterDataArrived() { - //qDebug() << "DXClusterWidget::slotClusterDataArrived" << endl; + //qDebug() << "DXClusterWidget::slotClusterDataArrived" << endl; QStringList qs; QString dxClusterString; QString dxCall; @@ -343,11 +336,9 @@ void DXClusterWidget::slotClusterDataArrived() //bool isADXSpot = false; int dxEntity = -1; - while ( tcpSocket->canReadLine() ) - { + while ( tcpSocket->canReadLine() ) { dxClusterString = tcpSocket->readLine(); dxClusterString = dxClusterString.trimmed(); - saveSpot(dxClusterString); QStringList tokens = dxClusterString.split(" ", QString::SkipEmptyParts); if (tokens.size()<2){ @@ -355,18 +346,18 @@ void DXClusterWidget::slotClusterDataArrived() } // It is a "DX de SP0TTER FREC DXCALL" //0 = DX, 1 = de, 2 = spotter, 3 = Freq, 4 = dxcall, 5 = comment - //qDebug() << "DXClusterWidget::slotClusterDataArrived: " << "DXCLUSTER->" << dxClusterString << "\nTOKENS: " << tokens << endl; + //qDebug() << "DXClusterWidget::slotClusterDataArrived: " << "DXCLUSTER->" << dxClusterString << "\nTOKENS: " << tokens << endl; if ((tokens[0] == "DX") && (tokens[1] == "de")) { - //qDebug() << "******************** DXClusterWidget::slotClusterDataArrived: DX DE" << endl; + //qDebug() << "******************** DXClusterWidget::slotClusterDataArrived: DX DE" << endl; //isADXSpot = true; QString spotter = tokens[2]; spotter.truncate(spotter.size() - 1); dxFrequency = tokens[3]; // Convert KHz to MHz... //dxFrequency = QString::number(abs (dxFrequency.toFloat())/1000); - dxFrequency = QString::number( (dxFrequency.toDouble())/1000); + dxFrequency = QString::number( (dxFrequency.toFloat())/1000); dxCall = tokens[4]; dxEntity = world->getQRZARRLId(dxCall); // @@ -376,7 +367,7 @@ void DXClusterWidget::slotClusterDataArrived() qs.clear(); //spotBand = QString::number(world->getBandIdFromFreq( dxFrequency ) ); qs << QString::number(dxEntity) << spotBand << "-1" << QString::number(currentLog) ; - //qDebug() << "DXClusterWidget::slotClusterDataArrived: Calling-2: " << QString::number(dxEntity) << endl; + //qDebug() << "DXClusterWidget::slotClusterDataArrived: Calling-2: " << QString::number(dxEntity) << endl; dxSpotColor = awards->getQRZDXStatusColor(qs); if (showDxMarathon) { @@ -387,29 +378,29 @@ void DXClusterWidget::slotClusterDataArrived() } - //qDebug() << "DX de ->" << "Spotter: " << spotter << "Freq: "<< dxFrequency << "DX: " << dxCall << endl; + //qDebug() << "DX de ->" << "Spotter: " << spotter << "Freq: "<< dxFrequency << "DX: " << dxCall << endl; } else if ((tokens[0] == "To") && (tokens[1] == "ALL")) { - //qDebug() << "DXClusterWidget::slotClusterDataArrived: TO ALL" << endl; + //qDebug() << "DXClusterWidget::slotClusterDataArrived: TO ALL" << endl; dxSpotColor = awards->getDefaultColor(); } else if ( (dxClusterString.length()>=5) && (world->checkQRZValidFormat(tokens[1])) && (tokens[0]!="login:")) { // Freq / DXCall / Date // time //_qs << QRZ << Freq in MHz << lognumber; - //qDebug() << "DXClusterWidget::slotClusterDataArrived: LENGTH >= 5" << endl; - //qDebug() << "DXClusterWidget::slotClusterDataArrived: token0=" << tokens[0] << " / token1=" << tokens[1] << endl; + //qDebug() << "DXClusterWidget::slotClusterDataArrived: LENGTH >= 5" << endl; + //qDebug() << "DXClusterWidget::slotClusterDataArrived: token0=" << tokens[0] << " / token1=" << tokens[1] << endl; //isADXSpot = true; dxCall = tokens[1]; dxFrequency = tokens[0]; - dxFrequency = QString::number( (dxFrequency.toDouble())/1000); + dxFrequency = QString::number( (dxFrequency.toFloat())/1000); qs.clear(); spotBand = QString::number(dataProxy->getBandIdFromFreq( dxFrequency.toDouble() ) ); dxEntity = world->getQRZARRLId(dxCall); - //qDebug() << "DXClusterWidget::slotClusterDataArrived: Calling-1: " << QString::number(dxEntity) << endl; + //qDebug() << "DXClusterWidget::slotClusterDataArrived: Calling-1: " << QString::number(dxEntity) << endl; qs << QString::number(dxEntity) << spotBand << "-1" << QString::number(currentLog) ; dxSpotColor = awards->getQRZDXStatusColor(qs); if (showDxMarathon) @@ -424,7 +415,7 @@ void DXClusterWidget::slotClusterDataArrived() } else { - //qDebug() << "DXClusterWidget::slotClusterDataArrived: DEFAULT" << endl; + //qDebug() << "DXClusterWidget::slotClusterDataArrived: DEFAULT" << endl; dxSpotColor = awards->getDefaultColor(); } @@ -433,12 +424,12 @@ void DXClusterWidget::slotClusterDataArrived() //qs << dxCall << spotBand << "0"; //dxSpotColor = awards->getQRZDXStatusColor(qs); - //qDebug() << "DXClusterWidget::slotClusterDataArrived: Call/dxSpotColor: " << dxCall <<"/"<< dxSpotColor.name() << endl; + //qDebug() << "DXClusterWidget::slotClusterDataArrived: Call/dxSpotColor: " << dxCall <<"/"<< dxSpotColor.name() << endl; //dxClusterSpotItem * item = new dxClusterSpotItem(dxClusterListWidget, dxClusterString, dxSpotColor); //TODO: Change the "-1" by the mode if (!checkIfNeedsToBePrinted(QString::number(dxEntity), spotBand.toInt(), -1)) { - //qDebug() << "DXClusterWidget::slotClusterDataArrived - Not to be printed!: " << dxCall << endl; + //qDebug() << "DXClusterWidget::slotClusterDataArrived - Not to be printed!: " << dxCall << endl; return; } @@ -479,15 +470,15 @@ void DXClusterWidget::slotClusterDataArrived() //dxClusterListWidget->insertItem(0,item); } - //qDebug() << "--------------------- DXClusterWidget::slotClusterDataArrived: " << dxClusterString << endl; + //qDebug() << "--------------------- DXClusterWidget::slotClusterDataArrived: " << dxClusterString << endl; - //qDebug() << "DXClusterWidget::slotClusterDataArrived: " << dxClusterString << endl; + //qDebug() << "DXClusterWidget::slotClusterDataArrived: " << dxClusterString << endl; } void DXClusterWidget::slotClusterSocketConnected() { - //qDebug() << "DXClusterWidget::slotClusterSocketConnected" << endl; + //qDebug() << "DXClusterWidget::slotClusterSocketConnected" << endl; QListWidgetItem *item = new QListWidgetItem(); item->setForeground(QBrush(awards->getDefaultColor())); @@ -532,7 +523,7 @@ void DXClusterWidget::slotClusterSocketConnected() void DXClusterWidget::slotClusterSocketConnectionClosed() { - //qDebug() << "DXClusterWidget::slotClusterSocketConnectionClosed" << endl; + //qDebug() << "DXClusterWidget::slotClusterSocketConnectionClosed" << endl; QListWidgetItem *item = new QListWidgetItem(); item->setForeground(QBrush(awards->getDefaultColor())); item->setText(tr("Connection closed by the server")); @@ -548,7 +539,7 @@ void DXClusterWidget::slotClusterSocketConnectionClosed() void DXClusterWidget::slotClusterSendToServer() { - //qDebug() << "DXClusterWidget::slotClusterSendToServer()" << endl; + //qDebug() << "DXClusterWidget::slotClusterSendToServer()" << endl; if (!dxClusterConnected) { @@ -557,7 +548,7 @@ void DXClusterWidget::slotClusterSendToServer() } if ( inputCommand ->text().length() < 1 ) { - //qDebug() << "DXClusterWidget::slotClusterSendToServer() - Vacio..." << endl; + //qDebug() << "DXClusterWidget::slotClusterSendToServer() - Vacio..." << endl; QTextStream os(tcpSocket); os << "bye\n"; return; @@ -570,7 +561,7 @@ void DXClusterWidget::slotClusterSendToServer() void DXClusterWidget::slotClusterClearLineInput() { - //qDebug() << "DXClusterWidget::slotClusterClearLineInput" << endl; + //qDebug() << "DXClusterWidget::slotClusterClearLineInput" << endl; if ( ((inputCommand->text()).length()) <= 0 ) { @@ -592,7 +583,7 @@ void DXClusterWidget::slotClusterClearLineInput() void DXClusterWidget::slotClusterInputTextChanged() { - //qDebug() << "DXClusterWidget::slotClusterInputTextChanged" << endl; + //qDebug() << "DXClusterWidget::slotClusterInputTextChanged" << endl; if ( ((inputCommand->text()).length()) <= 0 ) { @@ -610,7 +601,7 @@ void DXClusterWidget::slotClusterInputTextChanged() void DXClusterWidget::setColors (const QString &_newOne, const QString &_needed, const QString &_worked, const QString &_confirmed, const QString &_default) { - //qDebug() << "DXClusterWidget::setColors: " << _newOne << "/" << _needed << "/" << _worked << "/" << _confirmed << "/" << _default << endl; + //qDebug() << "DXClusterWidget::setColors: " << _newOne << "/" << _needed << "/" << _worked << "/" << _confirmed << "/" << _default << endl; // Just to pass the colors to the awards class awards->setColors(_newOne, _needed, _worked, _confirmed, _default); @@ -618,7 +609,7 @@ void DXClusterWidget::setColors (const QString &_newOne, const QString &_needed, void DXClusterWidget::setDXClusterSpotConfig(bool _showhf, bool _showvhf, bool _showwarc, bool _showworked, bool _showconfirmed, bool _showann, bool _showwwv, bool _showwcy ) { - //qDebug() << "DXClusterWidget::setDXClusterSpotConfig " << endl; + //qDebug() << "DXClusterWidget::setDXClusterSpotConfig " << endl; showhf = _showhf; showvhf = _showvhf; @@ -632,7 +623,7 @@ void DXClusterWidget::setDXClusterSpotConfig(bool _showhf, bool _showvhf, bool _ void DXClusterWidget::slotClusterDXClusterWidgetItemSelected() { - //qDebug() << "DXClusterWidget::slotClusterDXClusterWidgetItemSelected " << endl; + //qDebug() << "DXClusterWidget::slotClusterDXClusterWidgetItemSelected " << endl; QListWidgetItem * item = dxClusterListWidget->currentItem(); QStringList ql; @@ -652,7 +643,7 @@ void DXClusterWidget::slotClusterDXClusterWidgetItemSelected() void DXClusterWidget::slotClusterDXClusterWidgetItemEntered( QListWidgetItem * item ) { - //qDebug() << "DXClusterWidget::slotClusterDXClusterWidgetItemEntered" << endl; + //qDebug() << "DXClusterWidget::slotClusterDXClusterWidgetItemEntered" << endl; /* This code comes from slotClusterDXClusterWidgetItemDoubleClicked */ @@ -687,7 +678,7 @@ bool DXClusterWidget::isConnected() QStringList DXClusterWidget::readItem(QListWidgetItem * item) { - //qDebug() << "DXClusterWidget::readItem" << endl; + //qDebug() << "DXClusterWidget::readItem" << endl; QStringList fields; QString dxClusterString; @@ -698,7 +689,7 @@ QStringList DXClusterWidget::readItem(QListWidgetItem * item) if (item) { fields.clear(); - dxClusterString = ((item->data(0)).toString()).simplified(); + dxClusterString = ((item->data(0)).toString()).simplified(); fields << dxClusterString.split(" "); (fields.at(0)).toFloat(&FirstFrecOK); // Just to see if the first string is a frecuency @@ -708,7 +699,7 @@ QStringList DXClusterWidget::readItem(QListWidgetItem * item) if ( world->getQRZARRLId(fields.at(4))> 0 ) { - //qDebug() << "DXClusterWidget::slotClusterDXClusterWidgetItemDoubleClicked: ARRLid: " << QString::number(world->getQRZARRLId(fields.at(4))) << endl; + //qDebug() << "DXClusterWidget::slotClusterDXClusterWidgetItemDoubleClicked: ARRLid: " << QString::number(world->getQRZARRLId(fields.at(4))) << endl; dxCallsign = (fields.at(4)).toUpper(); (fields.at(3)).toFloat(&FirstFrecOK); if (FirstFrecOK) @@ -730,14 +721,14 @@ QStringList DXClusterWidget::readItem(QListWidgetItem * item) else { // The call is not from a valid country // TODO: if it is from a new entity/prefix it would not work. - //qDebug() << "DXClusterWidget::slotClusterDXClusterWidgetItemDoubleClicked: Entity not valid" << endl; + //qDebug() << "DXClusterWidget::slotClusterDXClusterWidgetItemDoubleClicked: Entity not valid" << endl; dxCallsign.clear(); dxFreq.clear(); fields.clear(); } } //else if (( isAFrecuency(fields.at(0) ) ) && ( isACall(fields.at(1)) ) ) - else if ( (((fields.at(0)).toDouble()) > 0.0 )&& ( world->getQRZARRLId(fields.at(1))> 0 ) ) + else if ( (((fields.at(0)).toFloat()) > 0.0 )&& ( world->getQRZARRLId(fields.at(1))> 0 ) ) { // 14205.0 EA0JC 5-Mar-2012 1500Z dxCallsign = (fields.at(1)).toUpper(); @@ -764,8 +755,8 @@ QStringList DXClusterWidget::readItem(QListWidgetItem * item) void DXClusterWidget::setDXClusterServer(const QString &clusterToConnect, const int portToConnect) { server = clusterToConnect; - port = quint16(portToConnect); - //qDebug() << "DXClusterWidget::setDXClusterServer: " << server << ":"<< QString::number(port) << endl; + port = portToConnect; + //qDebug() << "DXClusterWidget::setDXClusterServer: " << server << ":"<< QString::number(port) << endl; } void DXClusterWidget::setDXMarathon (const bool _enable) @@ -773,64 +764,10 @@ void DXClusterWidget::setDXMarathon (const bool _enable) showDxMarathon = _enable; } -void DXClusterWidget::setSaveSpots (const bool _enable) -{ - saveSpots = _enable; -} - -bool DXClusterWidget::openFile() -{ - if (saveSpotsFile->isOpen()) - { - return true; - } - if (!saveSpotsFile->open(QIODevice::WriteOnly | QIODevice::Text | QIODevice::Append)) - { - QMessageBox msgBox; - msgBox.setIcon(QMessageBox::Warning); - QString aux = tr("It was not possible to open the file to save the DX-Spots for writing. DX-Cluster activity will not be saved!"); - msgBox.setText(aux); - msgBox.setStandardButtons(QMessageBox::Ok); - msgBox.setDefaultButton(QMessageBox::Ok); - msgBox.exec(); - return false; - } - else - { - return true; - } -} - -void DXClusterWidget::saveSpot(const QString &_spot) -{ - //qDebug() << "DXClusterWidget::saveSpot: " << _spot << endl; - if (!saveSpots) - { - //qDebug() << "DXClusterWidget::saveSpot: Not saving" << endl; - return; - } - else - { - if (openFile()) - { - //qDebug() << "DXClusterWidget::saveSpot: File Open" << endl; - QTextStream out(saveSpotsFile); - //out << _spot << endl; - out << (QDateTime::currentDateTime()).toString("yyyy/MM/dd-hh:mm:ss") << " - " << _spot << endl; - saveSpotsFile->close(); - } - else { - { - //qDebug() << "DXClusterWidget::saveSpot: File NOT Open" << endl; - } - } - } -} - /* void DXClusterWidget::TESTADDSPOT() { - //qDebug() << "DXClusterWidget::TESTADDSPOT " << endl; + //qDebug() << "DXClusterWidget::TESTADDSPOT " << endl; ; // Just a test spot QListWidgetItem *item = new QListWidgetItem(); item->setForeground(QBrush(dxSpotColor)); @@ -838,17 +775,13 @@ void DXClusterWidget::TESTADDSPOT() dxClusterListWidget->insertItem(0,item); } */ - - - - /*************************************************************************** ** This is an auxiliary class intended to provide color to the DX-Cluster ** ** spots. ** ** It may be moved to a self .h & .cpp archives ** ****************************************************************************/ dxClusterSpotItem::dxClusterSpotItem( QListWidget *parent, const QString& spot, const QColor& color ) : QListWidgetItem( parent ){ - //qDebug() << "dxClusterSpotItem::dxClusterSpotItem - Constructor" << endl; + //qDebug() << "dxClusterSpotItem::dxClusterSpotItem - Constructor" << endl; spotColor = color; setText(spot); // Experimenting with fonts for the cluster @@ -859,6 +792,6 @@ dxClusterSpotItem::dxClusterSpotItem( QListWidget *parent, const QString& spot, dxClusterSpotItem::~dxClusterSpotItem() { - //qDebug() << "dxClusterSpotItem::dxClusterSpotItem - Destructor" << endl; + //qDebug() << "dxClusterSpotItem::dxClusterSpotItem - Destructor" << endl; } diff --git a/dxcluster.h b/dxcluster.h index 713bcafa..8ffe7132 100644 --- a/dxcluster.h +++ b/dxcluster.h @@ -22,7 +22,7 @@ email : jaime@robles.es * 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 . * +* along with KLog. If not, see . * * * *****************************************************************************/ @@ -33,7 +33,6 @@ email : jaime@robles.es #include #include "awards.h" #include "world.h" -#include "utilities.h" #include "dataproxy_sqlite.h" class QWidget; @@ -54,7 +53,6 @@ class DXClusterWidget : public QWidget bool isConnected(); void setMyQRZ(const QString &_qrz); void setDXMarathon (const bool _enable); - void setSaveSpots (const bool _enable); //void sendSpotToCluster(const QString &_dx, const QString &_freq); @@ -76,7 +74,6 @@ private slots: signals: void dxspotclicked(const QStringList &_qs); // DXSpotCall, DX-Freq, doubleClicked - //void dxspot(const QString &_spot); // The text string to be saved private: @@ -86,10 +83,8 @@ private: void connectToDXCluster(); QStringList readItem(QListWidgetItem * item); bool checkIfNeedsToBePrinted(const QString &_DXEntity, const int _band, const int _mode); - void saveSpot (const QString &_spot); - bool openFile(); - void addData(); //TO BE DELETED, JUST FOR TESTING PURPOSES + void addData(); //TO BE DELETED, JUST FOR TESTING PURPOSES QTcpSocket *tcpSocket; QListWidget *dxClusterListWidget; @@ -108,19 +103,14 @@ private: World *world; Awards *awards; DataProxy_SQLite *dataProxy; - Utilities *util; bool showhf, showvhf, showwarc, showworked, showconfirmed, showann, showwwv, showwcy; bool dxClusterShowHF, dxClusterShowVHF, dxClusterShowWARC, dxClusterShowWorked, dxClusterShowConfirmed, dxClusterShowAnn, dxClusterShowWWV, dxClusterShowWCY; bool showDxMarathon; - QString myQrz; int currentLog; + int constrid; // Just an id for the constructor to check who is being executed at one specific time - - QFile *saveSpotsFile; - bool saveSpots; // write/save the spots to a file - }; class dxClusterSpotItem : public QListWidgetItem { diff --git a/elogclublog.cpp b/elogclublog.cpp index 2b99c17a..4c8d2a8b 100644 --- a/elogclublog.cpp +++ b/elogclublog.cpp @@ -9,7 +9,7 @@ eLogClubLog::eLogClubLog() : QObject(nullptr) { - //qDebug() << "eLogClubLog::eLogClubLog" << endl; + //qDebug() << "eLogClubLog::eLogClubLog" << endl; call= QString(); email = QString(); pass = QString(); @@ -17,21 +17,21 @@ eLogClubLog::eLogClubLog() : QObject(nullptr) currentQSO = -1; useQSOStationCallsign = false; stationCallsign = QString(); - //qDebug() << "eLogClubLog::eLogClubLog - END" << endl; + //qDebug() << "eLogClubLog::eLogClubLog - END" << endl; } eLogClubLog::~eLogClubLog() { - //qDebug() << "eLogClubLog::~eLogClubLog" << endl; + //qDebug() << "eLogClubLog::~eLogClubLog" << endl; } void eLogClubLog::slotQsoUploadFinished(QNetworkReply *data) { - //qDebug() << "eLogClubLog::slotQsoUploadFinished" << endl; + //qDebug() << "eLogClubLog::slotQsoUploadFinished" << endl; result = data->error(); - //qDebug() << "eLogClubLog::slotQsoUploadFinished - Result = " << QString::number(result) << endl; + //qDebug() << "eLogClubLog::slotQsoUploadFinished - Result = " << QString::number(result) << endl; const QByteArray sdata = data->readAll(); @@ -48,28 +48,28 @@ eLogClubLog::~eLogClubLog() { text = "ClubLog: " + prepareToTranslate(sdata); - //qDebug() << sdata; + //qDebug() << sdata; } else if (result == QNetworkReply::HostNotFoundError) { - //qDebug() << "eLogClubLog::slotQsoUploadFinished - Result = Host Not found! = " << QString::number(result) << endl; + //qDebug() << "eLogClubLog::slotQsoUploadFinished - Result = Host Not found! = " << QString::number(result) << endl; text = "ClubLog: " + tr("Host not found!"); //TODO: Mark the previous QSO as not sent to clublog } else if (result == QNetworkReply::TimeoutError) { - //qDebug() << "eLogClubLog::slotQsoUploadFinished - Result = Time out error! = " << QString::number(result) << endl; + //qDebug() << "eLogClubLog::slotQsoUploadFinished - Result = Time out error! = " << QString::number(result) << endl; text = "ClubLog: " + tr("Timeout error!"); //TODO: Mark the previous QSO as not sent to clublog } else if (result == 202) { - //qDebug() << "eLogClubLog::slotQsoUploadFinished - Result = Password Error! = " << QString::number(result) << endl; + //qDebug() << "eLogClubLog::slotQsoUploadFinished - Result = Password Error! = " << QString::number(result) << endl; text = "ClubLog: " + tr("It seems to be a PASSWORD ERROR; check your password."); - QMessageBox::warning(nullptr, tr("KLog - ClubLog"), + QMessageBox::warning(0, tr("KLog - ClubLog"), tr("It seems that your ClubLog password is not correct.") + "\n" + tr("Please check your password in the setup. ClubLog uploads will be disabled."), QMessageBox::Ok); @@ -80,12 +80,12 @@ eLogClubLog::~eLogClubLog() } else { - //qDebug() << "eLogClubLog::slotQsoUploadFinished - Result = UNDEFINED = " << QString::number(result) << endl; + //qDebug() << "eLogClubLog::slotQsoUploadFinished - Result = UNDEFINED = " << QString::number(result) << endl; text = "ClubLog: " + tr("Undefined error..."); //TODO: Mark the previous QSO as not sent to clublog } - //qDebug() << "eLogClubLog::slotQsoUploadFinished - Result = " << QString::number(result) << endl; + //qDebug() << "eLogClubLog::slotQsoUploadFinished - Result = " << QString::number(result) << endl; //emit done(); emit showMessage(text); @@ -93,10 +93,10 @@ eLogClubLog::~eLogClubLog() void eLogClubLog::slotFileUploadFinished(QNetworkReply *data) { - //qDebug() << "eLogClubLog::slotFileUploadFinished" << endl; + //qDebug() << "eLogClubLog::slotFileUploadFinished" << endl; result = data->error(); - //qDebug() << "eLogClubLog::slotFileUploadFinished - Result = " << QString::number(result) << endl; + //qDebug() << "eLogClubLog::slotFileUploadFinished - Result = " << QString::number(result) << endl; const QByteArray sdata = data->readAll(); @@ -107,42 +107,42 @@ void eLogClubLog::slotFileUploadFinished(QNetworkReply *data) { text = "ClubLog: " + prepareToTranslate(sdata); - //qDebug() << "eLogClubLog::slotFileUploadFinished - Result = NoError = " << QString::number(result) << endl; - //qDebug() << sdata; + //qDebug() << "eLogClubLog::slotFileUploadFinished - Result = NoError = " << QString::number(result) << endl; + //qDebug() << sdata; } else if (result == QNetworkReply::HostNotFoundError) { - //qDebug() << "eLogClubLog::slotFileUploadFinished - Result = Host Not found! = " << QString::number(result) << endl; + //qDebug() << "eLogClubLog::slotFileUploadFinished - Result = Host Not found! = " << QString::number(result) << endl; text = "ClubLog: " + tr("Host not found!"); } else if (result == QNetworkReply::TimeoutError) { - //qDebug() << "eLogClubLog::slotFileUploadFinished - Result = Time out error! = " << QString::number(result) << endl; + //qDebug() << "eLogClubLog::slotFileUploadFinished - Result = Time out error! = " << QString::number(result) << endl; text = "ClubLog: " + tr("Timeout error!"); } else { - //qDebug() << "eLogClubLog::slotFileUploadFinished - Result = UNDEFINED = " << QString::number(result) << endl; + //qDebug() << "eLogClubLog::slotFileUploadFinished - Result = UNDEFINED = " << QString::number(result) << endl; text = "ClubLog: " + tr("Undefined error..."); } - //qDebug() << "eLogClubLog::slotFileUploadFinished - Result = " << QString::number(result) << endl; + //qDebug() << "eLogClubLog::slotFileUploadFinished - Result = " << QString::number(result) << endl; //emit done(); emit showMessage(text); } void eLogClubLog::downloadProgress(qint64 received, qint64 total) { - //qDebug() << "eLogClubLog::downloadProgress: " << QString::number(received) << "/" << QString::number(total) << endl; + //qDebug() << "eLogClubLog::downloadProgress: " << QString::number(received) << "/" << QString::number(total) << endl; - //qDebug() << received << total; + //qDebug() << received << total; emit actionShowProgres(received, total); } void eLogClubLog::slotErrorManagement(QNetworkReply::NetworkError networkError) { - //qDebug() << "eLogClubLog::slotErrorManagement: " << QString::number(networkError) << endl; + //qDebug() << "eLogClubLog::slotErrorManagement: " << QString::number(networkError) << endl; result = networkError; if (result == QNetworkReply::NoError) @@ -150,11 +150,11 @@ void eLogClubLog::slotErrorManagement(QNetworkReply::NetworkError networkError) } else if (result == QNetworkReply::HostNotFoundError) { - //qDebug() << "eLogClubLog::slotErrorManagement: Host not found" << endl; + //qDebug() << "eLogClubLog::slotErrorManagement: Host not found" << endl; } else { - //qDebug() << "eLogClubLog::slotErrorManagement: ERROR!" << endl; + //qDebug() << "eLogClubLog::slotErrorManagement: ERROR!" << endl; } //actionError(result); @@ -163,8 +163,8 @@ void eLogClubLog::slotErrorManagement(QNetworkReply::NetworkError networkError) int eLogClubLog::sendQSO(QStringList _qso) { - //qDebug() << "eLogClubLog::sendQSO: " << call <<"/"<< email << "/" << pass << "/" << api << endl; - //qDebug() << "eLogClubLog::sendQSO:: length = " << QString::number(_qso.length()) << endl; + //qDebug() << "eLogClubLog::sendQSO: " << call <<"/"<< email << "/" << pass << "/" << api << endl; + //qDebug() << "eLogClubLog::sendQSO:: length = " << QString::number(_qso.length()) << endl; // First Data in the QStringList is the QSO id, not to be sent to clublog but used in the signal actionReturnDownload(const int _i, const int _qsoId); if (_qso.length()!=18) @@ -180,19 +180,19 @@ int eLogClubLog::sendQSO(QStringList _qso) { stationCallsign = _qso.last(); } - //qDebug() << "eLogClubLog::sendQSO (stationCallsign = " << _qso.last() << ")" << endl; + //qDebug() << "eLogClubLog::sendQSO (stationCallsign = " << _qso.last() << ")" << endl; _qso.removeLast(); QString qso = getClubLogAdif(_qso); - //qDebug() << "eLogClubLog::sendQSO: " << qso << endl; + //qDebug() << "eLogClubLog::sendQSO: " << qso << endl; return sendData(qso); } -int eLogClubLog::sendData(const QString &_q) +int eLogClubLog::sendData(const QString _q) { - //qDebug() << "eLogClubLog::sendData: " << _q << endl; + //qDebug() << "eLogClubLog::sendData: " << _q << endl; //Posiblemente tenga que usar una de estas: void QUrlQuery::addQueryItem(const QString & key, const QString & value) @@ -208,12 +208,12 @@ int eLogClubLog::sendData(const QString &_q) if ((useQSOStationCallsign) && (stationCallsign.length()>2)) { params.addQueryItem("callsign",stationCallsign); - //qDebug() << "eLogClubLog::sendData - callsign 1: " << stationCallsign << endl; + //qDebug() << "eLogClubLog::sendData - callsign 1: " << stationCallsign << endl; } else { params.addQueryItem("callsign",call); - //qDebug() << "eLogClubLog::sendData - callsign 2: " << call << endl; + //qDebug() << "eLogClubLog::sendData - callsign 2: " << call << endl; } params.addQueryItem("api",api); @@ -227,12 +227,12 @@ int eLogClubLog::sendData(const QString &_q) if ((useQSOStationCallsign) && (stationCallsign.length()>2)) { params.addQueryItem("callsign",stationCallsign); - //qDebug() << "eLogClubLog::sendData - callsign 1: " << stationCallsign << endl; + //qDebug() << "eLogClubLog::sendData - callsign 1: " << stationCallsign << endl; } else { params.addQueryItem("callsign",call); - //qDebug() << "eLogClubLog::sendData - callsign 2: " << call << endl; + //qDebug() << "eLogClubLog::sendData - callsign 2: " << call << endl; } params.addQueryItem("api",api); @@ -259,7 +259,7 @@ int eLogClubLog::sendData(const QString &_q) QString eLogClubLog::getClubLogAdif(const QStringList _q) { - //qDebug() << "eLogClubLog::getClubLogAdif: " << QString::number(_q.length()) << endl; + //qDebug() << "eLogClubLog::getClubLogAdif: " << QString::number(_q.length()) << endl; // _qso must include 16 ordered fields than can be empty or contain data. This function builds the ADIF QSO /* http://clublog.freshdesk.com/support/solutions/articles/53202-which-adif-fields-does-club-log-use- ClubLog only accepts the following ADIF fields: @@ -297,19 +297,19 @@ ClubLog only accepts the following ADIF fields: //qso = "" + _q.at(0) + " "; qso = qso + "" + _q.at(1) + " "; - //qDebug() << "eLogClubLog::getClubLogAdif: 10" << endl; + //qDebug() << "eLogClubLog::getClubLogAdif: 10" << endl; qso = qso + "" + _q.at(2) + " "; - //qDebug() << "eLogClubLog::getClubLogAdif: 20" << endl; + //qDebug() << "eLogClubLog::getClubLogAdif: 20" << endl; qso = qso + "" + _q.at(3) + " "; - //qDebug() << "eLogClubLog::getClubLogAdif: 30" << endl; + //qDebug() << "eLogClubLog::getClubLogAdif: 30" << endl; qso = qso + "" + _q.at(4) + " "; - //qDebug() << "eLogClubLog::getClubLogAdif: 40" << endl; + //qDebug() << "eLogClubLog::getClubLogAdif: 40" << endl; qso = qso + "" + _q.at(5) + " "; - //qDebug() << "eLogClubLog::getClubLogAdif: 50" << endl; + //qDebug() << "eLogClubLog::getClubLogAdif: 50" << endl; qso = qso + "" + _q.at(6) + " "; - //qDebug() << "eLogClubLog::getClubLogAdif: 60" << endl; + //qDebug() << "eLogClubLog::getClubLogAdif: 60" << endl; qso = qso + "" + _q.at(7) + " "; - //qDebug() << "eLogClubLog::getClubLogAdif: 70" << endl; + //qDebug() << "eLogClubLog::getClubLogAdif: 70" << endl; if ((_q.at(8)).length()> 2) { qso = qso + "" + _q.at(8) + " "; @@ -321,35 +321,35 @@ ClubLog only accepts the following ADIF fields: } - //qDebug() << "eLogClubLog::getClubLogAdif: 90" << endl; + //qDebug() << "eLogClubLog::getClubLogAdif: 90" << endl; qso = qso + "" + _q.at(10) + " "; - //qDebug() << "eLogClubLog::getClubLogAdif: 100" << endl; + //qDebug() << "eLogClubLog::getClubLogAdif: 100" << endl; qso = qso + "" + _q.at(11) + " "; - //qDebug() << "eLogClubLog::getClubLogAdif: 110" << endl; + //qDebug() << "eLogClubLog::getClubLogAdif: 110" << endl; qso = qso + "" + _q.at(12) + " "; - //qDebug() << "eLogClubLog::getClubLogAdif: 120" << endl; + //qDebug() << "eLogClubLog::getClubLogAdif: 120" << endl; if ((_q.at(13)).toInt()> 0) { qso = qso + "" + _q.at(13) + " "; } - //qDebug() << "eLogClubLog::getClubLogAdif: 130'" << endl; + //qDebug() << "eLogClubLog::getClubLogAdif: 130'" << endl; qso = qso + "" + _q.at(14) + " "; - //qDebug() << "eLogClubLog::getClubLogAdif: 140" << endl; + //qDebug() << "eLogClubLog::getClubLogAdif: 140" << endl; qso = qso + "" + _q.at(15) + " "; - //qDebug() << "eLogClubLog::getClubLogAdif: 150" << endl; + //qDebug() << "eLogClubLog::getClubLogAdif: 150" << endl; qso = qso + ""; - //qDebug() << "eLogClubLog:: - QSO: " << qso << endl; + // //qDebug() << "eLogClubLog:: - QSO: " << qso << endl; - //qDebug() << "eLogClubLog::getClubLogAdif: 100" << endl; + //qDebug() << "eLogClubLog::getClubLogAdif: 100" << endl; return qso; } -void eLogClubLog::setCredentials(const QString &_call, const QString &_email, const QString &_pass, const bool _useQSOStationCall) +void eLogClubLog::setCredentials(const QString _call, const QString _email, const QString _pass, const bool _useQSOStationCall) { - //qDebug() << "eLogClubLog::setCredentials" << endl; + //qDebug() << "eLogClubLog::setCredentials" << endl; call = _call; email = _email; pass = _pass; @@ -360,7 +360,7 @@ void eLogClubLog::setCredentials(const QString &_call, const QString &_email, co int eLogClubLog::deleteQSO(QStringList _qso) { - //qDebug() << "eLogClubLog::deleteQSO: length = " << QString::number(_qso.length()) << endl; + //qDebug() << "eLogClubLog::deleteQSO: length = " << QString::number(_qso.length()) << endl; if (_qso.length()!=17) { return -1; @@ -376,16 +376,16 @@ int eLogClubLog::deleteQSO(QStringList _qso) QString qso = getClubLogAdif(_qso); qso.replace("", replaceCall); - //qDebug() << "eLogClubLog::deleteQSO: ready to send = " << qso << endl; + //qDebug() << "eLogClubLog::deleteQSO: ready to send = " << qso << endl; return sendData(qso); } -QString eLogClubLog::prepareToTranslate(const QString &_m) +QString eLogClubLog::prepareToTranslate(const QString _m) { - //qDebug() << "eLogClubLog:: = prepareToTranslate" << _m << endl; + //qDebug() << "eLogClubLog:: = prepareToTranslate" << _m << endl; if (_m == "Callsign missing") { return tr("Callsign missing"); diff --git a/elogclublog.h b/elogclublog.h index c85a56b5..9733d97f 100644 --- a/elogclublog.h +++ b/elogclublog.h @@ -22,7 +22,7 @@ * 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 . * + * along with KLog. If not, see . * * * *****************************************************************************/ #include @@ -42,7 +42,7 @@ public: explicit eLogClubLog(); ~eLogClubLog(); - void setCredentials(const QString &_call, const QString &_email, const QString &_pass, const bool _useQSOStationCall); + void setCredentials(const QString _call, const QString _email, const QString _pass, const bool _useQSOStationCall); int sendQSO(QStringList _qso); int deleteQSO(QStringList _qso); int modifyQSO (QStringList _oldQSO, QStringList _newQSO); @@ -50,8 +50,8 @@ public: private: QString getClubLogAdif(const QStringList _q); - int sendData(const QString &_q); // Sends the data (http post) to ClubLog - QString prepareToTranslate(const QString &_m); // Get the message and put it in a tr to be able to translate it + int sendData(const QString _q); // Sends the data (http post) to ClubLog + QString prepareToTranslate(const QString _m); // Get the message and put it in a tr to be able to translate it QString call, email, pass, api, stationCallsign; diff --git a/filemanager.cpp b/filemanager.cpp index 721cc235..9fd31968 100644 --- a/filemanager.cpp +++ b/filemanager.cpp @@ -20,7 +20,7 @@ * 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 . * + * along with KLog. If not, see . * * * *****************************************************************************/ @@ -30,32 +30,34 @@ FileManager::FileManager(DataProxy_SQLite *dp) { - //qDebug() << "FileManager::FileManager()-1" << endl; + //qDebug() << "FileManager::FileManager()-1" << endl; constrid = 1; dataProxy = dp; - dbCreated = false; - rstTXDefault = false; - rstRXDefault = false; - ignoreUnknownAlways = false; - noMoreQso = false; - defaultStationCallsign = QString(); util = new Utilities; klogVersion = util->getVersion(); db = new DataBase(Q_FUNC_INFO, klogVersion, util->getKLogDBFile()); - usePreviousStationCallsignAnswerAlways = false; + ignoreUnknownAlways = false; world = new World(dataProxy, Q_FUNC_INFO); awards = new Awards(dataProxy, Q_FUNC_INFO); + + + + //dataProxyPrepared = new DataProxy_SQLite(klogVersion); + + noMoreQso = false; + + hashLogs.clear(); - //qDebug() << "FileManager::FileManager()-1 - END" << endl; + //qDebug() << "FileManager::FileManager()-1 - END" << endl; } /* FileManager::FileManager(DataProxy_SQLite *dp, const QString _klogDir) { - //qDebug() << "FileManager::FileManager()-2: Dir" << _klogDir << endl; + //qDebug() << "FileManager::FileManager()-2: Dir" << _klogDir << endl; dataProxy = dp; db = new DataBase(0); @@ -73,18 +75,15 @@ FileManager::FileManager(DataProxy_SQLite *dp, const QString _klogDir) } */ -FileManager::FileManager(DataProxy_SQLite *dp, const QString &_klogDir, const QString &_softVersion) +FileManager::FileManager(DataProxy_SQLite *dp, const QString _klogDir, const QString _softVersion) //FileManager::FileManager(const QString _klogDir, const QString _softVersion, DataBase _db) { - //qDebug() << "FileManager::FileManager()-3: Dir(2)" << _klogDir << endl; + //qDebug() << "FileManager::FileManager()-3: Dir(2)" << _klogDir << endl; constrid = 2; dataProxy = dp; util = new Utilities; util->setVersion(klogVersion); - defaultStationCallsign = QString(); - dbCreated = false; - rstTXDefault = false; - rstRXDefault = false; + db = new DataBase(Q_FUNC_INFO, klogVersion, util->getKLogDBFile()); klogVersion = _softVersion; @@ -92,13 +91,12 @@ FileManager::FileManager(DataProxy_SQLite *dp, const QString &_klogDir, const QS klogDir = _klogDir; ignoreUnknownAlways = false; - usePreviousStationCallsignAnswerAlways = false; world = new World(dataProxy, klogDir, Q_FUNC_INFO); awards = new Awards(dataProxy, Q_FUNC_INFO); noMoreQso = false; hashLogs.clear(); - //qDebug() << "FileManager::FileManager()-3: Dir(2) - END" << endl; + //qDebug() << "FileManager::FileManager()-3: Dir(2) - END" << endl; } FileManager::~FileManager() @@ -106,22 +104,22 @@ FileManager::~FileManager() } -bool FileManager::checkADIFValidFormat(const QStringList &_qs) +bool FileManager::checkADIFValidFormat(const QStringList _qs) { QStringList qs = _qs; if (qs.size()!= 2) { - //qDebug() << "FileManager::checkADIFValidFormat-0 (not two) " << endl; + //qDebug() << "FileManager::checkADIFValidFormat-0 (not two) " << endl; return false; } QString q0 = qs.at(0); QString q1 = qs.at(1); - //qDebug() << "FileManager::checkADIFValidFormat: " << qs.at(0) << endl; - //qDebug() << "FileManager::checkADIFValidFormat: " << qs.at(1) << endl; + //qDebug() << "FileManager::checkADIFValidFormat: " << qs.at(0) << endl; + //qDebug() << "FileManager::checkADIFValidFormat: " << qs.at(1) << endl; int len = 0; int i = (qs.at(0)).count(":"); @@ -136,115 +134,112 @@ bool FileManager::checkADIFValidFormat(const QStringList &_qs) } else { - //qDebug() << "FileManager::checkADIFValidFormat-1 " << endl; + //qDebug() << "FileManager::checkADIFValidFormat-1 " << endl; return false; } //i = (qs.at(0)).indexOf(":"); //i = (qs.at(0)).length() - i -1; - //qDebug() << "i = " << QString::number(i) << "/" << qs.at(0) << endl; + //qDebug() << "i = " << QString::number(i) << "/" << qs.at(0) << endl; //len = ( (qs.at(0)).right(i)).toInt(); - //qDebug() << "len = " << QString::number(len) << endl; + //qDebug() << "len = " << QString::number(len) << endl; if ( (q1).length() != len ) { - //qDebug() << "FileManager::checkADIFValidFormat-2: " << (qs.at(1)) << " - " << QString::number((qs.at(1)).length()) << "/" << QString::number(len) << endl; + //qDebug() << "FileManager::checkADIFValidFormat-2: " << (qs.at(1)) << " - " << QString::number((qs.at(1)).length()) << "/" << QString::number(len) << endl; return false; } if (len <= 0) { - //qDebug() << "FileManager::checkADIFValidFormat-3 " << endl; + //qDebug() << "FileManager::checkADIFValidFormat-3 " << endl; return false; } - //qDebug() << "FileManager::checkADIFValidFormat-4 (true)" << endl; + //qDebug() << "FileManager::checkADIFValidFormat-4 (true)" << endl; return true; } bool FileManager::adifLogExport(const QString& _fileName, const int _logN) { - //qDebug() << "FileManager::adifLogExport" << _fileName << endl; + //qDebug() << "FileManager::adifLogExport" << endl; return adifLogExportToFile(_fileName, _logN, false, false, false); } -void FileManager::showError (const QString &_txt) +int FileManager::adifLoTWLogExport(const QString& _fileName, const int _logN) { - QMessageBox msgBox; - msgBox.setWindowTitle(tr("KLog - Error")); - msgBox.setIcon(QMessageBox::Warning); - - QString aux = QString(_txt ); - msgBox.setText(aux); - msgBox.setStandardButtons(QMessageBox::Ok); - int ret = msgBox.exec(); - switch (ret) { - case QMessageBox::Ok: - // Ok was clicked - default: - // should never be reached - break; - } -} - -QList FileManager::adifLoTWLogExport(const QString& _fileName, const QString &_callsign, const QDate &_startDate, const QDate &_endDate, const int _logN) -{ - //qDebug() << "FileManager::adifLoTWLogExport: " << _fileName << "/" << _callsign << endl; - QList qsos; - qsos.clear(); + //qDebug() << "FileManager::adifLoTWLogExport: " << _fileName << endl; if (!dataProxy->doesThisLogExist(_logN)) { - //qDebug() << "FileManager::adifLoTWLogExport - The log does not exist" << endl; - - showError(tr("The selected log does not exist, please check it again.")); - return qsos; - } - - QString queryStringCount; - QString queryString; - QString _queryStation; - - if (util->isValidCall(_callsign)) - { - _queryStation = QString("station_callsign ='%1'").arg(_callsign); - } - else - { - _queryStation = QString("station_callsign =''"); - } - /* - QString _queryDateFrom; - if (_startDate.isValid()) - { - _queryDateFrom = QString("qso_date >= '%1'").arg(_startDate.toString("yyyyMMdd")); - } - else - { - //TODO - } - */ - - if ((!util->isValidCall(_callsign)) || (_callsign == !"ALL")) - { - showError(tr("The selected callsign (%1) is not valid, please check it again.").arg(_callsign)); - return qsos; + //qDebug() << "FileManager::adifLoTWLogExport - The log does not exist" << endl; + return -1; } QFile file(_fileName); if (!file.open(QIODevice::WriteOnly | QIODevice::Text)) + return -2; + + QString stationCallToUse = QString(); + QStringList stationCallSigns; + stationCallSigns.clear(); + stationCallSigns << "NONE"; + stationCallSigns << dataProxy->getStationCallSignsFromLog(_logN); + //bool callsignTyped = false; + + if (stationCallSigns.length()>1) { - showError(tr("The file %1 can't be opened.").arg(_fileName)); - return qsos; + QString msg = QString(tr("The log that you have selected contains more than just one station callsign.") + "\n\n" + tr("Please select the station callsign you want to export the log from:")); + + bool ok; + stationCallToUse = QInputDialog::getItem(this, tr("Station Callsign:"), + msg, stationCallSigns, 0, false, &ok); + + if (ok && !stationCallToUse.isEmpty()) + { + //qDebug() << "FileManager::adifLoTWLogExport: StatioNCallsign: " << stationCallToUse << endl; + } + else + { + stationCallToUse = (QInputDialog::getText(this, tr("Define Station Callsign"), + tr("You have selected no callsign. KLog will export QSOs without a station callsign defined and those with the call you are entering here.") + "\n\n" + tr("Enter the station callsign to use for this log or leave it empty for QSO without station callsign defined:"), QLineEdit::Normal, + "", &ok)).toUpper(); + if (ok) + { + //callsignTyped = true; + + } + else + { + QMessageBox msgBox; + msgBox.setIcon(QMessageBox::Warning); + + QString aux = QString(tr("No station callsign has been selected and therefore no log will be exported") ); + msgBox.setText(aux); + msgBox.setStandardButtons(QMessageBox::Ok); + int ret = msgBox.exec(); + switch (ret) { + case QMessageBox::Ok: + // Ok was clicked + return -3; + default: + // should never be reached + break; + } + + } + } } + + QTextStream out(&file); int numberOfQsos = dataProxy->getHowManyQSOInLog(_logN); int step = util->getProgresStepForDialog(numberOfQsos); @@ -254,1695 +249,218 @@ QList FileManager::adifLoTWLogExport(const QString& _fileName, const QStrin progress.setMaximum(numberOfQsos); progress.setWindowModality(Qt::ApplicationModal); + out << "ADIF v3.0.7 Export from KLog\nhttp://www.klog.xyz/klog\n" << klogVersion << "\nKLOG" << endl; + out << "" << QString::number(numberOfQsos) << endl; - //QString queryString; + QDateTime dateTime = (QDateTime::currentDateTime()).toUTC(); + + out << "" << dateTime.toString("yyyyMMdd-hhmm") << endl; + + out << "" << endl; + + QString queryString = QString("SELECT call, freq, bandid, band_rx, freq_rx, modeid, qso_date, time_on, prop_mode, sat_name, lotw_qsl_sent, station_callsign FROM log WHERE lognumber='%1'").arg(_logN); QSqlQuery query; - if (_callsign == "ALL") - { - queryString = QString("SELECT COUNT (id) FROM log"); - } - else - { - queryString = QString("SELECT COUNT (id) FROM log WHERE lognumber='%1' AND station_callsign ='%2' AND lotw_qsl_sent='Q'").arg(_logN).arg(_callsign); - } bool sqlOK = query.exec(queryString); //qDebug() << "FileManager::adifLoTWLogExport: " << query.lastQuery() << endl; if (!sqlOK) { - //qDebug() << "FileManager::adifLoTWLogExport: Query Error" << endl; + //qDebug() << "FileManager::adifLoTWLogExport: Query Error" << endl; emit queryError(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); - return qsos; + return -4; } - else - { - query.next(); - if (query.isValid()) - { - i = (query.value(0)).toInt(); - if (i>0) - { - numberOfQsos = i; - } - else if (i == 0) - { - showError(tr("There are no QSOs pending to be uploaded with that station callsign.")); - return qsos; - } - } - } - out << "ADIF v3.0.7 Export from KLog\nhttps://www.klog.xyz/klog\n" << klogVersion << "\nKLOG" << endl; - //qDebug() << "FileManager::adifLoTWLogExport: Number: " << QString::number(numberOfQsos) << endl; - out << "" << QString::number(numberOfQsos) << endl; - - - - QDateTime dateTime = (QDateTime::currentDateTime()).toUTC(); - - out << "" << dateTime.toString("yyyyMMdd-hhmm") << endl; - - out << "" << endl; - - // Required fields: call sign, UTC Date, UTC time, Mode, Band - // Optional fields: RX band, Frecuency TX, frecuency RX, Propagation mode, Satellite - - i = 0; - - if (_callsign == "ALL") - { - queryString = QString("SELECT id, call, freq, bandid, band_rx, freq_rx, modeid, qso_date, time_on, prop_mode, sat_name, lotw_qsl_sent, station_callsign FROM log "); - } - else - { - queryString = QString("SELECT id, call, freq, bandid, band_rx, freq_rx, modeid, qso_date, time_on, prop_mode, sat_name, lotw_qsl_sent, station_callsign FROM log WHERE lognumber='%1' AND station_callsign ='%2' AND lotw_qsl_sent='Q'").arg(_logN).arg(_callsign); - } - - - - - sqlOK = query.exec(queryString); - //qDebug() << "FileManager::adifLoTWLogExport: " << query.lastQuery() << endl; - if (!sqlOK) - { - //qDebug() << "FileManager::adifLoTWLogExport: Query Error" << endl; - emit queryError(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); - return qsos; - } - QSqlRecord rec = query.record(); int nameCol; QString aux, aux2; QString bandst, bandrxst; - - //bool finishExport = false; bool propsat; - //while ( (query.next()) && (!finishExport)) - while ( query.next() ) + while ( (query.next())) { - double freqTX, freqRX; - freqTX = 0.0; - freqRX = 0.0; - bandrxst.clear(); - bandst.clear(); - aux.clear(); - - //qDebug() << "FileManager::adifLoTWLogExport: Start of While" << endl; + //qDebug() << "FileManager::adifLoTWLogExport: Start of While" << endl; if (query.isValid()) { - - //qDebug() << "FileManager::adifLoTWLogExport: Start of isValid" << endl; - propsat = false; // Reset the QSO in case it is a Satellite QSO - nameCol = rec.indexOf("id"); - qsos.append((query.value(nameCol)).toInt()); - nameCol = rec.indexOf("call"); - - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - - if (util->isValidCall(aux)) - { - out << "" << aux << " "; - } - else - { - QMessageBox msgBox; - msgBox.setIcon(QMessageBox::Warning); - msgBox.setWindowTitle(tr("KLog - Invalid call detected")); - QString aux = QString(tr("An invalid callsign has been detected %1. Do you want to export this callsign anyway (click on Yes) or remove the call from the exported log file?").arg(aux)); - msgBox.setText(aux); - msgBox.setInformativeText(tr("Exporting wrong calls may create problems in the applications you are potentially importing this logfile to. It may, however, be a good callsign that is wrongly identified by KLog as not valid. You can, however, edit the ADIF file once the export process is finished.")); - msgBox.setStandardButtons(QMessageBox::Yes | QMessageBox::No); - msgBox.setDefaultButton(QMessageBox::No); - int ret = msgBox.exec(); - switch (ret) { - case QMessageBox::Yes: - // Yes was clicked - out << "" << aux << " "; - break; - case QMessageBox::No: - // No Save was clicked - break; - default: - // should never be reached - break; - } - } - //qDebug() << "FileManager::adifLoTWLogExport: CALL" << endl; - - nameCol = rec.indexOf("qso_date"); - aux = (query.value(nameCol)).toString(); - aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length()) == 10){ - aux.remove(QChar('-'), Qt::CaseInsensitive); - aux.remove(QChar('/'), Qt::CaseInsensitive); - QDate date = QDate::fromString(aux, "yyyyMMdd"); - if (util->isValidDate(date)) - { - out << "" << aux << " "; - } - } - - nameCol = rec.indexOf("time_on"); - aux = (query.value(nameCol)).toString(); - aux = util->checkAndFixASCIIinADIF(aux); - if ((QTime::fromString(aux,"hh:mm:ss")).isValid()) - { - aux.remove(QChar(':'), Qt::CaseInsensitive); - out << "" << aux << " "; - } - - nameCol = rec.indexOf("bandid"); - aux = (query.value(nameCol)).toString(); - //qDebug() << "FileManager::adifLoTWLogExportToFile-Band-1: " << aux << endl; - aux = util->checkAndFixASCIIinADIF(aux); - //qDebug() << "FileManager::adifLoTWLogExportToFile-Band-2: " << aux << endl; - aux = dataProxy->getNameFromBandId(aux.toInt()); - if (dataProxy->getIdFromBandName(aux)>=0) - { - //out << "" << aux << " "; - bandst = aux; - } - - nameCol = rec.indexOf("freq"); - aux = (query.value(nameCol)).toString(); - //qDebug() << "FileManager::adifLoTWLogExportToFile FREQ1: " << aux << endl; - aux = util->checkAndFixASCIIinADIF(aux); - freqTX = aux.toDouble(); - if (freqTX > 0.0) - { - //TODO: Check if the Band is correctly defined. BAND Wins and freq is lost if not correct - if (dataProxy->getBandIdFromFreq(freqTX) != dataProxy->getIdFromBandName(bandst)) - { - bandst = dataProxy->getBandNameFromFreq(freqTX); - } - out << "" << aux << " "; - } - if (dataProxy->getIdFromBandName(bandst)>0) - { - out << "" << bandst << " "; - } - // Now the BAND RX - nameCol = rec.indexOf("band_rx"); - aux = (query.value(nameCol)).toString(); - aux = util->checkAndFixASCIIinADIF(aux); - aux = dataProxy->getNameFromBandId(aux.toInt()); - if (dataProxy->getIdFromBandName(aux)>=0) - { - bandrxst = aux; - } - - nameCol = rec.indexOf("freq_rx"); - aux = (query.value(nameCol)).toString(); - aux = util->checkAndFixASCIIinADIF(aux); - freqRX = aux.toDouble(); - if (freqRX > 0.0) - { - //TODO: Check if the Band is correctly defined. BAND Wins and freq is lost if not correct - if (dataProxy->getBandIdFromFreq(freqRX) != dataProxy->getIdFromBandName(bandrxst)) - { - bandrxst = dataProxy->getBandNameFromFreq(freqRX); - } - out << "" << aux << " "; - } - if (dataProxy->getIdFromBandName(bandrxst)>0) - { - out << "" << bandrxst << " "; - } - // END of Band RX - - nameCol = rec.indexOf("modeid"); - aux = (query.value(nameCol)).toString(); - aux = util->checkAndFixASCIIinADIF(aux); - // get SubModeId to check if it is the same or not from modeid - aux2 = dataProxy->getSubModeFromId(aux.toInt()); - //aux = db->getModeNameFromID2(aux.toInt()); - aux = dataProxy->getNameFromSubMode(aux2); - - if ((aux.length()>1) && (dataProxy->getIdFromModeName(aux)>=0)) - { - out << "" << aux << " "; - } - if ((aux != aux2) && (aux.length()>1) && (dataProxy->getSubModeIdFromSubMode(aux2)>=0) ) - { - out << "" << aux2 << " "; - } - - nameCol = rec.indexOf("prop_mode"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>1) - { - out << "" << aux << " "; - if (aux == "SAT") - { - propsat = true; - } - } - //qDebug() << "FileManager::adifLoTWLogExport: PROP_MODE" << endl; - - nameCol = rec.indexOf("sat_name"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>0) - { - out << "" << aux << " "; - if (!propsat) - { - out << "SAT "; - } - } - //qDebug() << "FileManager::adifLoTWLogExport: SAT_NAME" << endl; - nameCol = rec.indexOf("station_callsign"); aux = (query.value(nameCol)).toString(); - //qDebug() << "FileManager::adifLoTWLogExport: StationCallSign: " << aux << endl; - - if ((util->isValidCall(aux))) - { // User selected one station callsign from the log - out << "" << aux << " "; - } - else - { // Other cases - - } - - out << " " << endl; - i++; - - if (( (i % step ) == 0) ) - { // To update the speed I will only show the progress once each X QSOs - //qDebug() << "FileManager::adifLoTWLogExport: MOD 0 - i = " << QString::number(i) << endl; - aux = tr("Exporting LoTW ADIF file...") + "\n" + tr(" QSO: ") + QString::number(i) + "/" + QString::number(numberOfQsos); - progress.setLabelText(aux); - progress.setValue(i); - } - else - { - //qDebug() << "FileManager::adifLoTWLogExport: Mod: "<< QString::number(i) << " mod " << QString::number(step) << " = " << QString::number(i % step) << endl; - } - } - //qDebug() << "FileManager::adifLoTWLogExport: End Of Valid" << endl; - if ( progress.wasCanceled() ) - { - QMessageBox msgBox; - msgBox.setWindowTitle(tr("KLog - User cancelled")); - QString aux = QString(tr("You have canceled the file export. The file will be removed and no data will be exported.") + "\n" + tr("Do you still want to cancel?")); - msgBox.setText(aux); - msgBox.setStandardButtons(QMessageBox::Yes | QMessageBox::No); - msgBox.setDefaultButton(QMessageBox::No); - int ret = msgBox.exec(); - switch (ret) { - case QMessageBox::Yes: - // Yes was clicked - // finishExport = true; - qsos.clear(); - return qsos; - case QMessageBox::No: - // No Save was clicked - break; - default: - // should never be reached - break; - } - } - } - - //qDebug() << "FileManager::adifLoTWLogExport: End : " << QString::number(qsos.count()) << endl; - - return qsos; -} - - -QList FileManager::adifLogExport(const QString& _fileName, const QString &_callsign, const QDate &_startDate, const QDate &_endDate, const int _logN, const ExportMode _em) -//QList FileManager::adifLogExport(const QString& _fileName, const QString &_callsign, const QDate &_startDate, const QDate &_endDate, const int _logN, const bool LoTWOnly) -{ - - //qDebug() << "FileManager::adifLogExport: Start)" << _fileName << "/" << _callsign << endl; - QList qsos; - qsos.clear(); - - if (_logN != -1) - { // We will export data from ALL logs. - if (!dataProxy->doesThisLogExist(_logN)) - { - //qDebug() << "FileManager::adifLogExport - The log does not exist" << endl; - showError(tr("The selected log does not exist, please check it again.")); - return qsos; - } - } - - QString queryStringCount; - QString queryString; - QString _queryStation; - - if (util->isValidCall(_callsign)) - { - _queryStation = QString(" station_callsign ='%1'").arg(_callsign); - } - else if (_callsign == "ALL") - { - _queryStation = QString(" station_callsign !='ALL'"); - } - else - { - _queryStation = QString(" station_callsign =''"); - } - - QString _queryDateFrom; - if (_startDate.isValid()) - { - _queryDateFrom = QString(" AND qso_date >= '%1'").arg(_startDate.toString("yyyy/MM/dd")); - } - else - { - _queryDateFrom = QString(" AND qso_date != '1'"); - } - - QString _queryDateTo; - if (_startDate.isValid()) - { - _queryDateTo = QString(" AND qso_date <= '%1'").arg(_endDate.toString("yyyy/MM/dd")); - } - else - { - _queryDateTo = QString(); - } - - QString _queryLog; - if (_logN == -1) - { - _queryLog = QString(" AND logNumber = '%1'").arg(_logN); - } - else - { - _queryLog = QString(); - } - - if ((!util->isValidCall(_callsign)) && (_callsign != "ALL")) - { - showError(tr("The selected callsign (%1) is not valid, please check it again to export the log.").arg(_callsign)); - return qsos; - } - - - QFile file(_fileName); - if (!file.open(QIODevice::WriteOnly | QIODevice::Text)) - { - showError(tr("The file %1 can't be opened.").arg(_fileName)); - return qsos; - } - - QSqlQuery query; - - if (_em == ModeLotW) - { - //qDebug() << "FileManager::adifLogExport: Exporting for LoTW" << endl; - // LoTW Required fields: call sign, UTC Date, UTC time, Mode, Band - // LoTW Optional fields: RX band, Frecuency TX, frecuency RX, Propagation mode, Satellite - - queryStringCount = QString("SELECT COUNT (id) FROM log WHERE") + _queryStation + QString(" AND lotw_qsl_sent='Q'") + _queryDateFrom + _queryDateTo; - queryString = QString("SELECT id, call, freq, bandid, band_rx, freq_rx, modeid, qso_date, time_on, prop_mode, sat_name, station_callsign FROM log WHERE") + _queryStation + QString(" AND lotw_qsl_sent='Q'") + _queryDateFrom + _queryDateTo; - } - else - { - //qDebug() << "FileManager::adifLogExport: Exporting normal ADIF" << endl; - if (_callsign == "ALL") - { - queryStringCount = QString("SELECT COUNT (id) FROM log"); - queryString = QString("SELECT * FROM log"); - } - else - { - queryStringCount = QString("SELECT COUNT (id) FROM log WHERE") + _queryStation + _queryDateFrom + _queryDateTo + _queryLog; - queryString = QString("SELECT * FROM log WHERE") + _queryStation + _queryDateFrom + _queryDateTo + _queryLog; - } - - - } - - int numberOfQsos = dataProxy->getHowManyQSOInLog(_logN); - int i = 0; - - bool sqlOK = query.exec(queryStringCount); - //qDebug() << "FileManager::adifLogExport: " << query.lastQuery() << endl; - if (!sqlOK) - { - //qDebug() << "FileManager::adifLogExport: Query Error" << endl; - emit queryError(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); - return qsos; - } - else - { - query.next(); - if (query.isValid()) - { - i = (query.value(0)).toInt(); - if (i>0) - { - numberOfQsos = i; - query.finish(); - } - else if (i == 0) - { - showError(tr("There are no QSOs pending to be uploaded with that station callsign.")); - query.finish(); - return qsos; - } - } - } - - QTextStream out(&file); - - int step = util->getProgresStepForDialog(numberOfQsos); - - QProgressDialog progress(tr("Writing ADIF file..."), tr("Abort writing"), 0, numberOfQsos, this); - progress.setMaximum(numberOfQsos); - progress.setWindowModality(Qt::NonModal); - //progress.setWindowModality(Qt::ApplicationModal); - - out << "ADIF v3.0.7 Export from KLog\nhttps://www.klog.xyz/klog\n" << klogVersion << "\nKLOG" << endl; - //qDebug() << "FileManager::adifLogExport: Number: " << QString::number(numberOfQsos) << endl; - out << "" << QString::number(numberOfQsos) << endl; - - QDateTime dateTime = (QDateTime::currentDateTime()).toUTC(); - out << "" << dateTime.toString("yyyyMMdd-hhmm") << endl; - out << "" << endl; - - i = 0; - - sqlOK = query.exec(queryString); - //qDebug() << "FileManager::adifLogExport: " << query.lastQuery() << endl; - if (!sqlOK) - { - //qDebug() << "FileManager::adifLogExport: Query Error" << endl; - emit queryError(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); - return qsos; - } - - - QSqlRecord rec = query.record(); - int nameCol; - QString aux, aux2; - QString bandst, bandrxst; - - //bool finishExport = false; - bool propsat; - //while ( (query.next()) && (!finishExport)) - //qDebug() << "FileManager::adifLogExport: Entering the While..." << endl; - while ( query.next() ) - { - double freqTX, freqRX; - freqTX = 0.0; - freqRX = 0.0; - bandrxst.clear(); - bandst.clear(); - aux.clear(); - - //qDebug() << "FileManager::adifLogExport: Start of While" << endl; - if (query.isValid()) - { - //qDebug() << "FileManager::adifLogExport: Start of isValid" << endl; - propsat = false; // Reset the QSO in case it is a Satellite QSO - - nameCol = rec.indexOf("id"); - qsos.append((query.value(nameCol)).toInt()); - - nameCol = rec.indexOf("call"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - //qDebug() << "FileManager::adifLogExport: Call: " << aux << endl; - if (util->isValidCall(aux)) - { - //qDebug() << "FileManager::adifLogExport: Valid Call: " << aux << endl; - out << "" << aux << " "; - } - else - { - //qDebug() << "FileManager::adifLogExport: NOT Valid Call: " << aux << endl; - QMessageBox msgBox; - //qDebug() << "FileManager::adifLogExport: NOT Valid Call: 00" << endl; - msgBox.setIcon(QMessageBox::Warning); - //qDebug() << "FileManager::adifLogExport: NOT Valid Call: 01" << endl; - msgBox.setWindowTitle(tr("KLog - Invalid call detected")); - //qDebug() << "FileManager::adifLogExport: NOT Valid Call: 02" << endl; - QString msgText = QString(tr("An invalid callsign has been detected %1. Do you want to export this callsign anyway (click on Yes) or remove the call from the exported log file?").arg(aux)); - //qDebug() << "FileManager::adifLogExport: NOT Valid Call: 03" << endl; - msgBox.setText(msgText); - //qDebug() << "FileManager::adifLogExport: NOT Valid Call: 04" << endl; - msgBox.setInformativeText(tr("Exporting wrong calls may create problems in the applications you are potentially importing this logfile to. It may, however, be a good callsign that is wrongly identified by KLog as not valid. You can, however, edit the ADIF file once the export process is finished.")); - //qDebug() << "FileManager::adifLogExport: NOT Valid Call: 05" << endl; - msgBox.setStandardButtons(QMessageBox::Yes | QMessageBox::No); - msgBox.setDefaultButton(QMessageBox::No); - int ret = msgBox.exec(); - int tempValue = progress.value(); - progress.cancel(); - //qDebug() << "FileManager::adifLogExport: NOT Valid Call: ret = " << QString::number(ret) << endl; - switch (ret) - { - case QMessageBox::Yes: - // Yes was clicked - //qDebug() << "FileManager::adifLogExport: NOT Valid Call: YES clicked" << endl; - out << "" << aux << " "; - - break; - case QMessageBox::No: - // No Save was clicked - //qDebug() << "FileManager::adifLogExport: NOT Valid Call: NO Clicked" << endl; - break; - default: - //qDebug() << "FileManager::adifLogExport: NOT Valid Call: DEFAULT" << endl; - // should never be reached - break; - } - progress.reset(); - progress.setMaximum(numberOfQsos); - progress.setValue(tempValue); - - //qDebug() << "FileManager::adifLogExport: End of NOT Valid Call: " << aux << endl; - } - //qDebug() << "FileManager::adifLogExport: QSO_DATE" << endl; - - nameCol = rec.indexOf("qso_date"); - aux = (query.value(nameCol)).toString(); - aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length()) == 10) - { - aux.remove(QChar('-'), Qt::CaseInsensitive); - aux.remove(QChar('/'), Qt::CaseInsensitive); - QDate date = QDate::fromString(aux, "yyyyMMdd"); - if (util->isValidDate(date)) - { - out << "" << aux << " "; - } - } - - nameCol = rec.indexOf("time_on"); - aux = (query.value(nameCol)).toString(); - aux = util->checkAndFixASCIIinADIF(aux); - if ((QTime::fromString(aux,"hh:mm:ss")).isValid()) - { - aux.remove(QChar(':'), Qt::CaseInsensitive); - out << "" << aux << " "; - } - - nameCol = rec.indexOf("bandid"); - aux = (query.value(nameCol)).toString(); - //qDebug() << "FileManager::adifLogExportToFile-Band-1: " << aux << endl; - aux = util->checkAndFixASCIIinADIF(aux); - //qDebug() << "FileManager::adifLogExportToFile-Band-2: " << aux << endl; - aux = dataProxy->getNameFromBandId(aux.toInt()); - if (dataProxy->getIdFromBandName(aux)>=0) - { - //out << "" << aux << " "; - bandst = aux; - } - - nameCol = rec.indexOf("freq"); - aux = (query.value(nameCol)).toString(); - //qDebug() << "FileManager::adifLogExport FREQ1: " << aux << endl; - aux = util->checkAndFixASCIIinADIF(aux); - freqTX = aux.toDouble(); - if (freqTX > 0.0) - { - //TODO: Check if the Band is correctly defined. BAND Wins and freq is lost if not correct - if (dataProxy->getBandIdFromFreq(freqTX) != dataProxy->getIdFromBandName(bandst)) - { - bandst = dataProxy->getBandNameFromFreq(freqTX); - } - out << "" << aux << " "; - } - if (dataProxy->getIdFromBandName(bandst)>0) - { - out << "" << bandst << " "; - } - - // Now the BAND RX - nameCol = rec.indexOf("band_rx"); - aux = (query.value(nameCol)).toString(); - aux = util->checkAndFixASCIIinADIF(aux); - aux = dataProxy->getNameFromBandId(aux.toInt()); - if (dataProxy->getIdFromBandName(aux)>=0) - { - bandrxst = aux; - } - - nameCol = rec.indexOf("freq_rx"); - aux = (query.value(nameCol)).toString(); - aux = util->checkAndFixASCIIinADIF(aux); - freqRX = aux.toDouble(); - if (freqRX > 0.0) - { - //TODO: Check if the Band is correctly defined. BAND Wins and freq is lost if not correct - if (dataProxy->getBandIdFromFreq(freqRX) != dataProxy->getIdFromBandName(bandrxst)) - { - bandrxst = dataProxy->getBandNameFromFreq(freqRX); - } - out << "" << aux << " "; - } - if (dataProxy->getIdFromBandName(bandrxst)>0) - { - out << "" << bandrxst << " "; - } - // END of Band RX - - nameCol = rec.indexOf("modeid"); - aux = (query.value(nameCol)).toString(); - aux = util->checkAndFixASCIIinADIF(aux); - // get SubModeId to check if it is the same or not from modeid - aux2 = dataProxy->getSubModeFromId(aux.toInt()); - //aux = db->getModeNameFromID2(aux.toInt()); - aux = dataProxy->getNameFromSubMode(aux2); - - if ((aux.length()>1) && (dataProxy->getIdFromModeName(aux)>=0)) - { - out << "" << aux << " "; - } - if ((aux != aux2) && (aux.length()>1) && (dataProxy->getSubModeIdFromSubMode(aux2)>=0) ) - { - out << "" << aux2 << " "; - } - - nameCol = rec.indexOf("prop_mode"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>1) - { - out << "" << aux << " "; - if (aux == "SAT") - { - propsat = true; - } - } - //qDebug() << "FileManager::adifLogExport: PROP_MODE" << endl; - - nameCol = rec.indexOf("sat_name"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>0) - { - out << "" << aux << " "; - if (!propsat && (_em == ModeLotW)) - { - out << "SAT "; - propsat = false; - } - } - //qDebug() << "FileManager::adifLogExport: SAT_NAME" << endl; - - nameCol = rec.indexOf("station_callsign"); - aux = (query.value(nameCol)).toString(); - //qDebug() << "FileManager::adifLogExport: StationCallSign: " << aux << endl; - - if ((util->isValidCall(aux))) - { // User selected one station callsign from the log - out << "" << aux << " "; - } - - - if (_em == ModeADIF) - { // START OF EXPORT OF GENERAL ADIF - - nameCol = rec.indexOf("qso_date_off"); - aux = (query.value(nameCol)).toString(); - aux = util->checkAndFixASCIIinADIF(aux); - if (util->isValidDate(QDate::fromString("yyyy/MM/dd"))) - { - aux.remove(QChar('/'), Qt::CaseInsensitive); - QDate date = QDate::fromString(aux, "yyyyMMdd"); - out << "" << aux << " "; - } - - nameCol = rec.indexOf("time_off"); - aux = (query.value(nameCol)).toString(); - aux = util->checkAndFixASCIIinADIF(aux); - //qDebug() << "FileManager::adifLogExport: time_off-682" << QString::number(nameCol) << "/" << aux << endl; - if ( ((aux.length()) == 5) || ((aux.length()) == 8) ) - { - aux.remove(QChar(':'), Qt::CaseInsensitive); - out << "" << aux << " "; - //qDebug() << "FileManager::adifLogExport: time_off exported-682" << endl; - } - - nameCol = rec.indexOf("srx"); - aux = (query.value(nameCol)).toString(); - aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>0) - { - out << "" << aux << " "; - } - - nameCol = rec.indexOf("srx_string"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>0) - { - out << "" << aux << " "; - } - nameCol = rec.indexOf("stx"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>0) - { - out << "" << aux << " "; - } - - nameCol = rec.indexOf("stx_string"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>0) - { - out << "" << aux << " "; - } - //qDebug() << "FileManager::adifLogExport - 100" << endl; - nameCol = rec.indexOf("cqz"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ( ((aux.length())>0) && (0 < aux.toInt()) && (aux.toInt() < CQZones+1) ) - { - out << "" << aux << " "; - } - - nameCol = rec.indexOf("ituz"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ( ((aux.length())>0) && (0 < aux.toInt()) && (aux.toInt() < ITUZones+1) ) - { - out << "" << aux << " "; - } - - //qDebug() << "FileManager::adifLogExport: DXCC - Now..." << endl; - - nameCol = rec.indexOf("dxcc"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>0) - { - out << "" << aux << " "; - //qDebug() << "FileManager::adifLogExport: DXCC " << aux << endl; - } - //qDebug() << "FileManager::adifLogExport: DXCC - Exported!" << endl; - - nameCol = rec.indexOf("address"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>0) - { - out << "" << aux << " "; - } - - nameCol = rec.indexOf("age"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>0) - { - out << "" << aux << " "; - } - - nameCol = rec.indexOf("cnty"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>0) - { - out << "" << aux << " "; - } - - nameCol = rec.indexOf("comment"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>0) - { - out << "" << aux << " "; - } - //qDebug() << "FileManager::adifLogExport - 200" << endl; - nameCol = rec.indexOf("a_index"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>0) - { - out << "" << aux << " "; - } - - nameCol = rec.indexOf("ant_az"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>0) - { - out << "" << aux << " "; - } - - nameCol = rec.indexOf("ant_el"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>0) - { - out << "" << aux << " "; - } - - nameCol = rec.indexOf("ant_path"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>0) - { - out << "" << aux << " "; - } - - nameCol = rec.indexOf("arrl_sect"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>0) - { - out << "" << aux << " "; - } - - nameCol = rec.indexOf("checkcontest"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>0) - { - out << "" << aux << " "; - } - - //qDebug() << "FileManager::adifLogExport - 30" << endl; - nameCol = rec.indexOf("class"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>0) - { - out << "" << aux << " "; - } - - nameCol = rec.indexOf("cont"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>0) - { - out << "" << aux << " "; - } - - nameCol = rec.indexOf("contacted_op"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if (util->isValidCall(aux)) - { - out << "" << aux << " "; - } - - nameCol = rec.indexOf("contest_id"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>0) - { - out << "" << aux << " "; - } - - nameCol = rec.indexOf("points"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>0) - { - out << "" << aux << " "; - } - - nameCol = rec.indexOf("multiplier"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>0) - { - out << "" << aux << " "; - } - //qDebug() << "FileManager::adifLogExport - 40" << endl; - nameCol = rec.indexOf("transmiterid"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>0) - { - out << "" << aux << " "; - } - - nameCol = rec.indexOf("country"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>0) - { - out << "" << aux << " "; - } - - nameCol = rec.indexOf("credit_submitted"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>0) - { - out << "" << aux << " "; - } - - nameCol = rec.indexOf("credit_granted"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>0) - { - out << "" << aux << " "; - } - - nameCol = rec.indexOf("distance"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>0) - { - out << "" << aux << " "; - } - - nameCol = rec.indexOf("darc_dok"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>0) - { - out << "" << aux << " "; - } - - nameCol = rec.indexOf("eq_call"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if (util->isValidCall(aux)) - { - out << "" << aux << " "; - } - - nameCol = rec.indexOf("email"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>0) - { - if (aux.contains("@") && (aux.contains("."))) - { - out << "" << aux << " "; - } - } - - nameCol = rec.indexOf("eqsl_qslrdate"); - aux = (query.value(nameCol)).toString(); - aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length()) == 10) - { - aux.remove(QChar('-'), Qt::CaseInsensitive); - aux.remove(QChar('/'), Qt::CaseInsensitive); - QDate date = QDate::fromString(aux, "yyyyMMdd"); - - if (util->isValidDate(date)) - { - out << "" << aux << " "; - } - } - - nameCol = rec.indexOf("eqsl_qslsdate"); - aux = (query.value(nameCol)).toString(); - aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length()) == 10) - { - aux.remove(QChar('-'), Qt::CaseInsensitive); - aux.remove(QChar('/'), Qt::CaseInsensitive); - QDate date = QDate::fromString(aux, "yyyyMMdd"); - if (util->isValidDate(date)) - { - out << "" << aux << " "; - } - } - - nameCol = rec.indexOf("eqsl_qsl_rcvd"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ( ((aux.length())==1) && (aux!="N") ) - { - out << "" << aux << " "; - } - - nameCol = rec.indexOf("eqsl_qsl_sent"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ( ((aux.length())==1) && (aux!="N") ) - { - out << "" << aux << " "; - } - - nameCol = rec.indexOf("fists"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>0) - { - out << "" << aux << " "; - } - - nameCol = rec.indexOf("fists_cc"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>0) - { - out << "" << aux << " "; - } - - nameCol = rec.indexOf("force_init"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>0) - { - out << "" << aux << " "; - } - - - nameCol = rec.indexOf("guest_op"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>0) - { - out << "" << aux << " "; - } - - nameCol = rec.indexOf("hrdlog_qso_upload_date"); - aux = (query.value(nameCol)).toString(); - aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length()) == 10) - { - aux.remove(QChar('-'), Qt::CaseInsensitive); - aux.remove(QChar('/'), Qt::CaseInsensitive); - QDate date = QDate::fromString(aux, "yyyyMMdd"); - - if (util->isValidDate(date)) - { - out << "" << aux << " "; - } - } - - nameCol = rec.indexOf("hrdlog_qso_upload_status"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ( ((aux.length())==1) && ((aux!="Y") || (aux!="N") || (aux!="M")) ) - { - out << "" << aux << " "; - } - - nameCol = rec.indexOf("gridsquare"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>0) - { - out << "" << aux << " "; - } - - nameCol = rec.indexOf("my_gridsquare"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>0) - { - out << "" << aux << " "; - } - - nameCol = rec.indexOf("my_antenna"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>0) - { - out << "" << aux << " "; - } - - nameCol = rec.indexOf("my_dxcc"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>0) - { - out << "" << aux << " "; - } - - nameCol = rec.indexOf("my_fists"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>0) - { - out << "" << aux << " "; - } - - nameCol = rec.indexOf("iota"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - //qDebug() << "FileManager::adifLogExportToFile (IOTA): " << aux << endl; - if (((aux.length())>=4) && ((aux.length())<=6)) - { - out << "" << aux << " "; - } - - nameCol = rec.indexOf("iota_island_id"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - //qDebug() << "FileManager::adifLogExportToFile (IOTA_ID): " << aux << endl; - - if ((aux.length())>0) - { - out << "" << aux << " "; - } - - nameCol = rec.indexOf("my_iota"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if (((aux.length())>=4) && ((aux.length())<=6)) - { - out << "" << aux << " "; - } - - nameCol = rec.indexOf("my_iota_island_id"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>0) - { - out << "" << aux << " "; - } - - nameCol = rec.indexOf("k_index"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>0) - { - out << "" << aux << " "; - } - - nameCol = rec.indexOf("my_itu_zone"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>0) - { - out << "" << aux << " "; - } - - nameCol = rec.indexOf("lat"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>0) - { - out << "" << aux << " "; - } - - nameCol = rec.indexOf("lon"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>0) - { - out << "" << aux << " "; - } - - nameCol = rec.indexOf("my_lat"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>0) - { - out << "" << aux << " "; - } - - nameCol = rec.indexOf("my_lon"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>0) - { - out << "" << aux << " "; - } - - nameCol = rec.indexOf("lotw_qslrdate"); - aux = (query.value(nameCol)).toString(); - aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length()) == 10) - { - aux.remove(QChar('-'), Qt::CaseInsensitive); - aux.remove(QChar('/'), Qt::CaseInsensitive); - QDate date = QDate::fromString(aux, "yyyyMMdd"); - if (util->isValidDate(date)) - { - out << "" << aux << " "; - } - } - - nameCol = rec.indexOf("lotw_qslsdate"); - aux = (query.value(nameCol)).toString(); - aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length()) == 10) - { - aux.remove(QChar('-'), Qt::CaseInsensitive); - aux.remove(QChar('/'), Qt::CaseInsensitive); - QDate date = QDate::fromString(aux, "yyyyMMdd"); - if (util->isValidDate(date)) - { - out << "" << aux << " "; - } - } - - - nameCol = rec.indexOf("lotw_qsl_rcvd"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ( ((aux.length())==1) && (aux!="N") ) - { - out << "" << aux << " "; - } + if ( ( (stationCallToUse == "NONE") && util->isValidCall(aux) ) || (aux == stationCallToUse) ) + { // We are only exporting the QSO from the appropriate station callsign or with empty stationcallsigns but we will add the one entered by the user. nameCol = rec.indexOf("lotw_qsl_sent"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ( ((aux.length())==1) && (aux!="N") ) - { - out << "" << aux << " "; - } - - nameCol = rec.indexOf("clublog_qso_upload_date"); aux = (query.value(nameCol)).toString(); - aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length()) == 10) + if (aux == "Q") { - aux.remove(QChar('-'), Qt::CaseInsensitive); - aux.remove(QChar('/'), Qt::CaseInsensitive); - QDate date = QDate::fromString(aux, "yyyyMMdd"); - if (util->isValidDate(date)) + //qDebug() << "FileManager::adifLoTWLogExport: Start of isValid" << endl; + propsat = false; // Reset the QSO in case it is a Satellite QSO + + nameCol = rec.indexOf("call"); + aux = (query.value(nameCol)).toString(); + aux = util->checkAndFixASCIIinADIF(aux); + //qDebug() << "FileManager::adifLoTWLogExport: " << QString::number(nameCol) << "/" << aux << endl; + if (aux.length()>0) { - out << "" << aux << " "; + out << "" << aux<< " "; } - } + //qDebug() << "FileManager::adifLoTWLogExport: CALL" << endl; - nameCol = rec.indexOf("clublog_qso_upload_status"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ( ((aux.length())==1) && ((aux!="Y") || (aux!="N") || (aux!="M")) ) - { - out << "" << aux << " "; - } + nameCol = rec.indexOf("qso_date"); + aux = (query.value(nameCol)).toString(); + aux = util->checkAndFixASCIIinADIF(aux); + if ((aux.length()) == 10){ + aux.remove(QChar('-'), Qt::CaseInsensitive); + aux.remove(QChar('/'), Qt::CaseInsensitive); + QDate date = QDate::fromString(aux, "yyyyMMdd"); - nameCol = rec.indexOf("qrzcom_qso_upload_date"); - aux = (query.value(nameCol)).toString(); - aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length()) == 10) - { - aux.remove(QChar('-'), Qt::CaseInsensitive); - aux.remove(QChar('/'), Qt::CaseInsensitive); - QDate date = QDate::fromString(aux, "yyyyMMdd"); - if (util->isValidDate(date)) + if (util->isValidDate(date)) + { + out << "" << aux << " "; + } + } + + nameCol = rec.indexOf("time_on"); + aux = (query.value(nameCol)).toString(); + aux = util->checkAndFixASCIIinADIF(aux); + //qDebug() << "FileManager::adifLoTWLogExportToFile-time_on: " << aux << endl; + if ( ((aux.length()) == 5) || ((aux.length()) == 8) ){ + aux.remove(QChar(':'), Qt::CaseInsensitive); + + out << "" << aux << " "; + } + + nameCol = rec.indexOf("bandid"); + aux = (query.value(nameCol)).toString(); + //qDebug() << "FileManager::adifLoTWLogExportToFile-Band-1: " << aux << endl; + aux = util->checkAndFixASCIIinADIF(aux); + //qDebug() << "FileManager::adifLoTWLogExportToFile-Band-2: " << aux << endl; + //aux = db->getBandNameFromID2(aux.toInt()); + aux = dataProxy->getNameFromBandId(aux.toInt()); + //qDebug() << "FileManager::adifLoTWLogExportToFile-Band-3: " << aux << endl; + + + if (dataProxy->getIdFromBandName(aux)>=0) { - out << "" << aux << " "; + out << "" << aux << " "; + bandst = aux; } - } - nameCol = rec.indexOf("qrzcom_qso_upload_status"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ( ((aux.length())==1) && ((aux!="Y") || (aux!="N") || (aux!="M")) ) - { - out << "" << aux << " "; - } + nameCol = rec.indexOf("band_rx"); + aux = (query.value(nameCol)).toString(); + aux = util->checkAndFixASCIIinADIF(aux); + aux = dataProxy->getNameFromBandId(aux.toInt()); - nameCol = rec.indexOf("max_bursts"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>0) - { - out << "" << aux << " "; - } - - nameCol = rec.indexOf("ms_shower"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>0) - { - out << "" << aux << " "; - } - - nameCol = rec.indexOf("my_city"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>0) - { - out << "" << aux << " "; - } - - nameCol = rec.indexOf("my_cnty"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>0) - { - out << "" << aux << " "; - } - - nameCol = rec.indexOf("my_country"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>0) - { - out << "" << aux << " "; - } - - nameCol = rec.indexOf("my_cq_zone"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>0) - { - out << "" << aux << " "; - } - - nameCol = rec.indexOf("my_name"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>0) - { - out << "" << aux << " "; - } - - nameCol = rec.indexOf("name"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>0) - { - out << "" << aux << " "; - } - - nameCol = rec.indexOf("operator"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if (util->isValidCall(aux)) - { - out << "" << aux << " "; - } - - nameCol = rec.indexOf("owner_callsign"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if (util->isValidCall(aux)) - { - out << "" << aux << " "; - } - - nameCol = rec.indexOf("my_postal_code"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>0) - { - out << "" << aux << " "; - } - - nameCol = rec.indexOf("my_rig"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>0) - { - out << "" << aux << " "; - } - - nameCol = rec.indexOf("my_sig"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>0) - { - out << "" << aux << " "; - } - - nameCol = rec.indexOf("my_sota_ref"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>0) - { - out << "" << aux << " "; - } - - nameCol = rec.indexOf("my_postal_code"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>0) - { - out << "" << aux << " "; - } - - nameCol = rec.indexOf("my_state"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>0) - { - out << "" << aux << " "; - } - - nameCol = rec.indexOf("my_street"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>0) - { - out << "" << aux << " "; - } - - nameCol = rec.indexOf("notes"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>0) - { - aux.replace("\n", "---"); - out << "" << aux << " "; - } - - nameCol = rec.indexOf("nr_bursts"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>0) - { - out << "" << aux << " "; - } - - nameCol = rec.indexOf("nr_pings"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>0) - { - out << "" << aux << " "; - } - - nameCol = rec.indexOf("pfx"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>0) - { - out << "" << aux << " "; - } - - nameCol = rec.indexOf("precedence"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>0) - { - out << "" << aux << " "; - } - - nameCol = rec.indexOf("public_key"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>0){ - out << "" << aux << " "; - } - - nameCol = rec.indexOf("qslmsg"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>0){ - out << "" << aux << " "; - } - - nameCol = rec.indexOf("qslrdate"); - aux = (query.value(nameCol)).toString(); - aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length()) == 10){ - aux.remove(QChar('-'), Qt::CaseInsensitive); - aux.remove(QChar('/'), Qt::CaseInsensitive); - QDate date = QDate::fromString(aux, "yyyyMMdd"); - - if (util->isValidDate(date)) + if ( dataProxy->getIdFromBandName(aux)>=0) { - out << "" << aux << " "; + out << "" << aux << " "; + QString bandrxst = aux; } - } + //qDebug() << "FileManager::adifLoTWLogExport: BAND_RX" << endl; - nameCol = rec.indexOf("qslsdate"); - aux = (query.value(nameCol)).toString(); - aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length()) == 10){ - aux.remove(QChar('-'), Qt::CaseInsensitive); - aux.remove(QChar('/'), Qt::CaseInsensitive); - QDate date = QDate::fromString(aux, "yyyyMMdd"); + nameCol = rec.indexOf("modeid"); + aux = (query.value(nameCol)).toString(); + aux = util->checkAndFixASCIIinADIF(aux); + // get SubModeId to check if it is the same or not from modeid + aux2 = dataProxy->getSubModeFromId(aux.toInt()); + //aux = db->getModeNameFromID2(aux.toInt()); + aux = dataProxy->getNameFromSubMode(aux2); - if (util->isValidDate(date)) + //qDebug() << "FileManager::adifLoTWLogExportToFile - MODE aux2: " << aux2 << endl; + //qDebug() << "FileManager::adifLoTWLogExportToFile - MODE aux: " << aux << endl; + + if ((aux.length()>1) && (dataProxy->getIdFromModeName(aux)>=0)) { - out << "" << aux << " "; + //haveMode = true; + out << "" << aux << " "; } - } - nameCol = rec.indexOf("qsl_rcvd"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if (((aux.length())==1) && (aux!="N") ){ - out << "" << aux << " "; + if ((aux != aux2) && (aux.length()>1) && (dataProxy->getSubModeIdFromSubMode(aux2)>=0) ) + { + //haveMode = true; + out << "" << aux2 << " "; + } - nameCol = rec.indexOf("qsl_rcvd_via"); + //qDebug() << "FileManager::adifLoTWLogExport: SUBMODE: " << aux2 << endl; + + nameCol = rec.indexOf("freq"); + aux = (query.value(nameCol)).toString(); + //qDebug() << "FileManager::adifLoTWLogExportToFile FREQ1: " << aux << endl; + aux = util->checkAndFixASCIIinADIF(aux); + + if ((aux.length())>0){ + //TODO: Check if the Band is correctly defined. BAND Wins and freq is lost if not correct + if (dataProxy->getBandIdFromFreq(aux.toDouble()) == dataProxy->getIdFromBandName(bandst)) + //if (db->isThisFreqInBand(bandst, aux)) + { + out << "" << aux << " "; + } + + } + //qDebug() << "FileManager::adifLoTWLogExport: FREQ" << endl; + nameCol = rec.indexOf("freq_rx"); aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())==1){ - out << "" << aux << " "; + if ((aux.length())>0){ + //TODO: Check if the Band is correctly defined. BAND Wins and freq is lost if not correct + if (dataProxy->getBandIdFromFreq(aux.toDouble()) == dataProxy->getIdFromBandName(bandrxst)) + //if (db->isThisFreqInBand(bandrxst, aux)) + { + out << "" << aux << " "; + } } - } + //qDebug() << "FileManager::adifLoTWLogExport: FREQ_RX" << endl; - nameCol = rec.indexOf("qsl_sent"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if (((aux.length())==1) && (aux!="N") ){ - out << "" << aux << " "; - nameCol = rec.indexOf("qsl_sent_via"); + nameCol = rec.indexOf("prop_mode"); aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())==1) { - out << "" << aux << " "; + if ((aux.length())>1){ + out << "" << aux << " "; + if (aux == "SAT") + { + propsat = true; + } + } + //qDebug() << "FileManager::adifLoTWLogExport: PROP_MODE" << endl; - } - - nameCol = rec.indexOf("qsl_via"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>0){ - out << "" << aux << " "; - } - - nameCol = rec.indexOf("qso_complete"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>0){ - out << "" << aux << " "; - } - - nameCol = rec.indexOf("qso_random"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>0){ - out << "" << aux << " "; - } - - nameCol = rec.indexOf("qth"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>0){ - out << "" << aux << " "; - } - - nameCol = rec.indexOf("rst_sent"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>0){ - out << "" << aux << " "; - } - - nameCol = rec.indexOf("rst_rcvd"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>0){ - out << "" << aux << " "; - } - - nameCol = rec.indexOf("region"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>0){ - out << "" << aux << " "; - } - - nameCol = rec.indexOf("rig"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>0){ - out << "" << aux << " "; - } - - nameCol = rec.indexOf("rx_pwr"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if (((aux.length())>0) && (aux.toDouble()>0) ){ - out << "" << aux << " "; - } - - nameCol = rec.indexOf("tx_pwr"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ( ((aux.length())>0) && (aux.toDouble()>0)) { - out << "" << aux << " "; - } - - - nameCol = rec.indexOf("sat_mode"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>0){ - out << "" << aux << " "; - } - - - nameCol = rec.indexOf("sfi"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>0){ - out << "" << aux << " "; - } - - nameCol = rec.indexOf("sig"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>0){ - out << "" << aux << " "; - } - - nameCol = rec.indexOf("sig_info"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>0){ - out << "" << aux << " "; - } - - nameCol = rec.indexOf("silent_key"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>0){ - out << "" << aux << " "; - } - - nameCol = rec.indexOf("skcc"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>0){ - out << "" << aux << " "; - } - - nameCol = rec.indexOf("sota_ref"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>0){ - out << "" << aux << " "; - } - - nameCol = rec.indexOf("state"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>0){ - out << "" << aux << " "; - } - - nameCol = rec.indexOf("swl"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>0){ - out << "" << aux << " "; - } - - nameCol = rec.indexOf("ten_ten"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>0){ - out << "" << aux << " "; - } - - nameCol = rec.indexOf("ten_ten"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>0){ - out << "" << aux << " "; - } - - nameCol = rec.indexOf("uksmg"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>0){ - out << "" << aux << " "; - } - - nameCol = rec.indexOf("ve_prov"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>0){ - out << "" << aux << " "; - } - - nameCol = rec.indexOf("my_usaca_counties"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>0){ - out << "" << aux << " "; - } - - nameCol = rec.indexOf("usaca_counties"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>0){ - out << "" << aux << " "; - } - - nameCol = rec.indexOf("vucc_grids"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>0){ - out << "" << aux << " "; - } - - nameCol = rec.indexOf("my_vucc_grids"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>0){ - out << "" << aux << " "; - } - - nameCol = rec.indexOf("web"); - aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>0){ - out << "" << aux << " "; - } - - if (_logN == -1) - { - nameCol = rec.indexOf("lognumber"); + nameCol = rec.indexOf("sat_name"); aux = (query.value(nameCol)).toString(); aux = util->checkAndFixASCIIinADIF(aux); - if ((aux.length())>0) + if ((aux.length())>0){ + out << "" << aux << " "; + + if (!propsat) + { + out << "SAT "; + } + } + //qDebug() << "FileManager::adifLoTWLogExport: SAT_NAME" << endl; + + out << " " << endl; + + i++; + if (( (i % step ) == 0) ) + { // To update the speed I will only show the progress once each X QSOs + //qDebug() << "FileManager::adifLoTWLogExport: MOD 0 - i = " << QString::number(i) << endl; + + aux = tr("Exporting LoTW ADIF file...") + "\n" + tr(" QSO: ") + QString::number(i) + "/" + QString::number(numberOfQsos); + + progress.setLabelText(aux); + progress.setValue(i); + + } + else { - out << "" << aux << " "; + //qDebug() << "FileManager::adifLoTWLogExport: Mod: "<< QString::number(i) << " mod " << QString::number(step) << " = " << QString::number(i % step) << endl; + } } - - - - - - } // END OF EXPORT OF GENERAL ADIF - - - out << " " << endl; - i++; - - if (( (i % step ) == 0) ) - { // To update the speed I will only show the progress once each X QSOs - //qDebug() << "FileManager::adifLogExport: MOD 0 - i = " << QString::number(i) << endl; - - aux = tr("Exporting ADIF file...") + "\n" + tr(" QSO: ") + QString::number(i) + "/" + QString::number(numberOfQsos); - progress.setLabelText(aux); - progress.setValue(i); - } - } // END of if (query.isValid()) - //qDebug() << "FileManager::adifLogExport: End Of Valid" << endl; - if ( progress.wasCanceled() ) - { - QMessageBox msgBox; - msgBox.setWindowTitle(tr("KLog - User cancelled")); - QString aux = QString(tr("You have canceled the file export. The file will be removed and no data will be exported.") + "\n" + tr("Do you still want to cancel?")); - msgBox.setText(aux); - msgBox.setStandardButtons(QMessageBox::Yes | QMessageBox::No); - msgBox.setDefaultButton(QMessageBox::No); - int ret = msgBox.exec(); - switch (ret) - { - case QMessageBox::Yes: - // Yes was clicked - // finishExport = true; - qsos.clear(); - return qsos; - case QMessageBox::No: - // No Save was clicked - break; - default: - // should never be reached - break; } } - } // END OF WHOLE + //qDebug() << "FileManager::adifLoTWLogExport: End Of Valid" << endl; + } - //qDebug() << "FileManager::adifLogExport: End: " << QString::number(qsos.count()) << endl; + //qDebug() << "FileManager::adifLoTWLogExport: End of While " << endl; - return qsos; + return i; } bool FileManager::adifLogExportToFile(const QString& _fileName, const int _logN, bool justMarked, bool _qslRequested , bool _lotw) { - //adifLogExportToFile(const QString& _fileName, const int _logN=0, bool justMarked = false, bool _qslRequested = false, bool _lotw=false); // If _logN = 0, then we will export ALL the logs. //qDebug() << "FileManager::adifLogExportToFile: " << _fileName << endl; @@ -2017,7 +535,7 @@ bool FileManager::adifLogExportToFile(const QString& _fileName, const int _logN, { } } - //qDebug() << "FileManager::adifLogExportToFile - numberOfQsos = " << QString::number(numberOfQsos)<< endl; + //qDebug() << "FileManager::adifLogExportToFile - numberOfQsos = " << QString::number(numberOfQsos)<< endl; } else { @@ -2041,10 +559,10 @@ bool FileManager::adifLogExportToFile(const QString& _fileName, const int _logN, { numberOfQsos = (query1.value(0)).toInt(); } - //qDebug() << "FileManager::adifLogExportToFile - numberOfQsos = " << QString::number(numberOfQsos)<< endl; + //qDebug() << "FileManager::adifLogExportToFile - numberOfQsos = " << QString::number(numberOfQsos)<< endl; } - //qDebug() << "FileManager::adifLogExportToFile END - numberOfQsos = " << QString::number(numberOfQsos) << endl; + //qDebug() << "FileManager::adifLogExportToFile END - numberOfQsos = " << QString::number(numberOfQsos) << endl; step = util->getProgresStepForDialog(numberOfQsos); //step = getProgresStepForDialog(numberOfQsos); @@ -2052,7 +570,7 @@ bool FileManager::adifLogExportToFile(const QString& _fileName, const int _logN, progress.setMaximum(numberOfQsos); progress.setWindowModality(Qt::ApplicationModal); - out << "ADIF v3.0.7 Export from KLog\nhttps://www.klog.xyz/klog\n" << klogVersion << "\nKLOG" << endl; + out << "ADIF v3.0.7 Export from KLog\nhttp://www.klog.xyz/klog\n" << klogVersion << "\nKLOG" << endl; out << "" << QString::number(numberOfQsos) << endl; QDateTime dateTime = (QDateTime::currentDateTime()).toUTC(); @@ -2082,7 +600,7 @@ bool FileManager::adifLogExportToFile(const QString& _fileName, const int _logN, QSqlRecord rec = query.record(); - //qDebug() << "FileManager::adifLogExportToFile - before the While" << endl; + //qDebug() << "FileManager::adifLogExportToFile - before the While" << endl; while ( (query.next()) && (!noMoreQso) ) { //marked = false; @@ -2097,41 +615,18 @@ bool FileManager::adifLogExportToFile(const QString& _fileName, const int _logN, aux1 = (query.value(nameCol)).toString(); if (aux1 == "X") { - //qDebug() << "FileManager::adifLogExportToFile: MARKED: " << aux1 << endl; + //qDebug() << "FileManager::adifLogExportToFile: MARKED: " << aux1 << endl; currentQso++; nameCol = rec.indexOf("call"); - aux1 = (query.value(nameCol)).toString(); aux1 = util->checkAndFixASCIIinADIF(aux1); - //qDebug() << "FileManager::adifLogExportToFile: " << QString::number(nameCol) << "/" << aux1 << endl; - if (util->isValidCall(aux1)) - //if (aux1.length()>0) + aux1 = (query.value(nameCol)).toString(); + + aux1 = util->checkAndFixASCIIinADIF(aux1); + //qDebug() << "FileManager::adifLogExportToFile: " << QString::number(nameCol) << "/" << aux1 << endl; + if (aux1.length()>0) { - out << "" << aux1 << " "; - } - else - { - QMessageBox msgBox; - msgBox.setIcon(QMessageBox::Warning); - msgBox.setWindowTitle(tr("KLog - Invalid call detected")); - QString aux = QString(tr("An invalid callsign has been detected %1. Do you want to export this callsign anyway (click on Yes) or remove the call from the exported log file?").arg(aux1)); - msgBox.setText(aux); - msgBox.setInformativeText(tr("Exporting wrong calls may create problems in the applications you are potentially importing this logfile to. It may, however, be a good callsign that is wrongly identified by KLog as not valid. You can, however, edit the ADIF file once the export process is finished.")); - msgBox.setStandardButtons(QMessageBox::Yes | QMessageBox::No); - msgBox.setDefaultButton(QMessageBox::No); - int ret = msgBox.exec(); - switch (ret) { - case QMessageBox::Yes: - // Yes was clicked - out << "" << aux1 << " "; - break; - case QMessageBox::No: - // No Save was clicked - break; - default: - // should never be reached - break; - } + out << "" << aux1<< " "; } nameCol = rec.indexOf("qso_date"); @@ -2164,7 +659,7 @@ bool FileManager::adifLogExportToFile(const QString& _fileName, const int _logN, nameCol = rec.indexOf("time_on"); aux1 = (query.value(nameCol)).toString(); aux1 = util->checkAndFixASCIIinADIF(aux1); - //qDebug() << "FileManager::adifLogExportToFile-time_on: " << aux1 << endl; + //qDebug() << "FileManager::adifLogExportToFile-time_on: " << aux1 << endl; if ( ((aux1.length()) == 5) || ((aux1.length()) == 8) ){ aux1.remove(QChar(':'), Qt::CaseInsensitive); @@ -2175,22 +670,22 @@ bool FileManager::adifLogExportToFile(const QString& _fileName, const int _logN, nameCol = rec.indexOf("time_off"); aux1 = (query.value(nameCol)).toString(); aux1 = util->checkAndFixASCIIinADIF(aux1); - //qDebug() << "FileManager::adifLogExportToFile: time_off-682" << QString::number(nameCol) << "/" << aux1 << endl; + //qDebug() << "FileManager::adifLogExportToFile: time_off-682" << QString::number(nameCol) << "/" << aux1 << endl; if ( ((aux1.length()) == 5) || ((aux1.length()) == 8) ){ aux1.remove(QChar(':'), Qt::CaseInsensitive); out << "" << aux1 << " "; - //qDebug() << "FileManager::adifLogExportToFile: time_off exported-682" << endl; + //qDebug() << "FileManager::adifLogExportToFile: time_off exported-682" << endl; } nameCol = rec.indexOf("bandid"); aux1 = (query.value(nameCol)).toString(); - //qDebug() << "FileManager::adifLogExportToFile: bandid1: " << aux1 << endl; + //qDebug() << "FileManager::adifLogExportToFile: bandid1: " << aux1 << endl; aux1 = util->checkAndFixASCIIinADIF(aux1); - //qDebug() << "FileManager::adifLogExportToFile: bandid2: " << aux1 << endl; + //qDebug() << "FileManager::adifLogExportToFile: bandid2: " << aux1 << endl; aux1 = dataProxy->getNameFromBandId(aux1.toInt()); //aux1 = db->getBandNameFromID2(aux1.toInt()); - //qDebug() << "FileManager::adifLogExportToFile: bandid3: " << aux1 << endl; + //qDebug() << "FileManager::adifLogExportToFile: bandid3: " << aux1 << endl; if (dataProxy->getIdFromBandName(aux1)>=0) { @@ -2219,8 +714,8 @@ bool FileManager::adifLogExportToFile(const QString& _fileName, const int _logN, aux1 = dataProxy->getNameFromModeId(aux1.toInt()); //aux1 = db->getModeNameFromID2(aux1.toInt()); - //qDebug() << "FileManager::adifLogExportToFile - MODE aux2: " << aux2 << endl; - //qDebug() << "FileManager::adifLogExportToFile - MODE aux1: " << aux1 << endl; + //qDebug() << "FileManager::adifLogExportToFile - MODE aux2: " << aux2 << endl; + //qDebug() << "FileManager::adifLogExportToFile - MODE aux1: " << aux1 << endl; if ((aux1.length()>1) && (dataProxy->getIdFromModeName(aux1)>=0)) { @@ -2258,7 +753,7 @@ bool FileManager::adifLogExportToFile(const QString& _fileName, const int _logN, if ((aux1.length())>0){ out << "" << aux1 << " "; } - //qDebug() << "FileManager::adifLogExportToFile - 100" << endl; + //qDebug() << "FileManager::adifLogExportToFile - 100" << endl; nameCol = rec.indexOf("cqz"); aux1 = (query.value(nameCol)).toString(); aux1 = util->checkAndFixASCIIinADIF(aux1); if ( ((aux1.length())>0) && (0 < aux1.toInt()) && (aux1.toInt() < CQZones+1) ){ @@ -2271,15 +766,15 @@ bool FileManager::adifLogExportToFile(const QString& _fileName, const int _logN, out << "" << aux1 << " "; } - //qDebug() << "FileManager::adifLogExportToFile: DXCC - Now..." << endl; + //qDebug() << "FileManager::adifLogExportToFile: DXCC - Now..." << endl; nameCol = rec.indexOf("dxcc"); aux1 = (query.value(nameCol)).toString(); aux1 = util->checkAndFixASCIIinADIF(aux1); if ((aux1.length())>0){ out << "" << aux1 << " "; - //qDebug() << "FileManager::adifLogExportToFile: DXCC " << aux1 << endl; + //qDebug() << "FileManager::adifLogExportToFile: DXCC " << aux1 << endl; } - //qDebug() << "FileManager::adifLogExportToFile: DXCC - Exported!" << endl; + //qDebug() << "FileManager::adifLogExportToFile: DXCC - Exported!" << endl; nameCol = rec.indexOf("address"); aux1 = (query.value(nameCol)).toString(); aux1 = util->checkAndFixASCIIinADIF(aux1); @@ -2304,7 +799,7 @@ bool FileManager::adifLogExportToFile(const QString& _fileName, const int _logN, if ((aux1.length())>0){ out << "" << aux1 << " "; } - //qDebug() << "FileManager::adifLogExportToFile - 200" << endl; + //qDebug() << "FileManager::adifLogExportToFile - 200" << endl; nameCol = rec.indexOf("a_index"); aux1 = (query.value(nameCol)).toString(); aux1 = util->checkAndFixASCIIinADIF(aux1); if ((aux1.length())>0){ @@ -2340,7 +835,7 @@ bool FileManager::adifLogExportToFile(const QString& _fileName, const int _logN, if ((aux1.length())>0){ out << "" << aux1 << " "; } - //qDebug() << "FileManager::adifLogExportToFile - 30" << endl; + //qDebug() << "FileManager::adifLogExportToFile - 30" << endl; nameCol = rec.indexOf("class"); aux1 = (query.value(nameCol)).toString(); aux1 = util->checkAndFixASCIIinADIF(aux1); if ((aux1.length())>0){ @@ -2355,8 +850,7 @@ bool FileManager::adifLogExportToFile(const QString& _fileName, const int _logN, nameCol = rec.indexOf("contacted_op"); aux1 = (query.value(nameCol)).toString(); aux1 = util->checkAndFixASCIIinADIF(aux1); - if (util->isValidCall(aux1)) - { + if ((aux1.length())>0){ out << "" << aux1 << " "; } @@ -2377,7 +871,7 @@ bool FileManager::adifLogExportToFile(const QString& _fileName, const int _logN, if ((aux1.length())>0){ out << "" << aux1 << " "; } - //qDebug() << "FileManager::adifLogExportToFile - 40" << endl; + //qDebug() << "FileManager::adifLogExportToFile - 40" << endl; nameCol = rec.indexOf("transmiterid"); aux1 = (query.value(nameCol)).toString(); aux1 = util->checkAndFixASCIIinADIF(aux1); if ((aux1.length())>0){ @@ -2415,7 +909,7 @@ bool FileManager::adifLogExportToFile(const QString& _fileName, const int _logN, nameCol = rec.indexOf("eq_call"); aux1 = (query.value(nameCol)).toString(); aux1 = util->checkAndFixASCIIinADIF(aux1); - if (util->isValidCall(aux1)){ + if ((aux1.length())>0){ out << "" << aux1 << " "; } @@ -2487,27 +981,24 @@ bool FileManager::adifLogExportToFile(const QString& _fileName, const int _logN, nameCol = rec.indexOf("freq"); aux1 = (query.value(nameCol)).toString(); - //qDebug() << "FileManager::adifLogExportToFile FREQ1: " << aux1 << endl; + //qDebug() << "FileManager::adifLogExportToFile FREQ1: " << aux1 << endl; aux1 = util->checkAndFixASCIIinADIF(aux1); - //qDebug() << "FileManager::adifLogExportToFile FREQ1.1: " << aux1 << endl; - aux2.clear(); + //qDebug() << "FileManager::adifLogExportToFile FREQ1.1: " << aux1 << endl; if ((aux1.length())>0){ //TODO: Check if the Band is correctly defined. BAND Wins and freq is lost if not correct if (dataProxy->getBandIdFromFreq(aux1.toDouble()) == dataProxy->getIdFromBandName(bandst)) //if (db->isThisFreqInBand(bandst, aux1)) { out << "" << aux1 << " "; - aux2 = aux1; } } - //qDebug() << "FileManager::adifLogExportToFile FREQ_tx: " << aux2 << endl; nameCol = rec.indexOf("freq_rx"); aux1 = (query.value(nameCol)).toString(); aux1 = util->checkAndFixASCIIinADIF(aux1); - //qDebug() << "FileManager::adifLogExportToFile FREQ_rx: " << aux1 << endl; if ((aux1.length())>0){ //TODO: Check if the Band is correctly defined. BAND Wins and freq is lost if not correct - if ((dataProxy->getBandIdFromFreq(aux1.toDouble()) == dataProxy->getIdFromBandName(bandrxst)) && (aux2 != aux1) ) + if (dataProxy->getBandIdFromFreq(aux1.toDouble()) == dataProxy->getIdFromBandName(bandrxst)) + //if (db->isThisFreqInBand(bandrxst, aux1)) { out << "" << aux1 << " "; } @@ -2576,7 +1067,7 @@ bool FileManager::adifLogExportToFile(const QString& _fileName, const int _logN, nameCol = rec.indexOf("iota"); aux1 = (query.value(nameCol)).toString(); aux1 = util->checkAndFixASCIIinADIF(aux1); - //qDebug() << "FileManager::adifLogExportToFile (IOTA): " << aux1 << endl; + //qDebug() << "FileManager::adifLogExportToFile (IOTA): " << aux1 << endl; if (((aux1.length())>=4) && ((aux1.length())<=6)){ //if ((aux1.length())==6){ @@ -2585,7 +1076,7 @@ bool FileManager::adifLogExportToFile(const QString& _fileName, const int _logN, nameCol = rec.indexOf("iota_island_id"); aux1 = (query.value(nameCol)).toString(); aux1 = util->checkAndFixASCIIinADIF(aux1); - //qDebug() << "FileManager::adifLogExportToFile (IOTA_ID): " << aux1 << endl; + //qDebug() << "FileManager::adifLogExportToFile (IOTA_ID): " << aux1 << endl; if ((aux1.length())>0){ out << "" << aux1 << " "; @@ -2770,22 +1261,19 @@ bool FileManager::adifLogExportToFile(const QString& _fileName, const int _logN, nameCol = rec.indexOf("operator"); aux1 = (query.value(nameCol)).toString(); aux1 = util->checkAndFixASCIIinADIF(aux1); - if (util->isValidCall(aux1)){ - //if ((aux1.length())>0){ + if ((aux1.length())>0){ out << "" << aux1 << " "; } nameCol = rec.indexOf("station_callsign"); aux1 = (query.value(nameCol)).toString(); aux1 = util->checkAndFixASCIIinADIF(aux1); - if (util->isValidCall(aux1)) - //if ((aux1.length())>0) - { + if ((aux1.length())>0){ out << "" << aux1 << " "; } - //qDebug() << "FileManager::adifLogExportToFile - 160" << endl; + //qDebug() << "FileManager::adifLogExportToFile - 160" << endl; nameCol = rec.indexOf("owner_callsign"); aux1 = (query.value(nameCol)).toString(); aux1 = util->checkAndFixASCIIinADIF(aux1); - if (util->isValidCall(aux1)){ + if ((aux1.length())>0){ out << "" << aux1 << " "; } @@ -3131,7 +1619,7 @@ bool FileManager::adifLogExportToFile(const QString& _fileName, const int _logN, } else { - //qDebug() << "FileManager::adifLogExportToFile: NOT MARKED" << endl; + //qDebug() << "FileManager::adifLogExportToFile: NOT MARKED" << endl; //marked = false; // Find something that bypass the while without breaking it all @@ -3154,42 +1642,17 @@ bool FileManager::adifLogExportToFile(const QString& _fileName, const int _logN, nameCol = rec.indexOf("call"); aux1 = (query.value(nameCol)).toString(); aux1 = util->checkAndFixASCIIinADIF(aux1); - //qDebug() << "FileManager::adifLogExportToFile: " << QString::number(nameCol) << "/" << aux1 << endl; - if (util->isValidCall(aux1)) - //if (aux1.length()>0) + //qDebug() << "FileManager::adifLogExportToFile: " << QString::number(nameCol) << "/" << aux1 << endl; + if (aux1.length()>0) { out << "" << aux1 << " "; } - else - { - QMessageBox msgBox; - msgBox.setIcon(QMessageBox::Warning); - msgBox.setWindowTitle(tr("KLog - Invalid call detected")); - QString aux = QString(tr("An invalid callsign has been detected %1. Do you want to export this callsign anyway (click on Yes) or remove the call from the exported log file?").arg(aux1)); - msgBox.setText(aux); - msgBox.setInformativeText(tr("Exporting wrong calls may create problems in the applications you are potentially importing this logfile to. It may, however, be a good callsign that is wrongly identified by KLog as not valid. You can, however, edit the ADIF file once the export process is finished.")); - msgBox.setStandardButtons(QMessageBox::Yes | QMessageBox::No); - msgBox.setDefaultButton(QMessageBox::No); - int ret = msgBox.exec(); - switch (ret) { - case QMessageBox::Yes: - // Yes was clicked - out << "" << aux1 << " "; - break; - case QMessageBox::No: - // No Save was clicked - break; - default: - // should never be reached - break; - } - } - //qDebug() << "FileManager::adifLogExportToFile before 30 " << endl; + //qDebug() << "FileManager::adifLogExportToFile before 30 " << endl; nameCol = rec.indexOf("qso_date"); aux1 = (query.value(nameCol)).toString(); - //qDebug() << "FileManager::adifLogExportToFile: QSO_DATE: " << aux1 << endl; + //qDebug() << "FileManager::adifLogExportToFile: QSO_DATE: " << aux1 << endl; aux1 = util->checkAndFixASCIIinADIF(aux1); - //qDebug() << "FileManager::adifLogExportToFile: QSO_DATE-1: " << aux1 << endl; + //qDebug() << "FileManager::adifLogExportToFile: QSO_DATE-1: " << aux1 << endl; if ((aux1.length()) == 10){ aux1.remove(QChar('-'), Qt::CaseInsensitive); aux1.remove(QChar('/'), Qt::CaseInsensitive); @@ -3202,7 +1665,7 @@ bool FileManager::adifLogExportToFile(const QString& _fileName, const int _logN, } else { - //qDebug() << "FileManager::adifLogExportToFile: QSO_DATE not valid: " << aux1 << endl; + //qDebug() << "FileManager::adifLogExportToFile: QSO_DATE not valid: " << aux1 << endl; } } @@ -3219,10 +1682,10 @@ bool FileManager::adifLogExportToFile(const QString& _fileName, const int _logN, out << "" << aux1 << " "; } } - //qDebug() << "FileManager::adifLogExportToFile before 50 " << endl; + //qDebug() << "FileManager::adifLogExportToFile before 50 " << endl; nameCol = rec.indexOf("time_on"); aux1 = (query.value(nameCol)).toString(); aux1 = util->checkAndFixASCIIinADIF(aux1); - //qDebug() << "FileManager::adifLogExportToFile-time_on: " << aux1 << endl; + //qDebug() << "FileManager::adifLogExportToFile-time_on: " << aux1 << endl; if ( ((aux1.length()) == 5) || ((aux1.length()) == 8) ){ aux1.remove(QChar(':'), Qt::CaseInsensitive); out << "" << aux1 << " "; @@ -3230,22 +1693,22 @@ bool FileManager::adifLogExportToFile(const QString& _fileName, const int _logN, nameCol = rec.indexOf("time_off"); aux1 = (query.value(nameCol)).toString(); aux1 = util->checkAndFixASCIIinADIF(aux1); - //qDebug() << "FileManager::adifLogExportToFile: time_off-1489" << QString::number(nameCol) << "/" << aux1 << endl; + //qDebug() << "FileManager::adifLogExportToFile: time_off-1489" << QString::number(nameCol) << "/" << aux1 << endl; if ( ((aux1.length()) == 5) || ((aux1.length()) == 8) ){ aux1.remove(QChar(':'), Qt::CaseInsensitive); out << "" << aux1 << " "; - //qDebug() << "FileManager::adifLogExportToFile: time_off-1489-exported" << endl; + //qDebug() << "FileManager::adifLogExportToFile: time_off-1489-exported" << endl; } nameCol = rec.indexOf("bandid"); aux1 = (query.value(nameCol)).toString(); - //qDebug() << "FileManager::adifLogExportToFile: bandid21: " << aux1 << endl; + //qDebug() << "FileManager::adifLogExportToFile: bandid21: " << aux1 << endl; aux1 = util->checkAndFixASCIIinADIF(aux1); - //qDebug() << "FileManager::adifLogExportToFile: bandid22: " << aux1 << endl; + //qDebug() << "FileManager::adifLogExportToFile: bandid22: " << aux1 << endl; //aux1 = db->getBandNameFromID2(aux1.toInt()); aux1 = dataProxy->getNameFromBandId(aux1.toInt()); - //qDebug() << "FileManager::adifLogExportToFile: bandid23: " << aux1 << endl; + //qDebug() << "FileManager::adifLogExportToFile: bandid23: " << aux1 << endl; //TODO: If the DB has some blank fields (bandid or whatever, they will be exported as "-1" so not valid. // Check how to avoid exporting wrong data. @@ -3260,7 +1723,7 @@ bool FileManager::adifLogExportToFile(const QString& _fileName, const int _logN, nameCol = rec.indexOf("band_rx"); aux1 = (query.value(nameCol)).toString(); aux1 = util->checkAndFixASCIIinADIF(aux1); - //qDebug() << "FileManager::adifLogExportToFile before 60 " << endl; + //qDebug() << "FileManager::adifLogExportToFile before 60 " << endl; if ( (0 < aux1.toInt()) && (aux1.toInt() < 30) && (aux1.length()>0) && (dataProxy->getIdFromBandName(aux1)>=0) ) { //aux1 = db->getBandNameFromID2(aux1.toInt()); aux1 = dataProxy->getNameFromBandId(aux1.toInt()); @@ -3286,8 +1749,8 @@ bool FileManager::adifLogExportToFile(const QString& _fileName, const int _logN, aux1 = dataProxy->getNameFromSubMode(aux2); //aux1 = db->getModeNameFromID2(aux1.toInt()); - //qDebug() << "FileManager::adifLogExportToFile - MODE2 aux2: " << aux2 << endl; - //qDebug() << "FileManager::adifLogExportToFile - MODE2 aux1: " << aux1 << endl; + //qDebug() << "FileManager::adifLogExportToFile - MODE2 aux2: " << aux2 << endl; + //qDebug() << "FileManager::adifLogExportToFile - MODE2 aux1: " << aux1 << endl; if ((aux1.length()>1) && (dataProxy->getIdFromModeName(aux1)>=0)) { @@ -3302,7 +1765,7 @@ bool FileManager::adifLogExportToFile(const QString& _fileName, const int _logN, out << "" << aux2 << " "; } - //qDebug() << "FileManager::adifLogExportToFile before 70 " << endl; + //qDebug() << "FileManager::adifLogExportToFile before 70 " << endl; nameCol = rec.indexOf("srx"); aux1 = (query.value(nameCol)).toString(); aux1 = util->checkAndFixASCIIinADIF(aux1); if ((aux1.length())>0){ @@ -3337,23 +1800,23 @@ bool FileManager::adifLogExportToFile(const QString& _fileName, const int _logN, out << "" << aux1 << " "; } - //qDebug() << "FileManager::adifLogExportToFile - DXCC to be exported: " << endl; + //qDebug() << "FileManager::adifLogExportToFile - DXCC to be exported: " << endl; nameCol = rec.indexOf("dxcc"); aux1 = (query.value(nameCol)).toString(); aux1 = util->checkAndFixASCIIinADIF(aux1); - //qDebug() << "FileManager::adifLogExportToFile - DXCC: " << aux1 << endl; + //qDebug() << "FileManager::adifLogExportToFile - DXCC: " << aux1 << endl; //if ((aux1.length())>0){ if ( ((aux1.length())>0) && (0 < aux1.toInt()) && (aux1.toInt() < DXCCEntities + 5) ){ out << "" << aux1 << " "; - //qDebug() << "FileManager::adifLogExportToFile - DXCC in the if" << endl; + //qDebug() << "FileManager::adifLogExportToFile - DXCC in the if" << endl; } - //qDebug() << "FileManager::adifLogExportToFile - DXCC alreadyexported: " << endl; + //qDebug() << "FileManager::adifLogExportToFile - DXCC alreadyexported: " << endl; nameCol = rec.indexOf("address"); aux1 = (query.value(nameCol)).toString(); aux1 = util->checkAndFixASCIIinADIF(aux1); if ((aux1.length())>0){ out << "" << aux1 << " "; } - //qDebug() << "FileManager::adifLogExportToFile before 80 " << endl; + //qDebug() << "FileManager::adifLogExportToFile before 80 " << endl; nameCol = rec.indexOf("age"); aux1 = (query.value(nameCol)).toString(); aux1 = util->checkAndFixASCIIinADIF(aux1); if ((aux1.length())>0){ @@ -3394,7 +1857,7 @@ bool FileManager::adifLogExportToFile(const QString& _fileName, const int _logN, if ((aux1.length())>0){ out << "" << aux1 << " "; } - //qDebug() << "FileManager::adifLogExportToFile before 90 " << endl; + //qDebug() << "FileManager::adifLogExportToFile before 90 " << endl; nameCol = rec.indexOf("arrl_sect"); aux1 = (query.value(nameCol)).toString(); aux1 = util->checkAndFixASCIIinADIF(aux1); if ((aux1.length())>0){ @@ -3420,7 +1883,7 @@ bool FileManager::adifLogExportToFile(const QString& _fileName, const int _logN, } nameCol = rec.indexOf("contacted_op"); aux1 = (query.value(nameCol)).toString(); aux1 = util->checkAndFixASCIIinADIF(aux1); - if (util->isValidCall(aux1)){ + if ((aux1.length())>0){ out << "" << aux1 << " "; } nameCol = rec.indexOf("contest_id"); @@ -3447,7 +1910,7 @@ bool FileManager::adifLogExportToFile(const QString& _fileName, const int _logN, out << "" << aux1 << " "; } - //qDebug() << "FileManager::adifLogExportToFile before 100 " << endl; + //qDebug() << "FileManager::adifLogExportToFile before 100 " << endl; nameCol = rec.indexOf("country"); aux1 = (query.value(nameCol)).toString(); aux1 = util->checkAndFixASCIIinADIF(aux1); if ((aux1.length())>0){ @@ -3478,7 +1941,7 @@ bool FileManager::adifLogExportToFile(const QString& _fileName, const int _logN, } nameCol = rec.indexOf("eq_call"); aux1 = (query.value(nameCol)).toString(); aux1 = util->checkAndFixASCIIinADIF(aux1); - if (util->isValidCall(aux1)){ + if ((aux1.length())>0){ out << "" << aux1 << " "; } nameCol = rec.indexOf("email"); @@ -3519,14 +1982,14 @@ bool FileManager::adifLogExportToFile(const QString& _fileName, const int _logN, out << "" << aux1 << " "; } } - //qDebug() << "FileManager::adifLogExportToFile before eqsl_qsl_rcvd: " << endl; + //qDebug() << "FileManager::adifLogExportToFile before eqsl_qsl_rcvd: " << endl; nameCol = rec.indexOf("eqsl_qsl_rcvd"); aux1 = (query.value(nameCol)).toString(); aux1 = util->checkAndFixASCIIinADIF(aux1); if ( ((aux1.length())==1) && (aux1!="N") ) { out << "" << aux1 << " "; } - //qDebug() << "FileManager::adifLogExportToFile before eqsl_qsl_sent: " << endl; + //qDebug() << "FileManager::adifLogExportToFile before eqsl_qsl_sent: " << endl; nameCol = rec.indexOf("eqsl_qsl_sent"); aux1 = (query.value(nameCol)).toString(); aux1 = util->checkAndFixASCIIinADIF(aux1); if ( ((aux1.length())==1) && (aux1!="N") ){ @@ -3545,43 +2008,36 @@ bool FileManager::adifLogExportToFile(const QString& _fileName, const int _logN, out << "" << aux1 << " "; } - //qDebug() << "FileManager::adifLogExportToFile before force_init: " << endl; + //qDebug() << "FileManager::adifLogExportToFile before force_init: " << endl; nameCol = rec.indexOf("force_init"); aux1 = (query.value(nameCol)).toString(); aux1 = util->checkAndFixASCIIinADIF(aux1); if ((aux1.length())>0){ out << "" << aux1 << " "; } - //qDebug() << "FileManager::adifLogExportToFile before freq: " << endl; + //qDebug() << "FileManager::adifLogExportToFile before freq: " << endl; nameCol = rec.indexOf("freq"); - //qDebug() << "FileManager::adifLogExportToFile before freq: nameCol: " << QString::number(nameCol) << endl; + //qDebug() << "FileManager::adifLogExportToFile before freq: nameCol: " << QString::number(nameCol) << endl; aux1 = (query.value(nameCol)).toString(); - //qDebug() << "FileManager::adifLogExportToFile FREQ2: " << aux1 << endl; + //qDebug() << "FileManager::adifLogExportToFile FREQ2: " << aux1 << endl; aux1 = util->checkAndFixASCIIinADIF(aux1); - //qDebug() << "FileManager::adifLogExportToFile FREQ2.1: " << aux1 << endl; + //qDebug() << "FileManager::adifLogExportToFile FREQ2.1: " << aux1 << endl; if ((aux1.length())>0){ if (dataProxy->getBandIdFromFreq(aux1.toDouble()) == dataProxy->getIdFromBandName(bandst)) //if (db->isThisFreqInBand(bandst, aux1)) { out << "" << aux1 << " "; - aux2 = aux1; } } nameCol = rec.indexOf("freq_rx"); aux1 = (query.value(nameCol)).toString(); aux1 = util->checkAndFixASCIIinADIF(aux1); - - if (aux2.length()>0) - { - //qDebug() << "FileManager::adifLogExportToFile FREQ_TX: " << aux2 << endl; - //qDebug() << "FileManager::adifLogExportToFile FREQ_RX: " << aux1 << endl; - } - if ((aux1.length())>0){ - if ((dataProxy->getBandIdFromFreq(aux1.toDouble()) == dataProxy->getIdFromBandName(bandst)) && (aux1 != aux2) && (aux2.length()>0)) + if (dataProxy->getBandIdFromFreq(aux1.toDouble()) == dataProxy->getIdFromBandName(bandst)) //if (db->isThisFreqInBand(bandst, aux1)) { out << "" << aux1 << " "; } + } nameCol = rec.indexOf("guest_op"); @@ -3629,14 +2085,14 @@ bool FileManager::adifLogExportToFile(const QString& _fileName, const int _logN, nameCol = rec.indexOf("iota"); aux1 = (query.value(nameCol)).toString(); aux1 = util->checkAndFixASCIIinADIF(aux1); - //qDebug() << "FileManager::adifLogExportToFile (IOTA2): " << aux1 << endl; + //qDebug() << "FileManager::adifLogExportToFile (IOTA2): " << aux1 << endl; if (((aux1.length())>=4) && ((aux1.length())<=6)){ //if ((aux1.length())==6){ out << "" << aux1 << " "; } nameCol = rec.indexOf("iota_island_id"); aux1 = (query.value(nameCol)).toString(); aux1 = util->checkAndFixASCIIinADIF(aux1); - //qDebug() << "FileManager::adifLogExportToFile (IOTA_ID2): " << aux1 << endl; + //qDebug() << "FileManager::adifLogExportToFile (IOTA_ID2): " << aux1 << endl; if ((aux1.length())>0){ out << "" << aux1 << " "; @@ -3666,7 +2122,7 @@ bool FileManager::adifLogExportToFile(const QString& _fileName, const int _logN, if ((aux1.length())>0){ out << "" << aux1 << " "; } - //qDebug() << "FileManager::adifLogExportToFile - a- 90" << endl; + //qDebug() << "FileManager::adifLogExportToFile - a- 90" << endl; nameCol = rec.indexOf("lat"); aux1 = (query.value(nameCol)).toString(); aux1 = util->checkAndFixASCIIinADIF(aux1); if ((aux1.length())>0){ @@ -3817,22 +2273,18 @@ bool FileManager::adifLogExportToFile(const QString& _fileName, const int _logN, nameCol = rec.indexOf("operator"); aux1 = (query.value(nameCol)).toString(); aux1 = util->checkAndFixASCIIinADIF(aux1); - //if ((aux1.length())>0) - if (util->isValidCall(aux1)) - { + if ((aux1.length())>0){ out << "" << aux1 << " "; } nameCol = rec.indexOf("station_callsign"); aux1 = (query.value(nameCol)).toString(); aux1 = util->checkAndFixASCIIinADIF(aux1); - if (util->isValidCall(aux1)) - //if ((aux1.length())>0){ - { + if ((aux1.length())>0){ out << "" << aux1 << " "; } nameCol = rec.indexOf("owner_callsign"); aux1 = (query.value(nameCol)).toString(); aux1 = util->checkAndFixASCIIinADIF(aux1); - if (util->isValidCall(aux1)){ + if ((aux1.length())>0){ out << "" << aux1 << " "; } @@ -4161,7 +2613,6 @@ bool FileManager::adifLogExportToFile(const QString& _fileName, const int _logN, if ( progress.wasCanceled() ) { QMessageBox msgBox; - msgBox.setWindowTitle(tr("KLog - User cancelled")); QString aux = QString(tr("You have canceled the file export. The file will be removed and no data will be exported.") + "\n" + tr("Do you still want to cancel?")); msgBox.setText(aux); msgBox.setStandardButtons(QMessageBox::Yes | QMessageBox::No); @@ -4181,34 +2632,35 @@ bool FileManager::adifLogExportToFile(const QString& _fileName, const int _logN, } } - + else + {} } // Closes the isValid else {} } //Closes the While - //qDebug() << "FileManager::adifLogExportToFile - after the While" << endl; + //qDebug() << "FileManager::adifLogExportToFile - after the While" << endl; progress.setValue(numberOfQsos); if (noMoreQso) { //TODO: Remove the file (_fileName) - //qDebug() << "FileManager::adifLogExportToFile - noMoreQSO = true" << endl; + //qDebug() << "FileManager::adifLogExportToFile - noMoreQSO = true" << endl; file.remove(); return false; } else { - //qDebug() << "FileManager::adifLogExportToFile - noMoreQSO = false" << endl; + //qDebug() << "FileManager::adifLogExportToFile - noMoreQSO = false" << endl; return writeBackupDate(); } } -bool FileManager::cabrilloLogExport(const QString& _fileName, const QString &_contestType, const int logNconst) +bool FileManager::cabrilloLogExport(const QString& _fileName, const QString _contestType, const int logNconst) { - //qDebug() << "FileManager::cabrilloLogExport" << endl; + //qDebug() << "FileManager::cabrilloLogExport" << endl; return cabrilloLogExportToFile(_fileName, logNconst); @@ -4216,7 +2668,7 @@ bool FileManager::cabrilloLogExport(const QString& _fileName, const QString &_co bool FileManager::cabrilloLogExportCQWWToFile(const QString& _fileName, const int logNconst) { - //qDebug() << "FileManager::cabrilloLogExportCQWWToFile" << _fileName, endl; + //qDebug() << "FileManager::cabrilloLogExportCQWWToFile" << _fileName, endl; /* START-OF-LOG: ARRL-SECTION: @@ -4426,7 +2878,7 @@ QFile file(_fileName); nameCol = rec.indexOf("time_on"); aux1 = (query.value(nameCol)).toString(); aux1 = util->checkAndFixASCIIinADIF(aux1); - //qDebug() << "FileManager::adifLogExportToFile-time_on: " << aux1 << endl; + //qDebug() << "FileManager::adifLogExportToFile-time_on: " << aux1 << endl; if ( ((aux1.length()) == 5) || ((aux1.length()) == 8) ){ aux1.remove(QChar(':'), Qt::CaseInsensitive); //out << aux1.resize(2) << " "; @@ -4438,8 +2890,7 @@ QFile file(_fileName); nameCol = rec.indexOf("station_callsign"); aux1 = (query.value(nameCol)).toString(); aux1 = util->checkAndFixASCIIinADIF(aux1); - if (util->isValidCall(aux1)) - //if ( (0 <= aux1.length()) && (aux1.length() <= 14) ) + if ( (0 <= aux1.length()) && (aux1.length() <= 14) ) { out << aux1.rightJustified(13, ' ', true) << " "; } @@ -4456,8 +2907,8 @@ QFile file(_fileName); nameCol = rec.indexOf("call"); aux1 = (query.value(nameCol)).toString(); aux1 = util->checkAndFixASCIIinADIF(aux1); - if (util->isValidCall(aux1)) - //if ((0 <= aux1.length()) && (aux1.length() <= 14) ) + + if ((0 <= aux1.length()) && (aux1.length() <= 14) ) { out << aux1.rightJustified(13, ' ', true) << " "; } @@ -4491,7 +2942,7 @@ QFile file(_fileName); bool FileManager::cabrilloLogExportToFile(const QString& _fileName, const int logNconst) { - //qDebug() << "FileManager::cabrilloLogExportToFile" << endl; + //qDebug() << "FileManager::cabrilloLogExportToFile" << endl; QString fn = _fileName; @@ -4503,13 +2954,13 @@ bool FileManager::cabrilloLogExportToFile(const QString& _fileName, const int lo return false; } -bool FileManager::printQs(const QStringList &_line) +bool FileManager::printQs(const QStringList _line) //bool FileManager::printQs(const QString _q, const QStringList _line) { QStringList qs = _line; for (int i = 0; i FileManager::adifLoTWReadLog(const QString& tfileName) +/* +bool FileManager::adifCheckMoreThanOneLog(QFile& _f) { - //qDebug() << "FileManager::adifLoTWReadLog: " << tfileName << endl; + //qDebug() << "FileManager::adifCheckMoreThanOneLog:" << endl; + QFile &file = _f; + qint64 pos; //Position in the file + QString line = QString(); + QStringList fields; + QString aux = QString(); + QString lastAux = QString(); + QStringList data = QStringList(); + int log1 = -1; + int log2 = -2; + bool firstLog = true; + + if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) + { + //qDebug() << "FileManager::adifCheckMoreThanOneLog File not found" << endl; + return false; + } + + pos = file.pos(); + + while ( !file.atEnd() ) + { + //line = file.readLine(); + + line.clear(); + line.append(file.readLine().trimmed().toUpper()); + + if (line.contains("APP_KLOG_LOGN")) + { fields.clear(); + fields << line.split("<", QString::SkipEmptyParts); + + foreach (aux, fields) + { + aux = aux.trimmed(); + if (aux.contains("APP_KLOG_LOGN")) + { + data.clear(); + data << aux.split('>'); + //qDebug() << "FileManager::adifCheckMoreThanOneLog: data.0: " << data.at(0) << endl; + //qDebug() << "FileManager::adifCheckMoreThanOneLog: data.1: " << data.at(1) << endl; + if (firstLog) + { + log1 = (data.at(1)).toInt(); + firstLog = false; + } + else + { + if (log1 == (data.at(1)).toInt()) + {} + else + { + file.close(); + return true; + } + } + } + } + } + } + //qDebug() << "FileManager::adifCheckMoreThanOneLog: JUST ONE!" << aux << endl; + file.close(); + return false; +} +*/ + +bool FileManager::adifLoTWReadLog(const QString& tfileName) +{ + //qDebug() << "FileManager::adifLoTWReadLog: " << tfileName << endl; QString fileName = tfileName; - QList readed; - readed.clear(); QFile file( fileName ); if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) { - //qDebug() << "FileManager::adifLoTWReadLog File not found" << fileName << endl; - QMessageBox msgBox; - msgBox.setIcon(QMessageBox::Warning); - msgBox.setWindowTitle(tr("KLog - File not opened")); - QString aux = QString(tr("It was not possible to open the file %1 for reading.") ).arg(fileName); - msgBox.setText(tr("KLog was not able to read the LoTW file")); - msgBox.setInformativeText(aux); - msgBox.setStandardButtons(QMessageBox::Ok); - msgBox.exec(); - return readed; + //qDebug() << "FileManager::adifLoTWReadLog File not found" << fileName << endl; + return false; } QStringList fields, qsToPass; - QStringList modifiedQSOList; // This is to emit it so after reading the full file, it is possible to show a qtable showing the QSOs that have been modified. - modifiedQSOList.clear(); bool hasEOH = false; int numberOfQsos = 0; - int i = 0; - //int numberOfQsosLoWTHeader = 0; + int numberOfQsosLoWTHeader = 0; QString line = QString(); QString auxString = QString(); QString aux = QString(); @@ -4569,16 +3074,12 @@ QList FileManager::adifLoTWReadLog(const QString& tfileName) { hasEOH = true; } - + numberOfQsosLoWTHeader = numberOfQsosLoWTHeader + line.count(""); } - - int step = util->getProgresStepForDialog(numberOfQsos); - //847 - //qDebug() << "FileManager::adifLoTWReadLog QSOs found: " << QString::number(numberOfQsos) << endl; - //qDebug() << "FileManager::adifLoTWReadLog STEP: " << QString::number(step) << endl; + //qDebug() << "FileManager::adifLoTWReadLog QSOs found: " << QString::number(numberOfQsos) << endl; QProgressDialog progress(tr("Reading LoTW file..."), tr("Abort reading"), 0, numberOfQsos, this); progress.setWindowModality(Qt::ApplicationModal); @@ -4598,10 +3099,10 @@ QList FileManager::adifLoTWReadLog(const QString& tfileName) The first < after is the start of the first field of the first data record in the file. */ - //qDebug() << "FileManager::adifLoTWReadLog: Going to read the HEADER" << endl; + //qDebug() << "FileManager::adifLoTWReadLog: Going to read the HEADER" << endl; //Read HEADER line = file.readLine().trimmed().toUpper(); - //qDebug() << "FileManager::adifLoTWReadLog: " << line << endl; + //qDebug() << "FileManager::adifLoTWReadLog: " << line << endl; if ( (!(line.startsWith('<'))) && (inHeader) ) { // The file has a header @@ -4646,9 +3147,9 @@ QList FileManager::adifLoTWReadLog(const QString& tfileName) file.seek(pos); //START reading QSO data... - //qDebug() << "FileManager::adifLoTWReadLog: QSO data reading started..." << endl; + //qDebug() << "FileManager::adifLoTWReadLog: QSO data reading started..." << endl; - while (!noMoreQso ) + while ((!noMoreQso) ) { if (!file.atEnd()) { @@ -4659,7 +3160,7 @@ QList FileManager::adifLoTWReadLog(const QString& tfileName) noMoreQso = true; } //line.append(file.readLine().toUpper()); // TODO: Check if we should remove extra spaces,tabs and so on... - //qDebug() << "FileManager::adifLoTWReadLog-line:" << line << endl; + //qDebug() << "FileManager::adifLoTWReadLog-line:" << line << endl; fields << line.split("<", QString::SkipEmptyParts); /* DL4ZAA @@ -4667,14 +3168,12 @@ QList FileManager::adifLoTWReadLog(const QString& tfileName) 21.31700 SSB PHONE -2019-04-02 10:21:25 20150329 112900 Y 20170910 */ - qsToPass.clear(); auxString.clear(); foreach (aux, fields) @@ -4683,9 +3182,9 @@ QList FileManager::adifLoTWReadLog(const QString& tfileName) if ( (aux.contains('>')) && (auxString.length() > 0) ) { qsToPass.last() = qsToPass.last() + auxString; - //qDebug() << "FileManager::adifLoTWReadLog Modified in qsToPass: " << qsToPass.last() << endl; + //qDebug() << "FileManager::adifLoTWReadLog Modified in qsToPass: " << qsToPass.last() << endl; //qsToPass << aux.trimmed(); - //qDebug() << "FileManager::adifLoTWReadLog Added to qsToPass: " << aux.trimmed() << endl; + //qDebug() << "FileManager::adifLoTWReadLog Added to qsToPass: " << aux.trimmed() << endl; auxString.clear(); } else if (( aux.contains('>')) && (auxString.length() <= 0) ) @@ -4695,133 +3194,56 @@ QList FileManager::adifLoTWReadLog(const QString& tfileName) else { auxString = auxString + "-" + aux.trimmed(); - //qDebug() << "FileManager::adifLoTWReadLog auxString: " << auxString << endl; + //qDebug() << "FileManager::adifLoTWReadLog auxString: " << auxString << endl; } - //qDebug() << "FileManager::adifLoTWReadLog fields: " << aux << endl; + //qDebug() << "FileManager::adifLoTWReadLog fields: " << aux << endl; } if (auxString.length()>0) { - //qDebug() << "FileManager::adifLoTWReadLog auxString2: " << auxString << endl; + //qDebug() << "FileManager::adifLoTWReadLog auxString2: " << auxString << endl; qsToPass.last() = qsToPass.last() + auxString.trimmed(); } - //qDebug() << "FileManager::adifLoTWReadLog END fields" << endl; - //qDebug() << "FileManager::adifLoTWReadLog Mod: " << qsToPass.join("/") << endl; - //qDebug() << "FileManager::adifLoTWReadLog END2 fields" << endl; + //qDebug() << "FileManager::adifLoTWReadLog END fields" << endl; + //qDebug() << "FileManager::adifLoTWReadLog Mod: " << qsToPass.join("/") << endl; + //qDebug() << "FileManager::adifLoTWReadLog END2 fields" << endl; fields = qsToPass; if (fields.contains("EOR>")) // We are going to add a QSO to the log... prepare the Query! { - //qDebug() << "FileManager::adifLoTWReadLog: START of QSO "<< endl; + //qDebug() << "FileManager::adifLoTWReadLog: START of QSO "<< endl; //dataProxy->isThisQSODuplicated() //int getDuplicatedQSOId(const QString _qrz, const QString _date, const QString _time, const int _band, const int _mode); - QString str, _call, _date, _time, _band, _mode, _qslsdate, _qslrdate; - bool qsl_rcvd = false; - QString field, data; - QStringList clearAdif; - bool validQSO = false; - int modifiedQSO = -1; + QString str, _call, _date, _time, _band, _mode; + QString field; foreach (str, fields) { - //field = readAdifField("<"+str).at(0); - clearAdif.clear(); - clearAdif << readAdifField("<"+str); - //qDebug() << "FileManager::adifLoTWReadLog: clearAdif length: " << QString::number(clearAdif.length()) << endl; - if (clearAdif.length()==2) + field = readAdifField(str).at(0); + //field = str; + + if (field == "CALL") { - validQSO = true; - field = clearAdif.at(0); - data = clearAdif.at(1); - //qDebug() << "FileManager::adifLoTWReadLog: field: " << field << endl; - //qDebug() << "FileManager::adifLoTWReadLog: data: " << data << endl; - if (field == "CALL") - { - if (util->isValidCall(data)) - { - _call = data; - } - else - { - _call = util->getAValidCall(data); - } - - } - else if (field == "QSO_DATE") - { - _date = data; - } - else if (field == "TIME_ON") - { - _time = data; - } - else if (field == "BAND") - { - _band = data; - } - else if (field == "MODE") - { - _mode = data; - } - else if (field == "FREQ") // In MHz with 5 decimal places - { - - } - else if (field == "APP_LoTW_RXQSO") - { - //_qslsdate = data; - } - else if (field == "QSL_RCVD") - { - if (data == "Y") - { - qsl_rcvd = true; - } - } - else if (field == "QSLRDATE") - { - _qslrdate = data; - } - else - {} } + else if (field == "QSO_DATE") + { + + } + else if (field == "TIME_ON") + {} + else if (field == "BAND") + {} + else if (field == "MODE") + {} else - { - //qDebug() << "FileManager::adifLoTWReadLog: NOT VALID ADIF RECEIVED: " << "<" + str << endl; - } - + {} + //qDebug() << "FileManager::adifLoTWReadLog: " << str << endl; } - if (validQSO) - { - modifiedQSO = dataProxy->lotwUpdateQSLReception (_call, _date, _time, _band, _mode, _qslrdate); - if (modifiedQSO>0) - { - //qDebug() << "FileManager::adifLoTWReadLog: QSO Modified: " << _call << endl; - readed.append(modifiedQSO); - modifiedQSOList << _call << _date + "-" +_time << _band << _mode << _qslrdate; - emit addQSOToList(modifiedQSOList); - modifiedQSOList.clear(); - } - else - { - //qDebug() << "FileManager::adifLoTWReadLog: QSO NOT Modified: Error: " << QString::number(modifiedQSO) << " - " << _call << endl; - } - } - - _call.clear(); - _date.clear(); - _time.clear(); - _band.clear(); - _mode.clear(); - _qslrdate.clear(); - _qslsdate.clear(); - - //qDebug() << "FileManager::adifLoTWReadLog: END of QSO "<< endl; + //qDebug() << "FileManager::adifLoTWReadLog: END of QSO "<< endl; fields.clear(); - i++; } // END of if (fields.contains("EOR>")) // We are going to add a QSO to the log... ! else @@ -4830,64 +3252,25 @@ QList FileManager::adifLoTWReadLog(const QString& tfileName) { noMoreQso = true; } - //qDebug() << "FileManager::adifLoTWReadLog: fields DOES NOT contains EOR>" << endl; + //qDebug() << "FileManager::adifLoTWReadLog: fields DOES NOT contains EOR>" << endl; } - - - if (( (i % step ) == 0) ) - { // To update the speed I will only show the progress once each X QSOs - //qDebug() << "FileManager::adifLoTWReadLog: MOD 0 - i = " << QString::number(i) << endl; - aux = tr("Importing LoTW ADIF file...") + "\n" + tr(" QSO: ") + QString::number(i) + "/" + QString::number(numberOfQsos); - progress.setLabelText(aux); - progress.setValue(i); - } - if (i>=numberOfQsos) - { - noMoreQso = true; - } - - if ( progress.wasCanceled() ) - { - - QMessageBox msgBox; - msgBox.setWindowTitle(tr("KLog - User cancelled")); - aux = QString(tr("You have canceled the file import. The file will be removed and no data will be imported.") + "\n" + tr("Do you still want to cancel?")); - msgBox.setText(aux); - msgBox.setStandardButtons(QMessageBox::Yes | QMessageBox::No); - msgBox.setDefaultButton(QMessageBox::No); - int ret = msgBox.exec(); - switch (ret) { - case QMessageBox::Yes: - // Yes was clicked - noMoreQso = true; - break; - case QMessageBox::No: - // No Save was clicked - break; - default: - // should never be reached - break; - } - } } } - progress.setValue(numberOfQsos); - //qDebug() << "FileManager::adifLoTWReadLog - END" << endl; - - return readed; + return true; } bool FileManager::adifReadLog(const QString& tfileName, const int logN) { - //qDebug() << "FileManager::adifReadLog:" << tfileName << endl; + //qDebug() << "FileManager::adifReadLog:" << tfileName << endl; //int n = 0; //QSqlDatabase db = QSqlDatabase::database(); //int maxLogs = dataProxy->getNumberOfManagedLogs(); // To manage several logs - usePreviousStationCallsignAnswerAlways = false; // This is to ensure that the StationCallsign is used in the process Line function + + bool sqlOK = true; QStringList queries = QStringList(); queries.clear(); @@ -4927,14 +3310,14 @@ bool FileManager::adifReadLog(const QString& tfileName, const int logN) //We need to fill the hashLog to process then in processLog - //bool keepLogsInFile = false; + bool keepLogsInFile = false; - //qDebug() << "FileManager::adifReadLog: Logs: " << QString::number(howManyLogs) << endl; + //qDebug() << "FileManager::adifReadLog: Logs: " << QString::number(howManyLogs) << endl; if (howManyLogs>1) { + QMessageBox msgBox; - msgBox.setWindowTitle(tr("KLog - Log selection")); aux = QString(tr("There is more than one log in this logfile.") + "\n" + tr("All logs will be imported into the current log.") + "\n" + tr("Do you want to continue?")); msgBox.setText(aux); msgBox.setStandardButtons(QMessageBox::Yes | QMessageBox::No); @@ -4943,26 +3326,26 @@ bool FileManager::adifReadLog(const QString& tfileName, const int logN) switch (ret) { case QMessageBox::Yes: // Yes was clicked - //qDebug() << "FileManager::adifReadLog: clicked YES" << endl; - //keepLogsInFile = true; + //qDebug() << "FileManager::adifReadLog: clicked YES" << endl; + keepLogsInFile = true; break; case QMessageBox::No: // No Save was clicked - //qDebug() << "FileManager::adifReadLog: clicked NO" << endl; - //keepLogsInFile = false; + //qDebug() << "FileManager::adifReadLog: clicked NO" << endl; + keepLogsInFile = false; return false; default: // should never be reached - //keepLogsInFile = false; + keepLogsInFile = false; return false; - //qDebug() << "FileManager::adifReadLog: default" << endl; + //qDebug() << "FileManager::adifReadLog: default" << endl; } } if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) { - //qDebug() << "FileManager::adifReadLog File not found" << fileName << endl; + //qDebug() << "FileManager::adifReadLog File not found" << fileName << endl; return false; } @@ -4978,7 +3361,7 @@ bool FileManager::adifReadLog(const QString& tfileName, const int logN) hasEOH = true; } } - //qDebug() << "FileManager::adifReadLog QSOs found: " << QString::number(numberOfQsos) << endl; + //qDebug() << "FileManager::adifReadLog QSOs found: " << QString::number(numberOfQsos) << endl; QProgressDialog progress(tr("Reading ADIF file..."), tr("Abort reading"), 0, numberOfQsos, this); /*progress.setWindowModality(Qt::WindowModal);*/ @@ -4990,8 +3373,8 @@ bool FileManager::adifReadLog(const QString& tfileName, const int logN) step = util->getProgresStepForDialog(numberOfQsos); //step = getProgresStepForDialog(numberOfQsos); - //qDebug() << "FileManager::adifReadLog (STEP)/Number: " << QString::number(step) << "/" << QString::number(numberOfQsos) << endl; - //qDebug() << "FileManager::adifReadLog (number & step: " << QString::number(numberOfQsos % step) << endl; + //qDebug() << "FileManager::adifReadLog (STEP)/Number: " << QString::number(step) << "/" << QString::number(numberOfQsos) << endl; + //qDebug() << "FileManager::adifReadLog (number & step: " << QString::number(numberOfQsos % step) << endl; file.seek(pos); @@ -5003,10 +3386,10 @@ bool FileManager::adifReadLog(const QString& tfileName, const int logN) The first < after is the start of the first field of the first data record in the file. */ - //qDebug() << "FileManager::adifReadLog: Going to read the HEADER" << endl; + //qDebug() << "FileManager::adifReadLog: Going to read the HEADER" << endl; //Read HEADER line = file.readLine().trimmed().toUpper(); - //qDebug() << "FileManager::adifReadLog: " << line << endl; + //qDebug() << "FileManager::adifReadLog: " << line << endl; if ( (!(line.startsWith('<'))) && (inHeader) ) { // The file has a header @@ -5053,17 +3436,17 @@ bool FileManager::adifReadLog(const QString& tfileName, const int logN) file.seek(pos); // START reading QSO data... - //qDebug() << "FileManager::adifReadLog: QSO data reading started..." << endl; + //qDebug() << "FileManager::adifReadLog: QSO data reading started..." << endl; preparedQuery.prepare( "INSERT INTO log (call, qso_date, bandid, modeid, time_on, time_off, srx, stx, srx_string, stx_string, qso_date_off, band_rx, rst_sent, rst_rcvd, cqz, ituz, dxcc, address, age, cnty, comment, a_index, ant_az, ant_el, ant_path, arrl_sect, checkcontest, class, contacted_op, contest_id, country, credit_submitted, credit_granted, distance, eq_call, email, eqsl_qslrdate, eqsl_qslsdate, eqsl_qsl_rcvd, eqsl_qsl_sent, force_init, freq, freq_rx, gridsquare, my_gridsquare, iota, iota_island_id, my_iota, my_iota_island_id, k_index, lat, lon, my_lat, my_lon, lotw_qslrdate, lotw_qslsdate, lotw_qsl_rcvd, lotw_qsl_sent, clublog_qso_upload_date, clublog_qso_upload_status, max_bursts, ms_shower, my_city, my_cnty, my_country, my_cq_zone, my_name, name, operator, station_callsign, owner_callsign, my_rig, my_sig, my_sig_info, my_state, state, my_street, notes, nr_bursts, nr_pings, pfx, precedence, prop_mode, public_key, qslmsg, qslrdate, qslsdate, qsl_rcvd, qsl_sent, qsl_rcvd_via, qsl_sent_via, qsl_via, qso_complete, qso_random, qth, rx_pwr, tx_pwr, sat_mode, sat_name, sfi, sig, swl, ten_ten, web, points, multiplier, lognumber) VALUES (:call, :qso_date, :bandid, :modeid, :time_on, :time_off, :srx, :stx, :srx_string, :stx_string, :qso_date_off, :band_rx, :rst_sent, :rst_rcvd, :cqz, :ituz, :dxcc, :address, :age, :cnty, :comment, :a_index, :ant_az, :ant_el, :ant_path, :arrl_sect, :checkcontest, :class, :contacted_op, :contest_id, :country, :credit_submitted, :credit_granted, :distance, :eq_call, :email, :eqsl_qslrdate, :eqsl_qslsdate, :eqsl_qsl_rcvd, :eqsl_qsl_sent, :force_init, :freq, :freq_rx, :gridsquare, :my_gridsquare, :iota, :iota_island_id, :my_iota, :my_iota_island_id, :k_index, :lat, :lon, :my_lat, :my_lon, :lotw_qslrdate, :lotw_qslsdate, :lotw_qsl_rcvd, :lotw_qsl_sent, :clublog_qso_upload_date, :clublog_qso_upload_status, :max_bursts, :ms_shower, :my_city, :my_cnty, :my_country, :my_cq_zone, :my_name, :name, :operator, :station_callsign, :owner_callsign, :my_rig, :my_sig, :my_sig_info, :my_state, :state, :my_street, :notes, :nr_bursts, :nr_pings, :pfx, :precedence, :prop_mode, :public_key, :qslmsg, :qslrdate, :qslsdate, :qsl_rcvd, :qsl_sent, :qsl_rcvd_via, :qsl_sent_via, :qsl_via, :qso_complete, :qso_random, :qth, :rx_pwr, :tx_pwr, :sat_mode, :sat_name, :sfi, :sig, :swl, :ten_ten, :web, :points, :multiplier, :lognumber)" ); /* if (db.transaction()) { - //qDebug() << "FileManager::adifReadLog: Transaction Opened" << endl; + //qDebug() << "FileManager::adifReadLog: Transaction Opened" << endl; } else { - //qDebug() << "FileManager::adifReadLog: Transaction NOT Opened" << endl; + //qDebug() << "FileManager::adifReadLog: Transaction NOT Opened" << endl; } */ //file.seek(pos); @@ -5077,14 +3460,14 @@ bool FileManager::adifReadLog(const QString& tfileName, const int logN) line.clear(); line.append(file.readLine().trimmed().toUpper()); //line.append(file.readLine().toUpper()); // TODO: Check if we should remove extra spaces,tabs and so on... - //qDebug() << "FileManager::adifReadLog-line:" << line << endl; + //qDebug() << "FileManager::adifReadLog-line:" << line << endl; //fields.clear(); //TODO: Check if I should clear fields... I think I should not because I could loose data if a line contains data after an fields << line.split("<", QString::SkipEmptyParts); } //TODO: Check what happens - //qDebug() << "FileManager::adifReadLog START fields" << endl; + //qDebug() << "FileManager::adifReadLog START fields" << endl; qsToPass.clear(); auxString.clear(); foreach (aux, fields) @@ -5099,9 +3482,9 @@ bool FileManager::adifReadLog(const QString& tfileName, const int logN) { //qsToPass << auxString + aux; qsToPass.last() = qsToPass.last() + auxString; - //qDebug() << "FileManager::adifReadLog Modified in qsToPass: " << qsToPass.last() << endl; + //qDebug() << "FileManager::adifReadLog Modified in qsToPass: " << qsToPass.last() << endl; qsToPass << aux.trimmed(); - //qDebug() << "FileManager::adifReadLog Added to qsToPass: " << aux.trimmed() << endl; + //qDebug() << "FileManager::adifReadLog Added to qsToPass: " << aux.trimmed() << endl; auxString.clear(); } else if (( aux.contains('>')) && (auxString.length() <= 0) ) @@ -5111,64 +3494,63 @@ bool FileManager::adifReadLog(const QString& tfileName, const int logN) else { auxString = auxString + "-" + aux.trimmed(); - //qDebug() << "FileManager::adifReadLog auxString: " << auxString << endl; + //qDebug() << "FileManager::adifReadLog auxString: " << auxString << endl; } - //qDebug() << "FileManager::adifReadLog fields: " << aux << endl; + //qDebug() << "FileManager::adifReadLog fields: " << aux << endl; } - //qDebug() << "FileManager::adifReadLog-W-1" << endl; + //qDebug() << "FileManager::adifReadLog-W-1" << endl; if (auxString.length()>0) { - //qDebug() << "FileManager::adifReadLog auxString2: " << auxString << endl; + //qDebug() << "FileManager::adifReadLog auxString2: " << auxString << endl; qsToPass.last() = qsToPass.last() + auxString.trimmed(); } - //qDebug() << "FileManager::adifReadLog END fields" << endl; - //qDebug() << "FileManager::adifReadLog Mod: " << qsToPass.join("/") << endl; - //qDebug() << "FileManager::adifReadLog END2 fields" << endl; + //qDebug() << "FileManager::adifReadLog END fields" << endl; + //qDebug() << "FileManager::adifReadLog Mod: " << qsToPass.join("/") << endl; + //qDebug() << "FileManager::adifReadLog END2 fields" << endl; fields = qsToPass; if (fields.contains("EOR>")) // We are going to add a QSO to the log... prepare the Query! { - //qDebug() << "FileManager::adifReadLog: fields contains EOR>" << endl; + //qDebug() << "FileManager::adifReadLog: fields contains EOR>" << endl; preparedQuery.bindValue( ":lognumber", logN); while ( (!EOR) && (!fields.isEmpty()) ) { - //qDebug() << "FileManager::adifReadLog-W-2" << endl; + //qDebug() << "FileManager::adifReadLog-W-2" << endl; fieldToAnalyze = (fields.takeFirst()).trimmed(); if ( fieldToAnalyze.contains("EOR>") ) { - //qDebug() << "FileManager::adifReadLog-W-2.1" << endl; + //qDebug() << "FileManager::adifReadLog-W-2.1" << endl; currentQSOfields << fieldToAnalyze; //preparedQBool = processQsoReadingADIF(currentQSOfields, logN, keepLogsInFile, hashLogs); - //XpreparedQBool = processQsoReadingADIF(currentQSOfields, logN, keepLogsInFile); - preparedQBool = processQsoReadingADIF(currentQSOfields, logN); + preparedQBool = processQsoReadingADIF(currentQSOfields, logN, keepLogsInFile); if (preparedQBool) { - //qDebug() << "FileManager::adifReadLog: preparedQBool = true" << endl; + //qDebug() << "FileManager::adifReadLog: preparedQBool = true" << endl; } else { - //qDebug() << "FileManager::adifReadLog: preparedQBool = false" << endl; + //qDebug() << "FileManager::adifReadLog: preparedQBool = false" << endl; } } else { - //qDebug() << "FileManager::adifReadLog: Not contains EOR" << endl; + //qDebug() << "FileManager::adifReadLog: Not contains EOR" << endl; if ((!fieldToAnalyze.contains('>')) && (currentQSOfields.length()>0)) { - //qDebug() << "FileManager::adifReadLog: Contains > & currentsQSOfields.length>0" << endl; + //qDebug() << "FileManager::adifReadLog: Contains > & currentsQSOfields.length>0" << endl; auxString = currentQSOfields.at(currentQSOfields.length()-1); auxString = auxString + "\n" + fieldToAnalyze; //currentQSOfields.at(currentQSOfields.length()) = auxString; @@ -5180,14 +3562,16 @@ bool FileManager::adifReadLog(const QString& tfileName, const int logN) } } sqlOK = preparedQuery.exec(); - //qDebug() << "FileManager::adifReadLog: executedQuery1: " << preparedQuery.executedQuery() << endl; - //qDebug() << "FileManager::adifReadLog: executedQuery2: " << preparedQuery.executedQuery() << endl; - //qDebug() << "FileManager::adifReadLog: LastQuery2: " << preparedQuery.lastQuery() << endl; + //qDebug() << "FileManager::adifReadLog: executedQuery1: " << preparedQuery.executedQuery() << endl; + + + //qDebug() << "FileManager::adifReadLog: executedQuery2: " << preparedQuery.executedQuery() << endl; + //qDebug() << "FileManager::adifReadLog: LastQuery2: " << preparedQuery.lastQuery() << endl; if (( (i % step ) == 0) ) { // To update the speed I will only show the progress once each X QSOs - //qDebug() << "FileManager::adifReadLog: MOD 0 - i = " << QString::number(i) << endl; + //qDebug() << "FileManager::adifReadLog: MOD 0 - i = " << QString::number(i) << endl; aux = tr("Importing ADIF file...") + "\n" + tr(" QSO: ") + QString::number(i) + "/" + QString::number(numberOfQsos); @@ -5197,26 +3581,25 @@ bool FileManager::adifReadLog(const QString& tfileName, const int logN) } else { - //qDebug() << "FileManager::adifReadLog: Mod: "<< QString::number(i) << " mod " << QString::number(step) << " = " << QString::number(i % step) << endl; + //qDebug() << "FileManager::adifReadLog: Mod: "<< QString::number(i) << " mod " << QString::number(step) << " = " << QString::number(i % step) << endl; } if (sqlOK) { - //qDebug() << "FileManager::adifReadLog: (1) in While sqlOK (QSO added) = TRUE" << endl; + //qDebug() << "FileManager::adifReadLog: (1) in While sqlOK (QSO added) = TRUE" << endl; } else { errorCode = preparedQuery.lastError().number(); - //qDebug() << "FileManager::adifReadLog: QSO DUPE" << endl; + //qDebug() << "FileManager::adifReadLog: QSO DUPE" << endl; - //qDebug() << "FileManager::adifReadLog: (1) LastQuery: " << preparedQuery.lastQuery() << endl; - //qDebug() << "FileManager::adifReadLog: (1) LastError-data: " << preparedQuery.lastError().databaseText() << endl; - //qDebug() << "FileManager::adifReadLog: (1) LastError-driver: " << preparedQuery.lastError().driverText() << endl; - //qDebug() << "FileManager::adifReadLog: (1) LastError-n: " << QString::number(preparedQuery.lastError().number() ) << endl; + //qDebug() << "FileManager::adifReadLog: (1) LastQuery: " << preparedQuery.lastQuery() << endl; + //qDebug() << "FileManager::adifReadLog: (1) LastError-data: " << preparedQuery.lastError().databaseText() << endl; + //qDebug() << "FileManager::adifReadLog: (1) LastError-driver: " << preparedQuery.lastError().driverText() << endl; + //qDebug() << "FileManager::adifReadLog: (1) LastError-n: " << QString::number(preparedQuery.lastError().number() ) << endl; if ((errorCode == 19) && (!ignoreErrorCode19)) { // There are some repeated QSO QMessageBox msgBox; - msgBox.setWindowTitle(tr("KLog - Duplicated QSOs")); aux = tr("It seems that there are some duplicated QSOs in the ADIF file you are importing. Do you want to continue? (Duped QSOs will not be imported)"); msgBox.setText(aux); msgBox.setStandardButtons(QMessageBox::Yes | QMessageBox::YesToAll | QMessageBox::No); @@ -5225,24 +3608,24 @@ bool FileManager::adifReadLog(const QString& tfileName, const int logN) switch (ret) { case QMessageBox::Yes: // Yes was clicked - //qDebug() << "FileManager::adifReadLog: (1) clicked YES" << endl; + //qDebug() << "FileManager::adifReadLog: (1) clicked YES" << endl; sqlOK = true; break; case QMessageBox::YesToAll: // Yes was clicked - //qDebug() << "FileManager::adifReadLog: (1) clicked YES to ALL" << endl; + //qDebug() << "FileManager::adifReadLog: (1) clicked YES to ALL" << endl; ignoreErrorCode19 = true; sqlOK = true; break; case QMessageBox::No: // No Save was clicked - //qDebug() << "FileManager::adifReadLog: (1) clicked NO" << endl; + //qDebug() << "FileManager::adifReadLog: (1) clicked NO" << endl; sqlOK = false; break; default: // should never be reached sqlOK = true; - //qDebug() << "FileManager::adifReadLog: (1) default" << endl; + //qDebug() << "FileManager::adifReadLog: (1) default" << endl; break; } //; @@ -5251,14 +3634,14 @@ bool FileManager::adifReadLog(const QString& tfileName, const int logN) else if((errorCode == 19) && (ignoreErrorCode19)) { sqlOK = true; - //qDebug() << "FileManager::adifReadLog: errorCode=19 && ignoreErrorCode19" << endl; + //qDebug() << "FileManager::adifReadLog: errorCode=19 && ignoreErrorCode19" << endl; } else { - //qDebug() << "FileManager::adifReadLog: (2) LastQuery: " << preparedQuery.lastQuery() << endl; - //qDebug() << "FileManager::adifReadLog: (2) LastError-data: " << preparedQuery.lastError().databaseText() << endl; - //qDebug() << "FileManager::adifReadLog: (2) LastError-driver: " << preparedQuery.lastError().driverText() << endl; - //qDebug() << "FileManager::adifReadLog: (2) LastError-n: " << QString::number(preparedQuery.lastError().number() ) << endl; + //qDebug() << "FileManager::adifReadLog: (2) LastQuery: " << preparedQuery.lastQuery() << endl; + //qDebug() << "FileManager::adifReadLog: (2) LastError-data: " << preparedQuery.lastError().databaseText() << endl; + //qDebug() << "FileManager::adifReadLog: (2) LastError-driver: " << preparedQuery.lastError().driverText() << endl; + //qDebug() << "FileManager::adifReadLog: (2) LastError-n: " << QString::number(preparedQuery.lastError().number() ) << endl; emit queryError( Q_FUNC_INFO, preparedQuery.lastError().databaseText(), preparedQuery.lastError().number(), preparedQuery.lastQuery()); noMoreQso = true; @@ -5273,14 +3656,14 @@ bool FileManager::adifReadLog(const QString& tfileName, const int logN) case QMessageBox::Ok: // Yes was clicked //sqlOK = false; - //qDebug() << "FileManager::adifReadLog: (2) I have just set sqlOK=False (1)" << endl; + //qDebug() << "FileManager::adifReadLog: (2) I have just set sqlOK=False (1)" << endl; noMoreQso = true; return; break; default: // should never be reached //sqlOK = false; - //qDebug() << "FileManager::adifReadLog: (2) I have just set sqlOK=False (2)" << endl; + //qDebug() << "FileManager::adifReadLog: (2) I have just set sqlOK=False (2)" << endl; break; } */ @@ -5288,27 +3671,27 @@ bool FileManager::adifReadLog(const QString& tfileName, const int logN) } /* - //qDebug() << "FileManager::adifReadLog: qsosInTransaction: " << QString::number(qsosInTransaction) << endl; + //qDebug() << "FileManager::adifReadLog: qsosInTransaction: " << QString::number(qsosInTransaction) << endl; if ((qsosInTransaction>=step*10) && (qsosInTransaction>200) ) { qsosInTransaction = 0; if (db.commit()) { - //qDebug() << "FileManager::adifReadLog: MIDcommit OK: " << QString::number(i) << endl; + //qDebug() << "FileManager::adifReadLog: MIDcommit OK: " << QString::number(i) << endl; if (db.transaction()) { - //qDebug() << "FileManager::adifReadLog: MIDTransaction Opened" << endl; + //qDebug() << "FileManager::adifReadLog: MIDTransaction Opened" << endl; } else { - //qDebug() << "FileManager::adifReadLog: MIDTransaction NOT Opened" << endl; + //qDebug() << "FileManager::adifReadLog: MIDTransaction NOT Opened" << endl; } } else { - //qDebug() << "FileManager::adifReadLog: MIDcommit NOK: " << QString::number(i) << endl; + //qDebug() << "FileManager::adifReadLog: MIDcommit NOK: " << QString::number(i) << endl; errorCode = preparedQuery.lastError().number(); QMessageBox msgBox; @@ -5323,24 +3706,24 @@ bool FileManager::adifReadLog(const QString& tfileName, const int logN) // Yes was clicked sqlOK = false; noMoreQso = true; - //qDebug() << "FileManager::adifReadLog: I have just set sqlOK=False (3)" << endl; + //qDebug() << "FileManager::adifReadLog: I have just set sqlOK=False (3)" << endl; break; default: // should never be reached sqlOK = false; - //qDebug() << "FileManager::adifReadLog: I have just set sqlOK=False (4)" << endl; + //qDebug() << "FileManager::adifReadLog: I have just set sqlOK=False (4)" << endl; break; } if (db.rollback()) { - //qDebug() << "FileManager::adifReadLog: MIDcommit NOK: Rolledback" << endl; + //qDebug() << "FileManager::adifReadLog: MIDcommit NOK: Rolledback" << endl; } else { //TODO: Check the error if db.rollback returns false - //qDebug() << "FileManager::adifReadLog: MIDcommit NOK: Roleback returned FALSE¿?" << endl; + //qDebug() << "FileManager::adifReadLog: MIDcommit NOK: Roleback returned FALSE¿?" << endl; } } @@ -5356,8 +3739,7 @@ bool FileManager::adifReadLog(const QString& tfileName, const int logN) { QMessageBox msgBox; - msgBox.setWindowTitle(tr("KLog - User cancelled")); - aux = QString(tr("You have canceled the file import. The file will be removed and no data will be imported.") + "\n" + tr("Do you still want to cancel?")); + aux = QString(tr("You have cancelled the file import. The file will be removed and no data will be imported.") + "\n" + tr("Do you still want to cancel?")); msgBox.setText(aux); msgBox.setStandardButtons(QMessageBox::Yes | QMessageBox::No); msgBox.setDefaultButton(QMessageBox::No); @@ -5387,7 +3769,7 @@ bool FileManager::adifReadLog(const QString& tfileName, const int logN) { noMoreQso = true; } - //qDebug() << "FileManager::adifReadLog: fields DOES NOT contains EOR>" << endl; + //qDebug() << "FileManager::adifReadLog: fields DOES NOT contains EOR>" << endl; } @@ -5398,21 +3780,21 @@ bool FileManager::adifReadLog(const QString& tfileName, const int logN) if (noMoreQso) { - //qDebug() << "FileManager::adifReadLog: noMoreQso = true" << endl; + //qDebug() << "FileManager::adifReadLog: noMoreQso = true" << endl; progress.setValue(numberOfQsos); } else { - //qDebug() << "FileManager::adifReadLog: noMoreQso = false" << endl; + //qDebug() << "FileManager::adifReadLog: noMoreQso = false" << endl; } if (sqlOK) { - //qDebug() << "FileManager::adifReadLog: sqlOK = true" << endl; + //qDebug() << "FileManager::adifReadLog: sqlOK = true" << endl; } else { - //qDebug() << "FileManager::adifReadLog: sqlOK = false" << endl; + //qDebug() << "FileManager::adifReadLog: sqlOK = false" << endl; } if (sqlOK) @@ -5420,7 +3802,7 @@ bool FileManager::adifReadLog(const QString& tfileName, const int logN) /* if (db.commit()) { - //qDebug() << "FileManager::adifReadLog: Last commit OK" << endl; + //qDebug() << "FileManager::adifReadLog: Last commit OK" << endl; } else { @@ -5436,12 +3818,12 @@ bool FileManager::adifReadLog(const QString& tfileName, const int logN) case QMessageBox::Ok: // Yes was clicked sqlOK = false; - //qDebug() << "FileManager::adifReadLog: I have just set sqlOK=False (5)" << endl; + //qDebug() << "FileManager::adifReadLog: I have just set sqlOK=False (5)" << endl; break; default: // should never be reached sqlOK = false; - //qDebug() << "FileManager::adifReadLog: I have just set sqlOK=False (6)" << endl; + //qDebug() << "FileManager::adifReadLog: I have just set sqlOK=False (6)" << endl; break; } @@ -5460,7 +3842,7 @@ bool FileManager::adifReadLog(const QString& tfileName, const int logN) } else { - //qDebug() << "FileManager::adifReadLog: sqlOK = NOK" << endl; + //qDebug() << "FileManager::adifReadLog: sqlOK = NOK" << endl; } @@ -5469,18 +3851,20 @@ bool FileManager::adifReadLog(const QString& tfileName, const int logN) - //qDebug() << "FileManager::adifReadLog END " << endl; + //qDebug() << "FileManager::adifReadLog END " << endl; return true; } -bool FileManager::processQsoReadingADIF(const QStringList &_line, const int logNumber) //, const bool _keepLogsInFile) + + +bool FileManager::processQsoReadingADIF(const QStringList _line, const int logNumber, const bool _keepLogsInFile) //bool FileManager::processQsoReadingADIF(const QStringList _line, const int logNumber, const bool _keepLogsInFile, QHash &_logs) { - //qDebug() << "FileManager::processQsoReadingADIF: log: " << QString::number(logNumber) << endl; - //qDebug() << "FileManager::processQsoReadingADIF: log: " << _line.at(0) << endl; - //qDebug() << "FileManager::processQsoReadingADIF: " << _line.join("/") << endl; + //qDebug() << "FileManager::processQsoReadingADIF: log: " << QString::number(logNumber) << endl; + //qDebug() << "FileManager::processQsoReadingADIF: log: " << _line.at(0) << endl; + //qDebug() << "FileManager::processQsoReadingADIF: " << _line.join("/") << endl; //QHash &hashLogs = _logs; @@ -5488,15 +3872,12 @@ bool FileManager::processQsoReadingADIF(const QStringList &_line, const int logN //bool keepLogsInF;// = _keepLogsInFile; //TODO: Check if needed or remove it completely. This line is just to remove a warning int i = -1; - QDate date, dateT; - date = QDate(); - dateT = QDate(); + QDate date; QTime time; QStringList qs = _line; QStringList oneField; QString field, data; QSqlQuery query; - //confirmed = 0; // 0 means worked, 1 means confirmed QString queryString, stringFields, stringData; @@ -5509,7 +3890,7 @@ bool FileManager::processQsoReadingADIF(const QStringList &_line, const int logN QString aux2, aux3; QString qrzCall = ""; QString submode = QString(); - + bool bandRXDef = false; int bandi = -1; int bandrxi = -1; bool rstRXr = false; @@ -5517,42 +3898,37 @@ bool FileManager::processQsoReadingADIF(const QStringList &_line, const int logN //KLog does not understand (and will not import) a QSO without these fields bool haveCall = false; - QString wrongCall = QString(); bool haveBand = false; - bool bandRXDef = false; bool haveMode = false; bool haveSubMode = false; bool haveTime = false; bool haveDate = false; - bool haveFreqTX = false; - bool haveFreqRX = false; - bool hasStationCall = false; //bool ret; - //int length = 0; + //int lenght = 0; //int currentLog = logNumber; - //qDebug() << "FileManager::processQsoReadingADIF" << QString::number(qs.size()) << "/" << QString::number(logNumber) << endl; + //qDebug() << "FileManager::processQsoReadingADIF" << QString::number(qs.size()) << "/" << QString::number(logNumber) << endl; //TODO: To remove the next line, it was just to measure the time it takes. ignoreUnknownAlways = true; QString str; //preparedQuery.bindValue( ":confirmed", '0' ); - //qDebug() << "FileManager::processQsoReadingADIF: Entering the foreach" << endl; + //qDebug() << "FileManager::processQsoReadingADIF: Entering the foreach" << endl; foreach (str, qs) { - //qDebug() << "FileManager::processQsoReadingADIF: " << str << endl; + //qDebug() << "FileManager::processQsoReadingADIF: " << str << endl; if ( !( (str.contains(":")) && (str.contains(">")) ) ) { - //qDebug() << "FileManager::processQsoReadingADIF: NOT (contains : and >): " << str << endl; + //qDebug() << "FileManager::processQsoReadingADIF: NOT (contains : and >): " << str << endl; } else { - //qDebug() << "FileManager::processQsoReadingADIF: (contains : and >): " << str << endl; + //qDebug() << "FileManager::processQsoReadingADIF: (contains : and >): " << str << endl; oneField = str.split(">", QString::SkipEmptyParts); - //qDebug() << "FileManager::processQsoReadingADIF: (oneField)" << oneField << endl; + //qDebug() << "FileManager::processQsoReadingADIF: (oneField)" << oneField << endl; if (checkADIFValidFormat(oneField)) { i = (qs.at(0)).count(":"); @@ -5563,44 +3939,43 @@ bool FileManager::processQsoReadingADIF(const QStringList &_line, const int logN if (i == 2) { // DATE:8:D / 20141020 - //length = (field.section(':', 1, 1)).toInt(); + //lenght = (field.section(':', 1, 1)).toInt(); field = field.section(':', 0, 0); } else if (i == 1) { // DATE:8 / 20141020 - //length = (field.section(':', 1, 1)).toInt(); + //lenght = (field.section(':', 1, 1)).toInt(); field = field.section(':', 0, 0); } else { - //qDebug() << "FileManager::checkADIFValidFormat-1 " << endl; + //qDebug() << "FileManager::checkADIFValidFormat-1 " << endl; //return false; } //field = oneField.at(0).trimmed(); //data = oneField.at(1).trimmed(); - //length = field.indexOf(":"); - //field = field.left(length); - //qDebug() << "FileManager::processQsoReadingADIF (field/data): " << field << "/" << data << endl; + //lenght = field.indexOf(":"); + //field = field.left(lenght); + //qDebug() << "FileManager::processQsoReadingADIF (field/data): " << field << "/" << data << endl; if (field == "CALL") { - //qDebug() << "FileManager::processQsoReadingADIF-CALL:" << data << endl; - qrzCall = data; - haveCall = util->isValidCall(qrzCall); - if (haveCall) + qrzCall = data; + if (util->isValidCall(qrzCall)) { - //qDebug() << "FileManager::processQsoReadingADIF-CALL: Have CALL!!" << endl; preparedQuery.bindValue( ":call", qrzCall ); } - //qDebug() << "FileManager::processQsoReadingADIF-CALL-END:" << data << endl; + + haveCall = true; + + //qDebug() << "FileManager::processQsoReadingADIF-CALL:" << data << endl; } else if (field == "QSO_DATE") { - //qDebug() << "FileManager::processQsoReadingADIF-QSO_DATE:" << data << endl; - dateT = dateT.fromString(data, "yyyyMMdd"); - preparedQuery.bindValue( ":qso_date", (dateT).toString("yyyy/MM/dd") ); + //qDebug() << "FileManager::processQsoReadingADIF-QSO_DATE:" << data << endl; + preparedQuery.bindValue( ":qso_date", (date.fromString(data, "yyyyMMdd")).toString("yyyy/MM/dd") ); haveDate = true; } else if (field == "BAND") @@ -5614,11 +3989,11 @@ bool FileManager::processQsoReadingADIF(const QStringList &_line, const int logN haveBand = true; bandi = i; - //qDebug() << "FileManager::processQsoReadingADIF-Band: " << data << "/" << QString::number(i) << endl; + //qDebug() << "FileManager::processQsoReadingADIF-Band: " << data << "/" << QString::number(i) << endl; } else { - //qDebug() << "FileManager::processQsoReadingADIF-Band - Wrong band: " << data << "/" << QString::number(i) << endl; + //qDebug() << "FileManager::processQsoReadingADIF-Band - Wrong band: " << data << "/" << QString::number(i) << endl; } /* queryString = QString("SELECT id FROM band WHERE name ='%1'").arg(data); @@ -5627,7 +4002,7 @@ bool FileManager::processQsoReadingADIF(const QStringList &_line, const int logN if (query.isValid()) { preparedQuery.bindValue( ":bandid", query.value(0).toInt() ); - //qDebug() << "FileManager::bprocessQsoReadingADIF-Band: " << data << endl; + //qDebug() << "FileManager::bprocessQsoReadingADIF-Band: " << data << endl; } */ } @@ -5664,12 +4039,12 @@ bool FileManager::processQsoReadingADIF(const QStringList &_line, const int logN else if (field == "SRX") { preparedQuery.bindValue( ":srx", data ); - //qDebug() << "FileManager::bprocessQsoReadingADIF-srx: " << data << endl; + //qDebug() << "FileManager::bprocessQsoReadingADIF-srx: " << data << endl; } else if (field == "STX") { preparedQuery.bindValue( ":stx", data ); - //qDebug() << "FileManager::bprocessQsoReadingADIF-stx: " << data << endl; + //qDebug() << "FileManager::bprocessQsoReadingADIF-stx: " << data << endl; } else if (field == "TIME_ON") @@ -5683,7 +4058,7 @@ bool FileManager::processQsoReadingADIF(const QStringList &_line, const int logN haveTime = true; aux3 = (time.fromString(data,"hhmmss")).toString("hh:mm:ss"); - //qDebug() << "FileManager::bprocessQsoReadingADIF-time_on: " << (time.fromString(data,"hhmmss")).toString("hh:mm:ss") << endl; + //qDebug() << "FileManager::bprocessQsoReadingADIF-time_on: " << (time.fromString(data,"hhmmss")).toString("hh:mm:ss") << endl; } else if (field == "QSO_DATE_OFF") { @@ -5731,7 +4106,7 @@ bool FileManager::processQsoReadingADIF(const QStringList &_line, const int logN else if (field == "RST_RCVD") { - //qDebug() << "FileManager::bprocessQsoReadingADIF-rst_rcvd: " << data << endl; + //qDebug() << "FileManager::bprocessQsoReadingADIF-rst_rcvd: " << data << endl; preparedQuery.bindValue( ":rst_rcvd", data ); rstRXr = true; } @@ -5888,15 +4263,14 @@ bool FileManager::processQsoReadingADIF(const QStringList &_line, const int logN } else if (field == "FREQ") { - //qDebug() << "FileManager::processQsoReadingADIF -FREQ: " << QString::number(data.toDouble()) << endl; - + //qDebug() << "FileManager::processQsoReadingADIF -FREQ: " << QString::number(data.toDouble()) << endl; + preparedQuery.bindValue( ":freq", data); if (haveBand) { if (dataProxy->getBandIdFromFreq(data.toDouble()) == bandi) //if (db->isThisFreqInBand(db->getBandNameFromNumber(bandi), data)) { preparedQuery.bindValue( ":freq", data); - haveFreqTX =true; } else { @@ -5906,25 +4280,27 @@ bool FileManager::processQsoReadingADIF(const QStringList &_line, const int logN else { preparedQuery.bindValue( ":freq", data); - haveFreqTX =true; i = dataProxy->getBandIdFromFreq(data.toDouble()); if (i>=0) { - preparedQuery.bindValue( ":bandid", QString::number(i) ); + preparedQuery.bindValue( ":bandid", QString::number(i) ); haveBand = true; - //qDebug() << "FileManager::processQsoReadingADIF-Band: " << data << "/" << QString::number(i) << endl; + //qDebug() << "FileManager::processQsoReadingADIF-Band: " << data << "/" << QString::number(i) << endl; } } } else if (field == "FREQ_RX") - { + { + //haveBand = true; + //bandi = i; + //i = db->getBandIDFromName2(data); if (bandRXDef) { - if (dataProxy->getBandIdFromFreq(data.toDouble()) == bandrxi) + if (dataProxy->getBandIdFromFreq(data.toDouble()) == bandrxi) + //if (db->isThisFreqInBand(db->getBandNameFromNumber(bandrxi), data)) { preparedQuery.bindValue( ":freq_rx", data); - haveFreqRX =true; } else { @@ -5932,17 +4308,10 @@ bool FileManager::processQsoReadingADIF(const QStringList &_line, const int logN } } else - { - i = dataProxy->getBandIdFromFreq(data.toDouble()); - - if (i>=0) - { - preparedQuery.bindValue( ":band_rx", QString::number(i) ); - haveFreqRX =true; - bandRXDef = true; - //qDebug() << "FileManager::processQsoReadingADIF-Band: " << data << "/" << QString::number(i) << endl; - } + { + preparedQuery.bindValue( ":freq_rx", data); } + } else if (field == "GRIDSQUARE") { @@ -5970,7 +4339,7 @@ bool FileManager::processQsoReadingADIF(const QStringList &_line, const int logN } else if (field == "IOTA") { - //qDebug() << "FileManager::processQsoReadingADIF (IOTA): " << data << endl; + //qDebug() << "FileManager::processQsoReadingADIF (IOTA): " << data << endl; data = awards->checkIfValidIOTA(data); /* if (data.length()==4) //EU-1 @@ -6116,7 +4485,6 @@ bool FileManager::processQsoReadingADIF(const QStringList &_line, const int logN { if (util->isValidCall(data)) { - hasStationCall = true; preparedQuery.bindValue( ":station_callsign", data ); } } @@ -6231,7 +4599,7 @@ bool FileManager::processQsoReadingADIF(const QStringList &_line, const int logN else if (field == "QSL_VIA") { - //qDebug() << "FileManager::bprocessQsoReadingADIF-QSL_VIA: " << data << endl; + //qDebug() << "FileManager::bprocessQsoReadingADIF-QSL_VIA: " << data << endl; if (data == "BUREAU") // This comprobation is to "correct" old logs, mainly from KLog // comming from older ADIF files @@ -6270,12 +4638,12 @@ bool FileManager::processQsoReadingADIF(const QStringList &_line, const int logN } else if (field == "RX_PWR") { - //qDebug() << "FileManager::bprocessQsoReadingADIF-rx_pwr: " << data << endl; + //qDebug() << "FileManager::bprocessQsoReadingADIF-rx_pwr: " << data << endl; preparedQuery.bindValue( ":rx_pwr", data); } else if (field == "TX_PWR") { - //qDebug() << "FileManager::bprocessQsoReadingADIF-tx_pwr: " << data << endl; + //qDebug() << "FileManager::bprocessQsoReadingADIF-tx_pwr: " << data << endl; preparedQuery.bindValue( ":tx_pwr", data); } else if (field == "SAT_MODE") @@ -6365,57 +4733,48 @@ bool FileManager::processQsoReadingADIF(const QStringList &_line, const int logN } else { - //qDebug() << "FileManager::processQsoReadingADIF (field) CheckAdif FALSE: " << field << endl; + //qDebug() << "FileManager::processQsoReadingADIF (field) CheckAdif FALSE: " << field << endl; } } } + //preparedQuery.bindValue( ":lognumber", i); + //qDebug() << "FileManager::processQsoReadingADIF: logNumber: " << QString::number(logNumber) << endl; - if ((haveBand) && (!haveFreqTX)) - { - preparedQuery.bindValue( ":freq", dataProxy->getFreqFromBandId(bandi)); - } - if ((bandRXDef) && (!haveFreqRX)) - { - preparedQuery.bindValue( ":freq_rx", dataProxy->getFreqFromBandId(bandrxi)); - } - if (!haveCall) - { + // if ((haveSubMode) && (!haveMode)) + // { // We can guess the mode from a submode! - //QString text = QInputDialog::getText(this, tr("KLog - QSO without Station Callsign"), calAux, QLineEdit::Normal, qrzCall, &ok); - QString text = util->getAValidCall(qrzCall); - if (!(util->isValidCall(text))) - { - haveCall = true; - qrzCall = text; - } - else - { - qrzCall = QString(); - haveCall = false; - } - } + // preparedQuery.bindValue( ":mode", dataProxy->getIdFromModeName(dataProxy->getModeFromSubMode(submode)) ); + // haveMode = true; + // } - if (!(haveBand && haveMode && haveTime && haveDate )) + if (!(haveBand && haveCall && haveMode && haveTime && haveDate )) { - //qDebug() << "FileManager::processQsoReadingADIF (Don't have all mandatory fields): " << endl; - aux2 = tr ("This QSO is not including the minimum data to consider a QSO as valid!") + "\n\n\n" + tr("Please edit the ADIF file and make sure that it include at least:") + "\n\nCALL, QSO_DATE, TIME_ON, BAND "+ tr("and") +" MODE.\n\n" + tr("This QSO had:") + "\n"; + aux2 = tr ("This QSO is not including the minimum data to consider a QSO as valid!.") + "\n\n\n" + tr("Please edit the ADIF file and make sure that it include at least:") + "\n\nCALL, QSO_DATE, TIME_ON, BAND "+ tr("and") +" MODE.\n\n" + tr("This QSO had:") + "\n"; if (!haveBand) { aux2 = aux2 + tr(" - The band missing and the following call: ") + qrzCall + ".\n"; + //aux2 = "Band missing " + qrzCall + " "; + } + if (!haveCall) + { + aux2 = aux2 + tr(" - The call missing but was done at this time: ") + aux3 + ".\n"; + //aux2 = "Call missing " + aux3 + " "; } - if (!haveMode) { aux2 = aux2 + tr(" - The mode missing and the following call: ") + qrzCall + ".\n"; + //aux2 = "Mode missing " + qrzCall + " "; } if (!haveDate) { aux2 = aux2 + tr(" - The date missing and the following call: ") + qrzCall + ".\n"; + //aux2 = "Date missing " + qrzCall + " "; } if (!haveTime) { aux2 = aux2 + tr(" - The time missing and the following call: ") + qrzCall + ".\n"; + //aux2 = "Time missing " + qrzCall + " "; } @@ -6429,25 +4788,25 @@ bool FileManager::processQsoReadingADIF(const QStringList &_line, const int logN msgBox.setDefaultButton(QMessageBox::Cancel); msgBox.setIcon(QMessageBox::Warning); int ret = msgBox.exec(); - switch (ret) - { - case QMessageBox::Yes: + switch (ret) { + case QMessageBox::Yes: // Yes was clicked + break; + case QMessageBox::Cancel: + noMoreQso = true; break; - case QMessageBox::Cancel: - noMoreQso = true; - break; - default: + default: // should never be reached - break; + break; } + } if ((!rstTXr) && (!rstTXDefault)) { QMessageBox msgBox; - aux = tr("Some QSOs of this log, (i.e.: %1) seems to lack RST-TX information.").arg(qrzCall) + "\n\n" + tr("Click on Yes to add a default 59 to all QSOs with a similar problem.") + "\n\n" + tr("If you select NO, maybe the QSO will not be imported."); + aux = tr("Some QSO of this log, (i.e.: %1) seems to lack of RST-TX information.").arg(qrzCall) + "\n\n" + tr("Click on Yes to add a default 59 to all QSO with a similar problem.") + "\n\n" + tr("If you select NO, the QSO may not be imported."); msgBox.setWindowTitle(tr("KLog: No RST TX found!")); msgBox.setText(aux); msgBox.setStandardButtons(QMessageBox::Yes|QMessageBox::No); @@ -6469,7 +4828,7 @@ bool FileManager::processQsoReadingADIF(const QStringList &_line, const int logN if ((!rstRXr) && (!rstRXDefault)) { QMessageBox msgBox; - aux = tr("Some QSOs of this log, (i.e.: %1) seems to lack RST-RX information.").arg(qrzCall) + "\n\n" + tr("Click on Yes to add a default 59 to all QSO with a similar problem.") + "\n\n" + tr("If you select NO, the QSO may not be imported."); + aux = tr("Some QSO of this log, (i.e.: %1) seems to lack of RST-RX information.").arg(qrzCall) + "\n\n" + tr("Click on Yes to add a default 59 to all QSO with a similar problem.") + "\n\n" + tr("If you select NO, the QSO may not be imported."); msgBox.setText(aux); msgBox.setWindowTitle(tr("KLog: No RST RX found!")); msgBox.setStandardButtons(QMessageBox::Yes|QMessageBox::No); @@ -6496,122 +4855,22 @@ bool FileManager::processQsoReadingADIF(const QStringList &_line, const int logN if ((!rstRXr) && (rstRXDefault)) { + preparedQuery.bindValue( ":rst_rcvd", "59" ); } - if ((!hasStationCall) ) - { - - if (!usePreviousStationCallsignAnswerAlways) - { - QMessageBox msgBox; - - - - if(getStationCallsignFromUser(qrzCall, dateT)) - { - hasStationCall = true; - } - else - { - - msgBox.setWindowTitle(tr("KLog - No Station callsign entered.")); - msgBox.setIcon(QMessageBox::Warning); - msgBox.setText("KLog - No Station callsign entered."); - msgBox.setInformativeText("Not entering a valid Station Callsign may create problems in some ocasions, like when uploading data to LoTW.\n\n Do you want to try again?"); - msgBox.setStandardButtons(QMessageBox::Yes | QMessageBox::No); - msgBox.setDefaultButton(QMessageBox::Yes); - int ret = msgBox.exec(); - if (ret == QMessageBox::Yes) - { - if (!getStationCallsignFromUser(qrzCall, dateT)) - { - msgBox.setWindowTitle(tr("KLog - No Station callsign entered.")); - msgBox.setIcon(QMessageBox::Warning); - msgBox.setText("KLog - No Station callsign entered."); - msgBox.setInformativeText("No valid station callsign to add to the QSO."); - msgBox.setStandardButtons(QMessageBox::Ok); - msgBox.setDefaultButton(QMessageBox::Ok); - msgBox.exec(); - - } - else - { - hasStationCall = true; - } - } - } - - msgBox.setWindowTitle(tr("KLog - Apply to all QSOs in this log?")); - msgBox.setIcon(QMessageBox::Question); - msgBox.setText("KLog - Do you want to use the same answer for all the QSOs in this log?"); - msgBox.setInformativeText("KLog can use the same answer that you provided to all the QSOs in this logfile when importing it."); - msgBox.setStandardButtons(QMessageBox::Yes | QMessageBox::No); - msgBox.setDefaultButton(QMessageBox::Yes); - int ret = msgBox.exec(); - if (ret == QMessageBox::Yes) - { - usePreviousStationCallsignAnswerAlways = true; - } - else - { - usePreviousStationCallsignAnswerAlways = false; - } - } - //qDebug() << "FileManager::processQsoReadingADIF defaultStationCallsign: " << defaultStationCallsign << endl; - - if ((hasStationCall) && (util->isValidCall(defaultStationCallsign))) - { - preparedQuery.bindValue( ":station_callsign", defaultStationCallsign ); - } - - } preparedQuery.bindValue( ":lognumber", QString::number(logNumber)); + return true; } -bool FileManager::getStationCallsignFromUser(const QString &_qrzDX, const QDate &_dt) -{ - //qDebug() << "FileManager::getStationCallsignFromUser: " << _qrzDX << "/" << _dt.toString("yyyy/MM/dd") << "-" << endl; - bool ok; - QString text; - QString aux; - QString _date = QString(); - if (_dt.isValid()) - { - _date = ", on "+ _dt.toString("yyyy/MM/dd"); - } - - if (util->isValidCall(_qrzDX)) - { - aux = tr("KLog has found one QSO without the Station Callsign defined.\n\nEnter the Station Callsign that was used to do this QSO with %1 on %2:").arg(_qrzDX).arg(_date); - text = QInputDialog::getText(this, tr("KLog - QSO without Station Callsign"), - aux, QLineEdit::Normal, "", &ok); - } - else - { - text = QInputDialog::getText(this, tr("KLog - QSO without Station Callsign"), - tr("KLog has found one QSO without the Station Callsign defined.\n\nEnter the Station Callsign that was used to do this QSO on %1:").arg(_date), QLineEdit::Normal, - "", &ok); - } - - if (ok && util->isValidCall(text)) - { - defaultStationCallsign = text.toUpper(); - return true; - } - else - { - return false; - } -} void FileManager::queryPreparation(const int _logN) { - //qDebug() << "FileManager::queryPreparation log: " << QString::number(_logN) << endl; + //qDebug() << "FileManager::queryPreparation log: " << QString::number(_logN) << endl; //Prepares the query, ALL fields to default except lognumber, as may change... QStringList columns; @@ -6620,7 +4879,7 @@ void FileManager::queryPreparation(const int _logN) columns << dataProxy->getColumnNamesFromTableLog(); if (columns.size()<2) { - //qDebug() << "FileManager::queryPreparation: <2 " << endl; + //qDebug() << "FileManager::queryPreparation: <2 " << endl; return; } @@ -6649,24 +4908,24 @@ void FileManager::queryPreparation(const int _logN) bool FileManager::adifReqQSLExport(const QString& _fileName) { - //qDebug() << "FileManager::adifReqQSLExport" << _fileName << endl; - return adifLogExportToFile(_fileName, 0, false, true, false); + return adifLogExportToFile(_fileName, 0, false, true); } -bool FileManager::modifySetupFile(const QString& _filename, const QString &_field, const QString &_value) + +bool FileManager::modifySetupFile(const QString& _filename, QString _field, const QString _value) { - //qDebug() << "FileManager::modifySetupFile" << endl; + //qDebug() << "FileManager::modifySetupFile" << endl; QFile file(_filename); if (!file.open(QIODevice::ReadWrite | QIODevice::Text)){ - //qDebug() << "FileManager::modifySetupFile File not found" << _filename << endl; + //qDebug() << "FileManager::modifySetupFile File not found" << _filename << endl; return false; } QTemporaryFile tmp; if (!tmp.open()) { - //qDebug() << "FileManager::modifySetupFile- Temp file not opened" << endl; + //qDebug() << "FileManager::modifySetupFile- Temp file not opened" << endl; return false; } @@ -6685,7 +4944,7 @@ bool FileManager::modifySetupFile(const QString& _filename, const QString &_fiel while (!out.atEnd()) { line = out.readLine(); - //qDebug() << "FileManager::modifySetupFile- Temp file: " << line << endl; + //qDebug() << "FileManager::modifySetupFile- Temp file: " << line << endl; if (line.startsWith(_field)) { in << _field << "=" << _value << ";" << endl; @@ -6700,7 +4959,7 @@ bool FileManager::modifySetupFile(const QString& _filename, const QString &_fiel int FileManager::howManyLogsInFile(QFile& _f) { - //qDebug() << "FileManager::howManyLogsInFile:" << endl; + //qDebug() << "FileManager::howManyLogsInFile:" << endl; QFile &file = _f; //qint64 pos; //Position in the file QString line = QString(); @@ -6712,7 +4971,7 @@ int FileManager::howManyLogsInFile(QFile& _f) if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) { - //qDebug() << "FileManager::howManyLogsInFile File not found" << endl; + //qDebug() << "FileManager::howManyLogsInFile File not found" << endl; return false; } @@ -6736,8 +4995,8 @@ int FileManager::howManyLogsInFile(QFile& _f) { data.clear(); data << aux.split('>'); - //qDebug() << "FileManager::howManyLogsInFile: data.0: " << data.at(0) << endl; - //qDebug() << "FileManager::howManyLogsInFile: data.1: " << data.at(1) << endl; + //qDebug() << "FileManager::howManyLogsInFile: data.0: " << data.at(0) << endl; + //qDebug() << "FileManager::howManyLogsInFile: data.1: " << data.at(1) << endl; if (logs.contains(data.at(1))) { @@ -6758,7 +5017,7 @@ int FileManager::howManyLogsInFile(QFile& _f) } } - //qDebug() << "FileManager::howManyLogsInFile: JUST ONE!" << aux << endl; + //qDebug() << "FileManager::howManyLogsInFile: JUST ONE!" << aux << endl; file.close(); if ( (logs.size()<2) && atLeastOneLog ) @@ -6768,9 +5027,10 @@ int FileManager::howManyLogsInFile(QFile& _f) return logs.size(); } + bool FileManager::fillHashLog(QFile &_f) { - //qDebug() << "FileManager::fillHashLog:" << endl; + //qDebug() << "FileManager::fillHashLog:" << endl; //hashLogs //1.- Run the log and fill hashLogs //2.- Run the file and continue the log series to be able to translate the files log into our own log @@ -6781,13 +5041,13 @@ bool FileManager::fillHashLog(QFile &_f) int i = 0; for (i=0;i'); - //qDebug() << "FileManager::howManyLogsInFile: data.0: " << data.at(0) << endl; - //qDebug() << "FileManager::howManyLogsInFile: data.1: " << data.at(1) << endl; + //qDebug() << "FileManager::howManyLogsInFile: data.0: " << data.at(0) << endl; + //qDebug() << "FileManager::howManyLogsInFile: data.1: " << data.at(1) << endl; if (logs.contains(QString::number(data.at(1).toInt()+10000))) { @@ -6875,88 +5135,73 @@ QStringList FileManager::getListOfLogsInFile(QFile& _f) return logs; } -void FileManager::setVersion(const QString &_version) +void FileManager::setVersion(const QString _version) { util->setVersion(_version); } -QStringList FileManager::readAdifField(const QString &_field) + +QStringList FileManager::readAdifField(const QString _field) { - // This function receives a QString with an ADIF field and returns a QStringList with the following format: + // This function receives a QString with an ADIF field and returns a QString with the following format: // ADIF-tag, value // If the QString is not an ADIF tag, it returns a clear QStringList. // We are expecting the ADIF format: // D // Data - - //qDebug() << "FileManager::readAdifField: " << _field << endl; +/* + //qDebug() << "FileManager::readAdifField: " << _field << endl; QStringList result; result.clear(); - if (_field == "") - { - //qDebug() << "FileManager::readAdifField: EOR found!!" << endl; - result << "EOR" << "EOR"; - return result; - } - if (!((_field.startsWith("<")) && (_field.contains(":")) && (_field.contains(">")))) { - //qDebug() << "FileManager::readAdifField: NOT (contains : and >): " << _field << endl; + //qDebug() << "FileManager::readAdifField: NOT (contains : and >): " << str << endl; return QStringList(); } - // Now we have the data in the result[1] - result = _field.split(">", QString::SkipEmptyParts); // Remove the first '<' and split in field & data + result = _field.split(">", QString::SkipEmptyParts); + QString aux = result.at(0); QString data = result.at(1); - QStringList fieldList; - fieldList.clear(); - fieldList << (result.at(0)).split(':'); // we may have 1 or 2 depending on the format of the ADIF field. - int iAux = fieldList.length(); - //qDebug() << "FileManager::readAdifField: iAux: " << QString::number(iAux) << endl; - int dataLength; - QString field; - QString fieldType; - //qDebug() << "FileManager::readAdifField: analyzing..." << endl; + QString type = QString(); + int length = -1; + QString fname = QString(); - if (iAux == 2) + if ( !((aux.endsWith(">")) && !(aux.contains(":"))) ) { - field = fieldList.at(0); - dataLength = (fieldList.at(1)).toInt(); - fieldType = QString(); + return QStringList(); } - else if (iAux == 3) + + int i = aux.count(":"); + + if (i == 1) { - field = fieldList.at(0); - dataLength = (fieldList.at(1)).toInt(); - fieldType = fieldList.at(2); + lenght = (aux.section(':', 1, 1)).toInt(); + fname = aux.section(':', 0, 0); + } + else if (i == 2) + { + lenght = (aux.section(':', 1, 1)).toInt(); + fname = aux.section(':', 0, 0); + type = aux.section(':', 2, 2); } else - { // Not valid ADIF - //qDebug() << "FileManager::readAdifField: iAux != 1, 2" << endl; - return QStringList(); - } - field.remove('<'); - data = data.left(dataLength); - //qDebug() << "FileManager::readAdifField: field: " << field << endl; - //qDebug() << "FileManager::readAdifField: dataLength: " << QString::number(dataLength) << endl; - //qDebug() << "FileManager::readAdifField: data: " << data << endl; - //qDebug() << "FileManager::readAdifField: fieldType: " << fieldType << endl; - - if (data.length() != dataLength) { - //qDebug() << "FileManager::readAdifField: data.length != dataLength: " << QString::number(data.length()) << "/" << QString::number(dataLength) << endl; + //qDebug() << "FileManager::readAdifField: NO proper format(1): " << str << endl; return QStringList(); } - result.clear(); - result << field << data; - //qDebug() << "FileManager::readAdifField: OK: " << field << "/" << data << endl; - return result; - /* + if (length<1) + { + //qDebug() << "FileManager::readAdifField: NO proper format(2): " << str << endl; + return QStringList(); + } + + // Now data is splitted in the appropriate variables. We start checking format! + result.at(0) = fname; if (fname == "QSO_DATE") { @@ -6969,7 +5214,7 @@ QStringList FileManager::readAdifField(const QString &_field) } else { - //qDebug() << "FileManager::readAdifField: NO proper format(date): " << str << endl; + //qDebug() << "FileManager::readAdifField: NO proper format(date): " << str << endl; return QStringList(); } } @@ -6989,7 +5234,7 @@ QStringList FileManager::readAdifField(const QString &_field) } else { - //qDebug() << "FileManager::readAdifField: NO proper format(time): " << str << endl; + //qDebug() << "FileManager::readAdifField: NO proper format(time): " << str << endl; return QStringList(); } @@ -7003,7 +5248,7 @@ QStringList FileManager::readAdifField(const QString &_field) } else { - //qDebug() << "FileManager::readAdifField: NO proper data(BAND): " << str << endl; + //qDebug() << "FileManager::readAdifField: NO proper data(BAND): " << str << endl; return QStringList(); } } @@ -7016,7 +5261,7 @@ QStringList FileManager::readAdifField(const QString &_field) } else { - //qDebug() << "FileManager::readAdifField: NO proper data(BAND): " << str << endl; + //qDebug() << "FileManager::readAdifField: NO proper data(BAND): " << str << endl; return QStringList(); } } @@ -7035,7 +5280,7 @@ QStringList FileManager::readAdifField(const QString &_field) } else { - //qDebug() << "FileManager::readAdifField: NO proper format(qslrdate): " << str << endl; + //qDebug() << "FileManager::readAdifField: NO proper format(qslrdate): " << str << endl; return QStringList(); } } @@ -7043,24 +5288,26 @@ QStringList FileManager::readAdifField(const QString &_field) else { - //qDebug() << "FileManager::readAdifField: NO Field found: " << str << endl; + //qDebug() << "FileManager::readAdifField: NO Field found: " << str << endl; return QStringList(); } - //qDebug() << "FileManager::readAdifField: NO Field found-2: " << str << endl; - */ + //qDebug() << "FileManager::readAdifField: NO Field found-2: " << str << endl; + */ + return QStringList(); } + QString FileManager::prepareStringLog() { - //qDebug() << "FileManager::prepareStringLog: " << endl; + //qDebug() << "FileManager::prepareStringLog: " << endl; QStringList columns; columns.clear(); columns << dataProxy->getColumnNamesFromTableLog(); if (columns.size()<2) { - //qDebug() << "FileManager::prepareStringLog: <2 " << endl; + //qDebug() << "FileManager::prepareStringLog: <2 " << endl; return QString(); } @@ -7077,14 +5324,14 @@ QString FileManager::prepareStringLog() queryValues = queryValues.left(queryValues.size() -2); QString string = "INSERT INTO log (" + queryFields + ") VALUES (" + queryValues + ")"; - //qDebug() << "FileManager::prepareStringLog: " << string << endl; + //qDebug() << "FileManager::prepareStringLog: " << string << endl; return string; } QDateTime FileManager::getDateTimeOfLastBackup() { - //qDebug() << "FileManager::getDateTimeOfLastBackup: " << (QDateTime::currentDateTime()).toString("yyyyMMdd-hhmmss")<< endl; - //qDebug() << "FileManager::getDateTimeOfLastBackup: " << util->getCfgFile() << endl; + //qDebug() << "FileManager::getDateTimeOfLastBackup: " << (QDateTime::currentDateTime()).toString("yyyyMMdd-hhmmss")<< endl; + //qDebug() << "FileManager::getDateTimeOfLastBackup: " << util->getCfgFile() << endl; QFile file (util->getCfgFile()); QString line; QStringList fields; @@ -7111,8 +5358,8 @@ QDateTime FileManager::getDateTimeOfLastBackup() bool FileManager::writeBackupDate() { - //qDebug() << "FileManager::writeBackupDate: current: " << (QDateTime::currentDateTime()).toString("yyyyMMdd-hhmmss") << endl; - //qDebug() << "FileManager::writeBackupDate: current: " << (getDateTimeOfLastBackup()).toString("yyyyMMdd-hhmmss") << endl; + //qDebug() << "FileManager::writeBackupDate: current: " << (QDateTime::currentDateTime()).toString("yyyyMMdd-hhmmss") << endl; + //qDebug() << "FileManager::writeBackupDate: current: " << (getDateTimeOfLastBackup()).toString("yyyyMMdd-hhmmss") << endl; QFile file (util->getCfgFile()); QString line, lineTemp; @@ -7144,20 +5391,4 @@ bool FileManager::writeBackupDate() return true; } -void FileManager::setStationCallSign(const QString& _st) -{ - //qDebug() << "FileManager::setStationCallSign: " << _st << endl; - if (util->isValidCall(_st)) - { - //qDebug() << "FileManager::setStationCallSign: True" << endl; - defaultStationCallsign = _st; - //qDebug() << "FileManager::setStationCallSign: " << defaultStationCallsign << endl; - } - else - { - //qDebug() << "FileManager::setStationCallSign: FALSE" << endl; - } - - //qDebug() << "FileManager::setStationCallSign: -" << defaultStationCallsign << "-END" << endl; -} diff --git a/filemanager.h b/filemanager.h index bbd20038..f15a4e48 100644 --- a/filemanager.h +++ b/filemanager.h @@ -23,7 +23,7 @@ * 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 . * + * along with KLog. If not, see . * * * *****************************************************************************/ @@ -55,36 +55,32 @@ enum DXCCEntities = 521 // http://www.adif.org/adif302.htm#Country%20Codes }; -//enum ExportMode {ModeLotW, ModeADIF}; - class FileManager : public QWidget { Q_OBJECT public: FileManager(DataProxy_SQLite *dp); //FileManager(DataProxy_SQLite *dp, const QString _klogDir); - FileManager(DataProxy_SQLite *dp, const QString &_klogDir, const QString &_softVersion); + FileManager(DataProxy_SQLite *dp, const QString _klogDir, const QString _softVersion); //FileManager(DataProxy_SQLite *dp, const QString _softVersion); ~FileManager(); //bool readAdif(const QString& tfileName, const int logN); bool adifReadLog(const QString& tfileName, const int logN); - QList adifLoTWReadLog(const QString& tfileName); - QList adifLoTWLogExport(const QString& _fileName, const QString &_callsign, const QDate &_startDate, const QDate &_endDate, const int _logN); - //QList adifLogExport(const QString& _fileName, const QString &_callsign, const QDate &_startDate, const QDate &_endDate, const int _logN, const bool LoTWOnly); - QList adifLogExport(const QString& _fileName, const QString &_callsign, const QDate &_startDate, const QDate &_endDate, const int _logN, const ExportMode _em); + bool adifLoTWReadLog(const QString& tfileName); + int adifLoTWLogExport(const QString& _fileName, const int _logN); bool adifLogExport(const QString& _fileName, const int _logN); - // QList adifLogExportDates(const QString& _fileName, const QString &_callsign, const QDate &_startDate, const QDate &_endDate, const int _logN); bool adifLogExportMarked(const QString& _fileName); bool adifReqQSLExport(const QString& _fileName); - bool cabrilloLogExport(const QString& _fileName, const QString &_contestType, const int logNconst); - bool modifySetupFile(const QString& _filename, const QString &_field, const QString &_value); - void setVersion(const QString &_version); + bool cabrilloLogExport(const QString& _fileName, const QString _contestType, const int logNconst); + bool modifySetupFile(const QString& _filename, QString _field, const QString _value); + void setVersion(const QString _version); QDateTime getDateTimeOfLastBackup(); - void setStationCallSign(const QString& _st); -private: - bool adifLogExportToFile(const QString& _fileName, const int _logN, bool justMarked, bool _qslRequested, bool _lotw); + + +private: + bool adifLogExportToFile(const QString& _fileName, const int _logN=0, bool justMarked = false, bool _qslRequested = false, bool _lotw=false); bool cabrilloLogExportToFile(const QString& _fileName, const int logNconst); bool cabrilloLogExportCQWWToFile(const QString& _fileName, const int logNconst); //bool adifCheckMoreThanOneLog(QFile &_f); @@ -92,20 +88,17 @@ private: bool fillHashLog(QFile & _f); QStringList getListOfLogsInFile(QFile & _f); bool writeBackupDate(); - bool getStationCallsignFromUser(const QString &_qrzDX, const QDate &_dt); - - void showError (const QString &_txt); - //QString checkAndFixASCIIinADIF(_data); - bool processQsoReadingADIF(const QStringList &_line, const int logNumber);//, const bool _keepLogsInFile); + //QString checkAndFixASCIIinADIF(const QString _data); + + bool processQsoReadingADIF(const QStringList _line, const int logNumber, const bool _keepLogsInFile); void queryPreparation(const int _logN); - bool checkADIFValidFormat(const QStringList &_qs); + bool checkADIFValidFormat(const QStringList _qs); - QStringList readAdifField (const QString &_field); - // void writeAdifField(const QString &_field, const QString &_data); // It should possibly receive also the QTextStream + QStringList readAdifField (const QString _field); QString prepareStringLog(); @@ -121,14 +114,12 @@ private: //bool printQs(const QString _q, const QStringList _line); - bool printQs(const QStringList &_line); + bool printQs(const QStringList _line); //int confirmed; QString klogDir; QString klogVersion; - QString defaultStationCallsign; - + //QProgressBar *progressBar; bool ignoreUnknownAlways; // When importing ADIF, ignore all unknown fields. - bool usePreviousStationCallsignAnswerAlways; // When importing ADIF, ignore all unknown fields. bool noMoreQso; World *world; @@ -143,8 +134,7 @@ private: signals: - void addQSOToList(QStringList _qso); - void queryError(QString _functionFailed, QString errorCodeS, int errorCodeN, QString failedQuery); // To alert about any failed query execution + void queryError(QString functionFailed, QString errorCodeS, int errorCodeN, QString failedQuery); // To alert about any failed query execution }; #endif // FILEMANAGER_H diff --git a/flags/balear.png b/flags/balear.png old mode 100755 new mode 100644 diff --git a/flags/ceuta.png b/flags/ceuta.png old mode 100755 new mode 100644 diff --git a/flags/marquesas.png b/flags/marquesas.png old mode 100755 new mode 100644 diff --git a/flags/sardinia.png b/flags/sardinia.png old mode 100755 new mode 100644 diff --git a/flags/southbritish.png b/flags/southbritish.png old mode 100755 new mode 100644 diff --git a/flags/xk.png b/flags/xk.png old mode 100755 new mode 100644 diff --git a/hamlibclass.cpp b/hamlibclass.cpp index 4dc845b9..6537da36 100644 --- a/hamlibclass.cpp +++ b/hamlibclass.cpp @@ -8,7 +8,7 @@ HamLibClass::HamLibClass(QObject *parent) : QObject(parent) { - //qDebug() << "HamLibClass::HamLibClass" << endl; + //qDebug() << "HamLibClass::HamLibClass" << endl; timer = new QTimer(this); rigLaunched = false; pollInterval = 300; @@ -25,7 +25,7 @@ HamLibClass::HamLibClass(QObject *parent) : QObject(parent) //timer->start(1000); clean(); - //qDebug() << "HamLibClass::HamLibClass END" << endl; + //qDebug() << "HamLibClass::HamLibClass END" << endl; } HamLibClass::~HamLibClass() @@ -64,22 +64,22 @@ void HamLibClass::slotTimer() if (retcode == RIG_OK) { errorCount = 0; - //qDebug() << "HamLibClass::slotTimer: Freq: " << QString::number(freq) << endl; + //qDebug() << "HamLibClass::slotTimer: Freq: " << QString::number(freq) << endl; if ((freq_old > freq) || (freq_old < freq)) //if (freq_old != freq) { emit freqChanged(freq/1000000); freq_old = freq; - //qDebug() << "HamLibClass::slotTimer EMITING; " << QString::number(freq) << endl; + //qDebug() << "HamLibClass::slotTimer EMITING; " << QString::number(freq) << endl; } - //qDebug() << "HamLibClass::slotTimer read: " << QString::number(freq) << endl; + //qDebug() << "HamLibClass::slotTimer read: " << QString::number(freq) << endl; } else { - //qDebug() << "HamLibClass::slotTimer Unable to read FREQ - Error: " << QString::number(retcode) << endl; - //qDebug() << "HamLibClass::slotTimer Unable to read FREQ - Error: " << rigerror(retcode) << endl; + //qDebug() << "HamLibClass::slotTimer Unable to read FREQ - Error: " << QString::number(retcode) << endl; + //qDebug() << "HamLibClass::slotTimer Unable to read FREQ - Error: " << rigerror(retcode) << endl; stop(); } @@ -87,7 +87,7 @@ void HamLibClass::slotTimer() if (retcode == RIG_OK) { errorCount = 0; - //qDebug() << "HamLibClass::slotTimer: Mode: " << hamlibMode2Mode(rmode) << endl; + //qDebug() << "HamLibClass::slotTimer: Mode: " << hamlibMode2Mode(rmode) << endl; if (mode_old != rmode) { if (justEmitted) @@ -110,7 +110,7 @@ void HamLibClass::slotTimer() void HamLibClass::setMode(const QString &_m) { - //qDebug() << "HamLibClass::setMode: " << _m << endl; + //qDebug() << "HamLibClass::setMode: " << _m << endl; if ((!isRunning()) || (readOnlyMode)) { return; @@ -128,12 +128,12 @@ void HamLibClass::setMode(const QString &_m) if (retcode != RIG_OK) { errorCount++; - //qDebug() << "HamLibClass::setMode: ERROR: Could not set mode: " << _m << endl; + //qDebug() << "HamLibClass::setMode: ERROR: Could not set mode: " << _m << endl; return; } errorCount = 0; - //qDebug() << "HamLibClass::setMode - END true " << endl; + //qDebug() << "HamLibClass::setMode - END true " << endl; return; } @@ -305,89 +305,89 @@ QString HamLibClass::hamlibMode2Mode(rmode_t _rmode) void HamLibClass::stop() { - //qDebug() << "HamLibClass::stop" << endl; + //qDebug() << "HamLibClass::stop" << endl; timer->stop(); if (!isRunning()) { return; } int errorCode = rig_close(my_rig); - //qDebug() << "HamLibClass::stop-1" << endl; + //qDebug() << "HamLibClass::stop-1" << endl; if (errorCode == RIG_OK) { errorCount = 0; - //qDebug() << "HamLibClass::stop: rig_close OK" << endl; + //qDebug() << "HamLibClass::stop: rig_close OK" << endl; errorCode = rig_cleanup(my_rig); if (errorCode == RIG_OK) { errorCount = 0; - //qDebug() << "HamLibClass::stop: rig_cleanUp OK" << endl; + //qDebug() << "HamLibClass::stop: rig_cleanUp OK" << endl; rigLaunched = false; - //qDebug() << "HamLibClass::stop - true" << endl; + //qDebug() << "HamLibClass::stop - true" << endl; return; } else { errorCount++; - //qDebug() << "HamLibClass::stop: rig_cleanup NOK: " << QString::number(errorCode) << endl; + //qDebug() << "HamLibClass::stop: rig_cleanup NOK: " << QString::number(errorCode) << endl; } } else { errorCount++; - //qDebug() << "HamLibClass::stop: rig_close NOK: " << QString::number(errorCode) << endl; + //qDebug() << "HamLibClass::stop: rig_close NOK: " << QString::number(errorCode) << endl; } - //qDebug() << "HamLibClass::stop - false" << endl; + //qDebug() << "HamLibClass::stop - false" << endl; return; } void HamLibClass::clean() { - //qDebug() << "HamLibClass::Clean" << endl; + //qDebug() << "HamLibClass::Clean" << endl; myrig_model = 1; //Dummy equipment - //qDebug() << "HamLibClass::Clean 0" << endl; + //qDebug() << "HamLibClass::Clean 0" << endl; //myport.parm.serial.rate = 57600; bauds = 9600; - //qDebug() << "HamLibClass::Clean - 1" << endl; + //qDebug() << "HamLibClass::Clean - 1" << endl; dataBits = 8; - //qDebug() << "HamLibClass::Clean - 2" << endl; + //qDebug() << "HamLibClass::Clean - 2" << endl; stopBits = 1; - //qDebug() << "HamLibClass::Clean - 3" << endl; + //qDebug() << "HamLibClass::Clean - 3" << endl; shandshake = RIG_HANDSHAKE_NONE; - //qDebug() << "HamLibClass::Clean - 4" << endl; + //qDebug() << "HamLibClass::Clean - 4" << endl; sparity = RIG_PARITY_NONE; - //qDebug() << "HamLibClass::Clean - 5" << endl; + //qDebug() << "HamLibClass::Clean - 5" << endl; //myport.type.rig = RIG_PORT_SERIAL; - //qDebug() << "HamLibClass::Clean - 8" << endl; + //qDebug() << "HamLibClass::Clean - 8" << endl; serialPort = QString(); sdtr = RIG_SIGNAL_UNSET; - //qDebug() << "HamLibClass::Clean - 9" << endl; + //qDebug() << "HamLibClass::Clean - 9" << endl; srts = RIG_SIGNAL_UNSET; - //qDebug() << "HamLibClass::Clean - 10" << endl; + //qDebug() << "HamLibClass::Clean - 10" << endl; rigLaunched = false; - //qDebug() << "HamLibClass::clean - END" << endl; + //qDebug() << "HamLibClass::clean - END" << endl; } void HamLibClass::init(bool _active) { - //qDebug()<< "HamLibClass::init: " << endl; - //qDebug() << "HamLibClass::init: " << getNameFromModelId(myrig_model) << endl; - //qDebug() << "HamLibClass::init: " << getNameFromModelId(myrig_model) << endl; + //qDebug()<< "HamLibClass::init: " << endl; + //qDebug() << "HamLibClass::init: " << getNameFromModelId(myrig_model) << endl; + //qDebug() << "HamLibClass::init: " << getNameFromModelId(myrig_model) << endl; if (!_active) { - //qDebug()<< "HamLibClass::init: Stopping..." << endl; + //qDebug()<< "HamLibClass::init: Stopping..." << endl; stop(); - //qDebug() << "HamLibClass::init: Stopped!" << endl; + //qDebug() << "HamLibClass::init: Stopped!" << endl; return; } if (myrig_model == -1) { - //qDebug()<< "HamLibClass::init: Rig Model not valid" << endl; + //qDebug()<< "HamLibClass::init: Rig Model not valid" << endl; return; } @@ -396,50 +396,50 @@ void HamLibClass::init(bool _active) if (my_rig == nullptr) { - //qDebug()<< "HamLibClass::init: Init failed, hamlib returned fail!" << endl; + //qDebug()<< "HamLibClass::init: Init failed, hamlib returned fail!" << endl; return; } else { - //qDebug() << "HamLibClass::init: rig_init went OK!" << endl; + //qDebug() << "HamLibClass::init: rig_init went OK!" << endl; } my_rig->state.rigport.type.rig = RIG_PORT_SERIAL; //serialPort = "/dev/cu.usbserial"; - //qDebug() << "HamLibClass::init: serialport: " << serialPort << endl; - //qDebug() << "HamLibClass::init: serialport2: " << serialPort.toLocal8Bit() << endl; + //qDebug() << "HamLibClass::init: serialport: " << serialPort << endl; + //qDebug() << "HamLibClass::init: serialport2: " << serialPort.toLocal8Bit() << endl; strncpy (my_rig->state.rigport.pathname, serialPort.toLocal8Bit().constData(), FILPATHLEN); - //qDebug() << "HamLibClass::init: rigport: " << my_rig->state.rigport.pathname << endl; + //qDebug() << "HamLibClass::init: rigport: " << my_rig->state.rigport.pathname << endl; my_rig->state.rigport.parm.serial.rate = bauds; - //qDebug() << "HamLibClass::init: serial rate: " << QString::number(my_rig->state.rigport.parm.serial.rate) << endl; + //qDebug() << "HamLibClass::init: serial rate: " << QString::number(my_rig->state.rigport.parm.serial.rate) << endl; my_rig->state.rigport.parm.serial.data_bits = dataBits; - //qDebug() << "HamLibClass::init: data bits: " << QString::number(my_rig->state.rigport.parm.serial.data_bits) << endl; + //qDebug() << "HamLibClass::init: data bits: " << QString::number(my_rig->state.rigport.parm.serial.data_bits) << endl; my_rig->state.rigport.parm.serial.stop_bits = stopBits; - //qDebug() << "HamLibClass::init: stop bits: " << QString::number(my_rig->state.rigport.parm.serial.stop_bits) << endl; + //qDebug() << "HamLibClass::init: stop bits: " << QString::number(my_rig->state.rigport.parm.serial.stop_bits) << endl; my_rig->state.rigport.parm.serial.parity = sparity; //my_rig->state.rigport.parm.serial.dtr_state = RIG_SIGNAL_ON; //my_rig->state.rigport.parm.serial.rts_state = RIG_SIGNAL_ON; - //qDebug() << "HamLibClass::init: handshake before" << endl; + //qDebug() << "HamLibClass::init: handshake before" << endl; my_rig->state.rigport.parm.serial.handshake = shandshake; - //qDebug() << "HamLibClass::init: handshake after" << endl; + //qDebug() << "HamLibClass::init: handshake after" << endl; // Config done retcode = rig_open(my_rig); - //qDebug() << "HamLibClass::init: retcode" << endl; + //qDebug() << "HamLibClass::init: retcode" << endl; if (retcode != RIG_OK) { - //qDebug()<< "HamLibClass::init: Can't open: " << rigerror(retcode) << endl; + //qDebug()<< "HamLibClass::init: Can't open: " << rigerror(retcode) << endl; errorCount++; rig_cleanup(my_rig); return ; } - //qDebug()<< "HamLibClass::init: Rig open!" << endl; + //qDebug()<< "HamLibClass::init: Rig open!" << endl; errorCount = 0; rigLaunched = true; timer->start(pollInterval); - //qDebug() << "HamLibClass::init: END TRUE" << endl; + //qDebug() << "HamLibClass::init: END TRUE" << endl; return; } @@ -452,7 +452,7 @@ bool HamLibClass::isRunning() QStringList HamLibClass::getRigList () { - //qDebug() << "HamLibClass::getRigList" << endl; + //qDebug() << "HamLibClass::getRigList" << endl; // Rutine to fill the rig combo boxes // Do not display debug codes when load the rig's rig_set_debug (RIG_DEBUG_NONE); @@ -461,30 +461,30 @@ QStringList HamLibClass::getRigList () strings.clear(); rig_load_all_backends (); - //qDebug() << "HamLibClass::getRigList-10" << endl; + //qDebug() << "HamLibClass::getRigList-10" << endl; rig_list_foreach (addRigToList, this); - //qDebug() << "HamLibClass::getRigList-11" << endl; + //qDebug() << "HamLibClass::getRigList-11" << endl; strings.sort (); - //qDebug() << "HamLibClass::getRigList-12" << endl; + //qDebug() << "HamLibClass::getRigList-12" << endl; return strings; } int HamLibClass::addRigToList (const struct rig_caps *caps, void *data) { - //qDebug() << "HamLibClass::addRigToList" << caps->model_name << endl; + //qDebug() << "HamLibClass::addRigToList" << caps->model_name << endl; QString name; - //qDebug() << "HamLibClass::addRigToList-10" << endl; + //qDebug() << "HamLibClass::addRigToList-10" << endl; HamLibClass *r = (HamLibClass *) data; - //qDebug() << "HamLibClass::addRigToList-11" << endl; + //qDebug() << "HamLibClass::addRigToList-11" << endl; name = caps->model_name; - //qDebug() << "HamLibClass::addRigToList-12" << endl; + //qDebug() << "HamLibClass::addRigToList-12" << endl; r->rigName2RigId[name] = caps->rig_model; // We fill the equivalences between name & Id - //qDebug() << "HamLibClass::addRigToList-13" << endl; + //qDebug() << "HamLibClass::addRigToList-13" << endl; r->rigId2RigName[caps->rig_model] = name; - //qDebug() << "HamLibClass::addRigToList-14" << endl; + //qDebug() << "HamLibClass::addRigToList-14" << endl; r->strings << name; - //qDebug() << "HamLibClass::addRigToList-END" << endl; + //qDebug() << "HamLibClass::addRigToList-END" << endl; return -1; // not 0 --> we want all rigs } @@ -498,20 +498,20 @@ int HamLibClass::getModelIdFromName (const QString &_name) QString HamLibClass::getNameFromModelId(const int _id) { - //qDebug() << "HamLibClass::getNameFromModelId: " << QString::number(_id) << "/" << rigId2RigName.value(_id)<< endl; + //qDebug() << "HamLibClass::getNameFromModelId: " << QString::number(_id) << "/" << rigId2RigName.value(_id)<< endl; return rigId2RigName.value(_id); } void HamLibClass::setModelId(const int _id) { - //qDebug() << "HamLibClass::setModelId: " << QString::number(_id) << endl; + //qDebug() << "HamLibClass::setModelId: " << QString::number(_id) << endl; myrig_model = _id; } void HamLibClass::setPort(const QString &_port) { - //qDebug() << "HamLibClass::setPort: " << _port << endl; + //qDebug() << "HamLibClass::setPort: " << _port << endl; serialPort = _port; //strncpy (my_rig->state.rigport.pathname, serialPort.toLocal8Bit().constData(), FILPATHLEN); //qstrncpy(myport.pathname, serialPort.toLocal8Bit().constData(), serialPort.length()+1); @@ -578,7 +578,7 @@ void HamLibClass::setParity(const QString &_parity) void HamLibClass::setFreq(const double _fr) { - //qDebug() << "HamLibClass::setFreq: " << QString::number(_fr) << endl; + //qDebug() << "HamLibClass::setFreq: " << QString::number(_fr) << endl; if ((!isRunning()) || (readOnlyMode)) { return; @@ -588,7 +588,7 @@ void HamLibClass::setFreq(const double _fr) int retcode = rig_set_freq(my_rig, RIG_VFO_CURR, freq); if (retcode != RIG_OK) { - //qDebug() << "HamLibClass::setFreq NOK: " << endl; + //qDebug() << "HamLibClass::setFreq NOK: " << endl; stop(); errorCount++; @@ -597,18 +597,18 @@ void HamLibClass::setFreq(const double _fr) else { errorCount = 0; - //qDebug() << "HamLibClass::setFreq OK: " << QString::number(freq) << endl; + //qDebug() << "HamLibClass::setFreq OK: " << QString::number(freq) << endl; retcode = rig_get_freq(my_rig, RIG_VFO_CURR, &freq); if (retcode == RIG_OK) { errorCount = 0; - //qDebug() << "HamLibClass::setFreq read: " << QString::number(freq) << endl; + //qDebug() << "HamLibClass::setFreq read: " << QString::number(freq) << endl; } else { stop(); errorCount++; - //qDebug() << "HamLibClass::setFreq Unable to read FREQ" << endl; + //qDebug() << "HamLibClass::setFreq Unable to read FREQ" << endl; } return; } diff --git a/infowidget.cpp b/infowidget.cpp index ca497389..122fb540 100644 --- a/infowidget.cpp +++ b/infowidget.cpp @@ -3,7 +3,7 @@ InfoWidget::InfoWidget(DataProxy_SQLite *dp, QWidget *parent) : QWidget(parent) { - //qDebug() << "InfoWidget::InfoWidget: " << endl; + //qDebug() << "InfoWidget::InfoWidget: " << endl; dataProxy = dp; awards = new Awards(dataProxy, Q_FUNC_INFO); //Just to know colors @@ -40,7 +40,7 @@ InfoWidget::InfoWidget(DataProxy_SQLite *dp, QWidget *parent) : createUI(); clearBandLabels(); - //qDebug() << "InfoWidget::InfoWidget: - END" << endl; + //qDebug() << "InfoWidget::InfoWidget: - END" << endl; } void InfoWidget::createUI() @@ -232,7 +232,7 @@ void InfoWidget::createUI() bandLabel12->setFrameShadow(QFrame::Raised); bandLabel12->setFrameStyle(QFrame::StyledPanel); -#else +#else continentLabelN->setFrameStyle(QFrame::StyledPanel | QFrame::Raised); continentLabel->setFrameStyle(QFrame::StyledPanel | QFrame::Raised); prefixLabelN->setFrameStyle(QFrame::StyledPanel | QFrame::Raised); @@ -290,7 +290,7 @@ void InfoWidget::clearBandLabels() void InfoWidget::clearInfoFromLocators() { - //qDebug() << "InfoWidget::clearInfoFromLocators" << endl; + //qDebug() << "InfoWidget::clearInfoFromLocators" << endl; gradShortLabel->setText( "0" ); gradLongLabel->setText( "0" ); distShortLabel->setText( "0" ); @@ -337,13 +337,13 @@ void InfoWidget::setImperialSystem (const bool _imp) QString InfoWidget::getStyleColorToLabelFromBand(const QString _b, const QString _q) { // Receives band name, Entity number (as a String) - //qDebug() << "InfoWidget::getStyleColorToLabelFromBand: " << _b << "/" << _q << endl; + //qDebug() << "InfoWidget::getStyleColorToLabelFromBand: " << _b << "/" << _q << endl; QStringList _qs; _qs.clear(); _qs << _q << QString::number(dataProxy->getIdFromBandName(_b)) << QString::number(-1) << QString::number(currentLog); //TODO: Check if we can know the mode and replace the -1 - //qDebug() << "InfoWidget::getStyleColorToLabelFromBand (Band/background-color): " << _b << (awards->getQRZDXStatusColor(_qs)).name() << endl; + //qDebug() << "InfoWidget::getStyleColorToLabelFromBand (Band/background-color): " << _b << (awards->getQRZDXStatusColor(_qs)).name() << endl; return "* { background-color: " + (awards->getQRZDXStatusColor(_qs)).name() + "; }"; } @@ -351,7 +351,7 @@ QString InfoWidget::getStyleColorToLabelFromBand(const QString _b, const QString //void InfoWidget::showInfo(const int _entity, const int _bandid, const int _modeid, const int _log) void InfoWidget::showInfo(const int _entity) { // Default values of _modeid & _log = -1 - //qDebug() << "InfoWidget::showInfo: " << QString::number(_entity) << endl; + //qDebug() << "InfoWidget::showInfo: " << QString::number(_entity) << endl; //QColor getQRZDXStatusColor(const QStringList _qs); // Receives Entity, band, mode & log bandLabel1->setStyleSheet(getStyleColorToLabelFromBand(bandLabel1->text(), QString::number(_entity))); @@ -370,7 +370,7 @@ void InfoWidget::showInfo(const int _entity) void InfoWidget::showEntityInfo(const int _enti, int _cq, int _itu) { - //qDebug() << "InfoWidget::showEntityInfo" << QString::number(_enti) << endl; + //qDebug() << "InfoWidget::showEntityInfo" << QString::number(_enti) << endl; if (_enti<=0) { @@ -440,7 +440,7 @@ void InfoWidget::showEntityInfo(const int _enti, int _cq, int _itu) void InfoWidget::showDistanceAndBearing(const QString _locLocal, const QString _locDX) {// Local / DX - //qDebug() << "InfoWidget::showDistanceAndBearing: " << _locLocal << "/" << _locDX << endl; + //qDebug() << "InfoWidget::showDistanceAndBearing: " << _locLocal << "/" << _locDX << endl; QString lloc = _locLocal.toUpper(); QString ldx = _locDX.toUpper(); diff --git a/infowidget.h b/infowidget.h index 9ec381d1..543bf09c 100644 --- a/infowidget.h +++ b/infowidget.h @@ -22,7 +22,7 @@ * 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 . * + * along with KLog. If not, see . * * * *****************************************************************************/ // diff --git a/klog.1 b/klog.1 index 9ddbfff1..ddb3ff13 100644 --- a/klog.1 +++ b/klog.1 @@ -1,4 +1,4 @@ -.TH KLog 1 "version 1.1" "Jaime Robles, EA4K" "Hamradio" +.TH KLog 1 "version 0.9.9" "Jaime Robles, EA4K" "Hamradio" .SH "NAME" klog \- The Ham Radio Logging program diff --git a/klog_resource.rc b/klog_resource.rc index 4138ea32..f106fe6b 100644 --- a/klog_resource.rc +++ b/klog_resource.rc @@ -3,8 +3,8 @@ IDI_ICON1 ICON DISCARDABLE "C:\\Users\\radio\\Desktop\\DEVEL\\klog\\klog.ico" VS_VERSION_INFO VERSIONINFO - FILEVERSION 1,1,0,0 - PRODUCTVERSION 1,1,0,0 + FILEVERSION 0,9,9,0 + PRODUCTVERSION 0,9,9,0 FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS VS_FF_DEBUG @@ -21,11 +21,11 @@ VS_VERSION_INFO VERSIONINFO BEGIN VALUE "CompanyName", "EA4K\0" VALUE "FileDescription", "Hamradio logging\0" - VALUE "FileVersion", "1.1.0.0\0" + VALUE "FileVersion", "0.9.9.0\0" VALUE "LegalCopyright", "\0" VALUE "OriginalFilename", "klog.exe\0" VALUE "ProductName", "klog\0" - VALUE "ProductVersion", "1.1.0.0\0" + VALUE "ProductVersion", "0.9.9.0\0" END END BLOCK "VarFileInfo" diff --git a/locator.cpp b/locator.cpp index 329f0425..735d6ba3 100644 --- a/locator.cpp +++ b/locator.cpp @@ -20,7 +20,7 @@ * 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 . * + * along with KLog. If not, see . * * * *****************************************************************************/ @@ -53,7 +53,7 @@ Wikipedia: */ - //qDebug() << "Locator::isValidLocator: " << tlocator << endl; + //qDebug() << "Locator::isValidLocator: " << tlocator << endl; //int lenght_of_locator; @@ -65,7 +65,7 @@ Wikipedia: rx.setPattern("^[A-R]{2}$"); if (rx.match(testLocator).hasMatch()) { - //qDebug() << "Locator::isValidLocator: Match 2: " << testLocator; + //qDebug() << "Locator::isValidLocator: Match 2: " << testLocator; return true; } else @@ -73,7 +73,7 @@ Wikipedia: rx.setPattern("^[A-R]{2}[0-9]{2}$"); if (rx.match(testLocator).hasMatch()) { - //qDebug() << "Locator::isValidLocator: Match 4: " << testLocator; + //qDebug() << "Locator::isValidLocator: Match 4: " << testLocator; return true; } else @@ -81,7 +81,7 @@ Wikipedia: rx.setPattern("^[A-R]{2}[0-9]{2}[A-X]{2}$"); if (rx.match(testLocator).hasMatch()) { - //qDebug() << "Locator::isValidLocator: Match 6: " << testLocator; + //qDebug() << "Locator::isValidLocator: Match 6: " << testLocator; return true; } else @@ -89,7 +89,7 @@ Wikipedia: rx.setPattern("^[A-R]{2}[0-9]{2}[A-X]{2}[0-9]{2}$"); if (rx.match(testLocator).hasMatch()) { - //qDebug() << "Locator::isValidLocator: Match 8: " << testLocator; + //qDebug() << "Locator::isValidLocator: Match 8: " << testLocator; return true; } else @@ -103,7 +103,7 @@ Wikipedia: double Locator::getLat(const QString& tlocator){ - //qDebug() << "Locator::getLat: " << tlocator; + //qDebug() << "Locator::getLat: " << tlocator; // Read formula from: https://unclassified.software/files/source/MaidenheadLocator.cs //Revisar las formulas porque salen distancias erroneas if (!isValidLocator(tlocator)) @@ -113,8 +113,8 @@ double Locator::getLat(const QString& tlocator){ if (tlocator.length() == 2) { - //qDebug() << "Locator::getLat - num: " << QString::number((tlocator.at(1)).toLatin1() ); - //qDebug() << "Locator::getLat: " << QString::number((((tlocator.at(1)).toLatin1() - 65) * 10) - 90) << endl; + //qDebug() << "Locator::getLat - num: " << QString::number((tlocator.at(1)).toLatin1() ); + //qDebug() << "Locator::getLat: " << QString::number((((tlocator.at(1)).toLatin1() - 65) * 10) - 90) << endl; return (((tlocator.at(1)).toLatin1() - 65) * 10) - 90; } if (tlocator.length() == 4) @@ -124,19 +124,19 @@ double Locator::getLat(const QString& tlocator){ } else if (tlocator.length()== 6) { - //qDebug() << "Locator::getLat: " << QString::number(((tlocator.at(1)).toLatin1() - 'A') * 10 + ((tlocator.at(3)).toLatin1() - '0') + ((tlocator.at(5)).toLatin1() - 'A' + 0.5) / 24 - 90) << endl; + //qDebug() << "Locator::getLat: " << QString::number(((tlocator.at(1)).toLatin1() - 'A') * 10 + ((tlocator.at(3)).toLatin1() - '0') + ((tlocator.at(5)).toLatin1() - 'A' + 0.5) / 24 - 90) << endl; return ((tlocator.at(1)).toLatin1() - 'A') * 10 + ((tlocator.at(3)).toLatin1() - '0') + ((tlocator.at(5)).toLatin1() - 'A' + 0.5) / 24 - 90; //return (((tlocator.at(1)).toLatin1() - 65) * 10) + ((tlocator.at(3)).toLatin1() - 48) + (((tlocator.at(5)).toLatin1() - 65 + 0.5) / 24) - 90; } else if (tlocator.length()== 8) { - //qDebug() << "Locator::getLat: " << QString::number(((tlocator.at(1)).toLatin1() - 'A') * 10 + ((tlocator.at(3)).toLatin1() - '0') + ((tlocator.at(5)).toLatin1() - 'A' + 0.0) / 24 + ((tlocator.at(7)).toLatin1() - '0' + 0.5) / 240 - 90) << endl; + //qDebug() << "Locator::getLat: " << QString::number(((tlocator.at(1)).toLatin1() - 'A') * 10 + ((tlocator.at(3)).toLatin1() - '0') + ((tlocator.at(5)).toLatin1() - 'A' + 0.0) / 24 + ((tlocator.at(7)).toLatin1() - '0' + 0.5) / 240 - 90) << endl; return ((tlocator.at(1)).toLatin1() - 'A') * 10 + ((tlocator.at(3)).toLatin1() - '0') + ((tlocator.at(5)).toLatin1() - 'A' + 0.0) / 24 + ((tlocator.at(7)).toLatin1() - '0' + 0.5) / 240 - 90; //return (((tlocator.at(1)).toLatin1() - 65) * 10) + ((tlocator.at(3)).toLatin1() - 48) + (((tlocator.at(5)).toLatin1() - 65 + 0.5) / 24) - 90; } else if (tlocator.length()== 10) { - //qDebug() << "Locator::getLat: " << QString::number(((tlocator.at(1)).toLatin1() - 'A') * 10 + ((tlocator.at(3)).toLatin1() - '0') + ((tlocator.at(5)).toLatin1() - 'A' + 0.0) / 24 + ((tlocator.at(7)).toLatin1() - '0' + 0.0) / 240 + ((tlocator.at(9)).toLatin1() - 'A' + 0.5) / 240 / 24 - 90) << endl; + //qDebug() << "Locator::getLat: " << QString::number(((tlocator.at(1)).toLatin1() - 'A') * 10 + ((tlocator.at(3)).toLatin1() - '0') + ((tlocator.at(5)).toLatin1() - 'A' + 0.0) / 24 + ((tlocator.at(7)).toLatin1() - '0' + 0.0) / 240 + ((tlocator.at(9)).toLatin1() - 'A' + 0.5) / 240 / 24 - 90) << endl; return ((tlocator.at(1)).toLatin1() - 'A') * 10 + ((tlocator.at(3)).toLatin1() - '0') + ((tlocator.at(5)).toLatin1() - 'A' + 0.0) / 24 + ((tlocator.at(7)).toLatin1() - '0' + 0.0) / 240 + ((tlocator.at(9)).toLatin1() - 'A' + 0.5) / 240 / 24 - 90; //return (((tlocator.at(1)).toLatin1() - 65) * 10) + ((tlocator.at(3)).toLatin1() - 48) + (((tlocator.at(5)).toLatin1() - 65 + 0.5) / 24) - 90; } @@ -149,7 +149,7 @@ double Locator::getLat(const QString& tlocator){ double Locator::getLon(const QString& tlocator) { - //qDebug() << "Locator::getLon: " << tlocator; + //qDebug() << "Locator::getLon: " << tlocator; if (!isValidLocator(tlocator)) { @@ -169,13 +169,13 @@ double Locator::getLon(const QString& tlocator) } else if (tlocator.length()== 6) { - //qDebug() << "Locator::getLon: " << QString::number(((tlocator.at(0)).toLatin1() - 'A') * 20 + ((tlocator.at(2)).toLatin1() - '0') * 2 + ((tlocator.at(4)).toLatin1() - 'A' + 0.5) / 12 - 180) << endl; + //qDebug() << "Locator::getLon: " << QString::number(((tlocator.at(0)).toLatin1() - 'A') * 20 + ((tlocator.at(2)).toLatin1() - '0') * 2 + ((tlocator.at(4)).toLatin1() - 'A' + 0.5) / 12 - 180) << endl; return ((tlocator.at(0)).toLatin1() - 'A') * 20 + ((tlocator.at(2)).toLatin1() - '0') * 2 + ((tlocator.at(4)).toLatin1() - 'A' + 0.5) / 12 - 180; //return (((tlocator.at(0)).toLatin1() - 65) * 20) + (((tlocator.at(2)).toLatin1() - 48) * 2) + (((tlocator.at(4)).toLatin1() - 65 + 0.5) / 12) - 180; } else if (tlocator.length()== 8) { - //qDebug() << "Locator::getLon: " << QString::number(((tlocator.at(0)).toLatin1() - 'A') * 20 + ((tlocator.at(2)).toLatin1() - '0') * 2 + ((tlocator.at(4)).toLatin1() - 'A' + 0.0) / 12 + ((tlocator.at(6)).toLatin1() - '0' + 0.5) / 120 - 180) << endl; + //qDebug() << "Locator::getLon: " << QString::number(((tlocator.at(0)).toLatin1() - 'A') * 20 + ((tlocator.at(2)).toLatin1() - '0') * 2 + ((tlocator.at(4)).toLatin1() - 'A' + 0.0) / 12 + ((tlocator.at(6)).toLatin1() - '0' + 0.5) / 120 - 180) << endl; return ((tlocator.at(0)).toLatin1() - 'A') * 20 + ((tlocator.at(2)).toLatin1() - '0') * 2 + ((tlocator.at(4)).toLatin1() - 'A' + 0.0) / 12 + ((tlocator.at(6)).toLatin1() - '0' + 0.5) / 120 - 180; } //else if (tlocator.length()== 10) @@ -190,8 +190,8 @@ double Locator::getLon(const QString& tlocator) int Locator::getBeam(const double lon1, const double lat1, const double lon2, const double lat2){ double lon_a,lat_a,lon_b,lat_b, bearing; - //qDebug() << "Locator::getBeam1: " << QString::number(lon1) << "/" << QString::number(lat1) << endl; - //qDebug() << "Locator::getBeam2: " << QString::number(lon2) << "/" << QString::number(lat2) << endl; + //qDebug() << "Locator::getBeam1: " << QString::number(lon1) << "/" << QString::number(lat1) << endl; + //qDebug() << "Locator::getBeam2: " << QString::number(lon2) << "/" << QString::number(lat2) << endl; lon_a=lon1*PI/180; // Convert degrees to radians @@ -232,7 +232,7 @@ int Locator::getBeam(const double lon1, const double lat1, const double lon2, co bearing = 360 - (180/PI*bearing); bearing = 360 - bearing; - //qDebug() << "Locator::getBeam: " << QString::number(bearing) << endl; + //qDebug() << "Locator::getBeam: " << QString::number(bearing) << endl; /* Convert to degrees */ return int(bearing); @@ -241,7 +241,7 @@ int Locator::getBeam(const double lon1, const double lat1, const double lon2, co int Locator::getDistance(const double lon1, const double lat1, const double lon2, const double lat2, const bool _imperialSystem){ //http://en.wikipedia.org/wiki/Haversine_formula - //qDebug() << "Locator::getDistanceKilometres: MyPos("<< QString::number(lon1) << ")" << endl; + //qDebug() << "Locator::getDistanceKilometres: MyPos("<< QString::number(lon1) << ")" << endl; // << QString::number(lat1) << ") - DxPos(" << QString::number(lon2) << "/" << QString::number(lat2) << ")" << endl; double lo1,la1,lo2,la2; @@ -255,16 +255,16 @@ int Locator::getDistance(const double lon1, const double lat1, const double lon2 la2=lat2* DEG_TO_RAD; if (!_imperialSystem){ - //qDebug() << "Locator::getDistance (Km): " << QString::number((int)(acos(cos(la1)*cos(lo1)*cos(la2)*cos(lo2)+cos(la1)*sin(lo1)*cos(la2)*sin(lo2)+sin(la1)*sin(la2)) * EARTH_RADIUS)) << endl; + //qDebug() << "Locator::getDistance (Km): " << QString::number((int)(acos(cos(la1)*cos(lo1)*cos(la2)*cos(lo2)+cos(la1)*sin(lo1)*cos(la2)*sin(lo2)+sin(la1)*sin(la2)) * EARTH_RADIUS)) << endl; return int(acos(cos(la1)*cos(lo1)*cos(la2)*cos(lo2)+cos(la1)*sin(lo1)*cos(la2)*sin(lo2)+sin(la1)*sin(la2)) * EARTH_RADIUS); }else{ // In milles - //qDebug() << "Locator::getDistance (Milles): " << QString::number(((int)(acos(cos(la1)*cos(lo1)*cos(la2)*cos(lo2)+cos(la1)*sin(lo1)*cos(la2)*sin(lo2)+sin(la1)*sin(la2)) * EARTH_RADIUS))* 0.62137) << endl; + //qDebug() << "Locator::getDistance (Milles): " << QString::number(((int)(acos(cos(la1)*cos(lo1)*cos(la2)*cos(lo2)+cos(la1)*sin(lo1)*cos(la2)*sin(lo2)+sin(la1)*sin(la2)) * EARTH_RADIUS))* 0.62137) << endl; return int(((acos(cos(la1)*cos(lo1)*cos(la2)*cos(lo2)+cos(la1)*sin(lo1)*cos(la2)*sin(lo2)+sin(la1)*sin(la2)) * EARTH_RADIUS)) * 0.62137); } } bool Locator::checkCoords(const double lon1, const double lat1){ - //qDebug() << "Locator::checkCoords" ; + //qDebug() << "Locator::checkCoords" ; // Checks if a coordinates is correct. if ((lat1 > 90.0 || lat1 < -90.0) && (lon1 > 180.0 || lon1 < -180.0)){ return true; @@ -280,7 +280,7 @@ QString Locator::getLocator(const double lon1, const double lat1) const{ lat = Latitude in decimal degrees (+ = North; - = South). Output: locator = 6 characters world wide locator. ------------------------------------------------- */ - //qDebug() << "Locator::getLocator: (" << QString::number(lon1) << "/" << QString::number(lat1) << ")" << endl; + //qDebug() << "Locator::getLocator: (" << QString::number(lon1) << "/" << QString::number(lat1) << ")" << endl; QString locat = ""; //NO locator double lo, la; @@ -344,7 +344,7 @@ double Locator::dmsTodeg (int deg, int min, int sec) int Locator::getBeamBetweenLocators (const QString& tlocator1, const QString& tlocator2) { - //qDebug() << "Locator::getBeamBetweenLocators: " << tlocator1 << "/" << tlocator2 << endl; + //qDebug() << "Locator::getBeamBetweenLocators: " << tlocator1 << "/" << tlocator2 << endl; if ( !(isValidLocator(tlocator1) && isValidLocator(tlocator2) ) ) { return -1; diff --git a/locator.h b/locator.h index 81dfa5d7..18f16ea8 100644 --- a/locator.h +++ b/locator.h @@ -20,7 +20,7 @@ * 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 . * + * along with KLog. If not, see . * * * *****************************************************************************/ diff --git a/logmodel.cpp b/logmodel.cpp index e299c803..b130ad33 100644 --- a/logmodel.cpp +++ b/logmodel.cpp @@ -2,12 +2,12 @@ LogModel::LogModel(DataProxy_SQLite *dp, QObject *parent):QSqlRelationalTableModel(parent) { - //qDebug() << "LogModel::LogModel " << endl; + //qDebug() << "LogModel::LogModel " << endl; //logModel = new QSqlRelationalTableModel(this); dataProxy = dp; setTable("log"); setEditStrategy(QSqlTableModel::OnFieldChange); - //qDebug() << "LogModel::LogModel - END" << endl; + //qDebug() << "LogModel::LogModel - END" << endl; } @@ -36,14 +36,14 @@ the view should present the city's name field to the user. This should be coherent with the logview */ - //qDebug() << "LogModel::createlogModel: log: " << QString::number(_i) << endl; + //qDebug() << "LogModel::createlogModel: log: " << QString::number(_i) << endl; //QString contestMode = dataProxy->getLogTypeOfUserLog(_i); + //qDebug() << "LogModel::createlogModel - contestMode: " << contestMode << endl; - - QString stringQuery = QString("lognumber='%1'").arg(_i); - QSqlQuery query(stringQuery); - setFilter(stringQuery); + QString stringQuery = QString("lognumber='%1'").arg(_i); + QSqlQuery query(stringQuery); + setFilter(stringQuery); setColumnsToDX(); /* @@ -51,18 +51,18 @@ This should be coherent with the logview //if (contestMode.compare("DX")) if (contestMode == "DX") { - //qDebug() << "LogModel::createlogModel: found type DX" << endl; + //qDebug() << "LogModel::createlogModel: found type DX" << endl; } else if (contestMode == "CQ-WW-SSB") { - //qDebug() << "LogModel::createlogModel: found type CQ-WW-SSB" << endl; + //qDebug() << "LogModel::createlogModel: found type CQ-WW-SSB" << endl; } else { // THIS POINT SHOULD NOT BE REACHED. It means that there is a kind of contest not supported. // Maybe the way should be to move ALL the actions from DX here. - //qDebug() << "LogModel::createlogModel: log type NOT found" << endl; + //qDebug() << "LogModel::createlogModel: log type NOT found" << endl; } */ @@ -73,7 +73,7 @@ This should be coherent with the logview void LogModel::setColumnsToDX() { - //qDebug() << "LogModel::setColumnsToDX" << endl; + //qDebug() << "LogModel::setColumnsToDX" << endl; QSqlQuery q; QString stringQuery = QString("SELECT * from log LIMIT 1"); @@ -90,7 +90,7 @@ This should be coherent with the logview q.next(); rec = q.record(); // Number of columns - //qDebug() << "LogModel::createlogModel - columns: " << QString::number(rec.count()) << endl; + //qDebug() << "LogModel::createlogModel - columns: " << QString::number(rec.count()) << endl; diff --git a/logmodel.h b/logmodel.h index 6e6b44a8..c9be647c 100644 --- a/logmodel.h +++ b/logmodel.h @@ -22,7 +22,7 @@ * 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 . * + * along with KLog. If not, see . * * * *****************************************************************************/ #include diff --git a/logviewsortfilterproxymodel.cpp b/logviewsortfilterproxymodel.cpp index 6d28624c..59e472e0 100644 --- a/logviewsortfilterproxymodel.cpp +++ b/logviewsortfilterproxymodel.cpp @@ -56,8 +56,32 @@ LogViewSortFilterProxyModel::LogViewSortFilterProxyModel(QObject *parent) : QSortFilterProxyModel(parent) { - //setDynamicSortFilter(true); } +/* +void LogViewSortFilterProxyModel::setFilterMinimumDate(const QDate &date) +{ + minDate = date; + invalidateFilter(); +} + +void LogViewSortFilterProxyModel::setFilterMaximumDate(const QDate &date) +{ + maxDate = date; + invalidateFilter(); +} + +bool LogViewSortFilterProxyModel::filterAcceptsRow(int sourceRow, + const QModelIndex &sourceParent) const +{ + QModelIndex index0 = sourceModel()->index(sourceRow, 0, sourceParent); + QModelIndex index1 = sourceModel()->index(sourceRow, 1, sourceParent); + QModelIndex index2 = sourceModel()->index(sourceRow, 2, sourceParent); + + return (sourceModel()->data(index0).toString().contains(filterRegExp()) + || sourceModel()->data(index1).toString().contains(filterRegExp())) + && dateInRange(sourceModel()->data(index2).toDate()); +} +*/ bool LogViewSortFilterProxyModel::lessThan(const QModelIndex &left, const QModelIndex &right) const @@ -65,96 +89,23 @@ bool LogViewSortFilterProxyModel::lessThan(const QModelIndex &left, QVariant leftData = sourceModel()->data(left); QVariant rightData = sourceModel()->data(right); - QString leftString = leftData.toString(); - QString rightString = rightData.toString(); - //qDebug() << "LogViewSortFilterProxyModel::lessThan (leftString): " << leftString << endl; - //qDebug() << "LogViewSortFilterProxyModel::lessThan (rightString): " << rightString << endl; - - QDateTime leftDT = QDateTime::fromString((sourceModel()->data(left.siblingAtColumn(1))).toString() + (sourceModel()->data(left.siblingAtColumn(2))).toString(), "yyyy/MM/ddHH:mm:ss"); - QDateTime rightDT = QDateTime::fromString((sourceModel()->data(right.siblingAtColumn(1))).toString() + (sourceModel()->data(right.siblingAtColumn(2))).toString(), "yyyy/MM/ddHH:mm:ss"); - - //qDebug() << "LogViewSortFilterProxyModel::lessThan - DateTime: " << leftDT.toString("yyyy-MM-dd / hh:mm:ss") << endl; //qDebug() << "LogViewSortFilterProxyModel::lessThan - Columns: " << (sourceModel()->data(left.siblingAtColumn(2))).toString() << endl; - /* - * if (leftData.type() == QVariant::String) - { - //qDebug() << "LogViewSortFilterProxyModel::lessThan - QString" << endl; - } - */ - //qDebug() << "LogViewSortFilterProxyModel::lessThan - Left column: " << QString::number(left.column())<< endl; - //qDebug() << "LogViewSortFilterProxyModel::lessThan - Right column: " << QString::number(right.column())<< endl; - - //qDebug() << "LogViewSortFilterProxyModel::lessThan - date: " << leftDT.toString("yyyy-MM-dd--hh:mm:ss") <<"<==>" << rightDT.toString("yyyy-MM-dd--hh:mm:ss") << endl; - if (left.column() == 1) - { - //qDebug() << "LogViewSortFilterProxyModel::lessThan - left: " << (sourceModel()->data(left.siblingAtColumn(1))).toString() << endl; - //QDate leftD = QDate::fromString((sourceModel()->data(left.siblingAtColumn(1))).toString(), "yyyy/MM/dd"); - //QDate rightD = QDate::fromString((sourceModel()->data(right.siblingAtColumn(1))).toString(), "yyyy/MM/dd"); - - if (leftDT.date() == rightDT.date()) - { - //qDebug() << "LogViewSortFilterProxyModel::lessThan - SAME" << endl; - - if (leftDT.time() < rightDT.time()) - { - //qDebug() << "LogViewSortFilterProxyModel::lessThan - SAME - (time) TRUE - Left" << endl; - } - else - { - //qDebug() << "LogViewSortFilterProxyModel::lessThan - SAME - (time) FALSE - Right" << endl; - } - return QString::localeAwareCompare(leftDT.toString("hh:mm:ss"), rightDT.toString("hh:mm:ss")) < 0; - //return leftDT.time() < rightDT.time(); - - } - else - { - //qDebug() << "LogViewSortFilterProxyModel::lessThan - DIFFERENT: " << endl; - //return leftD < rightD; - if (leftDT.date() < rightDT.date()) - { - //qDebug() << "LogViewSortFilterProxyModel::lessThan - DIFFERENT - (date) TRUE - Left" << endl; - - } - else - { - //qDebug() << "LogViewSortFilterProxyModel::lessThan - DIFFERENT - (date) FALSE - Right" << endl; - } - //return leftDT.date() < rightDT.date(); - return QString::localeAwareCompare(leftString, rightString) < 0; - } - } - else - { - //return leftData < rightData; - //qDebug() << "LogViewSortFilterProxyModel::lessThan - No column 1: " << leftString << " / " << rightString << endl; - return QString::localeAwareCompare(leftString, rightString) < 0; - } - - - - /* if (rightData.type() == QVariant::DateTime) { //if (rightData.type() == QVariant::Time) { //qDebug() << "LogViewSortFilterProxyModel::lessThan - 1" << endl; return leftData.toDateTime() < rightData.toDateTime(); - } - else - { + } else { QString leftString = leftData.toString(); QString rightString = rightData.toString(); if (left.column() == 1) { - //qDebug() << "LogViewSortFilterProxyModel::lessThan - left Column == 1" << endl; - //qDebug() << "LogViewSortFilterProxyModel::lessThan - leftData/rightData: " << leftString<< "/" << rightString << endl; - if (leftD == rightD) + if (leftData == rightData) { - //qDebug() << "LogViewSortFilterProxyModel::lessThan - leftData == rightData: " << leftString<< "/" << rightString << endl; QString leftN = (sourceModel()->data(left.siblingAtColumn(2))).toString(); QString rightN = (sourceModel()->data(right.siblingAtColumn(2))).toString(); @@ -167,17 +118,23 @@ bool LogViewSortFilterProxyModel::lessThan(const QModelIndex &left, else { //qDebug() << "LogViewSortFilterProxyModel::lessThan - left != right" << endl; - //qDebug() << "LogViewSortFilterProxyModel::lessThan - leftData != rightData: " << leftString<< "/" << rightString << endl; - return leftD < rightD; - } } //qDebug() << "LogViewSortFilterProxyModel::lessThan - 2: " << leftString << "/" << rightString << endl; - return QDate::fromString(leftString, "yyyy/MM/dd") < QDate::fromString(rightString, "yyyy/MM/dd"); - //return QString::localeAwareCompare(leftString, rightString) < 0; + /* + static QRegExp emailPattern("[\\w\\.]*@[\\w\\.]*)"); + + + if(left.column() == 1 && emailPattern.indexIn(leftString) != -1) + leftString = emailPattern.cap(1); + + + if(right.column() == 1 && emailPattern.indexIn(rightString) != -1) + rightString = emailPattern.cap(1); + */ + return QString::localeAwareCompare(leftString, rightString) < 0; } - */ } diff --git a/logwindow.cpp b/logwindow.cpp index 620f3e62..277f9947 100644 --- a/logwindow.cpp +++ b/logwindow.cpp @@ -20,7 +20,7 @@ * 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 . * + * along with KLog. If not, see . * * * *****************************************************************************/ @@ -29,9 +29,8 @@ LogWindow::LogWindow(DataProxy_SQLite *dp, QWidget *parent) : QWidget(parent) { - //qDebug() << "LogWindow::LogWindow: " << endl; + //qDebug() << "LogWindow::LogWindow: " << endl; dataProxy = dp; - //sortingThroughProxyModel = false; logModel = new LogModel(dataProxy, this); connect(logModel, SIGNAL(queryError(QString, QString, int, QString)), this, SLOT(slotQueryErrorManagement(QString, QString, int, QString)) ); logView = new QTableView; @@ -39,15 +38,15 @@ LogWindow::LogWindow(DataProxy_SQLite *dp, QWidget *parent) : QWidget(parent) elogClublog = new eLogClubLog(); currentLog = -1; - //proxyModel = new LogViewSortFilterProxyModel(this); - + proxyModel = new LogViewSortFilterProxyModel(this); + proxyModel->setSourceModel(logModel); awards = new Awards(dataProxy, Q_FUNC_INFO); createUI(); createActions(); setDefaultData(); - //qDebug() << "LogWindow::LogWindow: - END" << endl; + //qDebug() << "LogWindow::LogWindow: - END" << endl; } @@ -55,11 +54,10 @@ LogWindow::~LogWindow() { // emit clearError(); } -/* + void LogWindow::setProxyModel (const bool _p) { - sortingThroughProxyModel = _p; - if (sortingThroughProxyModel) + if (_p) { logView->setModel(proxyModel); logView->setCurrentIndex(proxyModel->index(0, 0)); @@ -69,23 +67,17 @@ void LogWindow::setProxyModel (const bool _p) logView->setModel(logModel); logView->setCurrentIndex(logModel->index(0, 0)); } -} -*/ -void LogWindow::sortColumn(const int _c) -{ - //proxyModel->sort(_c); - logModel->sort(_c, Qt::AscendingOrder); } void LogWindow::clear() { - //qDebug() << "LogWindow::clear " << endl; + //qDebug() << "LogWindow::clear " << endl; } void LogWindow::createUI() { - //qDebug() << "LogWindow::createUI" << endl; + //qDebug() << "LogWindow::createUI" << endl; logView->setContextMenuPolicy(Qt::CustomContextMenu); logView->setSortingEnabled(true); @@ -98,65 +90,51 @@ void LogWindow::createUI() void LogWindow::setDefaultData() { - //qDebug() << "LogWindow::setDefaultData" << endl; + //qDebug() << "LogWindow::setDefaultData" << endl; } void LogWindow::createlogPanel(const int _currentLog) { - //qDebug() << "LogWindow::createlogPanel: " << QString::number(_currentLog) << endl; + //qDebug() << "LogWindow::createlogPanel: " << QString::number(_currentLog) << endl; currentLog = _currentLog; logModel->createlogModel(currentLog); - //proxyModel->setSourceModel(logModel); - logView->setModel(logModel); - logView->setCurrentIndex(logModel->index(0, 0)); + //logView->setModel(logModel); + //logView->setCurrentIndex(logModel->index(0, 0)); - //setProxyModel(false); + setProxyModel(false); - //QString contestMode = dataProxy->getLogTypeOfUserLog(currentLog); + QString contestMode = dataProxy->getLogTypeOfUserLog(currentLog); setColumnsToDX(); - sortColumn(1); //Initial sort by column 1 (date & time) - /* if (contestMode == "DX") { - //qDebug() << "LogWindow::createlogPanel: DX" << endl; + //qDebug() << "LogWindow::createlogPanel: DX" << endl; setColumnsToDX(); } else if (contestMode == "CQ-WW-SSB") { - //qDebug() << "LogWindow::createlogPanel: CQ-WW-SSB" << endl; + //qDebug() << "LogWindow::createlogPanel: CQ-WW-SSB" << endl; } else { // THIS POINT SHOULD NOT BE REACHED. It means that there is a kind of contest not supported. // Maybe the way should be to move ALL the actions from DX here. - //qDebug() << "LogWindow::createlogPanel: No log type found!" << endl; + //qDebug() << "LogWindow::createlogPanel: No log type found!" << endl; } */ logView->setItemDelegate(new QSqlRelationalDelegate(this)); - logView->setSelectionMode(QAbstractItemView::SingleSelection); + logView->setSelectionMode( QAbstractItemView::SingleSelection); logView->setSelectionBehavior(QAbstractItemView::SelectRows); logView->resizeColumnsToContents(); logView->horizontalHeader()->setStretchLastSection(true); - logView->sortByColumn(1); - /* - if (sortingThroughProxyModel) - { - proxyModel->sort(1); - } - else - { - logView->sortByColumn(1); - } - */ } void LogWindow::setColumnsToDX() { - //qDebug() << "LogWindow::setColumnsToDX" << endl; + //qDebug() << "LogWindow::setColumnsToDX" << endl; QString stringQuery; stringQuery = QString("SELECT * FROM log LIMIT 1"); QSqlQuery query; @@ -195,7 +173,7 @@ void LogWindow::setColumnsToDX() void LogWindow::refresh() { - //qDebug() << "LogWindow::refresh" << endl; + //qDebug() << "LogWindow::refresh" << endl; logModel->select(); } @@ -215,7 +193,7 @@ void LogWindow::createActionsCommon() void LogWindow::slotRighButtonFromLog(const QPoint& pos) { - //qDebug() << "LogWindow::slotshowRighButtonFromLog" << endl; + //qDebug() << "LogWindow::slotshowRighButtonFromLog" << endl; int row = (logView->indexAt(pos)).row(); showMenuRightButtonFromLogCreateActions(); righButtonFromLogMenu(row); @@ -224,10 +202,10 @@ void LogWindow::slotRighButtonFromLog(const QPoint& pos) void LogWindow::righButtonFromLogMenu(const int trow) { - //qDebug() << "LogWindow::slotshowRighButtonFromLogMenu: " << QString::number(trow) << endl; + //qDebug() << "LogWindow::slotshowRighButtonFromLogMenu: " << QString::number(trow) << endl; int _qsoID = ((logModel->index(trow, 0)).data(0)).toInt(); - //qDebug() << "LogWindow::slotshowRighButtonFromLogMenu: QSOid: " << QString::number(_qsoID) << endl; + //qDebug() << "LogWindow::slotshowRighButtonFromLogMenu: QSOid: " << QString::number(_qsoID) << endl; bool qslReceived = isQSLReceived(_qsoID); bool qslSent = isQSLSent(_qsoID); QMenu menu(this); @@ -236,12 +214,11 @@ void LogWindow::righButtonFromLogMenu(const int trow) delQSOFromLogAct->setData(trow); menu.addAction(qsoToEditFromLogAct); qsoToEditFromLogAct->setData(trow); - menu.addAction(checkQRZCOMFromLogAct); - checkQRZCOMFromLogAct->setData(trow); - menu.addAction(checkDXHeatFromLogAct); - checkDXHeatFromLogAct->setData(trow); + QString contestMode = dataProxy->getLogTypeOfUserLog(currentLog); + if (contestMode == "DX") + { menu.addSeparator(); if (qslSent) { @@ -266,19 +243,31 @@ void LogWindow::righButtonFromLogMenu(const int trow) qslRecViaBureauFromLogAct->setData(trow); qslRecViaDirectFromLogAct->setData(trow); } + } + else if (contestMode == "CQ-WW-SSB") + { + + } + + else + { + // THIS POINT SHOULD NOT BE REACHED. It means that there is a kind of contest not supported. + // Maybe the way should be to move ALL the actions from DX here. + } + menu.exec(QCursor::pos()); } void LogWindow::slotDoubleClickLog(const QModelIndex & index) { - //qDebug() << "LogWindow::slotDoubleClickLog: Row: " << QString::number(index.row()) << "Column: " << QString::number(index.column()) << endl; + //qDebug() << "LogWindow::slotDoubleClickLog: Row: " << QString::number(index.row()) << "Column: " << QString::number(index.column()) << endl; int row = index.row(); //qsoToEdit((logModel->index(row, 0)).data(0).toInt()); int qsoID = ((logModel->index(row, Qt::DisplayRole)).data(0)).toInt(); - //qDebug() << "LogWindow::slotDoubleClickLog: n: " << QString::number (logModel->data(index, Qt::DisplayRole).toInt()) << endl; - //qDebug() << "LogWindow::slotDoubleClickLog: emitted: " << QString::number (((logModel->index(row, Qt::DisplayRole)).data(0)).toInt()) << endl; + //qDebug() << "LogWindow::slotDoubleClickLog: n: " << QString::number (logModel->data(index, Qt::DisplayRole).toInt()) << endl; + //qDebug() << "LogWindow::slotDoubleClickLog: emitted: " << QString::number (((logModel->index(row, Qt::DisplayRole)).data(0)).toInt()) << endl; emit actionQSODoubleClicked(qsoID); //qsoToEdit((logModel->index(row, 0)).data(0).toInt()); @@ -290,61 +279,51 @@ void LogWindow::slotDoubleClickLog(const QModelIndex & index) bool LogWindow::isQSLReceived(const int _qsoId) { - //qDebug() << "LogWindow::isQSLReceived: " << QString::number(_qsoId) << endl; + //qDebug() << "LogWindow::isQSLReceived: " << QString::number(_qsoId) << endl; return dataProxy->isQSLReceived(_qsoId); } bool LogWindow::isQSLSent(const int _qsoId) { - //qDebug() << "LogWindow::isQSLSent: " << QString::number(_qsoId) << endl; + //qDebug() << "LogWindow::isQSLSent: " << QString::number(_qsoId) << endl; return dataProxy->isQSLSent(_qsoId); } void LogWindow::showMenuRightButtonFromLogCreateActions() { - //qDebug() << "LogWindow::showMenuRightButtonFromLogCreateActions" << endl; + //qDebug() << "LogWindow::showMenuRightButtonFromLogCreateActions" << endl; - delQSOFromLogAct = new QAction(tr("&Delete"), this); - delQSOFromLogAct->setShortcut(Qt::CTRL + Qt::Key_D); - delQSOFromLogAct->setStatusTip(tr("Delete a QSO")); - connect(delQSOFromLogAct, SIGNAL(triggered()), this, SLOT(slotQsoDeleteFromLog())); - qsoToEditFromLogAct = new QAction(tr("&Edit QSO"), this); - qsoToEditFromLogAct->setShortcut(Qt::CTRL + Qt::Key_E); - qsoToEditFromLogAct->setStatusTip(tr("Edit this QSO")); - connect(qsoToEditFromLogAct, SIGNAL(triggered()), this, SLOT(slotQSOToEditFromLog())); + delQSOFromLogAct = new QAction(tr("&Delete"), this); + delQSOFromLogAct->setShortcut(Qt::CTRL + Qt::Key_D); + delQSOFromLogAct->setStatusTip(tr("Delete a QSO")); + connect(delQSOFromLogAct, SIGNAL(triggered()), this, SLOT(slotQsoDeleteFromLog())); - qslSentViaBureauFromLogAct = new QAction(tr("Via &bureau"), this); - qslSentViaBureauFromLogAct->setShortcut(Qt::CTRL + Qt::Key_B); - qslSentViaBureauFromLogAct->setStatusTip(tr("Send this QSL via bureau")); - connect(qslSentViaBureauFromLogAct, SIGNAL(triggered()), this, SLOT( slotQSLSentViaBureauFromLog() )); + qsoToEditFromLogAct = new QAction(tr("&Edit QSO"), this); + qsoToEditFromLogAct->setShortcut(Qt::CTRL + Qt::Key_E); + qsoToEditFromLogAct->setStatusTip(tr("Edit this QSO")); + connect(qsoToEditFromLogAct, SIGNAL(triggered()), this, SLOT(slotQSOToEditFromLog())); - qslSentViaDirectFromLogAct = new QAction(tr("D&irect"), this); - qslSentViaDirectFromLogAct->setShortcut(Qt::CTRL + Qt::Key_I); - qslSentViaDirectFromLogAct->setStatusTip(tr("Send this QSL via direct")); - connect(qslSentViaDirectFromLogAct, SIGNAL(triggered()), this, SLOT( slotQSLSentViaDirectFromLog() )); + qslSentViaBureauFromLogAct = new QAction(tr("Via &bureau"), this); + qslSentViaBureauFromLogAct->setShortcut(Qt::CTRL + Qt::Key_B); + qslSentViaBureauFromLogAct->setStatusTip(tr("Send this QSL via bureau")); + connect(qslSentViaBureauFromLogAct, SIGNAL(triggered()), this, SLOT( slotQSLSentViaBureauFromLog() )); - qslRecViaBureauFromLogAct = new QAction(tr("Via bureau"), this); - qslRecViaBureauFromLogAct->setShortcut(Qt::CTRL + Qt::Key_R); - qslRecViaBureauFromLogAct->setStatusTip(tr("QSL &received via bureau")); - connect(qslRecViaBureauFromLogAct, SIGNAL(triggered()), this, SLOT( slotQSLRecViaBureauFromLog() )); + qslSentViaDirectFromLogAct = new QAction(tr("D&irect"), this); + qslSentViaDirectFromLogAct->setShortcut(Qt::CTRL + Qt::Key_I); + qslSentViaDirectFromLogAct->setStatusTip(tr("Send this QSL via direct")); + connect(qslSentViaDirectFromLogAct, SIGNAL(triggered()), this, SLOT( slotQSLSentViaDirectFromLog() )); - qslRecViaDirectFromLogAct = new QAction(tr("Direct"), this); - qslRecViaDirectFromLogAct->setShortcut(Qt::CTRL + Qt::Key_T); - qslRecViaDirectFromLogAct->setStatusTip(tr("QSL received via direc&t")); - connect(qslRecViaDirectFromLogAct, SIGNAL(triggered()), this, SLOT( slotQSLRecViaDirectFromLog() )); - - checkQRZCOMFromLogAct = new QAction(tr("Check in QRZ.com"), this); - checkQRZCOMFromLogAct->setShortcut(Qt::CTRL + Qt::Key_Q); - checkQRZCOMFromLogAct->setStatusTip(tr("Check this callsign in QRZ.com")); - connect(checkQRZCOMFromLogAct, SIGNAL(triggered()), this, SLOT( slotCheckQRZCom() )); - - checkDXHeatFromLogAct = new QAction(tr("Check in DXHeat.com"), this); - checkDXHeatFromLogAct->setShortcut(Qt::CTRL + Qt::Key_Q); - checkDXHeatFromLogAct->setStatusTip(tr("Check this callsign in DXHeat.com")); - connect(checkDXHeatFromLogAct, SIGNAL(triggered()), this, SLOT( slotCheckDXHeatCom() )); + qslRecViaBureauFromLogAct = new QAction(tr("Via bureau"), this); + qslRecViaBureauFromLogAct->setShortcut(Qt::CTRL + Qt::Key_R); + qslRecViaBureauFromLogAct->setStatusTip(tr("QSL &received via bureau")); + connect(qslRecViaBureauFromLogAct, SIGNAL(triggered()), this, SLOT( slotQSLRecViaBureauFromLog() )); + qslRecViaDirectFromLogAct = new QAction(tr("Direct"), this); + qslRecViaDirectFromLogAct->setShortcut(Qt::CTRL + Qt::Key_T); + qslRecViaDirectFromLogAct->setStatusTip(tr("QSL received via direc&t")); + connect(qslRecViaDirectFromLogAct, SIGNAL(triggered()), this, SLOT( slotQSLRecViaDirectFromLog() )); } @@ -352,7 +331,7 @@ void LogWindow::showMenuRightButtonFromLogCreateActions() void LogWindow::slotQSLSentViaBureauFromLog() { - //qDebug() << "LogWindow::slotQSLSentViaBureauFromLog: " << (qslSentViaBureauFromLogAct->data()).toString() << " - Id = " << QString::number( ((logModel->index( ( (qslSentViaBureauFromLogAct->data()).toInt() ) , 0)).data(0).toInt()) ) << endl; + //qDebug() << "LogWindow::slotQSLSentViaBureauFromLog: " << (qslSentViaBureauFromLogAct->data()).toString() << " - Id = " << QString::number( ((logModel->index( ( (qslSentViaBureauFromLogAct->data()).toInt() ) , 0)).data(0).toInt()) ) << endl; int _qsoId = ((logModel->index( ( (qslSentViaBureauFromLogAct->data()).toInt() ) , 0)).data(0).toInt()); qslSentViaBureau(_qsoId); @@ -360,7 +339,7 @@ void LogWindow::slotQSLSentViaBureauFromLog() void LogWindow::slotQSLSentViaDirectFromLog() { - //qDebug() << "LogWindow::slotQSLSentViaDirectFromLog: " << (qslSentViaDirectFromLogAct->data()).toString() << " - Id = " << QString::number( ((logModel->index( ( (qslSentViaDirectFromLogAct->data()).toInt() ) , 0)).data(0).toInt()) ) << endl; + //qDebug() << "LogWindow::slotQSLSentViaDirectFromLog: " << (qslSentViaDirectFromLogAct->data()).toString() << " - Id = " << QString::number( ((logModel->index( ( (qslSentViaDirectFromLogAct->data()).toInt() ) , 0)).data(0).toInt()) ) << endl; int _qsoId = ((logModel->index( ( (qslSentViaDirectFromLogAct->data()).toInt() ) , 0)).data(0).toInt()); dataProxy->qslSentViaDirect(_qsoId, (QDateTime::currentDateTime()).toString("yyyy/MM/dd")); @@ -368,7 +347,7 @@ void LogWindow::slotQSLSentViaDirectFromLog() void LogWindow::slotQSLRecViaBureauFromLog() { - //qDebug() << "LogWindow::slotQSLRecViaBureauFromLog: " << endl; + //qDebug() << "LogWindow::slotQSLRecViaBureauFromLog: " << endl; int _qsoId = ((logModel->index( ( (qslRecViaBureauFromLogAct->data()).toInt() ) , 0)).data(0).toInt()); qslRecViaBureau(_qsoId); @@ -377,7 +356,7 @@ void LogWindow::slotQSLRecViaBureauFromLog() void LogWindow::slotQSLRecViaDirectFromLog() { - //qDebug() << "LogWindow::slotQSLRecViaDirectFromLog: " << (qslRecViaDirectFromLogAct->data()).toString() << " - Id = " << QString::number( ((logModel->index( ( (qslRecViaDirectFromLogAct->data()).toInt() ) , 0)).data(0).toInt()) ) << endl; + //qDebug() << "LogWindow::slotQSLRecViaDirectFromLog: " << (qslRecViaDirectFromLogAct->data()).toString() << " - Id = " << QString::number( ((logModel->index( ( (qslRecViaDirectFromLogAct->data()).toInt() ) , 0)).data(0).toInt()) ) << endl; int _qsoId = ((logModel->index( ( (qslRecViaDirectFromLogAct->data()).toInt() ) , 0)).data(0).toInt()); qslRecViaDirect(_qsoId); // Mark Sent, Bureau, date, update log. @@ -386,15 +365,10 @@ void LogWindow::slotQSLRecViaDirectFromLog() void LogWindow::slotQSOToEditFromLog() { - //qDebug() << "slotQSOToEditFromLog: " << (qsoToEditFromLogAct->data()).toString() << endl; + //qDebug() << "slotQSOToEditFromLog: " << (qsoToEditFromLogAct->data()).toString() << endl; //qsoToEdit((logModel->index((qsoToEditFromLogAct->data()).toInt(), 0)).data(0).toInt()); int QSOid = ((logModel->index((qsoToEditFromLogAct->data()).toInt(), 0)).data(0)).toInt(); - /* - int row = index.row(); - int qsoID = ((logModel->index(row, Qt::DisplayRole)).data(0)).toInt(); - emit actionQSODoubleClicked(qsoID); - */ //int row = index.row(); //qsoToEdit((logModel->index(row, 0)).data(0).toInt()); @@ -402,19 +376,19 @@ void LogWindow::slotQSOToEditFromLog() - //TODO: To be added to the logWindow and create an action that emit the QSO id + //TODO: To be added to the logWindow and create an action that emist the QSO id } void LogWindow::deleteQSO(const int _qsoID) { - //qDebug() << "LogWindow::deleteQSO: " << QString::number(_qsoID) << endl; + //qDebug() << "LogWindow::deleteQSO: " << QString::number(_qsoID) << endl; elogClublog->deleteQSO(dataProxy->getClubLogRealTimeFromId(_qsoID)); dataProxy->deleteQSO(_qsoID); //logModel->removeRow((delQSOFromLogAct->data()).toInt()); //TODO: This has been replaced by the previous line - //awards->recalculateAwards(); + awards->recalculateAwards(); refresh(); //dxccStatusWidget->refresh(); emit updateAwards(); @@ -424,7 +398,7 @@ void LogWindow::deleteQSO(const int _qsoID) void LogWindow::slotQsoDeleteFromLog() { - //qDebug() << "LogWindow::slotQsoDeleteFromLog: " << (delQSOFromLogAct->data()).toString() << endl; + //qDebug() << "LogWindow::slotQsoDeleteFromLog: " << (delQSOFromLogAct->data()).toString() << endl; //TODO: To be added to the logWindow and create an action that emist the QSO id QMessageBox msgBox; @@ -437,11 +411,11 @@ void LogWindow::slotQsoDeleteFromLog() int QSOid = ((logModel->index((delQSOFromLogAct->data()).toInt(), 0)).data(0)).toInt(); - //qDebug() << "LogWindow::slotQsoDeleteFromLog (id): " << QString::number(QSOid) << endl; + //qDebug() << "LogWindow::slotQsoDeleteFromLog (id): " << QString::number(QSOid) << endl; switch (ret) { case QMessageBox::Yes: - //qDebug() << "LogWindow::slotQsoDeleteFromLog (id): -1" << endl; + //qDebug() << "LogWindow::slotQsoDeleteFromLog (id): -1" << endl; deleteQSO(QSOid); break; @@ -456,14 +430,14 @@ void LogWindow::slotQsoDeleteFromLog() void LogWindow::qslSentViaBureau(const int _qsoId) { - //qDebug() << "LogWindow::qslSentViaBureau: " << QString::number(_qsoId) << endl; + //qDebug() << "LogWindow::qslSentViaBureau: " << QString::number(_qsoId) << endl; dataProxy->qslSentViaBureau(_qsoId, (QDateTime::currentDateTime()).toString("yyyy/MM/dd")); } void LogWindow::qslRecViaBureau(const int _qsoId) { - // //qDebug() << "LogWindow::qslRecViaBureau: " << QString::number(_qsoId) << "/" << (dateTime->currentDateTime()).toString("yyyy/MM/dd") << endl; + // //qDebug() << "LogWindow::qslRecViaBureau: " << QString::number(_qsoId) << "/" << (dateTime->currentDateTime()).toString("yyyy/MM/dd") << endl; dataProxy->qslRecViaBureau(_qsoId, (QDateTime::currentDateTime()).toString("yyyy/MM/dd"), false); awards->setAwards(_qsoId); //Update the Award status @@ -474,7 +448,7 @@ void LogWindow::qslRecViaBureau(const int _qsoId) void LogWindow::qslRecViaDirect(const int _qsoId) { - //qDebug() << "LogWindow::qslRecViaDirect: " << QString::number(_qsoId) << endl; + //qDebug() << "LogWindow::qslRecViaDirect: " << QString::number(_qsoId) << endl; dataProxy->qslRecViaDirect(_qsoId, (QDateTime::currentDateTime()).toString("yyyy/MM/dd"), false); awards->setAwards(_qsoId); @@ -489,22 +463,3 @@ void LogWindow::slotQueryErrorManagement(QString functionFailed, QString errorCo emit queryError(functionFailed, errorCodeS, errorCodeN, failedQuery); } -void LogWindow::slotCheckQRZCom() -{ - int _qsoId = ((logModel->index( ( (qslRecViaDirectFromLogAct->data()).toInt() ) , 0)).data(0).toInt()); - QString _qrz = dataProxy->getCallFromId(_qsoId); - //qDebug() << "LogWindow::sloTCheckQRZCom: " << _qrz << endl; - QString url = "https://www.qrz.com/db/" + _qrz; - - QDesktopServices::openUrl(QUrl(url)); - -} - -void LogWindow::slotCheckDXHeatCom() -{ - int _qsoId = ((logModel->index( ( (qslRecViaDirectFromLogAct->data()).toInt() ) , 0)).data(0).toInt()); - QString _qrz = dataProxy->getCallFromId(_qsoId); - //qDebug() << "LogWindow::slotCheckDXHeatCom(): " << _qrz << endl; - QString url = "https://www.dxheat.com/db/" + _qrz; - QDesktopServices::openUrl(QUrl(url)); -} diff --git a/logwindow.h b/logwindow.h index 1a97b724..412583cd 100644 --- a/logwindow.h +++ b/logwindow.h @@ -23,7 +23,7 @@ * 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 . * + * along with KLog. If not, see . * * * *****************************************************************************/ @@ -35,15 +35,14 @@ #include #include #include -#include #include "dataproxy_sqlite.h" #include "logmodel.h" #include "awards.h" //#include "dxccstatuswidget.h" #include "elogclublog.h" -//#include "logviewsortfilterproxymodel.h" +#include "logviewsortfilterproxymodel.h" -//class LogViewSortFilterProxyModel; +class LogViewSortFilterProxyModel; class LogWindow : public QWidget { @@ -63,8 +62,7 @@ public: bool isQSLReceived(const int _qsoId); bool isQSLSent(const int _qsoId); - //void setProxyModel (const bool _p); - void sortColumn(const int _c); + void setProxyModel (const bool _p); signals: void actionQSODoubleClicked(const int _qsoid); @@ -79,6 +77,8 @@ private slots: void slotDoubleClickLog(const QModelIndex & index); void slotRighButtonFromLog(const QPoint& pos); + + void slotQSLSentViaBureauFromLog(); void slotQSLSentViaDirectFromLog(); void slotQSLRecViaDirectFromLog(); @@ -86,8 +86,6 @@ private slots: void slotQsoDeleteFromLog(); void slotQSOToEditFromLog(); void slotQueryErrorManagement(QString functionFailed, QString errorCodeS, int errorCodeN, QString failedQuery); - void slotCheckQRZCom(); - void slotCheckDXHeatCom(); private: @@ -119,13 +117,10 @@ private: QAction *qslSentViaDirectFromLogAct; QAction *qslRecViaBureauFromLogAct; QAction *qslRecViaDirectFromLogAct; - QAction *checkQRZCOMFromLogAct; - QAction *checkDXHeatFromLogAct; int currentLog; - //LogViewSortFilterProxyModel *proxyModel; - //bool sortingThroughProxyModel; + LogViewSortFilterProxyModel *proxyModel; }; diff --git a/lotwutilities.cpp b/lotwutilities.cpp deleted file mode 100644 index 7a0d9208..00000000 --- a/lotwutilities.cpp +++ /dev/null @@ -1,506 +0,0 @@ -#include "lotwutilities.h" -#include -#include -#include -#include -//#include - -LoTWUtilities::LoTWUtilities(const QString &_klogDir, const QString &_klogVersion, const QString &_parentFunction, DataProxy_SQLite *dp) -{ - //qDebug() << "LoTWUtilities::LoTWUtilities(): " << _klogDir << endl; - dataProxy = dp; - util = new Utilities; - manager = new QNetworkAccessManager(this); - - reply = nullptr; - file = new QFile; - //url = new QUrl; - klogDir = _klogDir; - klogVersion = _klogVersion; - downloadAborted = false; - stationCallsign.clear(); - startDate.clear(); - lotwQuery.clear(); - lotwUser.clear(); - lotwPassword.clear(); - fileName = "lotwDownload.adi"; - - pDialog = new QProgressDialog(nullptr); - pDialog->cancel(); - //qDebug() << "LoTWUtilities::LoTWUtilities(): - END" << endl; -} - -LoTWUtilities::~LoTWUtilities() -{ - //qDebug() << "LoTWUtilities::~LoTWUtilities" << endl; -} - -void LoTWUtilities::setFileName(const QString &_fn) -{ - //qDebug() << "LoTWUtilities::setFileName: " << _fn << endl; - if (_fn.length()>0) - { - fileName = _fn; - } - //qDebug() << "LoTWUtilities::setFileName - END" << endl; -} - -QString LoTWUtilities::getFileName() -{ - //qDebug() << "LoTWUtilities::getFileName: " << fileName << endl; - return fileName; -} - -bool LoTWUtilities::selectQuery(const int _queryId) -{ - //qDebug() << "LoTWUtilities::selectQuery: - Start: " << QString::number(_queryId) << endl; - bool savePassword = true; - if (lotwPassword.length()<1) - { - savePassword = false; - - bool ok; - lotwPassword = QInputDialog::getText(nullptr, tr("KLog - LoTW password needed"), - tr("Please enter your LoTW password: "), QLineEdit::Password, "", &ok); - if (!ok) - { - //qDebug() << "LoTWUtilities::selectQuery: - END 1" << endl; - return false; - } - } - lotwQuery = QString("https://lotw.arrl.org/lotwuser/lotwreport.adi?login=%1&password=%2&qso_query=1&qso_qsl=no&qso_owncall=%3&qso_startdate=%4").arg(lotwUser).arg(lotwPassword).arg(stationCallsign).arg(startDate); - if (!savePassword) - {// We delete the password as soon as possible if the user is not willing to save it - lotwPassword = QString(); - } - url = QUrl(lotwQuery); - - //qDebug() << "LoTWUtilities::selectQuery: - END" << endl; - - return true; -} - -bool LoTWUtilities::setStationCallSign (const QString &_call) -{ - //qDebug() << "LoTWUtilities::setStationCallSign: " << _call << endl; - if (!util->isValidCall(_call)) - { - //qDebug() << "LoTWUtilities::setStationCallSign: FALSE " << endl; - return false; - } - if (((dataProxy->getStationCallSignsFromLog(-1)).contains(_call))) - { - //qDebug() << "LoTWUtilities::setStationCallSign: TRUE" << endl; - stationCallsign = _call; - QDate date = dataProxy->getFirstQSODateFromCall(stationCallsign); - //qDebug() << "LoTWUtilities::setStationCallSign: Date: " << startDate << endl; - //date = QDate::fromString(startDate, "yyyy/MM/dd"); - if (date.isValid()) - { - startDate = date.toString("yyyyMMdd"); - //qDebug() << "LoTWUtilities::setStationCallSign: StartDate" << startDate << endl; - } - else - { - startDate.clear(); - //qDebug() << "LoTWUtilities::setStationCallSign: StartDate not valid Date" << endl; - return false; - } - - //qDebug() << "LoTWUtilities::setStationCallSign: startDate: " << startDate << endl; - return true; - } - //qDebug() << "LoTWUtilities::setStationCallSign: FALSE 2" << endl; - return false; -} - -void LoTWUtilities::startRequest(QUrl url) -{ - //qDebug() << "LoTWUtilities::startRequest: " << url.toString() << endl; - QByteArray agent = QString("KLog-" + klogVersion).toUtf8(); - QNetworkRequest request; - request.setUrl(url); - request.setHeader(QNetworkRequest::UserAgentHeader, agent); - //request.setRawHeader("User-Agent", agent); - //reply = manager->get(QNetworkRequest(url)); - reply = manager->get(request); - //qDebug() << "LoTWUtilities::startRequest - 10" << endl; - // Whenever more data is received from the network, - // this readyRead() signal is emitted - connect(reply, SIGNAL(readyRead()), this, SLOT(slotReadyRead())); - - // Also, downloadProgress() signal is emitted when data is received - connect(reply, SIGNAL(downloadProgress(qint64,qint64)), this, SLOT(slotDownloadProgress(qint64))); - - // This signal is emitted when the reply has finished processing. - // After this signal is emitted, - // there will be no more updates to the reply's data or metadata. - connect(reply, SIGNAL(finished()), this, SLOT(slotFinished())); - //qDebug() << "LoTWUtilities::startRequest: - END" << endl; -} - -int LoTWUtilities::download() -{ - //qDebug() << "LoTWUtilities::download - Start" << endl; - if (!selectQuery(-1)) - { - //qDebug() << "LoTWUtilities::download - END-1" << endl; - return -1; - } - //qDebug() << "LoTWUtilities::download: - 10" << endl; - QFileInfo fileInfo(url.path()); - - //qDebug() << "LoTWUtilities::download: - 11" << endl; - if (QFile::exists(fileName)) - { - //qDebug() << "LoTWUtilities::download: - 12" << endl; - QMessageBox msgBox; - msgBox.setIcon(QMessageBox::Question); - msgBox.setWindowTitle(tr("KLog - File exist")); - QString aux = QString(tr("There is a file already existing with the name that will be used.") ); - msgBox.setText(tr("The file %1 already exist. Do you want to overwrite?").arg(fileName)); - msgBox.setDetailedText(aux); - msgBox.setStandardButtons(QMessageBox::Yes|QMessageBox::No); - msgBox.setDefaultButton(QMessageBox::Yes); - int ret = msgBox.exec(); - //qDebug() << "LoTWUtilities::download: - 13" << endl; - if (ret == QMessageBox::No) - { - //qDebug() << "LoTWUtilities::download - END- 2" << endl; - return -2; - } - //qDebug() << "LoTWUtilities::download: - 14" << endl; - //file->close(); - //file->remove(fileName); - //QFile::remove(fileName); - //qDebug() << "LoTWUtilities::download: - 15" << endl; - } - //qDebug() << "LoTWUtilities::download: - 20 Filename: -" << fileName << "-" << endl; - if (!file->isOpen()) - { - //qDebug() << "LoTWUtilities::download: - 21 Filename: -" << endl; - file->setFileName(fileName); - //qDebug() << "LoTWUtilities::download: - 22 Filename: -" << endl; - } - //qDebug() << "LoTWUtilities::download: - 23 Filename: -" << endl; - - if (!file->open(QIODevice::WriteOnly)) - { - QMessageBox msgBox; - msgBox.setIcon(QMessageBox::Warning); - msgBox.setWindowTitle(tr("KLog - Can't write the file")); - QString aux = QString(tr("KLog was not able to save the file %1.\nError returned: %2") ).arg(fileName).arg(file->errorString()); - msgBox.setText(tr("The file already %1 exist.").arg(fileName)); - msgBox.setDetailedText(aux); - msgBox.setStandardButtons(QMessageBox::Ok); - msgBox.setDefaultButton(QMessageBox::Ok); - msgBox.exec(); - //file->close(); - //delete file; - //file = nullptr; - //qDebug() << "LoTWUtilities::download - END - 3" << endl; - return -3; - } - //qDebug() << "LoTWUtilities::download: - 30" << endl; - // used for progressDialog - // This will be set true when canceled from progress dialog - downloadAborted = false; - //qDebug() << "LoTWUtilities::download: - 31" << endl; - //progressDialog = new QProgressDialog(nullptr); - //qDebug() << "LoTWUtilities::download: - 40" << endl; - pDialog->setLabelText(tr("Downloading data to file: %1.").arg(fileName)); - //qDebug() << "LoTWUtilities::download: - 41" << endl; - pDialog->setWindowTitle(tr("KLog - LoTW download")); - //qDebug() << "LoTWUtilities::download: - 42" << endl; - pDialog->setWindowModality(Qt::WindowModal); - //qDebug() << "LoTWUtilities::download: - 43" << endl; - pDialog->reset(); - //qDebug() << "LoTWUtilities::download: - 44" << endl; - pDialog->setRange(0, 0); - //qDebug() << "LoTWUtilities::download: - 45" << endl; - pDialog->setMinimumDuration(0); - //qDebug() << "LoTWUtilities::download: - 46" << endl; - pDialog->show(); - //qDebug() << "LoTWUtilities::download: - 47" << endl; - - connect(pDialog, SIGNAL(canceled()), this, SLOT(slotCancelDownload())); - //qDebug() << "LoTWUtilities::download: - 50" << endl; - - startRequest(url); - //qDebug() << "LoTWUtilities::download - END" << endl; - return 1; - -} - -void LoTWUtilities::slotDownloadProgress(qint64 bytesRead) { - //qDebug() << "LoTWUtilities::slotDownloadProgress: " << QString::number(bytesRead) << "/" << QString::number(totalBytes) << endl; - if (downloadAborted) - { - //qDebug() << "LoTWUtilities::slotDownloadProgress: CANCELLED" << endl; - return; - } - - pDialog->setValue(bytesRead); - //qDebug() << "LoTWUtilities::slotDownloadProgress - END " << endl; -} - -void LoTWUtilities::slotReadyRead() -{ - //qDebug() << "LoTWUtilities::slotReadyRead: " << reply->readLine() << endl; - if (file) - { - file->write(reply->readAll()); - } - //qDebug() << "LoTWUtilities::slotReadyRead - END" << endl; -} - -void LoTWUtilities::slotFinished() -{ - //qDebug() << "LoTWUtilities::slotFinished - Started" << endl; - // when canceled - if (downloadAborted) - { - if (file) - { - file->close(); - file->remove(); - //delete file; - //file = nullptr; - } - //reply->deleteLater(); - pDialog->cancel(); - reply->close(); - //qDebug() << "LoTWUtilities::slotFinished - END Canceled" << endl; - return; - } - - // download finished normally - pDialog->cancel(); - file->flush(); - file->close(); - - // get redirection url - QVariant redirectionTarget = reply->attribute(QNetworkRequest::RedirectionTargetAttribute); - if (reply->error()) - { - file->remove(); - QMessageBox msgBox; - msgBox.setIcon(QMessageBox::Warning); - msgBox.setWindowTitle(tr("KLog - Download error")); - QString aux = QString(tr("The downloading error is: %1") ).arg(reply->errorString()); - msgBox.setText(tr("There was an error while downloading the file from LoTW.")); - msgBox.setDetailedText(aux); - msgBox.setStandardButtons(QMessageBox::Ok); - msgBox.setDefaultButton(QMessageBox::Ok); - msgBox.exec(); - } - else if (!redirectionTarget.isNull()) - { - QUrl newUrl = url.resolved(redirectionTarget.toUrl()); - QMessageBox msgBox; - msgBox.setIcon(QMessageBox::Question); - msgBox.setWindowTitle(tr("KLog - Redirection found")); - QString aux = QString(tr("The remote server redirected our connection to %1") ).arg(newUrl.toString()); - msgBox.setText(tr("Do you want to follow the redirection?")); - msgBox.setDetailedText(aux); - msgBox.setStandardButtons(QMessageBox::Yes|QMessageBox::No); - msgBox.setDefaultButton(QMessageBox::Yes); - int ret = msgBox.exec(); - if (ret == QMessageBox::Yes) - { - url = newUrl; - //reply->deleteLater(); - file->open(QIODevice::WriteOnly); - file->resize(0); - startRequest(url); - //qDebug() << "LoTWUtilities::slotFinished - END-1" << endl; - return; - } - } - else - { - //QString fileName = QFileInfo(QUrl(ui->urlEdit->text()).path()).fileName(); - //ui->statusLabel->setText(tr("Downloaded %1 to %2.").arg(fileName).arg(QDir::currentPath())); - //ui->downloadButton->setEnabled(true); - //qDebug() << "LoTWUtilities::slotFinished: " << endl; - } - - //reply->deleteLater(); - - - parseDownloadedFile(file->fileName()); - //delete file; - //file = nullptr; - - - //qDebug() << "LoTWUtilities::slotReadyRead - END" << endl; -} - -void LoTWUtilities::slotCancelDownload() -{ - //qDebug() << "LoTWUtilities::slotCancelDownload - Start" << endl; - downloadAborted = true; - reply->abort(); - //qDebug() << "LoTWUtilities::slotCancelDownload - END" << endl; -} - -void LoTWUtilities::setUser(const QString &_call) -{ - //qDebug() << "LoTWUtilities::setUser: " << _call << endl; - lotwUser = _call; - //qDebug() << "LoTWUtilities::setUser: END" << endl; -} - -void LoTWUtilities::setPass(const QString &_pass) -{ - //qDebug() << "LoTWUtilities::setPass: " << _pass << endl; - lotwPassword = _pass; - //qDebug() << "LoTWUtilities::setPass: END" << endl; -} - -bool LoTWUtilities::getIsReady() -{ - //qDebug() << "LoTWUtilities::getIsReady: user/station: -" << lotwUser <<"/" << stationCallsign << "-" << endl; - if ((lotwUser.length()>1) && (stationCallsign.length()>1)) - { - //qDebug() << "LoTWUtilities::getIsReady: true" << endl; - return true; - } - else - { - //qDebug() << "LoTWUtilities::getIsReady: false" << endl; - return false; - } - -} - -void LoTWUtilities::parseDownloadedFile(const QString &_fn) -{ - //qDebug() << "LoTWUtilities::parseDownloadedFile: " << _fn << endl; - QString _fileName = _fn; - QMessageBox msgBox; - QString aux; - - QFile file( _fileName ); - if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) - { - //qDebug() << "LoTWUtilities::parseDownloadedFile File not found" << _fileName << endl; - msgBox.setIcon(QMessageBox::Warning); - msgBox.setWindowTitle(tr("KLog - File not found")); - msgBox.setText(tr("KLog can't find the downloaded file.")); - aux = QString(tr("It was not possible for find the file %1 that has been just downloaded.") ).arg(_fn); - - msgBox.setDetailedText(aux); - msgBox.setStandardButtons(QMessageBox::Ok); - msgBox.setDefaultButton(QMessageBox::Ok); - msgBox.exec(); - //qDebug() << "LoTWUtilities::parseDownloadedFile: END-1" << endl; - return ; - } - else - { - //qint64 startOfFile = file.pos(); - // Look for a Header - bool hasHeader = false; - int numQSO = 0; - QString Lotw_owncall = QString("OWNCALL: %1").arg(stationCallsign.toUpper()); - //bool hasOwnCall = false; - //bool hasProgramID = false; - bool userPasswordError = false; - while ((!file.atEnd()) && (!hasHeader)) - { - QByteArray line = file.readLine(); - QString lineU = line.toUpper(); - //qDebug() << "LoTWUtilities::parseDownloadedFile: lineU: " << lineU << endl; - if (lineU.contains("")) - { - //qDebug() << "LoTWUtilities::parseDownloadedFile: EOH found" << endl; - hasHeader = true; - } - //else if (lineU.contains("LOTW")) - //{ - // //qDebug() << "LoTWUtilities::parseDownloadedFile: ProgramID found" << endl; - // hasProgramID = true; - //} - //else if (lineU.contains(Lotw_owncall)) - //{ - // //qDebug() << "LoTWUtilities::parseDownloadedFile: OWNCALL found" << endl; - // hasOwnCall = true; - //} - else if (lineU.contains("', QString::SkipEmptyParts); - numQSO = (data.at(1)).toInt(); - //qDebug() << "LoTWUtilities::parseDownloadedFile: QSOs: " << QString::number(numQSO) << endl; - } - else if (lineU.contains("USERNAME/PASSWORD INCORRECT")) - { - userPasswordError = true; - } - } - // WE HAVE JUST FINISHED TO READ THE HEADER OR THE FILE, IF IT IS NOT AN ADIF - if (!hasHeader || (numQSO<1)) - { - - //qDebug() << "LoTWUtilities::parseDownloadedFile Header not found" << _fileName << endl; - QString aux; - if (userPasswordError) - { - msgBox.setWindowTitle(tr("KLog - LoTW user/password error")); - msgBox.setText(tr("LoTW server did not recognized your user/password")); - aux = QString(tr("Check your user and password and ensure your are using the right one before trying again.") ); - } - else if(numQSO<1) - { - msgBox.setWindowTitle(tr("KLog - LoTW No QSOs ")); - msgBox.setText(tr("LoTW sent no QSOs")); - aux = QString(tr("It seems that LoTW has no QSO with the Station Callsign you are using (%1).") ).arg(stationCallsign); - } - else - { - msgBox.setWindowTitle(tr("KLog - LoTW Unknown error")); - msgBox.setText(tr("KLog can't recognize the file that has been downloaded from LoTW.")); - aux = QString(tr("Try again and send the downloaded file (%1) to the KLog developer for analysis.") ).arg(_fileName); - } - - msgBox.setIcon(QMessageBox::Warning); - - msgBox.setDetailedText(aux); - msgBox.setStandardButtons(QMessageBox::Ok); - msgBox.setDefaultButton(QMessageBox::Ok); - msgBox.exec(); - //qDebug() << "LoTWUtilities::parseDownloadedFile: END-2" << endl; - file.remove(); - return ; - } - - msgBox.setIcon(QMessageBox::Information); - msgBox.setWindowTitle(tr("KLog - LoTW download")); - msgBox.setText(tr("KLog downloaded %1 QSOs successfully. Do you want to update your log with the downloaded data?").arg(QString::number(numQSO))); - aux = QString(tr("Now KLog will process the downloaded QSO and update your local log.") ); - - msgBox.setDetailedText(aux); - msgBox.setStandardButtons(QMessageBox::Yes | QMessageBox::No); - msgBox.setDefaultButton(QMessageBox::Yes); - if (msgBox.exec() == QMessageBox::No) - { - //qDebug() << "LoTWUtilities::parseDownloadedFile: END-2" << endl; - return ; - } - //file.seek(startOfFile); - emit actionProcessLoTWDownloadedFile(_fileName); - - } - - - //Procesar los QSOs y meterlos en una tabla? o en un QStringList o alguna otra estructura - - - //qDebug() << "LoTWUtilities::parseDownloadedFile - END" << endl; -} - -void LoTWUtilities::showMessage(const int _messageIcon, const QString &_msg, const QString &_msgExt) -{ - -} diff --git a/lotwutilities.h b/lotwutilities.h deleted file mode 100644 index b2eccfe9..00000000 --- a/lotwutilities.h +++ /dev/null @@ -1,103 +0,0 @@ -#ifndef LOTWUTILITIES_H -#define LOTWUTILITIES_H -/*************************************************************************** - lotwutilities.h - description - ------------------- - begin : apr 2020 - copyright : (C) 2020 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 . * - * * - *****************************************************************************/ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include "dataproxy_sqlite.h" -#include "utilities.h" - -class QSslError; - -class LoTWUtilities : public QObject -{ - Q_OBJECT - -public: - explicit LoTWUtilities(const QString &_klogDir, const QString &_klogVersion, const QString &_parentFunction, DataProxy_SQLite *dp); - ~LoTWUtilities(); - bool setStationCallSign(const QString &_call); - int download(); - void setUser(const QString &_call); - void setPass(const QString &_pass); - bool getIsReady(); - void setFileName(const QString &_fn); - QString getFileName(); - - -private: - void startRequest(QUrl url); - bool selectQuery(const int _queryId); - void parseDownloadedFile(const QString &_fn); - void showMessage(const int _messageIcon, const QString &_msg, const QString &_msgExt); - - Utilities *util; - - //void setTarget(const QString& t); - - QNetworkAccessManager *manager; - QNetworkReply *reply; - - QFile *file; - bool downloadAborted; - qint64 fileSize; - QUrl url; - QProgressDialog *pDialog; - - QString klogDir, klogVersion; - QString urld; - QString fileName; - - QString stationCallsign; - QString startDate; - QString lotwQuery; - QString lotwUser, lotwPassword; - - DataProxy_SQLite *dataProxy;//, *dataProxyPrepared; - -private slots: - void slotReadyRead(); - void slotFinished(); - void slotDownloadProgress(qint64 bytesRead); - void slotCancelDownload(); - -signals: - void actionProcessLoTWDownloadedFile(QString _fn); - -}; - -#endif // LOTWUTILITIES_H diff --git a/main.cpp b/main.cpp index e3699174..69bbadfb 100644 --- a/main.cpp +++ b/main.cpp @@ -11,7 +11,7 @@ * 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 . * + * along with KLog. If not, see . * * * *****************************************************************************/ @@ -20,8 +20,6 @@ #include #include #include -#include -#include //#include @@ -33,10 +31,9 @@ int main(int argc, char *argv[]) { - //qDebug() << "KLog Main: Start! " << endl; - //qDebug() << "KLog Main: " << QSslSocket::supportsSsl() << QSslSocket::sslLibraryBuildVersionString() << QSslSocket::sslLibraryVersionString() << endl; + //qDebug() << "KLog Main: Start! " << endl; + QString version = "0.9.9.1" ; QDir d1 = QDir(); - QString version = "1.1"; Utilities util = Utilities(); QStringList arguments; QTextStream cout(stdout); @@ -50,9 +47,8 @@ int main(int argc, char *argv[]) //QApplication app(argc, argv); app.setApplicationName(QString("KLog")); - app.setApplicationVersion(QString(version)); - //qDebug() << "KLog Main: -10 " << endl; + //qDebug() << "KLog Main: -10 " << endl; // Now we check if the user is executing from the command line arguments.clear(); arguments << app.arguments(); @@ -94,8 +90,8 @@ int main(int argc, char *argv[]) return 0; } - //qDebug() << "KLog Main: Start of translation activities: "<< (QTime::currentTime()).toString("HH:mm:ss") << endl; - //qDebug() << "KLog Main: Detected language: " << (QLocale::system().name()).left(2) << ".qm" << endl; + //qDebug() << "KLog Main: Start of translation activities: "<< (QTime::currentTime()).toString("HH:mm:ss") << endl; + //qDebug() << "KLog Main: Detected language: " << (QLocale::system().name()).left(2) << ".qm" << endl; // Translations begin QTranslator qtTranslator; qtTranslator.load("qt_" + QLocale::system().name(), QLibraryInfo::location(QLibraryInfo::TranslationsPath)); @@ -106,8 +102,8 @@ int main(int argc, char *argv[]) //QString msgOSFilePath = QString(); // The OS depending part of the message to be printed if no translation is found. #if defined(Q_OS_WIN) - //qDebug() << "KLog WIN " << endl; - //qDebug() << "KLog Main: -20 - WIN" << endl; + //qDebug() << "KLog WIN " << endl; + //qDebug() << "KLog Main: -20 - WIN" << endl; if (QFile::exists(QCoreApplication::applicationDirPath() + "/translations/klog_" + (QLocale::system().name()).left(2) + ".qm") ) { myappTranslator.load(QCoreApplication::applicationDirPath() + "/translations/klog_" + (QLocale::system().name()).left(2) + ".qm"); @@ -124,9 +120,9 @@ int main(int argc, char *argv[]) missingTranslation = true; //msgOSFilePath = QCoreApplication::applicationDirPath() + "/translations/" ; } - //qDebug() << "KLog Main: -20 - end WIN " << endl; + //qDebug() << "KLog Main: -20 - end WIN " << endl; #elif defined(Q_OS_OSX) - //qDebug() << "KLog OSX " << endl; + //qDebug() << "KLog OSX " << endl; if (QFile::exists(QCoreApplication::applicationDirPath() + "/translations/klog_" + (QLocale::system().name()).left(2) + ".qm") ) { @@ -144,19 +140,19 @@ int main(int argc, char *argv[]) } #else - //qDebug() << "KLog OTHER OS: " << (QLocale::system()).name() << endl; + //qDebug() << "KLog OTHER OS: " << (QLocale::system()).name() << endl; if (QFile::exists("klog_" + (QLocale::system().name()).left(2) + ".qm") ) { myappTranslator.load("klog_" + (QLocale::system().name()).left(2)); } else if (QFile::exists("/usr/share/klog/translations/klog_" + (QLocale::system().name()).left(2) + ".qm") ) { - //qDebug() << "KLog OTHER -2: " << "/usr/share/klog/klog_" + (QLocale::system().name()).left(2) << endl; + //qDebug() << "KLog OTHER -2: " << "/usr/share/klog/klog_" + (QLocale::system().name()).left(2) << endl; myappTranslator.load("/usr/share/klog/translations/klog_" + (QLocale::system().name())); } else if (QFile::exists(QCoreApplication::applicationDirPath() + "/translations/klog_" + (QLocale::system().name()).left(2) + ".qm")) { - //qDebug() << "KLog OTHER -3: " << QCoreApplication::applicationDirPath() + "/translations/klog_" + (QLocale::system().name()).left(2) << endl; + //qDebug() << "KLog OTHER -3: " << QCoreApplication::applicationDirPath() + "/translations/klog_" + (QLocale::system().name()).left(2) << endl; myappTranslator.load(QCoreApplication::applicationDirPath() + "/translations/klog_" + (QLocale::system().name())); } @@ -171,10 +167,10 @@ int main(int argc, char *argv[]) } #endif - //qDebug() << "KLog Main: -40 " << endl; + //qDebug() << "KLog Main: -40 " << endl; if (missingTranslation) { - //qDebug() << "KLog Main: Translation missing! " << endl; + //qDebug() << "KLog Main: Translation missing! " << endl; QMessageBox msgBox; QString urlTranslate = QString(); urlTranslate = "

TRANSLATE

"; @@ -197,10 +193,10 @@ int main(int argc, char *argv[]) } - //qDebug() << "KLog Main-1" << (QTime::currentTime()).toString("HH:mm:ss") << endl; + //qDebug() << "KLog Main-1" << (QTime::currentTime()).toString("HH:mm:ss") << endl; app.installTranslator(&myappTranslator); - //qDebug() << "KLog Main: End of translation activities: "<< (QTime::currentTime()).toString("HH:mm:ss") << endl; + //qDebug() << "KLog Main: End of translation activities: "<< (QTime::currentTime()).toString("HH:mm:ss") << endl; // Traslations end QString configFileName, klogDir; @@ -208,51 +204,51 @@ int main(int argc, char *argv[]) klogDir = util.getHomeDir(); configFileName = util.getCfgFile(); - //qDebug() << "KLog Main-10" << endl; + //qDebug() << "KLog Main-10" << endl; - //qDebug() << "KLog Main: Setting klog dir: " << (QTime::currentTime()).toString("HH:mm:ss")<< endl;; + //qDebug() << "KLog Main: Setting klog dir: " << (QTime::currentTime()).toString("HH:mm:ss")<< endl;; if (!QDir::setCurrent (klogDir) ) { - //qDebug() << "MAIN: KLogDir does not exist.... creating " << endl; + //qDebug() << "MAIN: KLogDir does not exist.... creating " << endl; if (d1.mkdir(klogDir)) { if (QDir::setCurrent (klogDir) ) { - //qDebug() << "MAIN: KLogDir has just been created and pointed " << endl; + //qDebug() << "MAIN: KLogDir has just been created and pointed " << endl; } else { - //qDebug() << "MAIN: KLogDir has just been created and pointed FAILED! " << endl; + //qDebug() << "MAIN: KLogDir has just been created and pointed FAILED! " << endl; } } else { - //qDebug() << "MAIN: KLogDir can not be created?? " << endl; + //qDebug() << "MAIN: KLogDir can not be created?? " << endl; } } else { - //qDebug() << "MAIN: KLogDir already existed!! " << endl; + //qDebug() << "MAIN: KLogDir already existed!! " << endl; } - //qDebug() << "KLog Main: Setting klog dir - finished: " << (QTime::currentTime()).toString("HH:mm:ss") << endl; + //qDebug() << "KLog Main: Setting klog dir - finished: " << (QTime::currentTime()).toString("HH:mm:ss") << endl; - //qDebug() << "KLog Main: Setting config file: " << (QTime::currentTime()).toString("HH:mm:ss") << endl; + //qDebug() << "KLog Main: Setting config file: " << (QTime::currentTime()).toString("HH:mm:ss") << endl; QPixmap pixmap(":img/klog_512x512.png"); - //qDebug() << "KLog Main-51" << (QTime::currentTime()).toString("HH:mm:ss") << endl; + //qDebug() << "KLog Main-51" << (QTime::currentTime()).toString("HH:mm:ss") << endl; QSplashScreen splash(pixmap); if(!QFile::exists(configFileName)) { - //qDebug() << "MAIN: Starting wizard... " << endl; + //qDebug() << "MAIN: Starting wizard... " << endl; StartWizard *wizard = new StartWizard(klogDir, version); wizard->setModal(true); int inMemory = wizard->exec(); - //qDebug() << "MAIN: Wizard inMemory: " << QString::number(inMemory) << endl; + //qDebug() << "MAIN: Wizard inMemory: " << QString::number(inMemory) << endl; if (inMemory == 1) { - //qDebug() << "MAIN: Wizard accepted " << QString::number(inMemory) << " ... Will run in Memory " << endl; + qDebug() << "MAIN: Wizard accepted " << QString::number(inMemory) << " ... Will run in Memory " << endl; MainWindow mw(klogDir, version); mw.init(); splash.finish(&mw); @@ -264,7 +260,7 @@ int main(int argc, char *argv[]) else { - //qDebug() << "MAIN: Wizard cancelled " << QString::number(inMemory) << " ... should close " << endl; + qDebug() << "MAIN: Wizard cancelled " << QString::number(inMemory) << " ... should close " << endl; QMessageBox msgBox; msgBox.setText(QObject::tr("Install wizard was canceled before completing...")); @@ -310,21 +306,25 @@ int main(int argc, char *argv[]) else { - //qDebug() << "Main: Start of DB Activities" << endl; + //qDebug() << "Main: Start of DB Activities" << endl; DataBase *db = new DataBase(Q_FUNC_INFO, version, util.getKLogDBFile()); - //qDebug() << "Main: After Start of DB Activities" << endl; + //qDebug() << "Main: After Start of DB Activities" << endl; if (!db->createConnection(Q_FUNC_INFO)) { - //qDebug() << "Main: Conection not created" << endl; + //qDebug() << "Main: Conection not created" << endl; return -1; // Exits with an error; no DB has been created } else { db->updateIfNeeded(); // Check if we need to update the DB - //qDebug() << "Main: DB Updated" << endl; + //qDebug() << "Main: DB Updated" << endl; } db->~DataBase(); + //qDebug() << "Main: End of DB Activities" << endl; + //qDebug() << "KLog Main-50" << (QTime::currentTime()).toString("HH:mm:ss") << endl; + + //qDebug() << "KLog Main-52" << (QTime::currentTime()).toString("HH:mm:ss") << endl; splash.show(); //qDebug() << "KLog Main-100" << (QTime::currentTime()).toString("HH:mm:ss") << endl; MainWindow mw(klogDir, version); @@ -333,16 +333,16 @@ int main(int argc, char *argv[]) mw.checkIfNewVersion(); mw.recommendBackupIfNeeded(); - //qDebug() << "KLog Main-101" << (QTime::currentTime()).toString("HH:mm:ss") << endl; + //qDebug() << "KLog Main-101" << (QTime::currentTime()).toString("HH:mm:ss") << endl; mw.show(); - //qDebug() << "KLog Main-101.5" << (QTime::currentTime()).toString("HH:mm:ss") << endl; + //qDebug() << "KLog Main-101.5" << (QTime::currentTime()).toString("HH:mm:ss") << endl; - //qDebug() << "KLog Main-102" << (QTime::currentTime()).toString("HH:mm:ss") << endl; + //qDebug() << "KLog Main-102" << (QTime::currentTime()).toString("HH:mm:ss") << endl; return app.exec(); - //qDebug() << "KLog Main-103" << (QTime::currentTime()).toString("HH:mm:ss") << endl; + //qDebug() << "KLog Main-103" << (QTime::currentTime()).toString("HH:mm:ss") << endl; } - //qDebug() << "KLog Main-END: " << (QTime::currentTime()).toString("HH:mm:ss") << endl; + //qDebug() << "KLog Main-END: " << (QTime::currentTime()).toString("HH:mm:ss") << endl; //return app.exec(); } diff --git a/mainqsoentrywidget.cpp b/mainqsoentrywidget.cpp deleted file mode 100644 index d81f8c3e..00000000 --- a/mainqsoentrywidget.cpp +++ /dev/null @@ -1,675 +0,0 @@ -#include "mainqsoentrywidget.h" - -MainQSOEntryWidget::MainQSOEntryWidget(DataProxy_SQLite *dp, QWidget *parent) : QWidget(parent) -{ - //qDebug()<< "MainQSOEntryWidget::MainQSOEntryWidget " << endl; - upAndRunning = false; - dataProxy = dp; - qrzLineEdit = new QLineEdit; - bandComboBox = new QComboBox; - modeComboBox = new QComboBox; - dateEdit = new QDateEdit; - timeEdit = new QTimeEdit; - realTime =true; - realtimeCheckBox = new QCheckBox; - enabledCR = realtimeCheckBox->backgroundRole(); - OKButton = new QPushButton(tr("&Add"), this); - clearButton = new QPushButton(tr("&Clear"), this); - timer = new QTimer(this); - util = new Utilities; - - - logSeverity = 7; //7 Debug /0=emergency or no debug - - createUI(); - setInitialData(); - //qDebug()<< "MainQSOEntryWidget::MainQSOEntryWidget: - END" << endl; -} - -void MainQSOEntryWidget::createUI() -{ - //qDebug()<< "MainQSOEntryWidget::createUI" << endl; - emit debugLog(Q_FUNC_INFO, "Start", logSeverity); - qrzLineEdit->setToolTip(tr("QRZ of the QSO.")); - bandComboBox->setToolTip(tr("Band of the QSO.")); - modeComboBox->setToolTip(tr("Mode of the QSO.")); - dateEdit->setToolTip(tr("Date of the QSO.")); - timeEdit->setToolTip(tr("Time of the QSO.")); - OKButton->setToolTip(tr("Add the QSO to the log.")); - clearButton->setToolTip(tr("Clears the QSO entry.")); - realtimeCheckBox->setToolTip(tr("KLog will show real time if enabled.")); - - QHBoxLayout *TimeLayout = new QHBoxLayout; - TimeLayout->addWidget(dateEdit); - TimeLayout->addWidget(timeEdit); - TimeLayout->addWidget(realtimeCheckBox); - - QHBoxLayout *BandModeLayout = new QHBoxLayout; - BandModeLayout->addWidget(bandComboBox); - BandModeLayout->addWidget(modeComboBox); - - QHBoxLayout *QrzBandModeLayout = new QHBoxLayout; - QrzBandModeLayout->addWidget(qrzLineEdit); - QrzBandModeLayout->addLayout(BandModeLayout); - - qrzgroupBox = new QGroupBox(tr("QRZ")); - qrzgroupBox->setFlat(true); - QVBoxLayout *qrzvbox = new QVBoxLayout; - qrzvbox->addLayout(QrzBandModeLayout); - qrzgroupBox->setLayout(qrzvbox); - - QHBoxLayout *buttonsLayout = new QHBoxLayout; - buttonsLayout->addWidget(OKButton); - buttonsLayout->addWidget(clearButton); - - dateEdit->setDisplayFormat("yyyy/MM/dd"); - timeEdit->setDisplayFormat("HH:mm:ss"); - - QGridLayout *widgetLayout = new QGridLayout; - widgetLayout->addWidget(qrzgroupBox, 0, 0, 1, 0); - widgetLayout->addLayout(TimeLayout, 1, 0); - widgetLayout->addLayout(buttonsLayout,1, 1); - - setLayout(widgetLayout); - - palRed.setColor(QPalette::Text, Qt::red); - palBlack.setColor(QPalette::Text, Qt::black); - - connect(qrzLineEdit, SIGNAL(returnPressed()), this, SLOT(slotOKButtonClicked() ) ); - connect(qrzLineEdit, SIGNAL(textChanged(QString)), this, SLOT(slotQRZTextChanged() ) ); - connect(bandComboBox, SIGNAL(currentIndexChanged (int)), this, SLOT(slotBandComboBoxChanged() ) ) ; - connect(modeComboBox, SIGNAL(currentIndexChanged (int)), this, SLOT(slotModeComboBoxChanged() ) ) ; - - connect(OKButton, SIGNAL(clicked()), this, SLOT(slotOKButtonClicked() ) ); - connect(clearButton, SIGNAL(clicked()), this, SLOT(slotClearButtonClicked() ) ); - connect(timer, SIGNAL(timeout()), this, SLOT(slotUpdateTime()) ); - connect(realtimeCheckBox, SIGNAL(clicked()), this, SLOT(slotCheckBoxClicked()) ); - //qDebug()<< "MainQSOEntryWidget::createUI-END" << endl; - -} - -void MainQSOEntryWidget::slotCheckBoxClicked() -{ - - if (realtimeCheckBox->isChecked()) - { - realTime = true; - timeEdit->setBackgroundRole(enabledCR); - } - else - { - realTime = false; - timeEdit->setBackgroundRole(QPalette::BrightText); - } -} - -void MainQSOEntryWidget::setCleaning (const bool _c) -{ - emit debugLog(Q_FUNC_INFO, "Start", logSeverity); - cleaning = _c; - emit debugLog(Q_FUNC_INFO, "END", logSeverity); -} - -void MainQSOEntryWidget::slotQRZTextChanged() -{ - //qDebug()<< "MainQSOEntryWidget::slotQRZTextChanged: " << qrzLineEdit->text() << " / Length: " << QString::number((qrzLineEdit->text()).size()) << "###### START ######" << endl; - emit debugLog(Q_FUNC_INFO, "Start", logSeverity); - if ((qrzLineEdit->text()).length()<1) - { - slotClearButtonClicked(); - emit debugLog(Q_FUNC_INFO, "END-1", logSeverity); - //qDebug()<< "MainQSOEntryWidget::slotQRZTextChanged: QRZ <1 - END" << endl; - return; - } - int cursorP = qrzLineEdit->cursorPosition(); - //qDebug()<< "MainQSOEntryWidget::slotQRZTextChanged: cursor position: " << QString::number(cursorP) << endl; - qrzLineEdit->setText((qrzLineEdit->text()).toUpper()); - if (cleaning) - { - //qDebug()<< "MainQSOEntryWidget::slotQRZTextChanged: Cleaning - END" << endl; - emit debugLog(Q_FUNC_INFO, "END-2", logSeverity); - return; - } - - if (qrzAutoChanging) - { - //qDebug()<< "MainQSOEntryWidget::slotQRZTextChanged: qrzAutoChanging - END" << endl; - qrzAutoChanging = false; - emit debugLog(Q_FUNC_INFO, "END-3", logSeverity); - return; - } - - qrzAutoChanging = true; - - //qDebug()<< "MainQSOEntryWidget::slotQRZTextChanged: cursor position.1: " << QString::number(cursorP) << endl; - - if ( (qrzLineEdit->text()).endsWith(' ') ) - {/*Remove the space and moves the focus to SRX to write the RX exchange*/ - previousQRZ = (qrzLineEdit->text()).simplified(); - qrzLineEdit->setText(previousQRZ); - //qDebug()<< "MainQSOEntryWidget::slotQRZTextChanged: Space detected" << endl; - } - - //qDebug()<< "MainQSOEntryWidget::slotQRZTextChanged: Simplifiying & Capitalizing" << endl; - qrzLineEdit->setText(((qrzLineEdit->text())).simplified()); - qrzLineEdit->setText((qrzLineEdit->text()).remove(" ")); - //qrzLineEdit->setText((qrzLineEdit->text()).toUpper()); - - //qDebug()<< "MainQSOEntryWidget::slotQRZTextChanged: checking for invalid chars" << endl; - //TODO: This validCharactersInCall may be removed? - InValidCharsInPrevCall = validCharactersInCall(qrzLineEdit->text()); - - if (!util->isValidCall(qrzLineEdit->text())) - { - qrzLineEdit->setPalette(palRed); - //emit showInfoLabel(tr("QRZ not valid")); - //qDebug()<< "MainQSOEntryWidget::slotQRZTextChanged: QRZ not valid - END" << endl; - emit debugLog(Q_FUNC_INFO, "END-4", logSeverity); - //return; - } - else - { - qrzLineEdit->setPalette(palBlack); - //emit showInfoLabel(tr("")); - } - /* - //qDebug()<< "MainQSOEntryWidget::slotQRZTextChanged: checking for length" << endl; - if (((qrzLineEdit->text()).length() < 1)) - { // If QRZ box is blank, Information labels should be cleared. - slotClearButtonClicked(); - emit debugLog(Q_FUNC_INFO, "END-5", logSeverity); - return; - } - */ - - //qDebug()<< "MainQSOEntryWidget::slotQRZTextChanged: checking for modify or length<1" << endl; - if (qrzSmallModDontCalculate) - //if ((modify) || ((qrzLineEdit->text()).length() < 1) || (qrzSmallModDontCalculate)) - { - //qDebug() << "MainQSOEntryWidget::slotQRZTextChanged: qrzSmallModDontCalculate < 1" << endl; - qrzSmallModDontCalculate=false; - emit debugLog(Q_FUNC_INFO, "END-6", logSeverity); - return; - } - - //qDebug()<< "MainQSOEntryWidget::slotQRZTextChanged: running..." << endl; - qrzSmallModDontCalculate = true; // A kind of flag to prevent multiple calls to this method. - currentQrz = qrzLineEdit->text(); - - if ((currentQrz).count('\\')) - { // Replaces \ by / to ease operation. - currentQrz.replace(QChar('\\'), QChar('/')); - qrzLineEdit->setText(currentQrz); - } - - currentQrz = qrzLineEdit->text(); - //qDebug()<< "MainQSOEntryWidget::slotQRZTextChanged: cursor position.3: " << QString::number(cursorP) << endl; - if (cursorP>currentQrz.length()) - {// A Space that has been removed without updating the cursor - //qDebug()<< "MainQSOEntryWidget::slotQRZTextChanged: cursorP > currentQRZ.length" << endl; - } - else - { - if (cursorP==0) - { - - } - else if ((currentQrz.at(cursorP-1)).isSpace()) - { - //qDebug()<< "MainQSOEntryWidget::slotQRZTextChanged: cursor position.5: " << QString::number(cursorP) << endl; - previousQRZ = currentQrz.remove(cursorP-1, 1); - //qDebug()<< "MainQSOEntryWidget::slotQRZTextChanged: cursor position.6: " << QString::number(cursorP) << endl; - cursorP--; - //qDebug()<< "MainQSOEntryWidget::slotQRZTextChanged: cursor position.7: " << QString::number(cursorP) << endl; - qrzLineEdit->setText(previousQRZ); - } - } - - currentQrz = qrzLineEdit->text(); - //qDebug() << "MainQSOEntryWidget::slotQRZTextChanged: Emitting: " << currentQrz << endl; - emit currentQRZSignal(currentQrz); - - qrzSmallModDontCalculate = false; // If the text has not been modified in this method - //qDebug() << "MainQSOEntryWidget::slotQRZTextChanged: cursorP at the end : " << QString::number(cursorP) << endl; - qrzLineEdit->setCursorPosition(cursorP); - - qrzAutoChanging = false; - emit debugLog(Q_FUNC_INFO, "END", logSeverity); - //qDebug() << "MainQSOEntryWidget::slotQRZTextChanged: END" << endl; -} - -void MainQSOEntryWidget::setCurrentQRZ(const QString &_qrz) -{ - emit debugLog(Q_FUNC_INFO, "Start", logSeverity); - currentQrz = _qrz; - emit debugLog(Q_FUNC_INFO, "END", logSeverity); -} - -void MainQSOEntryWidget::slotBandComboBoxChanged(){ - //qDebug() << "MainQSOEntryWidgetslotBandComboBoxChanged: " << endl; - emit debugLog(Q_FUNC_INFO, "Start", logSeverity); - - emit bandChanged(bandComboBox->currentText()); - - emit debugLog(Q_FUNC_INFO, "END", logSeverity); - //qDebug() << "MainQSOEntryWidgetslotBandComboBoxChanged: END" << endl; -} - -void MainQSOEntryWidget::slotModeComboBoxChanged() -{ - emit debugLog(Q_FUNC_INFO, "Start", logSeverity); - - emit modeChanged(modeComboBox->currentText()); - - emit debugLog(Q_FUNC_INFO, "END", logSeverity); -} - -void MainQSOEntryWidget::slotOKButtonClicked() -{ - emit debugLog(Q_FUNC_INFO, "Start", logSeverity); - if ((qrzLineEdit->text()).length()<1) - { - return; - } - emit OKClicked(); - emit debugLog(Q_FUNC_INFO, "END", logSeverity); -} - -void MainQSOEntryWidget::slotClearButtonClicked() -{ - emit debugLog(Q_FUNC_INFO, "Start", logSeverity); - clear(); - emit clearForNextQSOSignal(); - emit debugLog(Q_FUNC_INFO, "END", logSeverity); -} - -void MainQSOEntryWidget::clear() -{ - emit debugLog(Q_FUNC_INFO, "Start", logSeverity); - cleaning = true; - - OKButton->setText(tr("&Add")); - qrzLineEdit->clear(); - qrzLineEdit->setFocus(Qt::OtherFocusReason); - - cleaning = false; - emit debugLog(Q_FUNC_INFO, "END", logSeverity); -} - -void MainQSOEntryWidget::setInitialData() -{ - //qDebug()<< "MainQSOEntryWidget::setInitialData" << endl; - emit debugLog(Q_FUNC_INFO, "Start", logSeverity); - //Default band/modes - modify = false; - qrzAutoChanging = false; - InValidCharsInPrevCall = false; - qrzSmallModDontCalculate=false; - previousQRZ = QString(); - - bands.clear(); - modes.clear(); - bands << "10M" << "15M" << "20M" << "40M" << "80M" << "160M"; - modes << "SSB" << "CW" << "RTTY"; - - - setBands(bands); - setModes(modes); - - selectDefaultBand(true); - selectDefaultMode(true); - - dateEdit->setDate(QDate::currentDate()); - timeEdit->setTime(QTime::currentTime()); - - UTCTime = true; - //realTime = true; - - timer->start(1000); - emit debugLog(Q_FUNC_INFO, "END", logSeverity); - //qDebug()<< "MainQSOEntryWidget::setInitialData-END" << endl; - -} - -void MainQSOEntryWidget::setBands(const QStringList _bands) -{ - emit debugLog(Q_FUNC_INFO, "Start", logSeverity); - //qDebug()<< "MainQSOEntryWidget::setBands" << endl; - bands.clear(); - bands = _bands; - bands.removeDuplicates(); - bands = dataProxy->sortBandNamesBottonUp(bands); - bandComboBox->clear(); - bandComboBox->addItems(bands); - selectDefaultBand(true); - emit debugLog(Q_FUNC_INFO, "END", logSeverity); - //qDebug()<< "MainQSOEntryWidget::setBands-END" << endl; -} - -void MainQSOEntryWidget::setModes(const QStringList _modes) -{ - emit debugLog(Q_FUNC_INFO, "Start", logSeverity); - modes.clear(); - modes = _modes; - modes.removeDuplicates(); - modes.sort(); - modeComboBox->clear(); - modeComboBox->addItems(modes); - selectDefaultMode(true); - emit debugLog(Q_FUNC_INFO, "END", logSeverity); - -} - -QStringList MainQSOEntryWidget::getModes() -{ - return modes; -} - -bool MainQSOEntryWidget::setBand(const QString &_band) -{ - //qDebug() << "MainQSOEntryWidget::setBand: " << _band << endl; - emit debugLog(Q_FUNC_INFO, "Start", logSeverity); - if (bandComboBox->findText(_band, Qt::MatchCaseSensitive) < 0) - { - //qDebug() << "MainQSOEntryWidget::setBand-1: Band not found " << _band << endl; - emit debugLog(Q_FUNC_INFO, "END-1", logSeverity); - return false; - } - else - { - bandComboBox->setCurrentIndex(bandComboBox->findText(_band, Qt::MatchCaseSensitive)); - emit debugLog(Q_FUNC_INFO, "END-2", logSeverity); - - //qDebug() << "MainQSOEntryWidget::setBand-2: " << _band << endl; - return true; - } - -} - -bool MainQSOEntryWidget::setMode(const QString &_mode) -{ - emit debugLog(Q_FUNC_INFO, "Start", logSeverity); - //qDebug() << "MainQSOEntryWidget::setMode: " << _mode << endl; - if (modeComboBox->findText(_mode, Qt::MatchCaseSensitive) < 0) - { - emit debugLog(Q_FUNC_INFO, "END-1", logSeverity); - return false; - } - else - { - modeComboBox->setCurrentIndex(modeComboBox->findText(_mode, Qt::MatchCaseSensitive)); - emit debugLog(Q_FUNC_INFO, "END", logSeverity); - return true; - } -} - -bool MainQSOEntryWidget::setQRZ(const QString &_qrz) -{ - emit debugLog(Q_FUNC_INFO, "Start", logSeverity); - //TODO: Add validations to prevent that non valid qrz are sent from the outside of this function or at least manage this appropriately. - qrzLineEdit->setText(_qrz.toUpper()); - emit debugLog(Q_FUNC_INFO, "END", logSeverity); - return false; -} - -bool MainQSOEntryWidget::setDate(const QDate _date) -{ - emit debugLog(Q_FUNC_INFO, "Start", logSeverity); - if (_date.isValid()) - { - dateEdit->setDate(_date); - emit debugLog(Q_FUNC_INFO, "END", logSeverity); - return true; - } - else - { - emit debugLog(Q_FUNC_INFO, "END", logSeverity); - return false; - } -} - -bool MainQSOEntryWidget::setTime(const QTime _time) -{ - emit debugLog(Q_FUNC_INFO, "Start", logSeverity); - if (_time.isValid()) - { - timeEdit->setTime(_time); - emit debugLog(Q_FUNC_INFO, "END", logSeverity); - return true; - } - else - { - emit debugLog(Q_FUNC_INFO, "END", logSeverity); - return false; - } -} - -QString MainQSOEntryWidget::getQrz() -{ - emit debugLog(Q_FUNC_INFO, "Start", logSeverity); - emit debugLog(Q_FUNC_INFO, "END", logSeverity); - return (qrzLineEdit->text()).toUpper(); -} - -QString MainQSOEntryWidget::getBand(const int _b) -{ - emit debugLog(Q_FUNC_INFO, "Start", logSeverity); - if (_b<0) - { - emit debugLog(Q_FUNC_INFO, "END", logSeverity); - return bandComboBox->currentText(); - } - else - { - if (bandComboBox->count()>=_b) - { - emit debugLog(Q_FUNC_INFO, "END-1", logSeverity); - return bandComboBox->itemText(_b); - } - else - { - emit debugLog(Q_FUNC_INFO, "END-2", logSeverity); - return bandComboBox->currentText(); - } - } -} - -QString MainQSOEntryWidget::getMode(const int _m) -{ - emit debugLog(Q_FUNC_INFO, "Start", logSeverity); - if (_m<0) - { - emit debugLog(Q_FUNC_INFO, "END", logSeverity); - return modeComboBox->currentText(); - } - else - { - if (modeComboBox->count()>=_m) - { - emit debugLog(Q_FUNC_INFO, "END-1", logSeverity); - return modeComboBox->itemText(_m); - } - else - { - emit debugLog(Q_FUNC_INFO, "END-2", logSeverity); - return modeComboBox->currentText(); - } - } -} - -QDate MainQSOEntryWidget::getDate() -{ - emit debugLog(Q_FUNC_INFO, "Start", logSeverity); - emit debugLog(Q_FUNC_INFO, "END", logSeverity); - return dateEdit->date(); -} - -QTime MainQSOEntryWidget::getTime() -{ - emit debugLog(Q_FUNC_INFO, "Start", logSeverity); - emit debugLog(Q_FUNC_INFO, "END", logSeverity); - return timeEdit->time(); -} - -void MainQSOEntryWidget::setRealTime(const bool _realTime) -{ - emit debugLog(Q_FUNC_INFO, "Start", logSeverity); - realtimeCheckBox->setChecked(_realTime); - realTime = _realTime; - emit debugLog(Q_FUNC_INFO, "END", logSeverity); -} - - -void MainQSOEntryWidget::setUTC(const bool _utc) -{ - emit debugLog(Q_FUNC_INFO, "Start", logSeverity); - UTCTime = _utc; - emit debugLog(Q_FUNC_INFO, "END", logSeverity); -} - -void MainQSOEntryWidget::setModify(const bool _modify) -{ - emit debugLog(Q_FUNC_INFO, "Start", logSeverity); - modify = _modify; - if (modify) - { - realTime = realtimeCheckBox->isChecked(); - OKButton->setText(tr("&Modify")); - realtimeCheckBox->setChecked(false); - } - else - { - OKButton->setText(tr("&Add")); - realtimeCheckBox->setChecked(realTime); - } - emit debugLog(Q_FUNC_INFO, "END", logSeverity); -} - -void MainQSOEntryWidget::slotUpdateTime() -{ - //qDebug()<< "MainQSOEntryWidget::slotUpdateTime" << endl; - emit debugLog(Q_FUNC_INFO, "Start", logSeverity); - if ( (!modify) && (realTime) ) - { - //qDebug()<< "MainQSOEntryWidget::slotUpdateTime - Real Time & update" << endl; - - if (UTCTime) - { - dateEdit->setDate(QDateTime::currentDateTime().toUTC().date()); - timeEdit->setTime(QDateTime::currentDateTime().toUTC().time()); - } - else - { - dateEdit->setDate(QDateTime::currentDateTime().date()); - timeEdit->setTime(QDateTime::currentDateTime().time()); - } - } - emit debugLog(Q_FUNC_INFO, "END", logSeverity); -} - -bool MainQSOEntryWidget::validCharactersInCall(const QString &_qrz) -{ - emit debugLog(Q_FUNC_INFO, "Start", logSeverity); - for (int i = 0; i<_qrz.size();i++) - { - if (!( ((_qrz.at(i)).isLetterOrNumber()) || (_qrz.at(i)=='\\') || (_qrz.at(i)=='/') )) - { - emit debugLog(Q_FUNC_INFO, "END-1", logSeverity); - return false; - } - - } - emit debugLog(Q_FUNC_INFO, "END", logSeverity); - return true; -} - -bool MainQSOEntryWidget::isModeExisting(const QString &_m) -{ - emit debugLog(Q_FUNC_INFO, "Start", logSeverity); - if (modeComboBox->findText(_m, Qt::MatchCaseSensitive) >= 0) - { - emit debugLog(Q_FUNC_INFO, "END-1", logSeverity); - return true; - } - else - { - emit debugLog(Q_FUNC_INFO, "END-2", logSeverity); - return false; - } - -} - -bool MainQSOEntryWidget::isBandExisting(const QString &_b) -{ - emit debugLog(Q_FUNC_INFO, "Start", logSeverity); - if (bandComboBox->findText(_b, Qt::MatchCaseSensitive) >= 0) - { - emit debugLog(Q_FUNC_INFO, "END-1", logSeverity); - return true; - } - else - { - emit debugLog(Q_FUNC_INFO, "END-2", logSeverity); - return false; - } -} - -void MainQSOEntryWidget::setUpAndRunning(const bool _u) -{ - emit debugLog(Q_FUNC_INFO, "Start", logSeverity); - upAndRunning = _u; - emit debugLog(Q_FUNC_INFO, "END", logSeverity); -} - -void MainQSOEntryWidget::selectDefaultBand(const bool _init) -{ - //qDebug() << "MainQSOEntryWidget::selectDefaultBand" << endl; - emit debugLog(Q_FUNC_INFO, "Start", logSeverity); - if ((upAndRunning) || (!_init)) - { - emit debugLog(Q_FUNC_INFO, "END-1", logSeverity); - //qDebug() << "MainQSOEntryWidgetselectDefaultBand-END-1" << endl; - return; - } - QString aux; - aux = QString(); - int defaultBand = dataProxy->getMostUsedBand(-1); //TODO: The log could be defined here - //qDebug() << "MainQSOEntryWidget::selectDefaultBand: " << QString::number(defaultBand) << dataProxy->getNameFromBandId (defaultBand)<< endl; - if (defaultBand<1) - { - - defaultBand = dataProxy->getIdFromBandName(getBand(0)); - - } - - aux = dataProxy->getNameFromBandId(defaultBand); - - setBand(aux); - emit debugLog(Q_FUNC_INFO, "END", logSeverity); - - //qDebug() << "MainQSOEntryWidgetselectDefaultBand_END" << endl; -} - -void MainQSOEntryWidget::selectDefaultMode(const bool _init) -{ - //qDebug() << "MainQSOEntryWidgetselectDefaultMode" << endl; - emit debugLog(Q_FUNC_INFO, "Start", logSeverity); - if ((upAndRunning) || (!_init)) - { - emit debugLog(Q_FUNC_INFO, "END-1", logSeverity); - return; - } - int defaultMode = dataProxy->getMostUsedMode(-1); //TODO: The log could be defined here - //qDebug() << "MainQSOEntryWidgetselectDefaultMode: " << QString::number(defaultMode) << endl; - - if (defaultMode < 1) - { - defaultMode = dataProxy->getSubModeIdFromSubMode(getBand(0)); - } - setMode(dataProxy->getNameFromSubModeId(defaultMode)); - //modeComboBox->setCurrentIndex(modeComboBox->findText(dataProxy->getNameFromSubModeId(defaultMode))); - - //qDebug() << "MainQSOEntryWidgetselectDefaultMode3: " << QString::number(defaultMode) << endl; - emit debugLog(Q_FUNC_INFO, "END", logSeverity); - //qDebug() << "MainQSOEntryWidgetselectDefaultMode-END" << endl; -} diff --git a/mainqsoentrywidget.h b/mainqsoentrywidget.h deleted file mode 100644 index ce16148d..00000000 --- a/mainqsoentrywidget.h +++ /dev/null @@ -1,128 +0,0 @@ -#ifndef MAINQSOENTRYWIDGET_H -#define MAINQSOENTRYWIDGET_H -/*************************************************************************** - mainqsoentrywidget.h - description - ------------------- - begin : january 2020 - copyright : (C) 2020 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 . * - * * - *****************************************************************************/ -#include -#include -#include -#include "dataproxy_sqlite.h" -#include "utilities.h" - -class MainQSOEntryWidget : public QWidget -{ - Q_OBJECT -public: - explicit MainQSOEntryWidget(DataProxy_SQLite *dp, QWidget *parent = nullptr); - void setBands(const QStringList _bands); - void setModes(const QStringList _modes); - - bool setBand(const QString &_band); - - bool setMode(const QString &_mode); - bool setQRZ(const QString &_qrz); - void setCurrentQRZ(const QString &_qrz); - bool setDate(const QDate _date); - bool setTime(const QTime _time); - void setCleaning (const bool _c); - bool isModeExisting(const QString &_m); - bool isBandExisting(const QString &_b); - - QString getQrz(); - QString getBand(const int _b=-1); - QString getMode(const int _m=-1); - QStringList getModes(); - QDate getDate(); - QTime getTime(); - - void setRealTime(const bool _realTime); - void setUTC(const bool _utc); - void setModify(const bool _modify); - void setUpAndRunning(const bool _u); - void selectDefaultBand(const bool _init = false); - void selectDefaultMode(const bool _init = false); - - void clear(); - -protected: - // void keyPressEvent(QKeyEvent *event); - -signals: - void debugLog (QString _func, QString _msg, int _level); - void showInfoLabel(QString _msg); - void currentQRZSignal(QString _msg); - void clearForNextQSOSignal(); - void bandChanged(QString _band); - void modeChanged(QString _mode); - void OKClicked(); - -private slots: - void slotUpdateTime(); - void slotQRZTextChanged(); - void slotBandComboBoxChanged(); - void slotModeComboBoxChanged(); - void slotOKButtonClicked(); - void slotClearButtonClicked(); - void slotCheckBoxClicked(); - //void slotRealTimeCheckBoxChanged(); - - -private: - void createUI(); - void setInitialData(); - - bool validCharactersInCall(const QString &_qrz); - void clearForNextQSO(); - - - DataProxy_SQLite *dataProxy; - QGroupBox *qrzgroupBox;//, *searchgroupBox; - QLineEdit *qrzLineEdit; - QComboBox *bandComboBox, *modeComboBox; - QDateEdit *dateEdit; - QTimeEdit *timeEdit; - QPushButton *OKButton, *clearButton; - QCheckBox *realtimeCheckBox; - int logSeverity; - bool cleaning; - bool qrzAutoChanging; - bool InValidCharsInPrevCall; - bool qrzSmallModDontCalculate; - bool upAndRunning; - - QString previousQRZ; - QString currentQrz; - - - QStringList bands, modes; - - QTimer *timer; - bool UTCTime, modify, realTime; - QPalette palRed, palBlack; // To paint Text in red or black(normal) - Utilities *util; - QPalette::ColorRole enabledCR, disabledCR; -}; - -#endif // MAINQSOENTRYWIDGET_H diff --git a/mainwindow.cpp b/mainwindow.cpp index af240a4c..5e13b206 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -20,7 +20,7 @@ * 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 . * + * along with KLog. If not, see . * * * *****************************************************************************/ @@ -40,10 +40,8 @@ MainWindow::MainWindow(const QString &_klogDir, const QString &tversion) { //qDebug() << "MainWindow::MainWindow: "<< _klogDir << " Ver: " << tversion << endl; //qDebug() << "MainWindow::MainWindow: Con func: "<< Q_FUNC_INFO << endl; - softwareVersion = tversion; - klogDir = _klogDir; logSeverity = 7; - + klogDir = _klogDir; needToEnd = false; upAndRunning = false; // To define some actions that can only be run when starting the software @@ -58,8 +56,7 @@ MainWindow::MainWindow(const QString &_klogDir, const QString &tversion) { QMessageBox msgBox; msgBox.setIcon(QMessageBox::Warning); - msgBox.setWindowTitle(tr("KLog - File not open")); - QString aux = tr("It was not possible to open the debug file for writing. No debug log will be saved!"); + QString aux = tr("It was not possible to open the debug file for writting. No debug log will be saved!"); msgBox.setText(aux); msgBox.setStandardButtons(QMessageBox::Ok); msgBox.setDefaultButton(QMessageBox::Ok); @@ -73,21 +70,19 @@ MainWindow::MainWindow(const QString &_klogDir, const QString &tversion) //QTime start; //start = QTime::currentTime(); - //qDebug() << "MainWindow::MainWindow: "<< (QTime::currentTime()).toString("hhmmsszzz")<< endl; + //qDebug() << "MainWindow::MainWindow: "<< (QTime::currentTime()).toString("hhmmsszzz")<< endl; showErrorDialog = new ShowErrorDialog(); UDPLogServer = new UDPServer(); - //qDebug() << "MainWindow::MainWindow: BEFORE HAMLIB " << endl; + //qDebug() << "MainWindow::MainWindow: BEFORE HAMLIB " << endl; hamlib = new HamLibClass(); - pstRotator = new PSTRotatorSupport(this); - rotatorWidget = new RotatorWidget; //qDebug() << "MainWindow::MainWindow: AFTER HAMLIB " << endl; + + softwareVersion = tversion; + dataProxy = new DataProxy_SQLite(softwareVersion, Q_FUNC_INFO); - - - - lotwUtilities = new LoTWUtilities(klogDir, softwareVersion, Q_FUNC_INFO, dataProxy); + doc = new QTextDocument; //qDebug() << "MainWindow::MainWindow: Before DXCCStatusWidget " << endl; dxccStatusWidget = new DXCCStatusWidget(dataProxy, Q_FUNC_INFO); @@ -100,12 +95,10 @@ MainWindow::MainWindow(const QString &_klogDir, const QString &tversion) updateSatsData = new UpdateSatsData(dataProxy); //qDebug() << "MainWindow::MainWindow: 00084" << endl; statsWidget = new StatisticsWidget(dataProxy); - //qDebug() << "MainWindow::MainWindow: 00085" << endl; //statsWidget->show(); - infoLabel1 = new QLabel(tr("Status bar ...")); - infoLabel2 = new QLabel(tr("DX Entity")); + //qDebug() << "MainWindow::MainWindow: 00086" << endl; logWindow = new LogWindow(dataProxy, this); @@ -128,7 +121,6 @@ MainWindow::MainWindow(const QString &_klogDir, const QString &tversion) configFileName = util->getCfgFile(); ctyDatFile = util->getCTYFile(); - //downloadcty = new DownLoadCTY(klogDir, softwareVersion, Q_FUNC_INFO); downloadcty = new DownLoadCTY(klogDir, softwareVersion); statusBarMessage = tr("Starting KLog"); @@ -156,7 +148,6 @@ MainWindow::MainWindow(const QString &_klogDir, const QString &tversion) othersTabWidget = new MainWindowInputOthers(dataProxy); eQSLTabWidget = new MainWindowInputEQSL(dataProxy); QSLTabWidget = new MainWindowInputQSL(dataProxy); - mainQSOEntryWidget = new MainQSOEntryWidget(dataProxy); //qDebug() << "MainWindow::MainWindow: locator to be created" << endl; locator = new Locator(); @@ -166,17 +157,29 @@ MainWindow::MainWindow(const QString &_klogDir, const QString &tversion) dateTime = new QDateTime(); dateTimeTemp = new QDateTime(); -// timer = new QTimer(this); + timer = new QTimer(this); - //qrzLineEdit = new QLineEdit; + qrzLineEdit = new QLineEdit; nameLineEdit = new QLineEdit; qthLineEdit = new QLineEdit; locatorLineEdit = new QLineEdit; rstTXLineEdit = new QLineEdit; rstRXLineEdit = new QLineEdit; + STXLineEdit = new QLineEdit; + SRXLineEdit = new QLineEdit; + bandComboBox = new QComboBox; + modeComboBox = new QComboBox; + + dateEdit = new QDateEdit; + timeEdit = new QTimeEdit; + + OKButton = new QPushButton(tr("&Add"), this); + //spotItButton = new QPushButton(tr("&Spot"), this); + //spotItButton->setEnabled(false); + clearButton = new QPushButton(tr("&Clear"), this); // UI DX - //previousQRZ = new QLabel(tr("Status bar...")); + infoLabel1 = new QLabel(tr("Status bar...")); infoLabel2 = new QLabel(tr("DX Entity")); loggWinAct = new QAction(tr("&Log Window"), this); @@ -186,7 +189,7 @@ MainWindow::MainWindow(const QString &_klogDir, const QString &tversion) rxFreqSpinBox = new QDoubleSpinBox; rxPowerSpinBox = new QDoubleSpinBox; - //qDebug() << "MainWindow::MainWindow: dxclusterwidget to be created" << endl; + //qDebug() << "MainWindow::MainWindow: dxclusterwidget to be created" << endl; dxClusterWidget = new DXClusterWidget(dataProxy, dxclusterServerToConnect , dxclusterServerPort, this); //qDebug() << "MainWindow::MainWindow: Awards to be created" << endl; awards = new Awards(dataProxy, Q_FUNC_INFO); @@ -196,6 +199,9 @@ MainWindow::MainWindow(const QString &_klogDir, const QString &tversion) if (needToEnd) { + //QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE"); + //db->compress(); + //qDebug() << "MainWindow::MainWindow: 12.5" << endl; exit(0); } @@ -207,24 +213,18 @@ MainWindow::MainWindow(const QString &_klogDir, const QString &tversion) softUpdate = new SoftwareUpdate(softwareVersion); filemanager = new FileManager(dataProxy, klogDir, softwareVersion); - lotwCallTQSL = new QAction(tr("Upload to LoTW"), this); - adifLoTWExportWidget = new AdifLoTWExportWidget(dataProxy, Q_FUNC_INFO); - showAdifImportWidget = new ShowAdifImportWidget(dataProxy, Q_FUNC_INFO); - //lotwUtilities->download(); logEvent(Q_FUNC_INFO, "END", logSeverity); - //qDebug() << "MainWindow::MainWindow: END" << endl; } void MainWindow::init() { - //qDebug() << "MainWindow::init: START" << endl; + //qDebug() << "MainWindow::init: START" << endl; logEvents = true; debugFileOpen = false; - clublogUser = QString(); clublogPass = QString(); clublogEmail = QString(); @@ -240,13 +240,12 @@ void MainWindow::init() hamlibChangingMode = false; yearChangedDuringModification = false; - usePSTRotator = false; readingTheUI = false; itIsANewversion = false; - setCleaning(false); - + cleaning = false; + qrzAutoChanging = false; dxclusterServerToConnect = "dxfun.com"; dxclusterServerPort = 8000; contestMode = "DX"; @@ -254,6 +253,7 @@ void MainWindow::init() defaultADIFLogFile = "klog.adi"; + InValidCharsInPrevCall = false; //stationCallSignShownInSearch = true; checkNewVersions = true; @@ -271,9 +271,9 @@ void MainWindow::init() selectedYear = 0; defaultMode = 1; defaultBand = 1; - //qDebug() << "MainWindow::init: 1 - currentMode: " << QString::number(currentMode) << endl; + //qDebug() << "MainWindow::MainWindow: 1 - currentMode: " << QString::number(currentMode) << endl; currentMode = 1; - //qDebug() << "MainWindow::init: 2 - currentMode: " << QString::number(currentMode) << endl; + //qDebug() << "MainWindow::MainWindow: 2 - currentMode: " << QString::number(currentMode) << endl; currentModeShown = currentMode; currentBand = 1; currentBandShown = currentBand; @@ -290,11 +290,11 @@ void MainWindow::init() myPower = 0.0; UDPServerStart = false; // By default the UDP server is started - //qDebug() << "MainWindow::init: 0007" << endl; + //qDebug() << "MainWindow::MainWindow: 0007" << endl; currentEntity = -1; // To optimize the calls to different world methods if the entity does not change. Used in slotQRZTextChanged previousEntity = -1;// To optimize the calls to different world methods if the entity does not change. - //realTime=true; - //UTCTime=true; + realTime=true; + UTCTime=true; keepMyData=true; completeWithPrevious=false; completedWithPreviousQTH=false; @@ -321,15 +321,15 @@ void MainWindow::init() dxClusterShowWCY=true; keepSatPage = false; - //qDebug() << "MainWindow::init: 0008" << endl; + //qDebug() << "MainWindow::MainWindow: 0008" << endl; clublogActive = false; clublogRealTime = false; callingUpdate = false; // to control whether the update is mannually launched or at the begining - //previousQrz = ""; + previousQrz = ""; setModifying(false); selectedYear = (dateTime->currentDateTime()).date().year(); loggWinAct->setShortcut(Qt::CTRL + Qt::Key_L); - + dateEdit->setDisplayFormat("dd/MM/yyyy"); palRed.setColor(QPalette::Text, Qt::red); palBlack.setColor(QPalette::Text, Qt::black); @@ -347,7 +347,9 @@ void MainWindow::init() rxFreqSpinBox->setSuffix(" " + tr("MHz")); // Check date & time and set them in the UI at the begining - //dateTime->currentDateTime(); + dateTime->currentDateTime(); + dateEdit->setDate((dateTime->currentDateTime()).date()); + timeEdit->setTime((dateTime->currentDateTime()).time()); clublogAnswer = -1; @@ -362,20 +364,19 @@ void MainWindow::init() { world->create(ctyDatFile); } - //qDebug() << "MainWindow::init: 0013" << endl; + readConfigData(); - //qDebug() << "MainWindow::init: 0014" << endl; + logWindow->createlogPanel(currentLog); - //qDebug() << "MainWindow::init: 0015" << endl; awards->setManageModes(manageMode); - //qDebug() << "MainWindow::init: 0016" << endl; + if (dataProxy->getNumberOfManagedLogs()<1) { - //qDebug() << "MainWindow::init: 16.1" << endl; + //qDebug() << "MainWindow::MainWindow: 16.1" << endl; openSetup(6); - //qDebug() << "MainWindow::init: 16.2" << endl; + //qDebug() << "MainWindow::MainWindow: 16.2" << endl; } - //qDebug() << "MainWindow::init: 17" << endl; + //qDebug() << "MainWindow::MainWindow: 17" << endl; checkIfNewBandOrMode(); awardsWidget->fillOperatingYears(); @@ -384,7 +385,7 @@ void MainWindow::init() dxClusterWidget->setCurrentLog(currentLog); - //qDebug() << "MainWindow::Init: calling Software update..." << endl; + //qDebug() << "MainWindow::Init: calling Software update..." << endl; if (checkNewVersions) {//reportInfo if (reportInfo) @@ -394,27 +395,21 @@ void MainWindow::init() softUpdate->needToUpdate(); } - currentBandShown = dataProxy->getIdFromBandName(mainQSOEntryWidget->getBand()); - currentModeShown = dataProxy->getIdFromModeName(mainQSOEntryWidget->getMode()); + currentBandShown = dataProxy->getIdFromBandName(bandComboBox->currentText()); + currentModeShown = dataProxy->getIdFromModeName(modeComboBox->currentText()); currentBand = currentBandShown; currentMode = currentModeShown; -// timer->start(1000); + timer->start(1000); timerInfoBars = new QTimer(this); - - - //qDebug() << "MainWindow::init: Calling createUI" << endl; createUI(); - //qDebug() << "MainWindow::init: Calling slotClearButtonClicked" << endl; + slotClearButtonClicked(); infoWidget->showInfo(-1); - - //lotwTQSLpath = util->getTQSLsPath() + util->getTQSLsFileName(); upAndRunning = true; - mainQSOEntryWidget->setUpAndRunning(upAndRunning); hamlib->readRadio(); - //qDebug() << "MainWindow::init: END" << endl; + //qDebug() << "MainWindow::init: END" << endl; } @@ -424,9 +419,9 @@ void MainWindow::createActionsCommon(){ //connect(qslViaLineEdit, SIGNAL(returnPressed()), this, SLOT(slotQRZReturnPressed() ) ); logEvent(Q_FUNC_INFO, "Start", logSeverity); // Return pressed = QSO ENTRY - //connect(qrzLineEdit, SIGNAL(returnPressed()), this, SLOT(slotQRZReturnPressed() ) ); - //connect(SRXLineEdit, SIGNAL(returnPressed()), this, SLOT(slotQRZReturnPressed() ) ); - //connect(STXLineEdit, SIGNAL(returnPressed()), this, SLOT(slotQRZReturnPressed() ) ); + connect(qrzLineEdit, SIGNAL(returnPressed()), this, SLOT(slotQRZReturnPressed() ) ); + connect(SRXLineEdit, SIGNAL(returnPressed()), this, SLOT(slotQRZReturnPressed() ) ); + connect(STXLineEdit, SIGNAL(returnPressed()), this, SLOT(slotQRZReturnPressed() ) ); connect(rstTXLineEdit, SIGNAL(returnPressed()), this, SLOT(slotQRZReturnPressed() ) ); connect(rstRXLineEdit, SIGNAL(returnPressed()), this, SLOT(slotQRZReturnPressed() ) ); connect(operatorLineEdit, SIGNAL(returnPressed()), this, SLOT(slotQRZReturnPressed() ) ); @@ -444,35 +439,36 @@ void MainWindow::createActionsCommon(){ connect(txFreqSpinBox, SIGNAL(valueChanged(double)), this, SLOT(slotFreqTXChanged()) ) ; connect(rxFreqSpinBox, SIGNAL(valueChanged(double)), this, SLOT(slotFreqRXChanged()) ) ; - connect(loggWinAct, SIGNAL(triggered()), this, SLOT(slotLogWinShow())); - //connect(bandComboBox, SIGNAL(returnPressed()), this, SLOT(slotQRZReturnPressed() ) ); - //connect(dateEdit, SIGNAL(returnPressed()), this, SLOT(slotQRZReturnPressed() ) ); - //connect(timeEdit, SIGNAL(returnPressed()), this, SLOT(slotQRZReturnPressed() ) ); +//connect(bandComboBox, SIGNAL(returnPressed()), this, SLOT(slotQRZReturnPressed() ) ); +//connect(dateEdit, SIGNAL(returnPressed()), this, SLOT(slotQRZReturnPressed() ) ); +//connect(timeEdit, SIGNAL(returnPressed()), this, SLOT(slotQRZReturnPressed() ) ); - //Actions to pass the focus between QRZ / SRX - - //connect(rstTXLineEdit, SIGNAL(textChanged(QString)), this, SLOT(slotrstTXTextChanged() ) ); - //connect(rstRXLineEdit, SIGNAL(textChanged(QString)), this, SLOT(slotrstRXTextChanged() ) ); +//Actions to pass the focus between QRZ / SRX + connect(qrzLineEdit, SIGNAL(textChanged(QString)), this, SLOT(slotQRZTextChanged() ) ); + connect(SRXLineEdit, SIGNAL(textChanged(QString)), this, SLOT(slotSRXTextChanged() ) ); + connect(STXLineEdit, SIGNAL(textChanged(QString)), this, SLOT(slotSTXTextChanged() ) ); + connect(rstTXLineEdit, SIGNAL(textChanged(QString)), this, SLOT(slotrstTXTextChanged() ) ); + connect(rstRXLineEdit, SIGNAL(textChanged(QString)), this, SLOT(slotrstRXTextChanged() ) ); //connect(qslViaLineEdit, SIGNAL(textChanged(QString)), this, SLOT(slotQSLViaTextChanged() ) ); - //Buttons Actions + connect(bandComboBox, SIGNAL(currentIndexChanged ( int)), this, SLOT(slotBandComboBoxChanged() ) ) ; + connect(modeComboBox, SIGNAL(currentIndexChanged ( int)), this, SLOT(slotModeComboBoxChanged() ) ) ; - connect(mainQSOEntryWidget, SIGNAL(currentQRZSignal(QString)), this, SLOT(slotQRZTextChanged(QString))); - connect(mainQSOEntryWidget, SIGNAL(debugLog(QString, QString, int)), this, SLOT(slotCaptureDebugLogs(QString, QString, int)) ); - connect(mainQSOEntryWidget, SIGNAL(showInfoLabel(QString)), this, SLOT(slotShowInfoLabel(QString)) ); - connect(mainQSOEntryWidget, SIGNAL(clearForNextQSOSignal()), this, SLOT(slotClearButtonClicked()) ); - connect(mainQSOEntryWidget, SIGNAL(OKClicked()), this, SLOT(slotQRZReturnPressed() ) ); - connect(mainQSOEntryWidget, SIGNAL(bandChanged(QString)), this, SLOT(slotBandChanged(QString) ) ); - connect(mainQSOEntryWidget, SIGNAL(modeChanged(QString)), this, SLOT(slotModeChanged(QString) ) ); + +//Buttons Actions + connect(OKButton, SIGNAL(clicked()), this, SLOT(slotOKButtonClicked() ) ); + //connect(spotItButton, SIGNAL(clicked()), this, SLOT(slotSpotItButtonClicked() ) ); + connect(clearButton, SIGNAL(clicked()), this, SLOT(slotClearButtonClicked() ) ); // LOGVIEW connect(logWindow, SIGNAL(actionQSODoubleClicked ( int ) ), this, SLOT(slotDoubleClickLog( const int ) ) ); connect(logWindow, SIGNAL(updateAwards() ), this, SLOT(slotShowAwards() ) ); connect(logWindow, SIGNAL(updateSearchText()), this, SLOT(slotSearchBoxTextChanged() ) ); //When a QSO is deleted - connect(logWindow, SIGNAL(queryError(QString, QString, int, QString)), this, SLOT(slotQueryErrorManagement(QString, QString, int, QString)) ); + connect(logWindow, SIGNAL(queryError(QString, QString, int, QString)), this, SLOT(slotQueryErrorManagement(QString, QString, int, QString)) ); + //CLUSTER //void clusterSpotToLog(const QStringList _qs); @@ -511,8 +507,6 @@ void MainWindow::createActionsCommon(){ //connect(dxccStatusWidget, SIGNAL(updateAwards()), this, SLOT(slotShowAwards() ) ); connect(filemanager, SIGNAL(queryError(QString, QString, int, QString)), this, SLOT(slotQueryErrorManagement(QString, QString, int, QString)) ); - connect(filemanager, SIGNAL(addQSOToList(QStringList)), this, SLOT(slotReceiveQSOListToShowFromFile(QStringList)) ); - //connect(scoreeWinAct, SIGNAL(triggered()), this, SLOT(slotScoreWinShow())); // UDPLogServer - WSJT-x @@ -523,20 +517,18 @@ void MainWindow::createActionsCommon(){ connect(this, SIGNAL(queryError(QString, QString, int, QString)), this, SLOT(slotQueryErrorManagement(QString, QString, int, QString)) ); connect(setupDialog, SIGNAL(debugLog(QString, QString, int)), this, SLOT(slotCaptureDebugLogs(QString, QString, int)) ); connect(setupDialog, SIGNAL(queryError(QString, QString, int, QString)), this, SLOT(slotQueryErrorManagement(QString, QString, int, QString)) ); - connect(setupDialog, SIGNAL(exitSignal(int)), this, SLOT(slotExitFromSlotDialog(int)) ); + connect( setupDialog, SIGNAL(exitSignal(int)), this, SLOT(slotExitFromSlotDialog(int)) ); connect(tipsDialog, SIGNAL(debugLog(QString, QString, int)), this, SLOT(slotCaptureDebugLogs(QString, QString, int)) ); connect(tipsDialog, SIGNAL(findQSL2QSOSignal()), this, SLOT(slotSearchToolNeededQSLToSend()) ); connect(tipsDialog, SIGNAL(fillInDXCCSignal()), this, SLOT(slotFillEmptyDXCCInTheLog()) ); connect(tipsDialog, SIGNAL(fillInQSOSignal()), this, SLOT(fillQSOData()) ); connect(tipsDialog, SIGNAL(fileExportToPrintSignal()), this, SLOT(slotRQSLExport()) ); - //connect(tipsDialog, SIGNAL(fileExportForLoTWSignal()), this, SLOT(slotLoTWExport())); + connect(tipsDialog, SIGNAL(fileExportForLoTWSignal()), this, SLOT(slotLoTWExport())); connect(tipsDialog, SIGNAL(fileOpenKLogFolderSignal()), this, SLOT(slotOpenKLogFolder())); connect(tipsDialog, SIGNAL(toolSendPendingQSLSignal()), this, SLOT(slotToolSearchRequestedQSLToSend())); connect(tipsDialog, SIGNAL(toolRecPendingQSLSignal()), this, SLOT(slotToolSearchNeededQSLPendingToReceive())); connect(tipsDialog, SIGNAL(toolRecRecPendingQSLSignal()), this, SLOT(slotToolSearchNeededQSLRequested())); - connect(tipsDialog, SIGNAL(toolsUploadLoTWSignal()), this, SLOT(slotLoTWExport())); - connect(satTabWidget, SIGNAL(newBandsToBeAdded(QStringList)), this, SLOT(slotDefineNewBands(QStringList)) ); connect(satTabWidget, SIGNAL(satRxFreqChanged(double)), this, SLOT(slotSatChangeRXFreq(double)) ); connect(satTabWidget, SIGNAL(satTxFreqChanged(double)), this, SLOT(slotSatChangeTXFreq(double)) ); @@ -546,19 +538,14 @@ void MainWindow::createActionsCommon(){ connect(satTabWidget, SIGNAL(satRXFreqNeeded(double)), this, SLOT(slotSatRXFreqNeeded(double))); connect(satTabWidget, SIGNAL(returnPressed()), this, SLOT(slotQRZReturnPressed()) ); - connect(downloadcty, SIGNAL(done(bool)), this, SLOT(slotWorldReload(bool)) ); + connect(downloadcty, SIGNAL(done()), this, SLOT(slotWorldReload()) ); - //connect(timer, SIGNAL(timeout()), this, SLOT(slotUpdateTime()) ); + connect(timer, SIGNAL(timeout()), this, SLOT(slotUpdateTime()) ); connect(timerInfoBars, SIGNAL(timeout()), this, SLOT(slotTimeOutInfoBars()) ); connect(hamlib, SIGNAL(freqChanged(double)), this, SLOT(slotHamlibTXFreqChanged(double)) ); connect(hamlib, SIGNAL(modeChanged(QString)), this, SLOT(slotHamlibModeChanged(QString)) ); - connect(lotwUtilities, SIGNAL(actionProcessLoTWDownloadedFile(QString)), this, SLOT(slotLoTWDownloadedFileProcess(QString)) ); - - connect(adifLoTWExportWidget, SIGNAL(selection(QString, QDate, QDate, ExportMode)), this, SLOT(slotADIFExportSelection(QString, QDate, QDate, ExportMode)) ); - - logEvent(Q_FUNC_INFO, "END", logSeverity); } @@ -661,28 +648,85 @@ void MainWindow::slotWorldMapShow() void MainWindow::createUI() { - //qDebug() << "MainWindow::createUI" << endl; + //qDebug() << "MainWindow::createUI" << endl; logEvent(Q_FUNC_INFO, "Start", logSeverity); createStatusBar(); setWindowTitle(tr("KLog")); createUIDX(); createActionsCommon(); createMenusCommon(); + setWidgetsOrder(); + logEvent(Q_FUNC_INFO, "END", logSeverity); - //qDebug() << "MainWindow::createUI-END" << endl; + //qDebug() << "MainWindow::createUI-END" << endl; } void MainWindow::slotTimeOutInfoBars() { logEvent(Q_FUNC_INFO, "Start", logSeverity); - slotShowInfoLabel(infoLabel1T); - //slotShowInfoLabel(infoLabel2T); - //infoLabel1->setText(infoLabel1T); + infoLabel1->setText(infoLabel1T); infoLabel2->setText(infoLabel2T); logEvent(Q_FUNC_INFO, "END", logSeverity); } +void MainWindow::slotModeComboBoxChanged() +{ + logEvent(Q_FUNC_INFO, "Start", logSeverity); + if (!upAndRunning) + { + return; + } + //qDebug() << "MainWindow::slotModeComboBoxChanged: " << QString::number(modeComboBox->currentIndex()) << endl; + //qDebug() << "MainWindow::slotModeComboBoxChanged: " << modeComboBox->currentText() << endl; +/* + int i; + i = dataProxy->getSubModeIdFromSubMode(modeComboBox->currentText()); + if (i>=0) + { + //qDebug() << "MainWindow::MainWindow: 5 - currentMode: " << QString::number(currentMode) << endl; + currentMode = i; + //qDebug() << "MainWindow::MainWindow: 6 - currentMode: " << QString::number(currentMode) << endl; + } + //qDebug() << "MainWindow::slotModeComboBoxChanged: i: " << QString::number(i) << endl; +*/ + + //qDebug() << "MainWindow::slotModeComboBoxChanged: currentMode: " << QString::number(currentMode) << endl; + + //qDebug() << "MainWindow::slotModeComboBoxChanged: " << QString::number(modeComboBox->currentIndex()) << "/" << QString::number(currentMode) << endl; + //qDebug() << "MainWindow::slotModeComboBoxChanged: currentBandShown: " << QString::number(currentBandShown) << endl; + currentBandShown = dataProxy->getIdFromBandName(bandComboBox->currentText()); + //qDebug() << "MainWindow::slotModeComboBoxChanged: currentBandShown2: " << QString::number(currentBandShown) << endl; + currentModeShown = dataProxy->getIdFromModeName(modeComboBox->currentText()); + //qDebug() << "MainWindow::slotModeComboBoxChanged: currentBand: " << QString::number(currentBand) << endl; + currentBand = currentBandShown; + //qDebug() << "MainWindow::slotModeComboBoxChanged: currentBand2: " << QString::number(currentBand) << endl; + //qDebug() << "MainWindow::MainWindow: 7 - currentMode: " << QString::number(currentMode) << endl; + currentMode = currentModeShown; + //qDebug() << "MainWindow::MainWindow: 8 - currentMode: " << QString::number(currentMode) << endl; + //qDebug() << "MainWindow::MainWindow: 8.1 - currentBand: " << QString::number(currentBand) << endl; + //qDebug() << "MainWindow::MainWindow: 8.2 - currentModeShown: " << QString::number(currentModeShown) << endl; + //qDebug() << "MainWindow::MainWindow: 8.3 - currentBandShown: " << QString::number(currentBandShown) << endl; + + //checkIfWorkedB4(currentQrz); + + QStringList _qs; //for the showStatusOfDXCC(const QStringList _qs) + _qs.clear(); + //qDebug() << "MainWindow:: - calling showStatusOfDXCC-01 " << endl; + _qs << QString::number(currentEntity) << QString::number(currentBandShown) << QString::number(currentModeShown) << QString::number(currentLog); + showStatusOfDXCC(_qs); + setRSTToMode(modeComboBox->currentText()); + + QString _modeSeen = modeComboBox->currentText(); + if (_modeSeen == "SSB") + { + setModeFromFreq(); + } + + + logEvent(Q_FUNC_INFO, "END", logSeverity); + //qDebug() << "MainWindow::slotModeComboBoxChanged2: " << modeComboBox->currentText() << endl; +} void MainWindow::setModeFromFreq() { @@ -700,111 +744,116 @@ void MainWindow::setModeFromFreq() if (!hamlibChangingMode) { - hamlib->setMode(mainQSOEntryWidget->getMode()); + hamlib->setMode(modeComboBox->currentText()); } } } -void MainWindow::slotBandChanged (const QString &_b) -{ - //qDebug() << "MainWindow::slotBandChanged: " << _b << endl; + +void MainWindow::slotBandComboBoxChanged(){ + //qDebug() << "MainWindow::slotBandComboBoxChanged: " << QString::number(bandComboBox->currentIndex()) << "/" << bandComboBox->currentText()<< endl; logEvent(Q_FUNC_INFO, "Start", logSeverity); if (!upAndRunning) { return; } - +/* + int i; + i = dataProxy->getIdFromBandName(bandComboBox->currentText()); + if (i>=0) + { + currentBand = i; + //txFreqSpinBox->setValue(dataProxy->getFreqFromBandId(i)); + } +*/ if (txFreqBeingChanged || updatingBands) { - //qDebug() << "MainWindow::slotBandChanged: txFreqBeingChanged" << endl; + //qDebug() << "MainWindow::slotBandComboBoxChanged: txFreqBeingChanged" << endl; logEvent(Q_FUNC_INFO, "END-1", logSeverity); return; } - bool isFRinBand = dataProxy->isThisFreqInBand(_b, QString::number(txFreqSpinBox->value())); + bool isFRinBand = dataProxy->isThisFreqInBand(bandComboBox->currentText(), QString::number(txFreqSpinBox->value())); if ((isFRinBand) && (txFreqSpinBox->value() >0 )) - { // No change in txFreq - //qDebug() << "MainWindow::slotBandChanged: idFRinBand and Freq >0" << endl; + { + //qDebug() << "MainWindow::slotBandComboBoxChanged: idFRinBand and Freq >0" << endl; logEvent(Q_FUNC_INFO, "END-2", logSeverity); return; } - currentBandShown = dataProxy->getIdFromBandName(_b); - currentModeShown = dataProxy->getIdFromModeName(mainQSOEntryWidget->getMode()); + //qDebug() << "MainWindow::slotBandComboBoxChanged: " << QString::number(bandComboBox->currentIndex()) << "/" << QString::number(currentBand) << endl; + //qDebug() << "MainWindow::slotBandComboBoxChanged: currentBandShown: " << QString::number(currentBandShown) << endl; + currentBandShown = dataProxy->getIdFromBandName(bandComboBox->currentText()); + //qDebug() << "MainWindow::slotBandComboBoxChanged: currentBandShown2: " << QString::number(currentBandShown) << endl; + currentModeShown = dataProxy->getIdFromModeName(modeComboBox->currentText()); + //qDebug() << "MainWindow::slotBandComboBoxChanged: currentBand: " << QString::number(currentBand) << endl; currentBand = currentBandShown; + //qDebug() << "MainWindow::slotBandComboBoxChanged: currentBand2: " << QString::number(currentBand) << endl; + //qDebug() << "MainWindow::MainWindow: 9 - currentMode: " << QString::number(currentMode) << endl; currentMode = currentModeShown; - //qDebug() << "MainWindow::slotBandChanged: Checking to update Freq" << endl; + //qDebug() << "MainWindow::MainWindow: 9 - currentMode: " << QString::number(currentMode) << endl; + //qDebug() << "MainWindow::MainWindow: 9.1 - currentMode: " << QString::number(currentMode) << endl; + //qDebug() << "MainWindow::MainWindow: 9.2 - currentBand: " << QString::number(currentBand) << endl; + //qDebug() << "MainWindow::MainWindow: 9.3 - currentModeShown: " << QString::number(currentModeShown) << endl; + //qDebug() << "MainWindow::MainWindow: 9.4 - currentBandShown: " << QString::number(currentBandShown) << endl; + //qDebug() << "MainWindow::MainWindow: Going to update the UpLink with: " << bandComboBox->currentText() << endl; + //satTabWidget->setUpLink(bandComboBox->currentText()); + //qDebug() << "MainWindow::slotBandComboBoxChanged Freq in txFreqSpinBox" << QString::number(txFreqSpinBox->value()) << endl; + //qDebug() << "MainWindow::slotBandComboBoxChanged: Band Shown: " << dataProxy->getNameFromBandId(currentBandShown) << endl; + // bool isFRinBand = dataProxy->isThisFreqInBand((dataProxy->getNameFromBandId(currentBandShown)), QString::number(txFreqSpinBox->value())); + //qDebug() << "MainWindow::MainWindow: Freq: " << QString::number(txFreqSpinBox->value()) << endl; if ((!isFRinBand) || (txFreqSpinBox->value()<=0)) - { - //qDebug() << "MainWindow::slotBandChanged: Freq is not in band or empty" << endl; - double txFr = (dataProxy->getFreqFromBandId(currentBandShown)).toDouble(); + { + double txFr = (dataProxy->getFreqFromBandId(currentBandShown)).toDouble(); + //satTabWidget->setUpLinkFreq(txFr); + //qDebug() << "MainWindow::slotBandComboBoxChanged updating txFreqSpinBox" << QString::number(txFr) << endl; txFreqSpinBox->setValue(txFr); - //qDebug() << "MainWindow::slotBandChanged: Ne Freq: " << QString::number(txFr) << endl; - if (!dataProxy->isThisFreqInBand(_b, QString::number(rxFreqSpinBox->value()))) - { - rxFreqSpinBox->setValue(txFreqSpinBox->value()); - } } - //qDebug() << "MainWindow::slotBandChanged: Checking to update Freq - DONE" << endl; + //qDebug() << "MainWindow::MainWindow: Freq2: " << QString::number(txFreqSpinBox->value()) << endl; + //currentModeShown = modeComboBox->currentIndex(); + //checkIfWorkedB4(currentQrz); QStringList _qs; //for the showStatusOfDXCC(const QStringList _qs) _qs.clear(); _qs << QString::number(currentEntity) << QString::number(currentBandShown) << QString::number(currentModeShown) << QString::number(currentLog); - //qDebug() << "MainWindow:: - calling showStatusOfDXCC-02 " << endl; + //qDebug() << "MainWindow:: - calling showStatusOfDXCC-02 " << endl; showStatusOfDXCC(_qs); logEvent(Q_FUNC_INFO, "END", logSeverity); - //qDebug() << "MainWindow::slotBandChanged: END" << endl; -} - -void MainWindow::slotModeChanged (const QString &_m) -{ - logEvent(Q_FUNC_INFO, "Start", logSeverity); - if (!upAndRunning) - { - return; - } - //qDebug() << "MainWindow::slotModeChanged: " << _m << endl; - - currentBandShown = dataProxy->getIdFromBandName(mainQSOEntryWidget->getBand()); - //qDebug() << "MainWindow::slotModeComboBoxChanged: currentBandShown2: " << QString::number(currentBandShown) << endl; - currentModeShown = dataProxy->getIdFromModeName(_m); - currentBand = currentBandShown; - currentMode = currentModeShown; - - QStringList _qs; //for the showStatusOfDXCC(const QStringList _qs) - _qs.clear(); - //qDebug() << "MainWindow:: - calling showStatusOfDXCC-01 " << endl; - _qs << QString::number(currentEntity) << QString::number(currentBandShown) << QString::number(currentModeShown) << QString::number(currentLog); - showStatusOfDXCC(_qs); - setRSTToMode(mainQSOEntryWidget->getMode()); - - QString _modeSeen = mainQSOEntryWidget->getMode(); - if (_modeSeen == "SSB") - { - setModeFromFreq(); - } - - logEvent(Q_FUNC_INFO, "END", logSeverity); - //qDebug() << "MainWindow::slotModeComboBoxChanged2: " << mainQSOEntryWidget->getMode() << endl; + //qDebug() << "MainWindow::slotBandComboBoxChanged: END" << endl; } void MainWindow::slotQRZReturnPressed() { logEvent(Q_FUNC_INFO, "Start", logSeverity); - //qDebug() << "MainWindow::slotQRZReturnPressed: " << endl; - if (mainQSOEntryWidget->getQrz().length()<=0) - { - //qDebug() << "MainWindow::slotQRZReturnPressed: no QRZ" << endl; - return; - } + //qDebug() << "MainWindow::slotQRZReturnPressed: " << qrzLineEdit->text() << " - " << QString::number(bandComboBox->currentIndex()) << "/" << QString::number(modeComboBox->currentIndex()) << endl; + //int newId = -1; readingTheUI = true; int errorCode = 0; + QString aux; + //int _x; //for clublog management + + //bool ret = false; + QString tqrz = qrzLineEdit->text(); + + slotBandComboBoxChanged(); + slotModeComboBoxChanged(); // Just to prepare or some tasks before reading DATA from UI + /* + if (contestMode == "CQ-WW-SSB") + { + if ((SRXLineEdit->text()).toInt() < 1 ){ + return; + } + } + else + { + } + */ QSqlQuery query; QString queryString = readDataFromUI(); @@ -819,9 +868,8 @@ void MainWindow::slotQRZReturnPressed() //qDebug() << "MainWindow::slotQRZReturnPressed: Query ERROR: (queryString): " << queryString << endl; errorCode = query.lastError().number(); QMessageBox msgBox; - msgBox.setWindowTitle(tr("KLog - Unexpected error")); msgBox.setIcon(QMessageBox::Warning); - QString aux = tr("An unexpected error ocurred when trying to add the QSO to your log. If the problem persists, please contact the developer for analysis: "); + aux = tr("An unexpected error ocurred when trying to add the QSO to your log. If the problem persists, please contact the developer for analysis: "); msgBox.setText(aux + "MW-1#" + QString::number(errorCode)); msgBox.setStandardButtons(QMessageBox::Ok); msgBox.setDefaultButton(QMessageBox::Ok); @@ -844,13 +892,12 @@ void MainWindow::slotQRZReturnPressed() //ret = true; //qDebug() << "MainWindow::slotQRZReturnPressed: QSO Added! " << endl; actionsJustAfterAddingOneQSO(); - slotClearButtonClicked(); + clearForNextQSO(); } } - else // The QUERY string is NULL + else // The QUERY string is NULL { logEvent(Q_FUNC_INFO, "END-2", logSeverity); - //qDebug() << "MainWindow::slotQRZReturnPressed: QUERY string is NULL " << endl; readingTheUI = false; return; @@ -858,20 +905,21 @@ void MainWindow::slotQRZReturnPressed() setModifying(false); modifyingQSO = -1; - yearChangedDuringModification = false; + yearChangedDuringModification = false; + OKButton->setText(tr("&Add")); readingTheUI = false; logEvent(Q_FUNC_INFO, "END", logSeverity); } void MainWindow::actionsJustAfterAddingOneQSO() { - //qDebug() << "MainWindow::actionsJustAfterAddingOneQSO" << endl; + //qDebug() << "MainWindow::actionsJustAfterAddingOneQSO" << endl; logEvent(Q_FUNC_INFO, "Start", logSeverity); int lastId = -1; needToSave = true; if (modify) { - //qDebug() << "MainWindow::actionsJustAfterAddingOneQSO: Modifying! " << endl; + //qDebug() << "MainWindow::actionsJustAfterAddingOneQSO: Modifying! " << endl; needToSave = true; if(modifyingQSO>0) { @@ -884,7 +932,7 @@ void MainWindow::actionsJustAfterAddingOneQSO() if ((clublogActive) & (clublogRealTime)) { - //qDebug() << "MainWindow::actionsJustAfterAddingOneQSO: (Modifiying ClubLog) Lastid: "<< QString::number(lastId) << endl; + //qDebug() << "MainWindow::actionsJustAfterAddingOneQSO: (Modifiying ClubLog) Lastid: "<< QString::number(lastId) << endl; // Delete QSO in CLubLog elogClublog->deleteQSO(clublogPrevQSO); // Add modified QSO in ClubLog @@ -892,7 +940,7 @@ void MainWindow::actionsJustAfterAddingOneQSO() } else { - //qDebug() << "MainWindow::actionsJustAfterAddingOneQSO: (No ClubLog) Lastid: "<< QString::number(lastId) << endl; + //qDebug() << "MainWindow::actionsJustAfterAddingOneQSO: (No ClubLog) Lastid: "<< QString::number(lastId) << endl; } awards->setAwards(modifyingQSO); //Update the DXCC award status } @@ -902,31 +950,31 @@ void MainWindow::actionsJustAfterAddingOneQSO() } else { - //qDebug() << "MainWindow::actionsJustAfterAddingOneQSO: Not Modifying " << endl; + //qDebug() << "MainWindow::actionsJustAfterAddingOneQSO: Not Modifying " << endl; lastId = dataProxy->getLastQSOid(); if (lastId>=0) { - //qDebug() << "MainWindow::actionsJustAfterAddingOneQSO: Lastid: "<< QString::number(lastId) << endl; + //qDebug() << "MainWindow::actionsJustAfterAddingOneQSO: Lastid: "<< QString::number(lastId) << endl; awards->setAwards(lastId); //Update the DXCC award status // Send to CLUBLOG if enabled - if ((clublogActive) && (clublogRealTime)) + if ((clublogActive) & (clublogRealTime)) { - //qDebug() << "MainWindow::actionsJustAfterAddingOneQSO: (Sending ClubLog) Lastid: "<< QString::number(lastId) << endl; + //qDebug() << "MainWindow::actionsJustAfterAddingOneQSO: (Sending ClubLog) Lastid: "<< QString::number(lastId) << endl; elogClublog->sendQSO(dataProxy->getClubLogRealTimeFromId(lastId)); } else { - //qDebug() << "MainWindow::actionsJustAfterAddingOneQSO: (No ClubLog) Lastid: "<< QString::number(lastId) << endl; + //qDebug() << "MainWindow::actionsJustAfterAddingOneQSO: (No ClubLog) Lastid: "<< QString::number(lastId) << endl; } // } else { - //qDebug() << "MainWindow::actionsJustAfterAddingOneQSO: Lastid < 0 "<< QString::number(lastId) << endl; + //qDebug() << "MainWindow::actionsJustAfterAddingOneQSO: Lastid < 0 "<< QString::number(lastId) << endl; } //awards->setAwards(lastId); } @@ -934,15 +982,22 @@ void MainWindow::actionsJustAfterAddingOneQSO() logWindow->refresh(); dxccStatusWidget->refresh(); logEvent(Q_FUNC_INFO, "END", logSeverity); - //qDebug() << "MainWindow::actionsJustAfterAddingOneQSO - END" << endl; + //qDebug() << "MainWindow::actionsJustAfterAddingOneQSO - END" << endl; } QString MainWindow::readDataFromUI() { - //qDebug() << "MainWindow::readDataFromUI: " << endl; + //qDebug() << "MainWindow::readDataFromUI: " << endl; logEvent(Q_FUNC_INFO, "Start", logSeverity); + QString tqrz = (qrzLineEdit->text()).toUpper(); + if (!util->isValidCall(tqrz)) + { + logEvent(Q_FUNC_INFO, "END-1", logSeverity); + return "NULL"; + } + if (modify) { logEvent(Q_FUNC_INFO, "END-2", logSeverity); @@ -953,7 +1008,35 @@ QString MainWindow::readDataFromUI() logEvent(Q_FUNC_INFO, "END-3", logSeverity); return readDataFromUIDX(); } + /* + if (contestMode == "DX") + { + if (modify) + { + return readDataFromUIDXModifying(); + } + else + { + return readDataFromUIDX(); + } + } + else if (contestMode == "CQ-WW-SSB") + { + } + else + { + if (modify) + { + return readDataFromUIDXModifying(); + } + else + { + return readDataFromUIDX(); + } + } + */ + //return "NULL"; //logEvent(Q_FUNC_INFO, "END", logSeverity); } @@ -962,60 +1045,38 @@ QString MainWindow::readDataFromUIDX() /* If you make any change here, please update also readDataFromUIDXModifying to keep data integrity! */ - //qDebug() << "MainWindow::readDataFromUIDX:" << endl; + //qDebug() << "MainWindow::readDataFromUIDX:" << endl; logEvent(Q_FUNC_INFO, "Start", logSeverity); - QString tqrz = (mainQSOEntryWidget->getQrz()).toUpper(); + QString tqrz = (qrzLineEdit->text()).toUpper(); if (!util->isValidCall(tqrz)) { - QMessageBox msgBox; - msgBox.setIcon(QMessageBox::Question); - msgBox.setWindowTitle(tr("KLog - Not valid call")); - QString aux = QString(tr("The call %1 is not a valid call. Do you really want to add this call to the log?") ).arg(tqrz); - msgBox.setText(aux); - msgBox.setInformativeText(tr("Adding non-valid calls to the log may create problems when applying for awards, exporting ADIF files to other systems or applications.")); - msgBox.setStandardButtons(QMessageBox::Yes|QMessageBox::No); - msgBox.setDefaultButton(QMessageBox::No); - int ret = msgBox.exec(); - switch (ret) - { - case QMessageBox::Yes: - // Ok was clicked - break; - case QMessageBox::No: - return "NULL"; - default: - // should never be reached - break; - } + logEvent(Q_FUNC_INFO, "END-1", logSeverity); + return "NULL"; } QString stringQuery = "NULL"; QString aux1, aux2, stringFields, stringData; //QString aux, aux2; - //qDebug() << "MainWindow::readDataFromUIDX: Band: " << QString::number(currentBand) << endl; - //qDebug() << "MainWindow::readDataFromUIDX: Mode: " << QString::number(currentMode) << endl; - int tband = dataProxy->getIdFromBandName(mainQSOEntryWidget->getBand()); - int tmode = dataProxy->getIdFromModeName(mainQSOEntryWidget->getMode()); + //qDebug() << "MainWindow::readDataFromUIDX: Band: " << QString::number(currentBand) << endl; + //qDebug() << "MainWindow::readDataFromUIDX: Mode: " << QString::number(currentMode) << endl; + int tband = currentBand; + int tmode = currentMode; - //int tmode = currentMode; - - QString tdate = (mainQSOEntryWidget->getDate()).toString("yyyy/MM/dd"); - QString ttime = (mainQSOEntryWidget->getTime()).toString("hh:mm:ss"); + QString tdate = (dateEdit->date()).toString("yyyy/MM/dd"); + QString ttime = (timeEdit->time()).toString("hh:mm:ss"); QString trsttx = rstTXLineEdit->text(); - //qDebug() << "MainWindow::readDataFromUIDX - RSTtx: " << trsttx << endl; + //qDebug() << "MainWindow::readDataFromUIDX - RSTtx: " << trsttx << endl; QString trstrx = rstRXLineEdit->text(); int dxcc = world->getQRZARRLId(tqrz); //int dxcc2 = getDXCCFromComboBox(); int dxcc2 = world->getQRZARRLId(othersTabWidget->getEntityPrefix()); - //qDebug() << "MainWindow::readDataFromUIDX - DXCC: " << QString::number(dxcc) << endl; - //qDebug() << "MainWindow::readDataFromUIDX - DXCC2: " << QString::number(dxcc2) << endl; + //qDebug() << "MainWindow::readDataFromUIDX - DXCC: " << QString::number(dxcc) << endl; + //qDebug() << "MainWindow::readDataFromUIDX - DXCC2: " << QString::number(dxcc2) << endl; dxcc = util->getNormalizedDXCCValue(dxcc); dxcc2 = util->getNormalizedDXCCValue(dxcc2); - //qDebug() << "MainWindow::readDataFromUIDX - DXCC: " << QString::number(dxcc) << endl; - //qDebug() << "MainWindow::readDataFromUIDX - DXCC2: " << QString::number(dxcc2) << endl; if (dxcc!=dxcc2) { @@ -1034,7 +1095,6 @@ If you make any change here, please update also readDataFromUIDXModifying to kee int ret; QMessageBox msgBox; - msgBox.setWindowTitle(tr("KLog - Select correct entity")); msgBox.setText( tr("You have selected an entity:") + "\n\n"+"- "+dxccn2+"\n\n"+tr("that is different from the KLog proposed entity:") + "\n\n"+ "- "+dxccn1+"\n\n" +tr("Click on the prefix of the correct entity or Cancel to edit the QSO again.")); @@ -1081,34 +1141,31 @@ If you make any change here, please update also readDataFromUIDXModifying to kee stringData = stringData + ", '" + aux1 + "'"; } - //qDebug() << "MainWindow::readDataFromUIDX: Reading freq...: " << QString::number(txFreqSpinBox->value()) << endl; + //qDebug() << "MainWindow::readDataFromUIDX: Reading freq...: " << QString::number(txFreqSpinBox->value()) << endl; if ( (txFreqSpinBox->value()) > 0 ) { aux1 = QString::number(txFreqSpinBox->value()); - //qDebug() << "MainWindow::readDataFromUIDX: Reading freq...: " << aux1 << "/" << tband << endl; + //qDebug() << "MainWindow::readDataFromUIDX: Reading freq...: " << aux1 << "/" << tband << endl; if (dataProxy->isThisFreqInBand(dataProxy->getNameFromBandId(tband), aux1) ) { stringFields = stringFields + ", freq"; stringData = stringData + ", '" + aux1 + "'"; - //qDebug() << "MainWindow::readDataFromUIDX: FREQ & BAND OK" << endl; + //qDebug() << "MainWindow::readDataFromUIDX: FREQ & BAND OK" << endl; } else { - //qDebug() << "MainWindow::readDataFromUIDX: FREQ & BAND NOK" << endl; + //qDebug() << "MainWindow::readDataFromUIDX: FREQ & BAND NOK" << endl; } } if ( (rxFreqSpinBox->value()) > 0 ) { - //qDebug() << "MainWindow::readDataFromUIDX: TX FREQ & RX FREQ ARE DIFFERENT AND != 0" << endl; - aux1 = QString::number(rxFreqSpinBox->value()); - stringFields = stringFields + ", freq_rx, band_rx"; - stringData = stringData + ", '" + aux1 + "', '" + QString::number(dataProxy->getBandIdFromFreq(rxFreqSpinBox->value())) + "'"; - //stringData = stringData + ", '" + aux1 + ", " + QString::number(dataProxy->getBandIdFromFreq(rxFreqSpinBox->value())) + "'"; + aux1 = QString::number(rxFreqSpinBox->value()); + stringFields = stringFields + ", freq_rx"; + stringData = stringData + ", '" + aux1 + "'"; } - aux1 = qthLineEdit->text(); if (aux1.length()>2) { @@ -1134,7 +1191,8 @@ If you make any change here, please update also readDataFromUIDXModifying to kee stringData = stringData + ", '" + aux1 + "'"; } - aux1 = myDataTabWidget->getMyLocator(); + aux1 = myDataTabWidget->getMyLocator(); + //aux1 = myLocatorLineEdit->text(); if (aux1.length()>2) { @@ -1142,7 +1200,6 @@ If you make any change here, please update also readDataFromUIDXModifying to kee stringFields = stringFields + ", my_gridsquare"; stringData = stringData + ", '" + aux1 + "'"; } - aux1 = commentTabWidget->getComment(); //aux1 = commentLineEdit->text(); if (aux1.length()>0) @@ -1204,50 +1261,50 @@ If you make any change here, please update also readDataFromUIDXModifying to kee } aux1 = othersTabWidget->getIOTA(); - //qDebug() << "MainWindow::readDataFromUIDX: IOTA: " << aux1 << endl; + //qDebug() << "MainWindow::readDataFromUIDX: IOTA: " << aux1 << endl; if (aux1.length() == 6) // EU-001 { - //qDebug() << "MainWindow::readDataFromUIDX: IOTA to be saved" << endl; + //qDebug() << "MainWindow::readDataFromUIDX: IOTA to be saved" << endl; stringFields = stringFields + ", iota"; stringData = stringData + ", '" + aux1 + "'"; } else { - //qDebug() << "MainWindow::readDataFromUIDX: IOTA NOT to be saved! Lenght="<0) { stringFields = stringFields + ", sat_name"; stringData = stringData + ", '" + aux1 + "'"; } + // aux1 = satTabWidget->getSatMode(); aux1 = satTabWidget->getSatMode(); // We are assuming that the SAT_MODE is always well provided. If it is blank, then no SAT QSO + //stringFields = stringFields + ", sat_mode"; + //stringData = stringData + ", '" + aux1 + "'"; + if (aux1.length()>0) { stringFields = stringFields + ", sat_mode"; stringData = stringData + ", '" + aux1 + "'"; } - - - keepSatPage = satTabWidget->getRepeatThis(); aux1 = othersTabWidget->getPropModeFromComboBox(); - //qDebug() << "MainWindow::readDataFromUIDX: PropMode: " << aux1 << endl; if ((aux1.length()>0) && (aux1 != "Not")) { stringFields = stringFields + ", prop_mode"; stringData = stringData + ", '" + aux1 + "'"; } - - //CLUBLOG aux1 = eQSLTabWidget->getClubLogStatus(); //Y, N, M @@ -1416,6 +1473,7 @@ If you make any change here, please update also readDataFromUIDXModifying to kee stringData = stringData + ", 'N'"; } + //QSLTABWidget // QSL SENT: Y/N/R/Q/I @@ -1423,7 +1481,7 @@ If you make any change here, please update also readDataFromUIDXModifying to kee aux1 = QSLTabWidget->getQSLSenStatus(); aux2 = QSLTabWidget->getSentVia(); - //qDebug() << "MainWindow::readDataFromUIDX: aux1: " << aux1 << " / aux2: " << aux2 << endl; + //qDebug() << "MainWindow::readDataFromUIDX: aux1: " << aux1 << " / aux2: " << aux2 << endl; //TODO: the aux2 switch is repeated and could be improved @@ -1680,9 +1738,11 @@ If you make any change here, please update also readDataFromUIDXModifying to kee return stringQuery; } + + QString MainWindow::readDataFromUIDXModifying() { - //qDebug() << "MainWindow::readDataFromUIDXModifying:" << endl; + //qDebug() << "MainWindow::readDataFromUIDXModifying:" << endl; logEvent(Q_FUNC_INFO, "Start", logSeverity); /* @@ -1690,53 +1750,29 @@ UPDATE table_name SET column1 = value1, column2 = value2...., columnN = valueN WHERE [condition]; */ - QString tqrz = (mainQSOEntryWidget->getQrz()).toUpper(); + QString tqrz = (qrzLineEdit->text()).toUpper(); if (!util->isValidCall(tqrz)) { - QMessageBox msgBox; - msgBox.setIcon(QMessageBox::Question); - msgBox.setWindowTitle(tr("KLog - Not valid call")); - QString aux = QString(tr("The call %1 is not a valid call. Do you really want to add this call to the log?") ).arg(tqrz); - msgBox.setText(aux); - msgBox.setInformativeText(tr("Adding non-valid calls to the log may create problems when applying for awards, exporting ADIF files to other systems or applications.")); - msgBox.setStandardButtons(QMessageBox::Yes|QMessageBox::No); - msgBox.setDefaultButton(QMessageBox::No); - int ret = msgBox.exec(); - switch (ret) - { - case QMessageBox::Yes: - // Ok was clicked - break; - case QMessageBox::No: - return "NULL"; - default: - // should never be reached - break; - } - logEvent(Q_FUNC_INFO, "END-1", logSeverity); - + return "NULL"; } - //qDebug() << "MainWindow::readDataFromUIDXModifying: " << tqrz << endl; QString stringQuery = "NULL"; QString aux1, aux2; + //QString aux, aux2; + int tband = currentBand; + int tmode = currentMode; - - int tband = dataProxy->getIdFromBandName(mainQSOEntryWidget->getBand()); - int tmode = dataProxy->getIdFromModeName(mainQSOEntryWidget->getMode()); - QString tdate = (mainQSOEntryWidget->getDate()).toString("yyyy/MM/dd"); + QString tdate = (dateEdit->date()).toString("yyyy/MM/dd"); QString tdateTemp = (dateTimeTemp->date()).toString("yyyy/MM/dd"); - QString ttime = (mainQSOEntryWidget->getTime()).toString("hh:mm:ss"); - if (tdate != tdateTemp) { yearChangedDuringModification = true; } -// QString ttime = (mainQSOEntryWidget->getTime()).toString("hh:mm:ss"); + QString ttime = (timeEdit->time()).toString("hh:mm:ss"); QString trsttx = rstTXLineEdit->text(); QString trstrx = rstRXLineEdit->text(); @@ -1750,54 +1786,29 @@ WHERE [condition]; //int dxcc2 = getDXCCFromComboBox(); int dxcc2 = world->getQRZARRLId(othersTabWidget->getEntityPrefix()); - //qDebug() << "MainWindow::readDataFromUIDXModifying - DXCC: " << QString::number(dxcc) << endl; - //qDebug() << "MainWindow::readDataFromUIDXModifying- DXCC2: " << QString::number(dxcc2) << endl; + //qDebug() << "MainWindow::readDataFromUIDXModifying - DXCC: " << QString::number(dxcc) << endl; + //qDebug() << "MainWindow::readDataFromUIDXModifying- DXCC2: " << QString::number(dxcc2) << endl; dxcc = util->getNormalizedDXCCValue(dxcc); dxcc2 = util->getNormalizedDXCCValue(dxcc2); - //qDebug() << "MainWindow::readDataFromUIDXModifying - DXCC: " << QString::number(dxcc) << endl; - //qDebug() << "MainWindow::readDataFromUIDXModifying- DXCC2: " << QString::number(dxcc2) << endl; - if (dxcc!=dxcc2) + if (dxcc!=dxcc2) + { - QString dxccPref1, dxccPref2; QString dxccn1 = world->getEntityName(dxcc); - if (dxccn1.length()>0) - { - dxccPref1 = world->getEntityMainPrefix(dxcc); - dxccn1 = dxccn1 + " - " + dxccPref1; - } - else - { - dxccn1 = tr("No DXCC"); - dxccPref1 = tr("None"); - } - + dxccn1 = dxccn1 + " - " + world->getEntityMainPrefix(dxcc); QString dxccn2 = world->getEntityName(dxcc2); - if (dxccn2.length()>0) - { - dxccPref2 = world->getEntityMainPrefix(dxcc2); - dxccn2 = dxccn2 + " - " + dxccPref2; - } - else - { - dxccn2 = tr("No DXCC"); - dxccPref2 = tr("None"); - } - - + dxccn2 = dxccn2 + " - " + world->getEntityMainPrefix(dxcc2); QPushButton *button2 = new QPushButton(this); QPushButton *button1 = new QPushButton(this); - button1->setText(dxccPref1); - button2->setText(dxccPref2); + button1->setText(world->getEntityMainPrefix(dxcc)); + button2->setText(world->getEntityMainPrefix(dxcc2)); int ret; QMessageBox msgBox; - msgBox.setIcon(QMessageBox::Warning); - msgBox.setWindowTitle(tr("KLog - Select correct entity")); msgBox.setText( tr("You have selected an entity:") + "\n\n"+"- "+dxccn2+"\n\n"+tr("that is different from the KLog proposed entity:") + "\n\n- "+dxccn1+"\n\n" +tr("Click on the prefix of the right entity or Cancel to correct.")); @@ -1809,16 +1820,10 @@ WHERE [condition]; if (ret == QMessageBox::AcceptRole) { dxcc = dxcc2; - //qDebug() << "MainWindow::readDataFromUIDXModifying - Button 2: " << QString::number(dxcc2) << endl; - } - else if (ret == QMessageBox::ActionRole) - { - //qDebug() << "MainWindow::readDataFromUIDXModifying - Button 1: " << endl; } else if (ret == QMessageBox::Cancel) { logEvent(Q_FUNC_INFO, "END-2", logSeverity); - //qDebug() << "MainWindow::readDataFromUIDXModifying - Button 2: " << QString::number(dxcc2) << endl; return "NULL"; } else @@ -1838,10 +1843,6 @@ WHERE [condition]; updateString = updateString + "cont = '"; updateString = updateString + aux1 + "', "; } - else - { - updateString = updateString + "cont = '', "; - } aux1 = nameLineEdit->text(); if (aux1.length()>1) @@ -1849,20 +1850,13 @@ WHERE [condition]; updateString = updateString + "name = '"; updateString = updateString + aux1 + "', "; } - else - { - updateString = updateString + "name = '', "; - } aux1 = (locatorLineEdit->text()).toUpper(); if ( locator->isValidLocator(aux1) ) { updateString = updateString + "gridsquare = '"; updateString = updateString + aux1 + "', "; - } - else - { - updateString = updateString + "gridsquare = '', "; + } if ( (txFreqSpinBox->value()) > 0 ) @@ -1872,17 +1866,15 @@ WHERE [condition]; if (dataProxy->isThisFreqInBand(dataProxy->getNameFromBandId(tband), aux1) ) //if (db->isThisFreqInBand(db->getBandNameFromID2(tband), aux1) ) { + updateString = updateString + "freq = '"; updateString = updateString + aux1 + "', "; + } else { - updateString = updateString + "freq = '0', "; } - } - else - { - updateString = updateString + "freq = '0', "; + } if ( (rxFreqSpinBox->value()) > 0 ) @@ -1890,14 +1882,6 @@ WHERE [condition]; aux1 = QString::number(rxFreqSpinBox->value()); updateString = updateString + "freq_rx = '"; updateString = updateString + aux1 + "', "; - - updateString = updateString + "band_rx = '"; - updateString = updateString + QString::number(dataProxy->getBandIdFromFreq(rxFreqSpinBox->value())) + "', "; - } - else - { - updateString = updateString + "freq_rx = '0', "; - updateString = updateString + "band_rx = '', "; } aux1 = qthLineEdit->text(); @@ -1906,53 +1890,42 @@ WHERE [condition]; updateString = updateString + "qth = '"; updateString = updateString + aux1 + "', "; } - else - { - updateString = updateString + "qth = '', "; - } - aux1 = myDataTabWidget->getOperator(); //aux1 = operatorLineEdit->text(); - if (util->isValidCall(aux1)) + if (aux1.length()>2) { updateString = updateString + "operator = '"; updateString = updateString + aux1 + "', "; } - else - { - updateString = updateString + "operator = '', "; - } aux1 = myDataTabWidget->getStationQRZ(); //aux1 = (stationCallSignLineEdit->text()).toUpper(); - if (util->isValidCall(aux1)) + if (aux1.length()>2) { updateString = updateString + "station_callsign = '"; updateString = updateString + aux1 + "', "; } - else - { - updateString = updateString + "station_callsign = '', "; - } - aux1 = (myDataTabWidget->getMyLocator()).toUpper(); - - if (locator->isValidLocator(aux1)) + aux1 = myDataTabWidget->getMyLocator(); + //aux1 = myLocatorLineEdit->text(); + if (aux1.length()>2) { updateString = updateString + "my_gridsquare = '"; updateString = updateString + aux1 + "', "; } - else - { - updateString = updateString + "my_gridsquare = '', "; - } aux1 = commentTabWidget->getComment(); updateString = updateString + "comment = '"; updateString = updateString + aux1 + "', "; //aux1 = commentLineEdit->text(); - + /* + if (aux1.length()>0) + { + updateString = updateString + "comment = '"; + updateString = updateString + aux1 + "', "; + } + */ aux1 = QSLTabWidget->getQSLMsg(); //aux1 = qslmsgTextEdit->toPlainText(); @@ -1961,48 +1934,29 @@ WHERE [condition]; updateString = updateString + "qslmsg = '"; updateString = updateString + aux1 + "', "; } - else - { - updateString = updateString + "qslmsg = '', "; - } aux1 = QString::number(dxcc); - - //qDebug() << "MainWindow::readDataFromUIDXModifying: DXCC=" << aux1 << endl; - if (dataProxy->isValidDXCC(dxcc)) + //qDebug() << "MainWindow::readDataFromUIDXModifying: DXCC=" << aux1 << endl; + if (aux1.length()>0) { updateString = updateString + "dxcc = '"; updateString = updateString + aux1 + "', "; - //qDebug() << "MainWindow::readDataFromUIDXModifying: Saving DXCC=" << aux1 << endl; - } - else - { - updateString = updateString + "dxcc = '', "; + //qDebug() << "MainWindow::readDataFromUIDXModifying: Saving DXCC=" << aux1 << endl; } - - if ((cqz>0) && (cqz<41)) + aux1 = QString::number(cqz); + if (aux1.length()>0) { - aux1 = QString::number(cqz); updateString = updateString + "cqz = '"; updateString = updateString + aux1 + "', "; } - else - { - updateString = updateString + "cqz = '', "; - } - - if ((ituz>0) && (ituz<91)) + aux1 = QString::number(ituz); + if (aux1.length()>0) { - aux1 = QString::number(ituz); updateString = updateString + "ituz = '"; updateString = updateString + aux1 + "', "; } - else - { - updateString = updateString + "ituz = '', "; - } aux1 = QSLTabWidget->getQSLVia(); //aux1 = qslViaLineEdit->text(); @@ -2011,52 +1965,37 @@ WHERE [condition]; updateString = updateString + "qsl_via = '"; updateString = updateString + aux1 + "', "; } - else - { - updateString = updateString + "qsl_via = '', "; - } //aux1 = QString::number(myPowerSpinBox->value()); - - if (myDataTabWidget->getMyPower()>0.0) + aux1 = QString::number(myDataTabWidget->getMyPower()); + if ((aux1.toDouble())>0.0) { - aux1 = QString::number(myDataTabWidget->getMyPower()); updateString = updateString + "tx_pwr = '"; updateString = updateString + aux1 + "', "; } - else - { - updateString = updateString + "tx_pwr = '', "; - } - - if (rxPowerSpinBox->value()>0.0) + aux1 = QString::number(rxPowerSpinBox->value()); + if ((aux1.toDouble())>0.0) { - aux1 = QString::number(rxPowerSpinBox->value()); updateString = updateString + "rx_pwr = '"; updateString = updateString + aux1 + "', "; } - else - { - updateString = updateString + "rx_pwr = '', "; - } aux1 = othersTabWidget->getIOTA(); - //qDebug() << "MainWindow::readDataFromUIDX: Modifyng IOTA: " << aux1 << endl; + //qDebug() << "MainWindow::readDataFromUIDX: Modifyng IOTA: " << aux1 << endl; if (aux1.length() == 6) // EU-001 { - //qDebug() << "MainWindow::readDataFromUIDX: Modifyng IOTA to be saved! " << endl; + //qDebug() << "MainWindow::readDataFromUIDX: Modifyng IOTA to be saved! " << endl; updateString = updateString + "iota = '"; updateString = updateString + aux1 + "', "; } else { - updateString = updateString + "iota = '', "; - //qDebug() << "MainWindow::readDataFromUIDX: Modifyng IOTA NOT to be saved! Lenght="<getSatMode(); // We are assuming that the SAT_MODE is always well provided. If it is blank, then no SAT QSO if (aux1.length()>0) @@ -2076,30 +2011,25 @@ WHERE [condition]; updateString = updateString + "sat_mode = '"; updateString = updateString + aux1 + "', "; } - else - { - updateString = updateString + "sat_mode = '', "; - } aux1 = othersTabWidget->getPropModeFromComboBox(); //aux1 = getPropModeFromComboBox(); - //qDebug() << "MainWindow::readDataFromUIDX: PropMode: " << aux1 << endl; + //qDebug() << "MainWindow::readDataFromUIDX: PropMode: " << aux1 << endl; if ((aux1.length()>0) && (aux1 != "Not")) { - //qDebug() << "MainWindow::readDataFromUIDX: PropMode(1): " << aux1 << endl; + //qDebug() << "MainWindow::readDataFromUIDX: PropMode(1): " << aux1 << endl; updateString = updateString + "prop_mode = '"; updateString = updateString + aux1 + "', "; } else if ((aux1.length()==0) || (aux1 == "Not")) { - //qDebug() << "MainWindow::readDataFromUIDX: PropMode(2): " << aux1 << endl; + //qDebug() << "MainWindow::readDataFromUIDX: PropMode(2): " << aux1 << endl; updateString = updateString + "prop_mode = '',"; //updateString = updateString + aux1 + "', "; } else { - updateString = updateString + "prop_mode = '', "; - //qDebug() << "MainWindow::readDataFromUIDX: PropMode(3): " << aux1 << endl; + //qDebug() << "MainWindow::readDataFromUIDX: PropMode(3): " << aux1 << endl; } //CLUBLOG @@ -2240,7 +2170,7 @@ WHERE [condition]; //int ii = qslSentViaComboBox->currentIndex(); aux1 = QSLTabWidget->getQSLSenStatus(); aux2 = QSLTabWidget->getSentVia(); - //qDebug() << "MainWindow::readDataFromUIDXModifying: aux1: " << aux1 << " / aux2: " << aux2 << endl; + //qDebug() << "MainWindow::readDataFromUIDXModifying: aux1: " << aux1 << " / aux2: " << aux2 << endl; if (aux1 == "Y") { @@ -2461,13 +2391,208 @@ WHERE [condition]; // updateString = "UPDATE log SET call = '" + tqrz + "', bandid = '" + QString::number(tband) + "', modeid = '" + QString::number(tmode) + "', qso_date = '" + tdate + "', time_on = '" + ttime + "', lognumber = '" + QString::number(currentLog) + "', " + updateString; stringQuery = updateString + " WHERE id = " + "'" + QString::number(modifyingQSO) + "'"; - //qDebug() << "MainWindow::readDataFromUIDXModifying: queryCreated: " << stringQuery << endl; + //qDebug() << "MainWindow::readDataFromUIDXModifying: queryCreated: " << stringQuery << endl; logEvent(Q_FUNC_INFO, "END", logSeverity); return stringQuery; } + +/* +void MainWindow::createSearchResultsPanel() +{ + + searchBoxClearButton->setToolTip(tr("Clear the searches")); + searchBoxExportButton->setToolTip(tr("Export the search result to an ADIF file")); + searchBoxSelectAllButton->setToolTip(tr("Select/Unselect all the QSO of the box")); + searchBoxReSearchButton->setToolTip(tr("Search in the log")); + searchAllRadioButton->setToolTip(tr("Search in all logs")); + + searchBoxLineEdit->setToolTip(tr("Enter the QRZ to search")); + searchResultsTreeWidget->setToolTip(tr("Search results")); + + QStringList labels; + if (stationCallSignShownInSearch) + { + labels << tr("QRZ") << tr("Date/Time") << tr("Band") << tr("Mode") << tr("QSL Sent") << tr("QSL Rcvd") << tr("Station Callsign") << tr("Id") ; + searchResultsTreeWidget->setColumnCount(8); + } + else + { + labels << tr("QRZ") << tr("Date/Time") << tr("Band") << tr("Mode") << tr("QSL Sent") << tr("QSL Rcvd") << tr("Id") ; + searchResultsTreeWidget->setColumnCount(7); + } + + + searchResultsTreeWidget->setHeaderLabels(labels); + //QTreeWidgetItem *item = new QTreeWidgetItem(searchResultsTreeWidget); + (searchResultsTreeWidget->header())->resizeSections(QHeaderView::ResizeToContents); + + + searchResultsTreeWidget->clear(); + //searchResultsTreeWidget->collapseAll(); + searchResultsTreeWidget->setSortingEnabled(true); + //searchResultsTreeWidget->setItemsExpandable(false); + + + switch (contestMode) { + + case CQ_WW_SSB: + break; + case CQ_WW_CW: + break; + default: + + + break; + } + +} + + +*/ + +/* +void MainWindow::createScorePanel() +{ + logEvent(Q_FUNC_INFO, "Start", logSeverity); + QVBoxLayout *scoreLayout = new QVBoxLayout; + scoreLayout->addWidget(scoreTextEdit); + scoreTextEdit->setPlainText("Test TEXT"); + scoreWindow->setLayout(scoreLayout); + logEvent(Q_FUNC_INFO, "END", logSeverity); +} +*/ + +void MainWindow::createUICQWW() +{ + //qDebug() << "MainWindow::createUICQWW" << endl; + logEvent(Q_FUNC_INFO, "Start", logSeverity); +/* + QSqlQuery query("SELECT name FROM band"); + while (query.next()) { + bands << query.value(0).toString(); + } + QSqlQuery query1("SELECT name FROM mode"); + while (query1.next()) { + modes << query1.value(0).toString(); + } + +*/ + //bands << "10M" << "15M" << "20M" << "40M" << "80M" << "160M"; + //modes << "SSB" << "CW" << "RTTY"; + bandComboBox->clear(); + bandComboBox->addItems(bands); + //qDebug() << "MainWindow::createUICQWW - 1-" << QString::number(modes.count()) << endl; + modeComboBox->addItems(modes); + + qrzLineEdit->setToolTip(tr("QRZ of the QSO.")); + rstTXLineEdit->setToolTip(tr("TX RST.")); + rstRXLineEdit->setToolTip(tr("RX RST.")); + STXLineEdit->setToolTip(tr("TX Exchange.")); + SRXLineEdit->setToolTip(tr("RX Exchange.")); + bandComboBox->setToolTip(tr("Band of the QSO.")); + modeComboBox->setToolTip(tr("Mode of the QSO.")); + dateEdit->setToolTip(tr("Date of the QSO.")); + timeEdit->setToolTip(tr("Time of the QSO.")); + //statusBar->setToolTip(tr("Misc information")); + //qsoStatusBar->setToolTip(tr("QSO information")); + OKButton->setToolTip(tr("Add the QSO to the log.")); + //spotItButton->setToolTip(tr("Spots this QSO to the DX Cluster")); + clearButton->setToolTip(tr("Clear the box.")); + + gridGroupBox = new QGroupBox(tr("Input")); + QGridLayout *layout = new QGridLayout; + + //slotUpdateStatusBar(tr("Ready")); + //updateQSOStatusBar(tr("Ready")); + setRSTToMode(modeComboBox->currentText()); + //rstTXLineEdit->setInputMask("#990"); + //rstRXLineEdit->setInputMask("#990"); + //rstTXLineEdit->setText("59"); + //rstRXLineEdit->setText("59"); + //rstTXLineEdit->setMaxLength(3); + //rstRXLineEdit->setMaxLength(3); + + QGroupBox *RSTrxgroupBox = new QGroupBox(tr("RSTrx")); + RSTrxgroupBox->setFlat(true); + QVBoxLayout *RSTrxvbox = new QVBoxLayout; + RSTrxvbox->addWidget(rstRXLineEdit); + RSTrxvbox->addStretch(1); + RSTrxgroupBox->setLayout(RSTrxvbox); + + QGroupBox *RSTtxgroupBox = new QGroupBox(tr("RSTtx")); + RSTtxgroupBox->setFlat(true); + QVBoxLayout *RSTtxvbox = new QVBoxLayout; + RSTtxvbox->addWidget(rstTXLineEdit); + RSTtxvbox->addStretch(1); + RSTtxgroupBox->setLayout(RSTtxvbox); + + + //QGroupBox *qrzgroupBox = new QGroupBox(tr("QRZ")); + qrzgroupBox = new QGroupBox(tr("QRZ")); + qrzgroupBox->setFlat(true); + QVBoxLayout *qrzvbox = new QVBoxLayout; + qrzvbox->addWidget(qrzLineEdit); + qrzvbox->addStretch(1); + qrzgroupBox->setLayout(qrzvbox); + + QGroupBox *stxgroupBox = new QGroupBox(tr("STX")); + stxgroupBox->setFlat(true); + QVBoxLayout *stxvbox = new QVBoxLayout; + stxvbox->addWidget(STXLineEdit); + stxvbox->addStretch(1); + stxgroupBox->setLayout(stxvbox); + + QGroupBox *srxgroupBox = new QGroupBox(tr("SRX")); + srxgroupBox->setFlat(true); + QVBoxLayout *srxvbox = new QVBoxLayout; + srxvbox->addWidget(SRXLineEdit); + srxvbox->addStretch(1); + srxgroupBox->setLayout(srxvbox); + + QHBoxLayout *RSTLayout = new QHBoxLayout; + RSTLayout->addWidget(RSTtxgroupBox); + RSTLayout->addWidget(RSTrxgroupBox); + RSTLayout->addWidget(stxgroupBox); + RSTLayout->addWidget(srxgroupBox); + + QHBoxLayout *TimeLayout = new QHBoxLayout; + TimeLayout->addWidget(dateEdit); + TimeLayout->addWidget(timeEdit); + + QHBoxLayout *BandModeLayout = new QHBoxLayout; + BandModeLayout->addWidget(bandComboBox); + BandModeLayout->addWidget(modeComboBox); + + //QHBoxLayout *statusBarLayout = new QHBoxLayout; + //statusBarLayout->addWidget(statusBar); + //statusBarLayout->addWidget(qsoStatusBar); + + QHBoxLayout *buttonsLayout = new QHBoxLayout; + buttonsLayout->addWidget(OKButton); + //buttonsLayout->addWidget(spotItButton); + buttonsLayout->addWidget(clearButton); + + QDateTimeEdit *dateEdit = new QDateTimeEdit(QDate::currentDate()); + dateEdit->setDisplayFormat("yyyy/MM/dd"); + timeEdit->setDisplayFormat("HH:mm:ss"); + + layout->addWidget(qrzgroupBox, 1, 0); + layout->addLayout(RSTLayout, 1, 1); + layout->addLayout(TimeLayout, 2, 0); + layout->addLayout(BandModeLayout, 2, 1); + layout->addLayout(buttonsLayout,3, 1); + //layout->addLayout(statusBarLayout, 4, 0, 2 , -1); + + gridGroupBox->setLayout(layout); + gridGroupBox->resize(gridGroupBox->minimumSize()); + mainWidget->setLayout(layout); + logEvent(Q_FUNC_INFO, "END", logSeverity); + + } + void MainWindow::slotOKButtonClicked(){ - //qDebug() << "MainWindow::slotOKButtonClicked: " << endl; + //qDebug() << "MainWindow::slotOKButtonClicked: " << endl; slotQRZReturnPressed(); } @@ -2489,7 +2614,7 @@ void MainWindow::slotQSODelete(const int _id) void MainWindow::slotShowSearchWidget() { //dxUpRightTab->addTab(searchWidget, tr("Search")); - //qDebug() << "MainWindow::slotShowSearchWidget: " << QString::number(dxUpRightTab->indexOf(searchWidget)) << endl; + //qDebug() << "MainWindow::slotShowSearchWidget: " << QString::number(dxUpRightTab->indexOf(searchWidget)) << endl; logEvent(Q_FUNC_INFO, "Start", logSeverity); dxUpRightTab->setCurrentIndex(dxUpRightTab->indexOf(searchWidget)); logEvent(Q_FUNC_INFO, "END", logSeverity); @@ -2504,7 +2629,7 @@ void MainWindow::slotLogRefresh() void MainWindow::slotElogClubLogDisable(const bool _b) { - //qDebug() << "MainWindow::slotElogClubLogDisable: " << endl; + //qDebug() << "MainWindow::slotElogClubLogDisable: " << endl; logEvent(Q_FUNC_INFO, "Start", logSeverity); if (_b) { @@ -2525,7 +2650,7 @@ void MainWindow::slotElogClubLogDisable(const bool _b) void MainWindow::slotElogClubLogShowMessage(const QString &_s) { - //qDebug() << "MainWindow::slotElogClubLogShowMessage: " << _s << endl; + //qDebug() << "MainWindow::slotElogClubLogShowMessage: " << _s << endl; logEvent(Q_FUNC_INFO, "Start", logSeverity); slotUpdateStatusBar(_s); logEvent(Q_FUNC_INFO, "END", logSeverity); @@ -2533,7 +2658,7 @@ void MainWindow::slotElogClubLogShowMessage(const QString &_s) void MainWindow::slotElogClubLogProcessAnswer(const int _i, const int _qID) { - //qDebug() << "MainWindow::slotElogClubLogProcessAnswer: " <getQRZARRLId(currentQrz); + int tband = 1 + bandComboBox->currentIndex(); + + //int tmode = 1 + modeComboBox->currentIndex(); + + if (contestMode == "DX") + {} + else if (contestMode == "CQ-WW-SSB") + { + //qDebug() << "MainWindow::checkContest: CQ-WW-SSB:" << QString::number(currentEntity) << "/" << SRXLineEdit->text() << "/" << QString::number(tband) << endl; + if ( currentEntity < 1) { + return false; + } + + //Multiplier: qs << DX-Entity << DXCQz << DX-band; + + + qs << QString::number(currentEntity) << SRXLineEdit->text() << QString::number(tband); + + + if (contest->isMultiplier(qs)){ + qrzgroupBox->setTitle(tr("NEW MULT")); + //qsoStatus = tr("MULT"); + aux = " + (M + "; + qsoMultiplier = 1; + }else{ + //qsoStatus = tr("NO MULT"); + aux.clear(); + + qsoMultiplier = 0; + } + + // Points: //_qs << DX-Entity << DX-Continent + qs.clear(); + + qs << QString::number(currentEntity) << QString::number(world->getContinentNumber(currentEntity)); + + qsoPoints = contest->getQSOPoints(qs); + if (aux == " + (M + ") + { + qsoStatus = "Total: " + QString::number(contest->getTotalScore()) + aux + QString::number(qsoPoints) + " points)"; // qsoStatus + " / " + QString::number(qsoPoints) + tr(" points"); + } + else + { + qsoStatus = "Total: " + QString::number(contest->getTotalScore()) + " ( " + QString::number(qsoPoints) + " points)"; // qsoStatus + " / " + QString::number(qsoPoints) + tr(" points"); + } + + + //qDebug() << "MainWindow::checkContest Points: " << QString::number(contest->getQSOPoints(qs)) << endl; + //qDebug() << "MainWindow::checkContest Continent: " << world->getQRZContinentNumber(qrzLineEdit->text()) << endl; + + } + else + {} + + slotUpdateStatusBar(qsoStatus); + //statusBar()->showMessage(qsoStatus); + //updateQSOStatusBar(qsoStatus); + logEvent(Q_FUNC_INFO, "END", logSeverity); + return false; +} +*/ +/* +void MainWindow::slotQSLViaTextChanged() +{ + //qDebug() << "MainWindow::slotQSLViaTextChanged: " << qslViaLineEdit->text() << " / Length: " << QString::number((qslViaLineEdit->text()).size()) << endl; + qslViaLineEdit->setText((qslViaLineEdit->text()).toUpper()); +} +*/ + bool MainWindow::validCharactersInCall(const QString &_qrz) { logEvent(Q_FUNC_INFO, "Start", logSeverity); @@ -2612,44 +2814,82 @@ bool MainWindow::validCharactersInCall(const QString &_qrz) logEvent(Q_FUNC_INFO, "END", logSeverity); return true; } -*/ -void MainWindow::slotQRZTextChanged(QString _qrz) +void MainWindow::slotQRZTextChanged() { - //qDebug()<< "MainWindow::slotQRZTextChanged: " << endl; + //qDebug()<< "MainWindow::slotQRZTextChanged: " << qrzLineEdit->text() << " / Length: " << QString::number((qrzLineEdit->text()).size()) << "###### START ######" << endl; logEvent(Q_FUNC_INFO, "Start", logSeverity); - if (_qrz.length()<1) + if ((qrzLineEdit->text()).length()<1) { - infoLabel1->clear(); - infoLabel2->clear(); - slotClearButtonClicked(); logEvent(Q_FUNC_INFO, "END-1", logSeverity); return; - } - //qDebug()<< "MainWindow::slotQRZTextChanged: cursor position: " << endl; - + } + int cursorP = qrzLineEdit->cursorPosition(); + //qDebug()<< "MainWindow::slotQRZTextChanged: cursor position: " << QString::number(cursorP) << endl; + qrzLineEdit->setText((qrzLineEdit->text()).toUpper()); if (cleaning) { - //qDebug()<< "MainWindow::slotQRZTextChanged: Cleaning" << endl; + //qDebug()<< "MainWindow::slotQRZTextChanged: Cleaning" << endl; logEvent(Q_FUNC_INFO, "END-2", logSeverity); return; } - //qrzAutoChanging = true; + if (qrzAutoChanging) + { + //qDebug()<< "MainWindow::slotQRZTextChanged: qrzAutoChanging" << endl; + qrzAutoChanging = false; + logEvent(Q_FUNC_INFO, "END-3", logSeverity); + return; + } - //qDebug()<< "MainWindow::slotQRZTextChanged: cursor position.1: " << endl; + qrzAutoChanging = true; - //qDebug()<< "MainWindow::slotQRZTextChanged: checking for modify or length<1" << endl; - if (qrzSmallModDontCalculate) + //qDebug()<< "MainWindow::slotQRZTextChanged: cursor position.1: " << QString::number(cursorP) << endl; + + if ( (qrzLineEdit->text()).endsWith(' ') ) + {/*Remove the space and moves the focus to SRX to write the RX exchange*/ + previousQrz = (qrzLineEdit->text()).simplified(); + qrzLineEdit->setText(previousQrz); + SRXLineEdit->setFocus(); + //qDebug()<< "MainWindow::slotQRZTextChanged: Space detected" << endl; + } + + //qDebug()<< "MainWindow::slotQRZTextChanged: Simplifiying & Capitalizing" << endl; + qrzLineEdit->setText(((qrzLineEdit->text())).simplified()); + qrzLineEdit->setText((qrzLineEdit->text()).remove(" ")); + //qrzLineEdit->setText((qrzLineEdit->text()).toUpper()); + + //qDebug()<< "MainWindow::slotQRZTextChanged: checking for invalid chars" << endl; + if (!validCharactersInCall(qrzLineEdit->text())) + { + infoLabel1->setText(tr("Invalid characters used in the QRZ")); + InValidCharsInPrevCall = true; + logEvent(Q_FUNC_INFO, "END-4", logSeverity); + return; + } + + //qDebug()<< "MainWindow::slotQRZTextChanged: checking for length" << endl; + if (((qrzLineEdit->text()).length() < 1)) + { // If QRZ box is blank, Information labels should be cleared. + infoLabel1->clear(); + infoLabel2->clear(); + //slotClearButtonClicked(); + clearForNextQSO(); + logEvent(Q_FUNC_INFO, "END-5", logSeverity); + return; + } + + //qDebug()<< "MainWindow::slotQRZTextChanged: checking for modify or length<1" << endl; + if (((qrzLineEdit->text()).length() < 1) || (qrzSmallModDontCalculate)) //if ((modify) || ((qrzLineEdit->text()).length() < 1) || (qrzSmallModDontCalculate)) { - //qDebug() << "MainWindow::slotQRZTextChanged: MODIFY or Lenght < 1" << endl; + //qDebug() << "MainWindow::slotQRZTextChanged: MODIFY or Lenght < 1" << endl; qrzSmallModDontCalculate=false; logEvent(Q_FUNC_INFO, "END-6", logSeverity); return; } - //qDebug()<< "MainWindow::slotQRZTextChanged: running..." << endl; + //qDebug()<< "MainWindow::slotQRZTextChanged: running..." << endl; qrzSmallModDontCalculate = true; // A kind of flag to prevent multiple calls to this method. //int i; int dx_CQz = -1; @@ -2657,25 +2897,56 @@ void MainWindow::slotQRZTextChanged(QString _qrz) int dx_ITUz = -1; int dxE_ITUz = -1; - //currentQrz = _qrz; + currentQrz = qrzLineEdit->text(); - //qDebug() << "MainWindow::slotQRZTextChanged: currentQRZ: " << endl; - currentEntity = world->getQRZARRLId(_qrz); + if ((currentQrz).count('\\')){ // Replaces \ by / to ease operation. + currentQrz.replace(QChar('\\'), QChar('/')); + qrzLineEdit->setText(currentQrz); + } + + currentQrz = qrzLineEdit->text(); + //qDebug()<< "MainWindow::slotQRZTextChanged: cursor position.3: " << QString::number(cursorP) << endl; + if (cursorP>currentQrz.length()) + {// A Space that has been removed without updating the cursor + //qDebug()<< "MainWindow::slotQRZTextChanged: cursorP > currentQRZ.length" << endl; + } + else + { + if (cursorP==0) + { + + } + else if ((currentQrz.at(cursorP-1)).isSpace()) + { + //qDebug()<< "MainWindow::slotQRZTextChanged: cursor position.5: " << QString::number(cursorP) << endl; + previousQrz = currentQrz.remove(cursorP-1, 1); + //qDebug()<< "MainWindow::slotQRZTextChanged: cursor position.6: " << QString::number(cursorP) << endl; + cursorP--; + //qDebug()<< "MainWindow::slotQRZTextChanged: cursor position.7: " << QString::number(cursorP) << endl; + qrzLineEdit->setText(previousQrz); + } + } + + currentQrz = qrzLineEdit->text(); + //qDebug() << "MainWindow::slotQRZTextChanged: currentQRZ: " << currentQrz << endl; + currentEntity = world->getQRZARRLId(currentQrz); //selectCorrectComboBoxEntity(currentEntity); - //qDebug() << "MainWindow::slotQRZTextChanged: currentEntity: " << QString::number(currentEntity) << endl; + //qDebug() << "MainWindow::slotQRZTextChanged: currentEntity: " << QString::number(currentEntity) << endl; othersTabWidget->setEntity(currentEntity); - //qDebug() << "MainWindow::slotQRZTextChanged: DXCC/ISOname: " << QString::number(currentEntity) << "/" << dataProxy->getISOName(currentEntity) << endl; - //qDebug() << "MainWindow::slotQRZTextChanged: Entity: " << QString::number(currentEntity) << endl; + + //qDebug() << "MainWindow::slotQRZTextChanged: DXCC/ISOname: " << QString::number(currentEntity) << "/" << dataProxy->getISOName(currentEntity) << endl; + + //qDebug() << "MainWindow::slotQRZTextChanged: Entity: " << QString::number(currentEntity) << endl; dxE_CQz = world->getEntityCqz(currentEntity); - dx_CQz = world->getQRZCqz(_qrz); - dx_ITUz = world->getQRZItuz(_qrz); + dx_CQz = world->getQRZCqz(currentQrz); + dx_ITUz = world->getQRZItuz(currentQrz); dxE_ITUz = world->getEntityItuz(currentEntity); - //qDebug()<< "MainWindow::slotQRZTextChanged: CQ: " << QString::number(dx_CQz) << endl; - //qDebug()<< "MainWindow::slotQRZTextChanged: CQe: " << QString::number(dxE_CQz) << endl; - //qDebug()<< "MainWindow::slotQRZTextChanged: ITU: " << QString::number(dx_ITUz) << endl; - //qDebug()<< "MainWindow::slotQRZTextChanged: ITUe: " << QString::number(dxE_ITUz) << endl; + //qDebug()<< "MainWindow::slotQRZTextChanged: CQ: " << QString::number(dx_CQz) << endl; + //qDebug()<< "MainWindow::slotQRZTextChanged: CQe: " << QString::number(dxE_CQz) << endl; + //qDebug()<< "MainWindow::slotQRZTextChanged: ITU: " << QString::number(dx_ITUz) << endl; + //qDebug()<< "MainWindow::slotQRZTextChanged: ITUe: " << QString::number(dxE_ITUz) << endl; if (dx_CQz == dxE_CQz) { @@ -2690,7 +2961,7 @@ void MainWindow::slotQRZTextChanged(QString _qrz) QStringList _qs; //for the showStatusOfDXCC(const QStringList _qs) _qs.clear(); _qs << QString::number(currentEntity) << QString::number(currentBand) << QString::number(currentMode) << QString::number(currentLog); - //qDebug() << "MainWindow::slotQRZTextChanged: currentEntity: " << QString::number(currentEntity) << endl; + //qDebug() << "MainWindow::slotQRZTextChanged: currentEntity: " << QString::number(currentEntity) << endl; if ( locator->isValidLocator((locatorLineEdit->text()).toUpper()) ) { dxLocator = (locatorLineEdit->text()).toUpper(); @@ -2700,59 +2971,93 @@ void MainWindow::slotQRZTextChanged(QString _qrz) dxLocator = world->getLocator(currentEntity); } - //qDebug() << "MainWindow::slotQRZTextChanged: Going to check the DXCC" << endl; + //qDebug() << "MainWindow::slotQRZTextChanged: Going to check the DXCC" << endl; - //qDebug() << "MainWindow::slotQRZTextChanged: DX:" << endl; - //qDebug() << "MainWindow::slotQRZTextChanged: - current/previous" << QString::number(currentEntity) << "/" << QString::number(previousEntity) << endl; + //qDebug() << "MainWindow::slotQRZTextChanged: DX:" << endl; + //qDebug() << "MainWindow::slotQRZTextChanged: - current/previous" << QString::number(currentEntity) << "/" << QString::number(previousEntity) << endl; if ( (currentEntity != previousEntity) || ((infoLabel2->text()).length() < 1) || (InValidCharsInPrevCall) || (dx_CQz != dxE_CQz) || (dx_ITUz != dxE_ITUz)) { - //qDebug() << "MainWindow::slotQRZTextChanged: currentEntity=" << QString::number(currentEntity) << "/previousEntity=" << QString::number(previousEntity) << endl; + //qDebug() << "MainWindow::slotQRZTextChanged: currentEntity=" << QString::number(currentEntity) << "/previousEntity=" << QString::number(previousEntity) << endl; previousEntity = currentEntity; InValidCharsInPrevCall = false; - //slotShowInfoLabel(world->getEntityName(currentEntity), 2); infoLabel2->setText(world->getEntityName(currentEntity)); infoWidget->showEntityInfo(currentEntity, dx_CQz, dx_ITUz); infoWidget->showDistanceAndBearing(myDataTabWidget->getMyLocator(), dxLocator); - //qDebug() << "MainWindow:: - calling showStatusOfDXCC-03 " << endl; + //qDebug() << "MainWindow:: - calling showStatusOfDXCC-03 " << endl; showStatusOfDXCC(_qs); - showDXMarathonNeeded(currentEntity, dx_CQz, mainQSOEntryWidget->getDate().year(), currentLog); + showDXMarathonNeeded(currentEntity, dx_CQz, dateEdit->date().year(), currentLog); othersTabWidget->setIOTAContinentFromEntity(currentEntity); } else if ((dx_CQz == dxE_CQz) || (dx_ITUz = dxE_ITUz)) { - //qDebug() << "MainWindow::slotQRZTextChanged: 000" << endl; - //slotShowInfoLabel(world->getEntityName(currentEntity), 2); + //qDebug() << "MainWindow::slotQRZTextChanged: 000" << endl; infoLabel2->setText(world->getEntityName(currentEntity)); infoWidget->showEntityInfo(currentEntity, dx_CQz, dx_ITUz); } else { - //qDebug() << "MainWindow::slotQRZTextChanged: Default: else" << endl; + //qDebug() << "MainWindow::slotQRZTextChanged: Default: else" << endl; } qrzSmallModDontCalculate = false; // If the text has not been modified in this method - //qDebug() << "MainWindow::slotQRZTextChanged: cursorP at the end : " << endl; - - completeWithPreviousQSO(_qrz); - //qrzAutoChanging = false; + //qDebug() << "MainWindow::slotQRZTextChanged: cursorP at the end : " << QString::number(cursorP) << endl; + qrzLineEdit->setCursorPosition(cursorP); + completeWithPreviousQSO(currentQrz); + qrzAutoChanging = false; logEvent(Q_FUNC_INFO, "END", logSeverity); - //qDebug() << "MainWindow::slotQRZTextChanged: END" << endl; + //qDebug() << "MainWindow::slotQRZTextChanged: END" << endl; } -/* + void MainWindow::slotQRZSpacePressed() { logEvent(Q_FUNC_INFO, "Start", logSeverity); - //qDebug() << "MainWindow::slotQRZSpacePressed: " << endl; + //qDebug() << "MainWindow::slotQRZSpacePressed: " << endl; + logEvent(Q_FUNC_INFO, "END", logSeverity); +} + +void MainWindow::slotSRXTextChanged() +{ + //qDebug() << "MainWindow::slotSRXTextChanged: " << SRXLineEdit->text() << endl; + logEvent(Q_FUNC_INFO, "Start", logSeverity); + srx = SRXLineEdit->text(); + //int i = srx.size(); + + if ( srx.endsWith(' ') ) + { + /*Remove the space and moves the focus to QRZ*/ + + srx = srx.simplified(); + SRXLineEdit->setText(srx); + qrzLineEdit->setFocus(Qt::OtherFocusReason); + + } + logEvent(Q_FUNC_INFO, "END", logSeverity); +} + +void MainWindow::slotSTXTextChanged() +{ + //qDebug() << "MainWindow::slotSTXTextChanged: " << STXLineEdit->text() << endl; + logEvent(Q_FUNC_INFO, "Start", logSeverity); + stx = STXLineEdit->text(); + //int i = stx.size(); + + if ( stx.endsWith(' ') ) + { + /*Remove the space and moves the focus to QRZ*/ + + stx = stx.simplified(); + STXLineEdit->setText(stx); + SRXLineEdit->setFocus(Qt::OtherFocusReason); + } logEvent(Q_FUNC_INFO, "END", logSeverity); } -*/ void MainWindow::setRSTToMode(const QString &_m) { - //qDebug() << "MainWindow::setRSTToMode: " << _m << endl; + //qDebug() << "MainWindow::setRSTToMode: " << _m << endl; logEvent(Q_FUNC_INFO, "Start", logSeverity); if (readingTheUI) { @@ -2761,7 +3066,7 @@ void MainWindow::setRSTToMode(const QString &_m) } if ((_m == "SSB") || (_m== "LSB") || (_m=="USB") ) { - //qDebug() << "MainWindow::setRSTToMode: Detected SSB/LSB/USB" << endl; + //qDebug() << "MainWindow::setRSTToMode: Detected SSB/LSB/USB" << endl; rstTXLineEdit->setInputMask("#DD"); rstRXLineEdit->setInputMask("#DD"); rstTXLineEdit->setText("59"); @@ -2787,15 +3092,6 @@ void MainWindow::setRSTToMode(const QString &_m) rstTXLineEdit->setMaxLength(4); rstRXLineEdit->setMaxLength(4); } - else if ( (_m.contains("FT", Qt::CaseInsensitive)) || (_m.contains("JT", Qt::CaseInsensitive)) || (_m.contains("QRA64", Qt::CaseInsensitive)) || (_m.contains("JS", Qt::CaseInsensitive))) - { - rstTXLineEdit->setInputMask("#99"); - rstRXLineEdit->setInputMask("#99"); - rstTXLineEdit->setText("0"); - rstRXLineEdit->setText("0"); - rstTXLineEdit->setMaxLength(3); - rstRXLineEdit->setMaxLength(3); - } else { // By default SSB RST is configured but anything could be added rstTXLineEdit->setInputMask("#xxx"); @@ -2808,7 +3104,6 @@ void MainWindow::setRSTToMode(const QString &_m) logEvent(Q_FUNC_INFO, "END", logSeverity); } -/* void MainWindow::slotrstTXTextChanged() { logEvent(Q_FUNC_INFO, "Start", logSeverity); @@ -2820,8 +3115,6 @@ void MainWindow::slotrstRXTextChanged() logEvent(Q_FUNC_INFO, "Start", logSeverity); logEvent(Q_FUNC_INFO, "END", logSeverity); } -*/ -/* void MainWindow::slotSpotItButtonClicked() { @@ -2833,60 +3126,138 @@ void MainWindow::slotSpotItButtonClicked() } logEvent(Q_FUNC_INFO, "END", logSeverity); } -*/ -void MainWindow::setCleaning(const bool _c) + +void MainWindow::clearForNextQSO() { logEvent(Q_FUNC_INFO, "Start", logSeverity); - cleaning = _c; - mainQSOEntryWidget->setCleaning(cleaning); + cleaning = true; + setModifying(false); + OKButton->setText(tr("&Add")); + modifyingQSO = -1; + qrzLineEdit->clear(); + qrzLineEdit->setFocus(Qt::OtherFocusReason); + setRSTToMode(modeComboBox->currentText()); + + //rstTXLineEdit->setText("59"); + //rstRXLineEdit->setText("59"); + qthLineEdit->clear(); + //bandComboBox->setSizeAdjustPolicy(QComboBox::AdjustToContents); + //modeComboBox->setSizeAdjustPolicy(QComboBox::AdjustToContents); + + + //qDebug() << "MainWindow::clearForNextQSO: - currentBand: " << QString::number(currentBand) << endl; + //qDebug() << "MainWindow::clearForNextQSO: - defaultBand: " << QString::number(defaultBand) << endl; + //qDebug() << "MainWindow::clearForNextQSO: - mode: " << QString::number(currentMode) << endl; + //qDebug() << "MainWindow::clearForNextQSO: - defaultMode: " << QString::number(defaultMode) << endl; + + //if (currentBand < 0) + //{ + // currentBand = defaultBand; + //} + + //qDebug() << "MainWindow::MainWindow: - Changing from: " << bandComboBox->currentText() << endl; + + //bandComboBox->setCurrentIndex(bandComboBox->findText(dataProxy->getNameFromBandId(currentBand), Qt::MatchCaseSensitive)); + + //qDebug() << "MainWindow::MainWindow: - Changing to: " << bandComboBox->currentText() << endl; + //qDebug() << "MainWindow::MainWindow: 12 - currentMode: " << QString::number(currentMode) << endl; + //if (currentMode < 0) + // { + // currentMode = defaultMode; + //} + + //modeComboBox->setCurrentIndex(modeComboBox->findText(dataProxy->getSubModeFromId(currentMode), Qt::MatchCaseSensitive)); + + //qsoPoints = 0; + //qsoMultiplier = 0; + clublogAnswer = -1; + clublogPrevQSO.clear(); + + clearUIDX(); + /* + if (contestMode == "DX") + { + clearUIDX(); + } + else if (contestMode == "CQ-WW-SSB") + { + + } + else + { + clearUIDX(); + } + */ + statusBar()->clearMessage(); + cleaning = false; + //qDebug() << "MainWindow::clearForNextQSO: " << modeComboBox->currentText() << endl; + //qDebug() << "MainWindow::clearForNextQSO - currentMode = " << QString::number(currentMode) << endl; logEvent(Q_FUNC_INFO, "END", logSeverity); + //qDebug() << "MainWindow::clearForNextQSO - END" << endl; } void MainWindow::slotClearButtonClicked() { - //qDebug() << "MainWindow::slotClearButtonClicked - START" << endl; - //qDebug() << "MainWindow::slotClearButtonClicked: " << mainQSOEntryWidget->getMode() << endl; + //qDebug() << "MainWindow::slotClearButtonClicked - START" << endl; + //qDebug() << "MainWindow::slotClearButtonClicked: " << modeComboBox->currentText() << endl; logEvent(Q_FUNC_INFO, "Start", logSeverity); - setCleaning(true); yearChangedDuringModification = false; + cleaning = true; setModifying(false); - dateTimeTemp = dateTime; + OKButton->setText(tr("&Add")); modifyingQSO = -1; + qrzLineEdit->clear(); + qrzLineEdit->setFocus(Qt::OtherFocusReason); + setRSTToMode(modeComboBox->currentText()); - setRSTToMode(mainQSOEntryWidget->getMode()); + //rstTXLineEdit->setText("59"); + //rstRXLineEdit->setText("59"); + qthLineEdit->clear(); + //qDebug() << "MainWindow::slotClearButtonClicked: - currentBand: " << QString::number(currentBand) << endl; + //qDebug() << "MainWindow::slotClearButtonClicked: - currentBand: " << bandComboBox->currentText() << endl; + //qDebug() << "MainWindow::slotClearButtonClicked: - defaultBand: " << QString::number(defaultBand) << endl; + //qDebug() << "MainWindow::slotClearButtonClicked: - mode: " << QString::number(currentMode) << endl; + //qDebug() << "MainWindow::slotClearButtonClicked: - defaultMode: " << QString::number(defaultMode) << endl; if (currentBand < 0) { currentBand = defaultBand; } + //qDebug() << "MainWindow::MainWindow: - Changing from: " << bandComboBox->currentText() << endl; + + //qDebug() << "MainWindow::slotClearButtonClicked: - 10" << endl; + //qDebug() << "MainWindow::MainWindow: - Changing to: " << bandComboBox->currentText() << endl; + //qDebug() << "MainWindow::MainWindow: 12 - currentMode: " << QString::number(currentMode) << endl; if (currentMode < 0) { currentMode = defaultMode; - //qDebug() << "MainWindow::MainWindow: 12b - currentMode: " << QString::number(currentMode) << endl; + //qDebug() << "MainWindow::MainWindow: 12b - currentMode: " << QString::number(currentMode) << endl; } + //modeComboBox->setCurrentIndex(modeComboBox->findText(dataProxy->getNameFromSubModeId(currentMode))); + + //qsoPoints = 0; + //qsoMultiplier = 0; clublogAnswer = -1; clublogPrevQSO.clear(); - //qDebug() << "MainWindow::slotClearButtonClicked: - 11" << endl; - mainQSOEntryWidget->clear(); + //qDebug() << "MainWindow::slotClearButtonClicked: - 11" << endl; clearUIDX(true); statusBar()->clearMessage(); - setCleaning(false); - //qDebug() << "MainWindow::slotClearButtonClicked: " << mainQSOEntryWidget->getMode() << endl; - //qDebug() << "MainWindow::slotClearButtonClicked - currentMode = " << QString::number(currentMode) << endl; + cleaning = false; + //qDebug() << "MainWindow::slotClearButtonClicked: " << modeComboBox->currentText() << endl; + //qDebug() << "MainWindow::slotClearButtonClicked - currentMode = " << QString::number(currentMode) << endl; logEvent(Q_FUNC_INFO, "END", logSeverity); - //qDebug() << "MainWindow::slotClearButtonClicked - END" << endl; + //qDebug() << "MainWindow::slotClearButtonClicked - END" << endl; } void MainWindow::clearUIDX(bool full) { //qDebug() << "MainWindow::clearUIDX" << endl; logEvent(Q_FUNC_INFO, "Start", logSeverity); - //SRXLineEdit->setText("59"); - //STXLineEdit->setText("59"); - qthLineEdit->clear(); + SRXLineEdit->setText("59"); + STXLineEdit->setText("59"); nameLineEdit->clear(); locatorLineEdit->clear(); commentTabWidget->clear(); @@ -2896,22 +3267,16 @@ void MainWindow::clearUIDX(bool full) eQSLTabWidget->clear(); QSLTabWidget->clear(); othersTabWidget->clear(); - infoWidget->clear(); satTabWidget->clear(); myDataTabWidget->clear(keepMyData); - if (txFreqSpinBox->value()<=0) + if (full) { - txFreqSpinBox->setValue((dataProxy->getFreqFromBandId(dataProxy->getIdFromBandName(mainQSOEntryWidget->getBand()))).toDouble()); - rxFreqSpinBox->setValue(txFreqSpinBox->value()); + txFreqSpinBox->setValue((dataProxy->getFreqFromBandId(dataProxy->getIdFromBandName(bandComboBox->currentText()))).toDouble()); + rxFreqSpinBox->setValue(0); } - //if (full) - //{ - // txFreqSpinBox->setValue((dataProxy->getFreqFromBandId(dataProxy->getIdFromBandName(mainQSOEntryWidget->getBand()))).toDouble()); - // rxFreqSpinBox->setValue(0); - //} logEvent(Q_FUNC_INFO, "END", logSeverity); - //qDebug() << "MainWindow::clearUIDX - END" << endl; + //qDebug() << "MainWindow::clearUIDX - END" << endl; } @@ -2923,9 +3288,32 @@ void MainWindow::slotRefreshDXCCWidget() logEvent(Q_FUNC_INFO, "END", logSeverity); } + +void MainWindow::slotUpdateTime() +{ + // //qDebug() << "MainWindow::slotUpdateTime: " << (dateTime->currentDateTime()).toString("yyyy-MM-dd - hh:mm:ss") << endl; + //logEvent(Q_FUNC_INFO, "Start", logSeverity); + dateTime->currentDateTime(); + + if ( (!modify) && (realTime) ) + { + if (UTCTime) + { + timeEdit->setTime((dateTime->currentDateTime().toUTC()).time()); + dateEdit->setDate((dateTime->currentDateTime().toUTC()).date()); + } + else + { + timeEdit->setTime((dateTime->currentDateTime()).time()); + dateEdit->setDate((dateTime->currentDateTime()).date()); + } + } + //logEvent(Q_FUNC_INFO, "END", logSeverity); +} + void MainWindow::closeEvent(QCloseEvent *event) { - //qDebug() << "MainWindow::closeEvent" << endl; + //qDebug() << "MainWindow::closeEvent" << endl; logEvent(Q_FUNC_INFO, "Start", logSeverity); if (maybeSave()) @@ -2945,7 +3333,7 @@ void MainWindow::closeEvent(QCloseEvent *event) bool MainWindow::maybeSave() { - //qDebug() << "MainWindow::maybeSave" << endl; + //qDebug() << "MainWindow::maybeSave" << endl; logEvent(Q_FUNC_INFO, "Start", logSeverity); QString str = tr("The logfile has been modified.") + "\n" + tr("Do you want to save your changes?"); @@ -2990,7 +3378,7 @@ bool MainWindow::maybeSave() void MainWindow::createMenusCommon() { - //qDebug() << "MainWindow::createMenusCommon" << endl; + //qDebug() << "MainWindow::createMenusCommon" << endl; logEvent(Q_FUNC_INFO, "Start", logSeverity); fileMenu = menuBar()->addMenu(tr("&File")); @@ -3035,15 +3423,15 @@ void MainWindow::createMenusCommon() connect(ADIFExportAll, SIGNAL(triggered()), this, SLOT(slotADIFExportAll())); ADIFExportAll->setToolTip(tr("Export ALL the QSOs into one ADIF file, merging QSOs from all the logs.")); - //ReqQSLExport = new QAction(tr("Export Requested QSL to ADIF..."), this); - //fileMenu->addAction(ReqQSLExport); - //connect(ReqQSLExport, SIGNAL(triggered()), this, SLOT(slotRQSLExport())); - //ReqQSLExport->setToolTip(tr("Export all QSOs requesting QSLs to an ADIF file (e.g. to import it into a QSL tag printing program).")); + ReqQSLExport = new QAction(tr("Export Requested QSL to ADIF..."), this); + fileMenu->addAction(ReqQSLExport); + connect(ReqQSLExport, SIGNAL(triggered()), this, SLOT(slotRQSLExport())); + ReqQSLExport->setToolTip(tr("Export all QSOs requesting QSLs to an ADIF file (e.g. to import it into a QSL tag printing program).")); - //LoTWExport = new QAction(tr("Export ADIF for LoTW..."), this); - //fileMenu->addAction(LoTWExport); - //connect(LoTWExport, SIGNAL(triggered()), this, SLOT(slotLoTWExport())); - //LoTWExport->setToolTip(tr("Export an ADIF file to be sent to LoTW. Remember to sign it with TQSL before uploading to LoTW!")); + LoTWExport = new QAction(tr("Export ADIF for LoTW..."), this); + fileMenu->addAction(LoTWExport); + connect(LoTWExport, SIGNAL(triggered()), this, SLOT(slotLoTWExport())); + LoTWExport->setToolTip(tr("Export an ADIF file to be sent to LoTW. Remember to sign it with TQSL before uploading to LoTW!")); fileMenu->addSeparator(); @@ -3077,10 +3465,10 @@ void MainWindow::createMenusCommon() connect(fillQsoAct, SIGNAL(triggered()), this, SLOT(fillQSOData())); fillQsoAct->setToolTip(tr("Go through the log reusing previous QSOs to fill missing information in other QSOs.")); - //fillDXCCAct = new QAction(tr("Fill in DXCC data"), this); - //toolMenu->addAction(fillDXCCAct); - //connect(fillDXCCAct, SIGNAL(triggered()), this, SLOT(slotFillEmptyDXCCInTheLog())); - //fillDXCCAct->setToolTip(tr("Go through the log filling QSOs without a DXCC defined.")); + fillDXCCAct = new QAction(tr("Fill in DXCC data"), this); + toolMenu->addAction(fillDXCCAct); + connect(fillDXCCAct, SIGNAL(triggered()), this, SLOT(slotFillEmptyDXCCInTheLog())); + fillDXCCAct->setToolTip(tr("Go through the log filling QSOs without a DXCC defined.")); toolMenu->addSeparator(); qslToolMenu = toolMenu->addMenu(tr("QSL tools...")); @@ -3104,47 +3492,38 @@ void MainWindow::createMenusCommon() findQSLPendingToReceiveAct = new QAction(tr("&Find DX-QSLs pending to receive"), this); qslToolMenu->addAction(findQSLPendingToReceiveAct); connect(findQSLPendingToReceiveAct, SIGNAL(triggered()), this, SLOT(slotToolSearchNeededQSLPendingToReceive())); - findQSLPendingToReceiveAct->setToolTip(tr("Shows DX-QSLs for which requests or QSLs have been sent with no answer.")); + findQSLPendingToReceiveAct->setToolTip(tr("Shows the DX-QSL that has been requested or QSLs has been sent with no answer.")); findQSLDXRequestedAct = new QAction(tr("&Find requested pending to receive"), this); qslToolMenu->addAction(findQSLDXRequestedAct); connect(findQSLDXRequestedAct, SIGNAL(triggered()), this, SLOT(slotToolSearchNeededQSLRequested())); - findQSLDXRequestedAct->setToolTip(tr("Shows the DX-QSLs that have been requested.")); + findQSLDXRequestedAct->setToolTip(tr("Shows the DX-QSL that has been requested.")); toolMenu->addSeparator(); lotwToolMenu = toolMenu->addMenu(tr("LoTW tools...")); - lotwMarkSentQueuedThisLogAct = new QAction(tr("Queue all QSLs from this log to be sent"), this); + lotwMarkSentQueuedThisLogAct = new QAction(tr("Queue all QSL to be sent of this log"), this); lotwToolMenu->addAction(lotwMarkSentQueuedThisLogAct); connect(lotwMarkSentQueuedThisLogAct, SIGNAL(triggered()), this, SLOT(slotToolLoTWMarkAllQueuedThisLog())); - lotwMarkSentQueuedThisLogAct->setToolTip(tr("Mark all non-sent QSOs in this log as queued to be uploaded.")); + lotwMarkSentQueuedThisLogAct->setToolTip(tr("Mark all non sent QSOs in this log as queued to be uploaded.")); - lotwMarkSentQueuedAct = new QAction(tr("Queue all QSLs to be sent"), this); + lotwMarkSentQueuedAct = new QAction(tr("Queue all QSL to be sent"), this); lotwToolMenu ->addAction(lotwMarkSentQueuedAct); connect(lotwMarkSentQueuedAct, SIGNAL(triggered()), this, SLOT(slotToolLoTWMarkAllQueued())); - lotwMarkSentQueuedAct->setToolTip(tr("Put all the non-sent QSOs in the queue to be uploaded.")); + lotwMarkSentQueuedAct->setToolTip(tr("Mark all non sent QSOs as queued to be uploaded.")); lotwToolMenu->addSeparator(); - lotwMarkSentYesThisLogAct = new QAction(tr("Mark as sent all queued QSOs of this log"), this); + lotwMarkSentYesThisLogAct = new QAction(tr("Mark as sent all queued QSO of this log"), this); lotwToolMenu->addAction(lotwMarkSentYesThisLogAct); connect(lotwMarkSentYesThisLogAct, SIGNAL(triggered()), this, SLOT(slotToolLoTWMarkAllYesThisLog())); lotwMarkSentYesThisLogAct->setToolTip(tr("Mark all queued QSOs in this log as sent to LoTW.")); - lotwMarkSentYesAct = new QAction(tr("Mark all queued QSOs as sent"), this); + lotwMarkSentYesAct = new QAction(tr("Mark all queued QSO as sent"), this); lotwToolMenu ->addAction(lotwMarkSentYesAct); connect(lotwMarkSentYesAct, SIGNAL(triggered()), this, SLOT(slotToolLoTWMarkAllYes())); lotwMarkSentYesAct->setToolTip(tr("Mark all queued QSOs as sent to LoTW.")); - lotwToolMenu ->addAction(lotwCallTQSL); - connect(lotwCallTQSL, SIGNAL(triggered()), this, SLOT(slotLoTWExport())); - lotwCallTQSL->setToolTip("Sends the log to LoTW calling TQSL. You will be able to select the Station Callsign and start and end dates."); - - lotwToolMenu->addSeparator(); - lotwUpdateFromLoTWAct = new QAction(tr("Download from LoTW"), this); - lotwToolMenu ->addAction(lotwUpdateFromLoTWAct); - connect(lotwUpdateFromLoTWAct, SIGNAL(triggered()), this, SLOT(slotLoTWDownload())); - lotwUpdateFromLoTWAct->setToolTip("Updates your LoTW status from LoTW."); toolMenu->addSeparator(); @@ -3166,14 +3545,6 @@ void MainWindow::createMenusCommon() connect(showStatsAct, SIGNAL(triggered()), this, SLOT(slotShowStats())); showStatsAct->setToolTip(tr("Show the statistics of your radio activity.")); - //qDebug() << "MainWindow::createMenusCommon before" << endl; - //toolMenu->addSeparator(); - //showRotatorAct = new QAction (tr("Rotator"), this); - //toolMenu->addAction(showRotatorAct); - //connect(showRotatorAct, SIGNAL(triggered()), this, SLOT(slotRotatorShow())); - //showRotatorAct->setToolTip(tr("Show the rotator controller.")); - //qDebug() << "MainWindow::createMenusCommon after" << endl; - //showWorldMapAct = new QAction(tr("CQ zones world map"), this); //toolMenu->addAction(showWorldMapAct); //connect(showWorldMapAct, SIGNAL(triggered()), this, SLOT(slotWorldMapShow())); @@ -3191,17 +3562,20 @@ void MainWindow::createMenusCommon() //TODO: To be added once the help dialog has been implemented helpMenu = menuBar()->addMenu(tr("&Help")); - tipsAct = new QAction(tr("&Tips..."), this); - helpMenu->addAction(tipsAct); - tipsAct->setMenuRole(QAction::ApplicationSpecificRole); - connect(tipsAct, SIGNAL(triggered()), this, SLOT(slotTipsAction())); - - helpMenu->addSeparator(); + updateAct = new QAction(tr("Check updates..."), this); + helpMenu->addAction(updateAct); + updateAct->setMenuRole(QAction::ApplicationSpecificRole); + connect(updateAct, SIGNAL(triggered()), this, SLOT(slotHelpCheckUpdatesAction())); aboutAct = new QAction(tr("&About..."), this); helpMenu->addAction(aboutAct); aboutAct->setMenuRole(QAction::AboutRole); - connect(aboutAct, SIGNAL(triggered()), this, SLOT(slotHelpAboutAction())); + connect(aboutAct, SIGNAL(triggered()), this, SLOT(slotHelpAboutAction())); + + tipsAct = new QAction(tr("&Tips..."), this); + helpMenu->addAction(tipsAct); + tipsAct->setMenuRole(QAction::ApplicationSpecificRole); + connect(tipsAct, SIGNAL(triggered()), this, SLOT(slotTipsAction())); aboutQtAct = new QAction(tr("About Qt..."), this); helpMenu->addAction(aboutQtAct); @@ -3209,12 +3583,6 @@ void MainWindow::createMenusCommon() connect(aboutQtAct, SIGNAL(triggered()), this, SLOT(slotAboutQt())); logEvent(Q_FUNC_INFO, "END", logSeverity); - helpMenu->addSeparator(); - - updateAct = new QAction(tr("Check updates..."), this); - helpMenu->addAction(updateAct); - updateAct->setMenuRole(QAction::ApplicationSpecificRole); - connect(updateAct, SIGNAL(triggered()), this, SLOT(slotHelpCheckUpdatesAction())); } /* void MainWindow::slotCloseStats(bool _vis) @@ -3256,16 +3624,16 @@ void MainWindow::slotToolSearchNeededQSLRequested() void MainWindow::slotToolLoTWMarkAllQueuedThisLog() { - //qDebug() << "MainWindow::slotToolLoTWMarkAllQueuedThisLog" << endl; + //qDebug() << "MainWindow::slotToolLoTWMarkAllQueuedThisLog" << endl; logEvent(Q_FUNC_INFO, "Start", logSeverity); - QString tdate = (mainQSOEntryWidget->getDate()).toString("yyyy/MM/dd"); + QString tdate = (dateEdit->date()).toString("yyyy/MM/dd"); if(dataProxy->lotwSentQueue(tdate, currentLog)) { QMessageBox msgBox; msgBox.setIcon(QMessageBox::Information); msgBox.setWindowTitle(tr("KLog LoTW")); - msgBox.setText(tr("All pending QSOs of this log has been marked as queued for LoTW!") + "\n\n" + tr("Now you can go to the File menu to export the LoTW ADIF file and upload it to LoTW.")); + msgBox.setText(tr("All pending QSO of this log has been marked as queued for LoTW!") + "\n\n" + tr("Now you can go to the File menu to export the LoTW ADIF file and upload it to LoTW.")); msgBox.exec(); } @@ -3274,56 +3642,23 @@ void MainWindow::slotToolLoTWMarkAllQueuedThisLog() QMessageBox msgBox; msgBox.setIcon(QMessageBox::Warning); msgBox.setWindowTitle(tr("KLog LoTW")); - msgBox.setText(tr("There was a problem to mark all pending QSOs of this log as queued for LoTW!") ); + msgBox.setText(tr("There was a problem to mark all pending QSO of this log as queued for LoTW!") ); msgBox.exec(); } logEvent(Q_FUNC_INFO, "END", logSeverity); } -void MainWindow::slotLoTWDownloadedFileProcess(const QString &_fn) -{ - logEvent(Q_FUNC_INFO, "Start", logSeverity); - //qDebug() << "MainWindow::slotLoTWDownloadedFileProcess: " << _fn << endl; - QList a; - a.clear(); - - a.append(filemanager->adifLoTWReadLog(_fn)); - QString aux; - QMessageBox msgBox; - msgBox.setWindowTitle(tr("KLog LoTW")); - - if (a.length()>0) - { - msgBox.setIcon(QMessageBox::Information); - msgBox.setText(tr("Your log has been updated with the LoTW downloaded QSOs.")); - aux = QString(tr("KLog has updated %1 QSOs from LoTW.")).arg(a.length()); - msgBox.setInformativeText(aux); - msgBox.exec(); - showAdifImportWidget->show(); - } - else - { - msgBox.setIcon(QMessageBox::Warning); - msgBox.setText(tr("Your log has not been updated.")); - aux = QString(tr("No QSO was updated with the data coming from LoTW. This may be because of errors in the logfile or simply because your log was already updated.")); - msgBox.setInformativeText(aux); - msgBox.exec(); - } - //filemanager->adifLoTWReadLog(_fn); - logEvent(Q_FUNC_INFO, "END", logSeverity); -} - void MainWindow::slotToolLoTWMarkAllQueued() { - //qDebug() << "MainWindow::slotToolLoTWMarkAllQueued" << endl; + //qDebug() << "MainWindow::slotToolLoTWMarkAllQueued" << endl; logEvent(Q_FUNC_INFO, "Start", logSeverity); - QString tdate = (mainQSOEntryWidget->getDate()).toString("yyyy/MM/dd"); + QString tdate = (dateEdit->date()).toString("yyyy/MM/dd"); if (dataProxy->lotwSentQueue(tdate, -1)) { QMessageBox msgBox; msgBox.setIcon(QMessageBox::Information); msgBox.setWindowTitle(tr("KLog LoTW")); - msgBox.setText(tr("All pending QSOs has been marked as queued for LoTW!") + "\n\n" + tr("Now you can go to the File menu to export the LoTW ADIF file and upload it to LoTW.")); + msgBox.setText(tr("All pending QSO has been marked as queued for LoTW!") + "\n\n" + tr("Now you can go to the File menu to export the LoTW ADIF file and upload it to LoTW.")); msgBox.exec(); } else @@ -3331,111 +3666,13 @@ void MainWindow::slotToolLoTWMarkAllQueued() QMessageBox msgBox; msgBox.setIcon(QMessageBox::Warning); msgBox.setWindowTitle(tr("KLog LoTW")); - msgBox.setText(tr("There was a problem to mark all pending QSOs of this log as queued for LoTW!") ); + msgBox.setText(tr("There was a problem to mark all pending QSO of this log as queued for LoTW!") ); msgBox.exec(); } logEvent(Q_FUNC_INFO, "END", logSeverity); } -bool MainWindow::callTQSL(const QString &_filename, const QString &_call) -{ //https://lotw.arrl.org/lotw-help/cmdline/ - logEvent(Q_FUNC_INFO, "Start", logSeverity); - //qDebug() << "MainWindow::callTQSL: " << lotwTQSLpath << endl; - - QStringList arguments; - arguments.clear(); - //arguments << "--action=compliant" << QString("-c %1").arg(_call) << "-d" << "-u" << "-x" << _filename; - arguments << QString("-c %1").arg(_call) << "-u" << _filename; - int ok = -1; - QString msg; - QMessageBox msgBox; - msgBox.setIcon(QMessageBox::Warning); - msgBox.setWindowTitle(tr("KLog - TQSL")); - - if (!QFile::exists(lotwTQSLpath)) - { - msg = tr("TQSL is not installed or KLog can't find it. Please check the configuration."); - ok = 6; // A positive value here will return false, an error below. - } - else - { - ok = QProcess::execute(lotwTQSLpath, arguments); - //qDebug() << "MainWindow::callTQSL error: " << (QProcess::readAllStandardError()) << endl; - //qDebug() << "MainWindow::callTQSL-ok: " << QString::number(ok) << endl; - - switch (ok) - { - case 0: // success: all qsos submitted were signed and saved or signed and uploaded - //qDebug() << "MainWindow::callTQSL: 0" << endl; - //msg = tr("All the QSOs were signed and uploaded with no error."); - msg = tr("TQSL finished with no error."); - msgBox.setIcon(QMessageBox::Information); - break; - case 1: // cancelled by user - //qDebug() << "MainWindow::callTQSL: 1" << endl; - msg = tr("Error #1: The process was cancelled by the user or TQSL was not configured. No QSOs were uploaded."); - break; - case 2: // rejected by LoTW - //qDebug() << "MainWindow::callTQSL: 2" << endl; - msg = tr("Error #2: Upload was rejected by LoTW, please check your data."); - break; - case 3: // unexpected response from TQSL server - //qDebug() << "MainWindow::callTQSL: 3" << endl; - msg = tr("Error #3: The TQSL server returned an unexpected response."); - break; - case 4: // TQSL error - //qDebug() << "MainWindow::callTQSL: 4" << endl; - msg = tr("Error #4: There was a TQSL error."); - break; - case 5: // TQSLlib error - //qDebug() << "MainWindow::callTQSL: 5" << endl; - msg = tr("Error #5: There was a TQSLLib error."); - break; - case 6: // unable to open input file - //qDebug() << "MainWindow::callTQSL: 6" << endl; - msg = tr("Error #6: It was not possible to open the input file."); - break; - case 7: // unable to open output file - //qDebug() << "MainWindow::callTQSL: 7" << endl; - msg = tr("Error #7: It was not possible to open the ouput file."); - break; - case 8: // No QSOs were processed since some QSOs were duplicates or out of date range - //qDebug() << "MainWindow::callTQSL: 8" << endl; - msg = tr("Error #8: No QSOs were processed since some QSOs were duplicates or out of date range."); - break; - case 9: // Some QSOs were processed, and some QSOs were ignored because they were duplicates or out of date range - //qDebug() << "MainWindow::callTQSL: 9" << endl; - msg = tr("Error #9: Some QSOs were processed, and some QSOs were ignored because they were duplicates or out of date range."); - break; - case 10: // command syntax error - //qDebug() << "MainWindow::callTQSL: 10" << endl; - msg = tr("Error #10: Command syntax error. KLog sent a bad syntax command."); - break; - case 11: // LoTW Connection error (no network or LoTW is unreachable) - //qDebug() << "MainWindow::callTQSL: 11" << endl; - msg = tr("Error #11: LoTW Connection error (no network or LoTW is unreachable)."); - break; - default: - msg = tr("Error #00: Unexpected error. Please contact the development team."); - return false; - - // should never be reached - } - } - - msgBox.setText(msg); - msgBox.exec(); - if (ok>0) - { - return false; - } - else - { - return true; - } - //logEvent(Q_FUNC_INFO, "END", logSeverity); -} QString MainWindow::selectStationCallsign() { @@ -3455,8 +3692,7 @@ QString MainWindow::selectStationCallsign() stationCallToUse = QInputDialog::getItem(this, tr("Station Callsign:"), msg, stationCallSigns, 0, false, &ok); - if (ok && util->isValidCall(stationCallToUse)) - //if (ok && !stationCallToUse.isEmpty()) + if (ok && !stationCallToUse.isEmpty()) { logEvent(Q_FUNC_INFO, "END-1", logSeverity); return stationCallToUse; @@ -3469,19 +3705,15 @@ QString MainWindow::selectStationCallsign() if (ok) { //callsignTyped = true; - if (util->isValidCall(stationCallToUse)) - { - logEvent(Q_FUNC_INFO, "END-2", logSeverity); - return stationCallToUse; - } - + logEvent(Q_FUNC_INFO, "END-2", logSeverity); + return stationCallToUse; } else { - QMessageBox msgBox; - msgBox.setIcon(QMessageBox::Warning); - msgBox.setWindowTitle(tr("KLog - No station selected")); + QMessageBox msgBox; + msgBox.setIcon(QMessageBox::Warning); + QString aux = QString(tr("No station callsign has been selected and therefore no log will be marked") ); msgBox.setText(aux); msgBox.setStandardButtons(QMessageBox::Ok); @@ -3504,16 +3736,16 @@ QString MainWindow::selectStationCallsign() void MainWindow::slotToolLoTWMarkAllYesThisLog() { - //qDebug() << "MainWindow::slotToolLoTWMarkAllYesThisLog" << endl; + //qDebug() << "MainWindow::slotToolLoTWMarkAllYesThisLog" << endl; logEvent(Q_FUNC_INFO, "Start", logSeverity); - QString tdate = (mainQSOEntryWidget->getDate()).toString("yyyy/MM/dd"); + QString tdate = (dateEdit->date()).toString("yyyy/MM/dd"); if(dataProxy->lotwSentYes(tdate, currentLog, "ALL")) { QMessageBox msgBox; msgBox.setIcon(QMessageBox::Information); msgBox.setWindowTitle(tr("KLog LoTW")); - msgBox.setText(tr("All queued QSOs of this log has been marked as sent for LoTW!") ); + msgBox.setText(tr("All queued QSO of this log has been marked as sent for LoTW!") ); msgBox.exec(); } else @@ -3521,7 +3753,7 @@ void MainWindow::slotToolLoTWMarkAllYesThisLog() QMessageBox msgBox; msgBox.setIcon(QMessageBox::Warning); msgBox.setWindowTitle(tr("KLog LoTW")); - msgBox.setText(tr("There was a problem to mark all queued QSOs of this log as sent for LoTW!") ); + msgBox.setText(tr("There was a problem to mark all queued QSO of this log as sent for LoTW!") ); msgBox.exec(); } logEvent(Q_FUNC_INFO, "END", logSeverity); @@ -3529,18 +3761,18 @@ void MainWindow::slotToolLoTWMarkAllYesThisLog() void MainWindow::slotToolLoTWMarkAllYes() { - //qDebug() << "MainWindow::slotToolLoTWMarkAllYes" << endl; + //qDebug() << "MainWindow::slotToolLoTWMarkAllYes" << endl; logEvent(Q_FUNC_INFO, "Start", logSeverity); QString stationCallToUse = selectStationCallsign(); - QString tdate = (mainQSOEntryWidget->getDate()).toString("yyyy/MM/dd"); + QString tdate = (dateEdit->date()).toString("yyyy/MM/dd"); if (dataProxy->lotwSentYes(tdate, -1, stationCallToUse)) { QMessageBox msgBox; msgBox.setIcon(QMessageBox::Information); msgBox.setWindowTitle(tr("KLog LoTW")); - msgBox.setText(tr("All queued QSOs has been marked as sent to LoTW!") ); + msgBox.setText(tr("All queued QSO has been marked as sent to LoTW!") ); msgBox.exec(); } else @@ -3548,60 +3780,15 @@ void MainWindow::slotToolLoTWMarkAllYes() QMessageBox msgBox; msgBox.setIcon(QMessageBox::Warning); msgBox.setWindowTitle(tr("KLog LoTW")); - msgBox.setText(tr("There was a problem to mark all queued QSOs of this log as sent to LoTW!") ); + msgBox.setText(tr("There was a problem to mark all queued QSO of this log as sent to LoTW!") ); msgBox.exec(); } logEvent(Q_FUNC_INFO, "END", logSeverity); } -void MainWindow::slotReceiveQSOListToShowFromFile(QStringList _qs) -{ - //qDebug() << "MainWindow::slotReceiveQSOListToShowFromFile: " << QString::number(_qs.length()) << endl; - logEvent(Q_FUNC_INFO, "Start", logSeverity); - // Receiving: modifiedQSOList << _call << _date + "-" +_time << _band << _mode << _qslrdate; - // Must send QRZ-DX, Date-Time(yyyyMMdd-hhmmss), Band, Mode - if (_qs.length()!=5) - { - //qDebug() << "MainWindow::slotReceiveQSOListToShowFromFile - NO valid qso list received - length: " << QString::number(_qs.length()) << endl; - return; - } - - if (!util->isValidCall(_qs.at(0))) - { - //qDebug() << "MainWindow::slotReceiveQSOListToShowFromFile - NO valid QRZ received - " << _qs.at(0) << endl; - return; - } - - if (dataProxy->getIdFromBandName(_qs.at(2))<0) - { - //qDebug() << "SMainWindow::slotReceiveQSOListToShowFromFile - NO valid BAND received"<< _qs.at(2) << endl; - return; - } - if (dataProxy->getIdFromModeName(_qs.at(3))<0) - { - //qDebug() << "MainWindow::slotReceiveQSOListToShowFromFile - NO valid Mode received" << _qs.at(3)<< endl; - return; - } - - if (!QDateTime::fromString(_qs.at(1), "yyyyMMdd-hhmmss").isValid()) - { - //qDebug() << "MainWindow::slotReceiveQSOListToShowFromFile - NO valid DateTime received: " << _qs.at(2) << endl; - return; - } - - - - QStringList qsoToSend; - qsoToSend.clear(); - qsoToSend << _qs.at(0) << _qs.at(1) << _qs.at(2) << _qs.at(3); - showAdifImportWidget->addQSOToTheList(qsoToSend); - - logEvent(Q_FUNC_INFO, "END", logSeverity); -} - void MainWindow::slotAboutQt() { - //qDebug() << "MainWindow::slotAboutQt" << endl; + //qDebug() << "MainWindow::slotAboutQt" << endl; logEvent(Q_FUNC_INFO, "Start", logSeverity); QMessageBox::aboutQt(this,tr("About...")); logEvent(Q_FUNC_INFO, "END", logSeverity); @@ -3609,7 +3796,7 @@ void MainWindow::slotAboutQt() void MainWindow::slotHelpAboutAction() { - //qDebug() << "MainWindow::slotHelpAboutAction " << endl; + //qDebug() << "MainWindow::slotHelpAboutAction " << endl; // QMessageBox::about(this, tr("About KLog"), // tr("KLog " // "Find the last release at https://jaime.robles.es/klog.")); @@ -3621,17 +3808,17 @@ void MainWindow::slotHelpAboutAction() } void MainWindow::slotTipsAction() { - //qDebug() << "MainWindow::slotTipsAction " << endl; + //qDebug() << "MainWindow::slotTipsAction " << endl; logEvent(Q_FUNC_INFO, "Start", logSeverity); tipsDialog->exec(); logEvent(Q_FUNC_INFO, "END", logSeverity); } - +/* void MainWindow::slotHelpCheckUpdatesAction() { - //qDebug() << "MainWindow::slotHelpCheckUpdatesAction" << endl; + //qDebug() << "MainWindow::slotHelpCheckUpdatesAction" << endl; logEvent(Q_FUNC_INFO, "Start", logSeverity); callingUpdate = true; softUpdate->addCall(stationQRZ); @@ -3642,15 +3829,15 @@ void MainWindow::slotHelpCheckUpdatesAction() void MainWindow::slotShowSoftUpdateResults(const bool _b) { - //qDebug() << "MainWindow::slotShowSoftUpdateResults: " << endl; + //qDebug() << "MainWindow::slotShowSoftUpdateResults: " << endl; logEvent(Q_FUNC_INFO, "Start", logSeverity); if (_b == true) { - //qDebug() << "MainWindow::slotShowSoftUpdateResults _b = TRUE " << endl; + //qDebug() << "MainWindow::slotShowSoftUpdateResults _b = TRUE " << endl; } else { - //qDebug() << "MainWindow::slotShowSoftUpdateResults _b = FALSE " << endl; + //qDebug() << "MainWindow::slotShowSoftUpdateResults _b = FALSE " << endl; } @@ -3658,7 +3845,7 @@ void MainWindow::slotShowSoftUpdateResults(const bool _b) { if (_b == false) { - //qDebug() << "MainWindow::slotShowSoftUpdateResults: UPDATE NOT NEEDED" << endl; + //qDebug() << "MainWindow::slotShowSoftUpdateResults: UPDATE NOT NEEDED" << endl; QMessageBox msgBox; msgBox.setIcon(QMessageBox::Information); msgBox.setWindowTitle(tr("KLog update checking result")); @@ -3667,18 +3854,18 @@ void MainWindow::slotShowSoftUpdateResults(const bool _b) } else { - //qDebug() << "MainWindow::slotShowSoftUpdateResults: UPDATE NEEDED" << endl; + //qDebug() << "MainWindow::slotShowSoftUpdateResults: UPDATE NEEDED" << endl; } } callingUpdate = false; logEvent(Q_FUNC_INFO, "END", logSeverity); } - +*/ void MainWindow::slotLogWinShow() { - //qDebug() << "MainWindow::slotLogWinShow: " << endl; + //qDebug() << "MainWindow::slotLogWinShow: " << endl; logEvent(Q_FUNC_INFO, "Start", logSeverity); if (!(logWindow->isVisible()) ) @@ -3696,7 +3883,7 @@ void MainWindow::slotLogWinShow() /* void MainWindow::slotScoreWinShow() { - //qDebug() << "MainWindow::slotScoreWinShow: " << endl; + //qDebug() << "MainWindow::slotScoreWinShow: " << endl; logEvent(Q_FUNC_INFO, "Start", logSeverity); if (!(scoreWindow->isVisible()) ) @@ -3715,7 +3902,7 @@ void MainWindow::slotScoreWinShow() void MainWindow::slotSetup(const int _page) { - //qDebug() << "MainWindow::slotSetup - 01" << endl; + //qDebug() << "MainWindow::slotSetup - 01" << endl; logEvent(Q_FUNC_INFO, "Start", logSeverity); configured = false; openSetup(_page); @@ -3725,27 +3912,26 @@ void MainWindow::slotSetup(const int _page) void MainWindow::openSetup(const int _page) { - //qDebug() << "MainWindow::slotSetup - 01" << endl; + //qDebug() << "MainWindow::slotSetup - 01" << endl; logEvent(Q_FUNC_INFO, "Start", logSeverity); if (!needToEnd) { logEvent(Q_FUNC_INFO, "Just before setData", logSeverity); - //qDebug() << "MainWindow::slotSetup - Just before setupDialog->exec" << endl; + //qDebug() << "MainWindow::slotSetup - Just before setupDialog->exec" << endl; setupDialog->setData(configFileName, softwareVersion, _page, !configured); if ((!configured) || (itIsANewversion)) { logEvent(Q_FUNC_INFO, "Just before SetupDialog->exec", logSeverity); itIsANewversion = false; setupDialog->exec(); - //setupDialog->open(); logEvent(Q_FUNC_INFO, "Just after setupDialog->exec", logSeverity); - //qDebug() << "MainWindow::slotSetup - Just after setupDialog->exec" << endl; + //qDebug() << "MainWindow::slotSetup - Just after setupDialog->exec" << endl; } else { logEvent(Q_FUNC_INFO, "No setupDialog->exec needed", logSeverity); - //qDebug() << "MainWindow::slotSetup - No setupDialog->exec needed" << endl; + //qDebug() << "MainWindow::slotSetup - No setupDialog->exec needed" << endl; } @@ -3757,7 +3943,7 @@ void MainWindow::openSetup(const int _page) } else { - //qDebug() << "MainWindow::slotSetup - Just before readConfigData" << endl; + //qDebug() << "MainWindow::slotSetup - Just before readConfigData" << endl; logEvent(Q_FUNC_INFO, "Just before readConfigData", logSeverity); readConfigData(); reconfigureDXMarathonUI(manageDxMarathon); @@ -3765,24 +3951,24 @@ void MainWindow::openSetup(const int _page) //{ //} logEvent(Q_FUNC_INFO, "Just after readConfigData", logSeverity); - //qDebug() << "MainWindow::slotSetup - Just after readConfigData" << endl; + //qDebug() << "MainWindow::slotSetup - Just after readConfigData" << endl; } - //qDebug() << "MainWindow::MainWindow: logmodel to be created-2" << endl; + //qDebug() << "MainWindow::MainWindow: logmodel to be created-2" << endl; logEvent(Q_FUNC_INFO, "logmodel to be created-2", logSeverity); logWindow->createlogPanel(currentLog); logEvent(Q_FUNC_INFO, "logmodel has been created-2", logSeverity); - //qDebug() << "MainWindow::MainWindow: logmodel has been created-2" << endl; + //qDebug() << "MainWindow::MainWindow: logmodel has been created-2" << endl; } defineStationCallsign(); logEvent(Q_FUNC_INFO, "before db->reConnect", logSeverity); - //qDebug() << "MainWindow::MainWindow: before db->reConnect" << endl; + //qDebug() << "MainWindow::MainWindow: before db->reConnect" << endl; dataProxy->reconnectDB(); logEvent(Q_FUNC_INFO, "after db->reConnect", logSeverity); - //qDebug() << "MainWindow::MainWindow: after db->reConnect" << endl; + //qDebug() << "MainWindow::MainWindow: after db->reConnect" << endl; logEvent(Q_FUNC_INFO, "END", logSeverity); } @@ -3809,25 +3995,25 @@ void MainWindow::openFile() /* bool MainWindow::saveFile(const QString &_fileName) { - //qDebug() << "MainWindow::saveFile: " << _fileName << endl; + //qDebug() << "MainWindow::saveFile: " << _fileName << endl; logEvent(Q_FUNC_INFO, "Start", logSeverity); QString fileName = _fileName; if (fileName.endsWith(".adi", Qt::CaseInsensitive)) { - //qDebug() << "MainWindow::saveFile: 1" << endl; + //qDebug() << "MainWindow::saveFile: 1" << endl; needToSave = !(filemanager->adifLogExport(fileName, currentLog)); } else if (fileName.endsWith(".log", Qt::CaseInsensitive)) { - //qDebug() << "MainWindow::saveFile: 2" << endl; + //qDebug() << "MainWindow::saveFile: 2" << endl; needToSave = !(filemanager->cabrilloLogExport(fileName, contestMode, currentLog)); //contest->saveFileToSend(fileName); } else { - //qDebug() << "MainWindow::saveFile: 3" << endl; + //qDebug() << "MainWindow::saveFile: 3" << endl; //TODO: Message "You must select a proper file format QMessageBox msgBox; msgBox.setIcon(QMessageBox::Information); @@ -3836,7 +4022,7 @@ bool MainWindow::saveFile(const QString &_fileName) logEvent(Q_FUNC_INFO, "END-1", logSeverity); return false; } - //qDebug() << "MainWindow::saveFile: 4" << endl; + //qDebug() << "MainWindow::saveFile: 4" << endl; logEvent(Q_FUNC_INFO, "END", logSeverity); return needToSave; @@ -3844,7 +4030,7 @@ bool MainWindow::saveFile(const QString &_fileName) bool MainWindow::saveFileAs() { - //qDebug() << "MainWindow::saveFileAs" << endl; + //qDebug() << "MainWindow::saveFileAs" << endl; //QFileDialog dialog(this); logEvent(Q_FUNC_INFO, "Start", logSeverity); @@ -3891,7 +4077,7 @@ bool MainWindow::saveFileAs() /* void MainWindow::newFile() { - //qDebug() << "MainWindow::newFile" << endl; + //qDebug() << "MainWindow::newFile" << endl; //TODO: Ask for a confirmation to the user //TODO: Clean the DB & query.exec("VACUUM"); logEvent(Q_FUNC_INFO, "Start", logSeverity); @@ -3919,7 +4105,7 @@ void MainWindow::newFile() bool MainWindow::slotOpenKLogFolder() { - //qDebug() << "MainWindow::slotOpenKLogFolder: " << configFileName << endl; + //qDebug() << "MainWindow::slotOpenKLogFolder: " << configFileName << endl; logEvent(Q_FUNC_INFO, "Start", logSeverity); //configFileName = klogDir+"/klogrc.cfg"; QString _aux = "
  • getHomeDir() + ">file://" + util->getHomeDir() + "
  • " + @@ -3935,7 +4121,7 @@ bool MainWindow::slotOpenKLogFolder() _text, QMessageBox::Ok, QMessageBox::Ok); - //qDebug() << "MainWindow::slotOpenKLogFolder: END" << endl; + //qDebug() << "MainWindow::slotOpenKLogFolder: END" << endl; logEvent(Q_FUNC_INFO, "END", logSeverity); return true; @@ -3944,7 +4130,7 @@ bool MainWindow::slotOpenKLogFolder() void MainWindow::slotUpdateStatusBar(const QString &statusm) { - //qDebug() << "MainWindow::slotUpdateStatusBar: " << statusm << endl; + //qDebug() << "MainWindow::slotUpdateStatusBar: " << statusm << endl; logEvent(Q_FUNC_INFO, "Start", logSeverity); statusBar()->showMessage(statusm, 2000); logEvent(Q_FUNC_INFO, "END", logSeverity); @@ -3963,7 +4149,7 @@ bool MainWindow::readCtyFile() void MainWindow::slotDoubleClickLog(const int _qsoID) { - //qDebug() << "MainWindow::slotDoubleClickLog: QSOid: " << QString::number(_qsoID) << endl; + //qDebug() << "MainWindow::slotDoubleClickLog: QSOid: " << QString::number(_qsoID) << endl; logEvent(Q_FUNC_INFO, "Start", logSeverity); //int row = _qsoID.row(); //qsoToEdit((logModel->index(row, 0)).data(0).toInt()); @@ -3982,19 +4168,16 @@ void MainWindow::keyPressEvent(QKeyEvent *event){ return; } */ - //qDebug() << "MainWindow::keyPressEvent: " << endl; logEvent(Q_FUNC_INFO, "Start", logSeverity); switch (event->key()) { case Qt::Key_Return: // ENTER PRESSED - slotQRZReturnPressed(); - //qDebug() << "MainWindow::keyPressEvent: RETURN" << endl; + //slotQRZReturnPressed(); break; case Qt::Key_Enter: // ENTER PRESSED - //qDebug() << "MainWindow::keyPressEvent: ENTER" << endl; - slotQRZReturnPressed(); + // slotQRZReturnPressed(); break; default: @@ -4002,14 +4185,13 @@ void MainWindow::keyPressEvent(QKeyEvent *event){ ; } - logEvent(Q_FUNC_INFO, "END", logSeverity); } /* void MainWindow::checkIfWorkedB4(const QString &_qrz) { - //qDebug() << "MainWindow::checkIfWorkedB4: " << _qrz << endl; + //qDebug() << "MainWindow::checkIfWorkedB4: " << _qrz << endl; logEvent(Q_FUNC_INFO, "Start", logSeverity); int i = dataProxy->isWorkedB4(_qrz, currentLog); // Gets the QSO id if worked before @@ -4041,7 +4223,7 @@ void MainWindow::checkIfWorkedB4(const QString &_qrz) void MainWindow::readConfigData() { - //qDebug() << "MainWindow::readConfigData - 01" << endl; + //qDebug() << "MainWindow::readConfigData - 01" << endl; logEvent(Q_FUNC_INFO, "Start", logSeverity); if (needToEnd) { @@ -4050,29 +4232,29 @@ void MainWindow::readConfigData() } QFile file(configFileName); if (!file.open(QIODevice::ReadOnly | QIODevice::Text)){ - //qDebug() << "MainWindow::readConfigData: File not found" << configFileName << endl; + //qDebug() << "MainWindow::readConfigData: File not found" << configFileName << endl; if (configured) { - //qDebug() << "MainWindow::readConfigData: configured = true" << endl; + //qDebug() << "MainWindow::readConfigData: configured = true" << endl; } else { - //qDebug() << "MainWindow::readConfigDataw: configured = false" << endl; + //qDebug() << "MainWindow::readConfigDataw: configured = false" << endl; } openSetup(); logEvent(Q_FUNC_INFO, "END-2", logSeverity); return; } hamlibActive = false; - //qDebug() << "MainWindow::readConfigData: Before processConfigLine " << endl; + //qDebug() << "MainWindow::readConfigData: Before processConfigLine " << endl; while (!file.atEnd()) { QByteArray line = file.readLine(); processConfigLine(line); } - //qDebug() << "MainWindow::readConfigData: After processConfigLine " << endl; + //qDebug() << "MainWindow::readConfigData: After processConfigLine " << endl; defineStationCallsign(); - //qDebug() << "MainWindow::readConfigData: " << defaultADIFLogFile << endl; + //qDebug() << "MainWindow::readConfigData: " << defaultADIFLogFile << endl; if ((useDefaultLogFileName) && (defaultADIFLogFile.length()>0)) { @@ -4082,29 +4264,29 @@ void MainWindow::readConfigData() { useDefaultLogFileName = false; } - //qDebug() << "MainWindow::readConfigData-01" << endl; + //qDebug() << "MainWindow::readConfigData-01" << endl; infoWidget->setImperialSystem(imperialSystem); - //slotShowInfoLabel(world->getEntityName(currentEntity), 2); + infoLabel2->setText(world->getEntityName(currentEntity)); - //qDebug() << "MainWindow::readConfigData-89" << endl; + //qDebug() << "MainWindow::readConfigData-89" << endl; infoWidget->showEntityInfo(currentEntity); - //qDebug() << "MainWindow::readConfigData-90" << endl; + //qDebug() << "MainWindow::readConfigData-90" << endl; configured = true; awards->setColors (newOneColor.name(), neededColor.name(), workedColor.name(), confirmedColor.name(), defaultColor.name()); dxClusterWidget->setColors (newOneColor.name(), neededColor.name(), workedColor.name(), confirmedColor.name(), defaultColor.name()); dxClusterWidget->setDXClusterSpotConfig(dxClusterShowHF, dxClusterShowVHF, dxClusterShowWARC, dxClusterShowWorked, dxClusterShowConfirmed, dxClusterShowAnn, dxClusterShowWWV, dxClusterShowWCY ); dxClusterWidget->setMyQRZ(stationQRZ); - //qDebug() << "MainWindow::readConfigData-97" << endl; + //qDebug() << "MainWindow::readConfigData-97" << endl; checkIfNewBandOrMode(); - //qDebug() << "MainWindow::readConfigData-98" << endl; + //qDebug() << "MainWindow::readConfigData-98" << endl; //initialContestModeConfiguration(); - //qDebug() << "MainWindow::readConfigData: 99" << endl; + //qDebug() << "MainWindow::readConfigData: 99" << endl; if (upAndRunning) { // Next actions will not be executed in the first run - //qDebug() << "MainWindow::readConfigData: 99.1" << endl; + //qDebug() << "MainWindow::readConfigData: 99.1" << endl; slotClearButtonClicked(); - //qDebug() << "MainWindow::readConfigData: 99.2" << endl; + //qDebug() << "MainWindow::readConfigData: 99.2" << endl; //createSearchResultsPanel(); } @@ -4117,18 +4299,18 @@ void MainWindow::readConfigData() { } - //qDebug() << "MainWindow::readConfigData: calling checkIfNewBandOrMode" << endl; + //qDebug() << "MainWindow::readConfigData: calling checkIfNewBandOrMode" << endl; - //qDebug() << "MainWindow::readConfigData: 100" << endl; + //qDebug() << "MainWindow::readConfigData: 100" << endl; util->setVersion(softwareVersion); - //qDebug() << "MainWindow::readConfigData: 101" << endl; + //qDebug() << "MainWindow::readConfigData: 101" << endl; searchWidget->setVersion(softwareVersion); - //qDebug() << "MainWindow::readConfigData: 102" << endl; + //qDebug() << "MainWindow::readConfigData: 102" << endl; searchWidget->setCurrentLog(currentLog); - //qDebug() << "MainWindow::readConfigData: 103" << endl; + //qDebug() << "MainWindow::readConfigData: 103" << endl; infoWidget->setCurrentLog(currentLog); - //qDebug() << "MainWindow::readConfigData: 104" << endl; + //qDebug() << "MainWindow::readConfigData: 104" << endl; searchWidget->setColors (newOneColor.name(), neededColor.name(), workedColor.name(), confirmedColor.name(), defaultColor.name()); infoWidget->setColors(newOneColor.name(), neededColor.name(), workedColor.name(), confirmedColor.name(), defaultColor.name()); @@ -4140,10 +4322,10 @@ void MainWindow::readConfigData() if (UDPServerStart) { - //qDebug() << "MainWindow::readConfigData: 104: UDPServerStart TRUE" << endl; + //qDebug() << "MainWindow::readConfigData: 104: UDPServerStart TRUE" << endl; if (!UDPLogServer->isStarted()) { - //qDebug() << "MainWindow::readConfigData: 104: Server off" << endl; + //qDebug() << "MainWindow::readConfigData: 104: Server off" << endl; if (!UDPLogServer->start()) { errorMSG = tr("start"); @@ -4153,17 +4335,17 @@ void MainWindow::readConfigData() } else { - //qDebug() << "MainWindow::readConfigData: UDP Log server started!" << endl; + //qDebug() << "MainWindow::readConfigData: UDP Log server started!" << endl; } } else { - //qDebug() << "MainWindow::readConfigData: UDP Log server already started no need to restart!" << endl; + //qDebug() << "MainWindow::readConfigData: UDP Log server already started no need to restart!" << endl; } } else { - //qDebug() << "MainWindow::readConfigData: 104: UDPServerStart FALSE" << endl; + //qDebug() << "MainWindow::readConfigData: 104: UDPServerStart FALSE" << endl; if (UDPLogServer->isStarted()) { if (!UDPLogServer->stop()) @@ -4175,30 +4357,30 @@ void MainWindow::readConfigData() } else { - //qDebug() << "MainWindow::readConfigData: UDP Log server stopped!" << endl; + //qDebug() << "MainWindow::readConfigData: UDP Log server stopped!" << endl; } } else { - //qDebug() << "MainWindow::readConfigData: UDP Log server already stopped no need to restop!" << endl; + //qDebug() << "MainWindow::readConfigData: UDP Log server already stopped no need to restop!" << endl; } } - //qDebug() << "MainWindow::readConfigData: hamlib" << endl; + //qDebug() << "MainWindow::readConfigData: hamlib" << endl; if (hamlibActive) { - //qDebug() << "MainWindow::readConfigData: STARTING HAMLIB" << endl; + //qDebug() << "MainWindow::readConfigData: STARTING HAMLIB" << endl; hamlib->init(true); - //qDebug() << "MainWindow::readConfigData: HAMLIB STARTED"; + //qDebug() << "MainWindow::readConfigData: HAMLIB STARTED"; } else { - //qDebug() << "MainWindow::readConfigData: STOPPING HAMLIB"; + //qDebug() << "MainWindow::readConfigData: STOPPING HAMLIB"; hamlib->stop(); - //qDebug() << "MainWindow::readConfigData: NOT STARTING HAMLIB"; + //qDebug() << "MainWindow::readConfigData: NOT STARTING HAMLIB"; } - //qDebug() << "MainWindow::readConfigData - END" << endl; + //qDebug() << "MainWindow::readConfigData - END" << endl; logEvent(Q_FUNC_INFO, "END", logSeverity); } @@ -4214,12 +4396,12 @@ bool MainWindow::processConfigLine(const QString &_line){ if (line.startsWith('#')){ - //qDebug() << "MainWindow::processConfigLine: notes Line!" << endl; + //qDebug() << "MainWindow::processConfigLine: notes Line!" << endl; logEvent(Q_FUNC_INFO, "END-1", logSeverity); return true; } if (!( (line.contains('=')) && (line.contains(';')))){ - //qDebug() << "MainWindow::processConfigLine: Wrong Line!" << endl; + //qDebug() << "MainWindow::processConfigLine: Wrong Line!" << endl; logEvent(Q_FUNC_INFO, "END-2", logSeverity); return false; } @@ -4232,29 +4414,25 @@ bool MainWindow::processConfigLine(const QString &_line){ value = value.left(value.length() - (value.length() - endValue)); } - if (field == "CALLSIGN"){ - if (util->isValidCall(value)) - { - mainQRZ = value; - } + if (field == "CALLSIGN"){ + mainQRZ = value; }else if (field=="CQZ"){ my_CQz = value.toInt(); }else if (field=="ITUZ"){ my_ITUz = value.toInt(); }else if (field=="CONTEST"){ - //qDebug() << "MainWindow::processConfigLine: CONTEST: " << endl; + //qDebug() << "MainWindow::processConfigLine: CONTEST: " << endl; contestMode = value; }else if (field=="MODES"){ readActiveModes(value.split(", ", QString::SkipEmptyParts)); }else if (field=="BANDS"){ - //qDebug() << "MainWindow::processConfigLine: BANDS: " << value << endl; + //qDebug() << "MainWindow::processConfigLine: BANDS: " << value << endl; readActiveBands(value.split(", ", QString::SkipEmptyParts)); }else if (field=="REALTIME"){ - //qDebug() << "MainWindow::processConfigLine: REALTIME: " << value.toUpper() << endl; - mainQSOEntryWidget->setRealTime(util->trueOrFalse(value)); - //realTime = util->trueOrFalse(value); + //qDebug() << "MainWindow::processConfigLine: REALTIME: " << value.toUpper() << endl; + realTime = util->trueOrFalse(value); } else if (field =="DXCLUSTERSERVERTOUSE"){ aux = value; //dxfun.com:8000 @@ -4294,9 +4472,9 @@ bool MainWindow::processConfigLine(const QString &_line){ } else if (field=="MANAGEDXMARATHON") { - //qDebug() << "MainWindow::processConfigLine: Marathon-1 - Value: " << value << endl; + //qDebug() << "MainWindow::processConfigLine: Marathon-1 - Value: " << value << endl; manageDxMarathon = util->trueOrFalse(value); - //qDebug() << "MainWindow::processConfigLine: Marathon-2" << endl; + //qDebug() << "MainWindow::processConfigLine: Marathon-2" << endl; awardsWidget->setManageDXMarathon(manageDxMarathon); } @@ -4333,32 +4511,21 @@ bool MainWindow::processConfigLine(const QString &_line){ } else if (field=="UTCTIME") { - //qDebug() << "MainWindow::processConfigLine: UTCTIME: " << value.toUpper() <trueOrFalse(value); - mainQSOEntryWidget->setUTC(util->trueOrFalse(value)); + //qDebug() << "MainWindow::processConfigLine: UTCTIME: " << value.toUpper() <trueOrFalse(value); } else if (field=="KEEPMYDATA") { keepMyData = util->trueOrFalse(value); } - /* else if (field=="LOGSORT") { logWindow->setProxyModel(util->trueOrFalse(value)); } - */ - else if (field=="SENDEQSLBYDEFAULT") - { - eQSLTabWidget->setQueueSentByDefault(util->trueOrFalse(value)); - } else if (field=="COMPLETEWITHPREVIOUS") { completeWithPrevious = util->trueOrFalse(value); } - else if (field=="DXCLUSTERSAVE") - { - dxClusterWidget->setSaveSpots(util->trueOrFalse(value)); - } else if (field=="DXCLUSTERSHOWHF") { dxClusterShowHF = util->trueOrFalse(value); @@ -4402,7 +4569,7 @@ bool MainWindow::processConfigLine(const QString &_line){ else if (field=="DEFAULTADIFFILE") { defaultADIFLogFile = value.toLower(); - //qDebug() << "MainWindow::processConfigLine: " << defaultADIFLogFile << endl; + //qDebug() << "MainWindow::processConfigLine: " << defaultADIFLogFile << endl; } else if (field=="STATIONLOCATOR") { @@ -4433,21 +4600,9 @@ bool MainWindow::processConfigLine(const QString &_line){ { defaultColor.setNamedColor(value); } - else if (field=="PSTROTATORACTIVE") - { - usePSTRotator = true; - } - else if (field=="PSTROTATORPORT") - { - pstRotator->setPort(value.toInt()); - } - else if (field=="PSTROTATORSERVER") - { - pstRotator->setServer(value); - } else if (field=="UDPSERVER") { - //qDebug() << "MainWindow::processConfigLine: UDPSERVER: " << value.toUpper() << endl; + //qDebug() << "MainWindow::processConfigLine: UDPSERVER: " << value.toUpper() << endl; if (value.toUpper() == "TRUE") { UDPServerStart = true; @@ -4497,49 +4652,49 @@ bool MainWindow::processConfigLine(const QString &_line){ } else if (field == "HAMLIBRIGTYPE" ) { - //qDebug() << "MainWindow::processConfigLine: HAMLIBRIGTYPE: " << value << endl; + //qDebug() << "MainWindow::processConfigLine: HAMLIBRIGTYPE: " << value << endl; hamlib->setModelId(value.toInt()); - //qDebug() << "MainWindow::processConfigLine: HAMLIBRIGTYPE: " << value << endl; + //qDebug() << "MainWindow::processConfigLine: HAMLIBRIGTYPE: " << value << endl; } else if(field == "HAMLIBSERIALPORT") { - //qDebug() << "MainWindow::processConfigLine: HAMLIBSERIALPORT: " << value << endl; + //qDebug() << "MainWindow::processConfigLine: HAMLIBSERIALPORT: " << value << endl; hamlib->setPort(value); - //qDebug() << "MainWindow::processConfigLine: HAMLIBSERIALPORT: " << value << endl; + //qDebug() << "MainWindow::processConfigLine: HAMLIBSERIALPORT: " << value << endl; } else if (field == "HAMLIBSERIALBAUDS") { - //qDebug() << "MainWindow::processConfigLine: HAMLIBSERIALBAUDS: " << value << endl; + //qDebug() << "MainWindow::processConfigLine: HAMLIBSERIALBAUDS: " << value << endl; hamlib->setSpeed(value); - //qDebug() << "MainWindow::processConfigLine: HAMLIBSERIALBAUDS: " << value << endl; + //qDebug() << "MainWindow::processConfigLine: HAMLIBSERIALBAUDS: " << value << endl; }else if(field =="HAMLIBSERIALDATABITS"){ - //qDebug() << "SetupDialog::processConfigLine: HAMLIBSERIALDATABITS: " << value << endl; + //qDebug() << "SetupDialog::processConfigLine: HAMLIBSERIALDATABITS: " << value << endl; hamlib->setData(value); - //qDebug() << "SetupDialog::processConfigLine: HAMLIBSERIALDATABITS: " << value << endl; + //qDebug() << "SetupDialog::processConfigLine: HAMLIBSERIALDATABITS: " << value << endl; }else if(field =="HAMLIBSERIALSTOPBITS"){ - //qDebug() << "SetupDialog::processConfigLine: HAMLIBSERIALSTOPBITS: " << value << endl; + //qDebug() << "SetupDialog::processConfigLine: HAMLIBSERIALSTOPBITS: " << value << endl; hamlib->setStop(value); - //qDebug() << "SetupDialog::processConfigLine: HAMLIBSERIALSTOPBITS: " << value << endl; + //qDebug() << "SetupDialog::processConfigLine: HAMLIBSERIALSTOPBITS: " << value << endl; }else if(field =="HAMLIBSERIALFLOWCONTROL"){ - //qDebug() << "SetupDialog::processConfigLine: HAMLIBSERIALFLOWCONTROL: " << value << endl; + //qDebug() << "SetupDialog::processConfigLine: HAMLIBSERIALFLOWCONTROL: " << value << endl; hamlib->setFlow(value); - //qDebug() << "SetupDialog::processConfigLine: HAMLIBSERIALFLOWCONTROL: " << value << endl; + //qDebug() << "SetupDialog::processConfigLine: HAMLIBSERIALFLOWCONTROL: " << value << endl; }else if(field =="HAMLIBSERIALPARITY"){ - //qDebug() << "SetupDialog::processConfigLine: HAMLIBSERIALPARITY: " << value << endl; + //qDebug() << "SetupDialog::processConfigLine: HAMLIBSERIALPARITY: " << value << endl; hamlib->setParity(value); - //qDebug() << "SetupDialog::processConfigLine: HAMLIBSERIALPARITY: " << value << endl; + //qDebug() << "SetupDialog::processConfigLine: HAMLIBSERIALPARITY: " << value << endl; }else if(field =="HAMLIBSERIALRTS"){ - //qDebug() << "SetupDialog::processConfigLine: HAMLIBSERIALRTS: " << value << endl; + //qDebug() << "SetupDialog::processConfigLine: HAMLIBSERIALRTS: " << value << endl; //hamlib->setRTS(value); - //qDebug() << "SetupDialog::processConfigLine: HAMLIBSERIALRTS: " << value << endl; + //qDebug() << "SetupDialog::processConfigLine: HAMLIBSERIALRTS: " << value << endl; }else if(field =="HAMLIBSERIALDTR"){ - //qDebug() << "SetupDialog::processConfigLine: HAMLIBSERIALDTR: " << value << endl; + //qDebug() << "SetupDialog::processConfigLine: HAMLIBSERIALDTR: " << value << endl; //hamlib->setDTR(value); - //qDebug() << "SetupDialog::processConfigLine: HAMLIBSERIALDTR: " << value << endl; + //qDebug() << "SetupDialog::processConfigLine: HAMLIBSERIALDTR: " << value << endl; } else if (field == "HAMLIB") { - //qDebug() << "MainWindow::processConfigLine: HAMLIB: " << value << endl; + //qDebug() << "MainWindow::processConfigLine: HAMLIB: " << value << endl; if (value.toUpper() == "TRUE") { hamlibActive = true; @@ -4548,11 +4703,11 @@ bool MainWindow::processConfigLine(const QString &_line){ { hamlibActive = false; } - //qDebug() << "MainWindow::processConfigLine: HAMLIB: " << value << endl; + //qDebug() << "MainWindow::processConfigLine: HAMLIB: " << value << endl; } else if (field == "HAMLIBREADONLY") { - //qDebug() << "MainWindow::processConfigLine: HAMLIBREADONLY: " << value << endl; + //qDebug() << "MainWindow::processConfigLine: HAMLIBREADONLY: " << value << endl; if (value.toUpper() == "TRUE") { hamlib->setReadOnly(true); @@ -4564,7 +4719,7 @@ bool MainWindow::processConfigLine(const QString &_line){ } else if (field=="REALTIMEFROMWSJTX") { - //qDebug() << "MainWindow::processConfigLine: REALTIMEFROMWSJTX: " << value << endl; + //qDebug() << "MainWindow::processConfigLine: REALTIMEFROMWSJTX: " << value << endl; if (value.toUpper() == "TRUE") { UDPLogServer->setRealTimeUpdate(true); @@ -4577,11 +4732,11 @@ bool MainWindow::processConfigLine(const QString &_line){ else if(field=="SELECTEDLOG") { currentLog = value.toInt(); - //qDebug() << "MainWindow::processConfigLine: currentLog - SelectedLog: " << QString::number(currentLog) << endl; + //qDebug() << "MainWindow::processConfigLine: currentLog - SelectedLog: " << QString::number(currentLog) << endl; if ( ((dataProxy->doesThisLogExist(currentLog)) && (dataProxy->getHowManyQSOInLog(currentLog) > 0)) ) { - //qDebug() << "MainWindow::processConfigLine: currentLog - Log with QSO - SelectedLog: " << QString::number(currentLog) << endl; + //qDebug() << "MainWindow::processConfigLine: currentLog - Log with QSO - SelectedLog: " << QString::number(currentLog) << endl; } else { @@ -4591,14 +4746,14 @@ bool MainWindow::processConfigLine(const QString &_line){ logs << dataProxy->getListOfManagedLogs(); - //qDebug() << "MainWindow::processConfigLine: logs: " << QString::number(logs.size()) << endl; + //qDebug() << "MainWindow::processConfigLine: logs: " << QString::number(logs.size()) << endl; for (int i = 0;igetHowManyQSOInLog(i); - //qDebug() << "MainWindow::processConfigLine: SelectedLog-x: " << QString::number(i) << " - QSOs: " << QString::number(_howManyQSOMaxT) << endl; + //qDebug() << "MainWindow::processConfigLine: SelectedLog-x: " << QString::number(i) << " - QSOs: " << QString::number(_howManyQSOMaxT) << endl; if (_howManyQSOMax < _howManyQSOMaxT) { - //qDebug() << "MainWindow::processConfigLine: Found log with more QSO: " << logs.at(i) << endl; + //qDebug() << "MainWindow::processConfigLine: Found log with more QSO: " << logs.at(i) << endl; _howManyQSOMax = _howManyQSOMaxT; _logWithMoreQSOs = (logs.at(i)).toInt(); } @@ -4613,7 +4768,7 @@ bool MainWindow::processConfigLine(const QString &_line){ QMessageBox msgBox; msgBox.setIcon(QMessageBox::Critical); - QString aux = tr("It seems that there are no QSOs in the database.") + "\n\n" + tr("If you are sure that the database contains QSOs and KLog is not able to find them, please contact the developers (see About KLog) for help."); + QString aux = tr("It seems that there are no QSO in the database.") + "\n\n" + tr("If you are sure that the database contains QSOs and KLog is not able to find them, please contact the developers (see About KLog) for help."); msgBox.setText(aux); msgBox.setStandardButtons(QMessageBox::Ok); msgBox.setDefaultButton(QMessageBox::Ok); @@ -4630,7 +4785,7 @@ bool MainWindow::processConfigLine(const QString &_line){ /* - //qDebug() << "MainWindow::processConfigLine: currentLog - Log without QSO - SelectedLog: " << QString::number(currentLog) << endl; + //qDebug() << "MainWindow::processConfigLine: currentLog - Log without QSO - SelectedLog: " << QString::number(currentLog) << endl; QMessageBox msgBox; msgBox.setIcon(QMessageBox::Warning); @@ -4649,14 +4804,14 @@ bool MainWindow::processConfigLine(const QString &_line){ case QMessageBox::No: logs << dataProxy->getListOfManagedLogs(); - //qDebug() << "MainWindow::processConfigLine: logs: " << QString::number(logs.size()) << endl; + //qDebug() << "MainWindow::processConfigLine: logs: " << QString::number(logs.size()) << endl; for (int i = 0;igetHowManyQSOInLog(i); - //qDebug() << "MainWindow::processConfigLine: SelectedLog-x: " << QString::number(i) << " - QSOs: " << QString::number(_howManyQSOMaxT) << endl; + //qDebug() << "MainWindow::processConfigLine: SelectedLog-x: " << QString::number(i) << " - QSOs: " << QString::number(_howManyQSOMaxT) << endl; if (_howManyQSOMax < _howManyQSOMaxT) { - //qDebug() << "MainWindow::processConfigLine: Found log with more QSO: " << logs.at(i) << endl; + //qDebug() << "MainWindow::processConfigLine: Found log with more QSO: " << logs.at(i) << endl; _howManyQSOMax = _howManyQSOMaxT; _logWithMoreQSOs = (logs.at(i)).toInt(); } @@ -4669,7 +4824,7 @@ bool MainWindow::processConfigLine(const QString &_line){ else { msgBox.setIcon(QMessageBox::Critical); - QString aux = tr("It seems that there are no QSOs in the database.") + "\n\n" + tr("If you are sure that the database contains QSOs and KLog is not able to find them, please contact the developers (see About KLog) for help."); + QString aux = tr("It seems that there are no QSO in the database.") + "\n\n" + tr("If you are sure that the database contains QSOs and KLog is not able to find them, please contact the developers (see About KLog) for help."); msgBox.setText(aux); msgBox.setStandardButtons(QMessageBox::Ok); msgBox.setDefaultButton(QMessageBox::Ok); @@ -4693,16 +4848,16 @@ bool MainWindow::processConfigLine(const QString &_line){ } dxClusterWidget->setCurrentLog(currentLog); dxccStatusWidget->setCurrentLog(currentLog); - //qDebug() << "MainWindow::processConfigLine: currentLog: " << value << endl; + //qDebug() << "MainWindow::processConfigLine: currentLog: " << value << endl; } else if(field=="CLUBLOGACTIVE") { - //qDebug() << "MainWindow::processConfigLine: clublogActive: " << value << endl; + //qDebug() << "MainWindow::processConfigLine: clublogActive: " << value << endl; clublogActive = util->trueOrFalse(value); } else if(field=="CLUBLOGREALTIME") { - //qDebug() << "MainWindow::processConfigLine: clublogRealTime: " << value << endl; + //qDebug() << "MainWindow::processConfigLine: clublogRealTime: " << value << endl; clublogRealTime = util->trueOrFalse(value); } else if(field=="CLUBLOGCALL") @@ -4718,32 +4873,6 @@ bool MainWindow::processConfigLine(const QString &_line){ { clublogEmail = value; } - else if(field =="LOTWACTIVE"){ - //qDebug() << "MainWindow::processConfigLine - LOTWACTIVE" << endl; - if (util->trueOrFalse(value)) - { - lotwCallTQSL->setEnabled(true); - lotwCallTQSL->setWhatsThis(tr("Sends the log to LoTW calling TQSL.")); - } - else - { - lotwCallTQSL->setEnabled(false); - lotwCallTQSL->setWhatsThis(tr("This function is disabled. Go to the Setup->LoTW tab to enable it.")); - } - //qDebug() << "MainWindow::processConfigLine - LOTWACTIVE-END" << endl; - } - else if(field =="LOTWPATH"){ - //qDebug() << "MainWindow::processConfigLine - LOTWPATH" << endl; - lotwTQSLpath = value; - } - else if(field =="LOTWUSER"){ - //qDebug() << "MainWindow::processConfigLine - LOTWUSER: -" << value <<"-" << endl; - lotwUtilities->setUser(value); - //qDebug() << "MainWindow::processConfigLine - AFTER LOTWUSER" << endl; - } - else if(field =="LOTWPASS"){ - lotwUtilities->setPass(value); - } else if(field=="VERSION") { if (softwareVersion!=value) @@ -4753,7 +4882,7 @@ bool MainWindow::processConfigLine(const QString &_line){ } else { - //qDebug() << "MainWindow::processConfigLine: NONE: " << endl; + //qDebug() << "MainWindow::processConfigLine: NONE: " << endl; } // Lines are: Option = value; @@ -4766,54 +4895,50 @@ bool MainWindow::processConfigLine(const QString &_line){ void MainWindow::checkIfNewBandOrMode() {//Checks the log to see if there is a QSO with a band/mode //that is not currently selected as active - //qDebug() << "MainWindow::checkIfNewBandOrMode - START" << endl; + //qDebug() << "MainWindow::checkIfNewBandOrMode - START" << endl; logEvent(Q_FUNC_INFO, "Start", logSeverity); setupDialog->checkIfNewBandOrMode(); // Update the Setup dialog with new bands or modes - //qDebug() << "MainWindow::checkIfNewBandOrMode - 1" << endl; + //qDebug() << "MainWindow::checkIfNewBandOrMode - 1" << endl; QStringList bandsInLog = dataProxy->getBandsInLog(currentLog); - //qDebug() << "MainWindow::checkIfNewBandOrMode - 2" << endl; + //qDebug() << "MainWindow::checkIfNewBandOrMode - 2" << endl; QStringList modesInLog = dataProxy->getModesInLog(currentLog); - //qDebug() << "MainWindow::checkIfNewBandOrMode - 3" << endl; + //qDebug() << "MainWindow::checkIfNewBandOrMode - 3" << endl; QStringList qsTemp; qsTemp.clear(); - //qDebug() << "MainWindow::checkIfNewBandOrMode - 3.1" << endl; + //qDebug() << "MainWindow::checkIfNewBandOrMode - 3.1" << endl; bands << bandsInLog; bands.removeDuplicates(); - //qDebug() << "MainWindow::checkIfNewBandOrMode - 3.2" << endl; + //qDebug() << "MainWindow::checkIfNewBandOrMode - 3.2" << endl; qsTemp << dataProxy->sortBandNamesBottonUp(bands); - //qDebug() << "MainWindow::checkIfNewBandOrMode - 3.3" << endl; + //qDebug() << "MainWindow::checkIfNewBandOrMode - 3.3" << endl; bands.clear(); - bands = qsTemp; - + bands << qsTemp; + modes << modesInLog; modes.removeDuplicates(); - modes.sort(); - //qDebug() << "MainWindow::checkIfNewBandOrMode - bands -" << QString::number(bands.length()) << endl; - //bandComboBox->clear(); - mainQSOEntryWidget->setBands(bands); - //bandComboBox->addItems(bands); + //qDebug() << "MainWindow::checkIfNewBandOrMode - bands -" << QString::number(bands.length()) << endl; + bandComboBox->clear(); + bandComboBox->addItems(bands); satTabWidget->addBands(bands); - //qDebug() << "MainWindow::checkIfNewBandOrMode - modes -" << QString::number(modes.length()) << endl; - mainQSOEntryWidget->setModes(modes); - //modeComboBox->clear(); - //modeComboBox->addItems(modes); + //qDebug() << "MainWindow::checkIfNewBandOrMode - modes -" << QString::number(modes.length()) << endl; + modeComboBox->clear(); + modeComboBox->addItems(modes); - //qDebug() << "MainWindow::checkIfNewBandOrMode - CurrentBand/CurrentBandShown: " << QString::number(currentBand) << "/" << QString::number(currentBandShown) << endl; + //qDebug() << "MainWindow::checkIfNewBandOrMode - CurrentBand/CurrentBandShown: " << QString::number(currentBand) << "/" << QString::number(currentBandShown) << endl; dxccStatusWidget->setBands(bands); - //qDebug() << "MainWindow::checkIfNewBandOrMode-98" << endl; + //qDebug() << "MainWindow::checkIfNewBandOrMode-98" << endl; selectDefaultBand(); - //qDebug() << "MainWindow::checkIfNewBandOrMode-99" << endl; + //qDebug() << "MainWindow::checkIfNewBandOrMode-99" << endl; selectDefaultMode(); - logEvent(Q_FUNC_INFO, "END", logSeverity); - //qDebug() << "MainWindow::checkIfNewBandOrMode END" << endl; + //qDebug() << "MainWindow::checkIfNewBandOrMode END" << endl; } void MainWindow::selectDefaultBand() { - //qDebug() << "MainWindow::selectDefaultBand" << endl; + //qDebug() << "MainWindow::selectDefaultBand" << endl; logEvent(Q_FUNC_INFO, "Start", logSeverity); if (!upAndRunning) { @@ -4824,21 +4949,19 @@ void MainWindow::selectDefaultBand() defaultBand = dataProxy->getMostUsedBand(currentLog); if (defaultBand<1) { - defaultBand = dataProxy->getIdFromBandName(mainQSOEntryWidget->getBand(0)); - //defaultBand = dataProxy->getIdFromBandName(bandComboBox->itemText(1)); + defaultBand = dataProxy->getIdFromBandName(bandComboBox->itemText(1)); } aux = dataProxy->getNameFromBandId(defaultBand); - mainQSOEntryWidget->setBand(aux); - //bandComboBox->setCurrentIndex(bandComboBox->findText(aux)); + bandComboBox->setCurrentIndex(bandComboBox->findText(aux)); logEvent(Q_FUNC_INFO, "END", logSeverity); - //qDebug() << "MainWindow::selectDefaultBand_END" << endl; + //qDebug() << "MainWindow::selectDefaultBand_END" << endl; } void MainWindow::selectDefaultMode() { - //qDebug() << "MainWindow::selectDefaultMode" << endl; + //qDebug() << "MainWindow::selectDefaultMode" << endl; logEvent(Q_FUNC_INFO, "Start", logSeverity); if (!upAndRunning) { @@ -4846,47 +4969,46 @@ void MainWindow::selectDefaultMode() } //int aux = 1; defaultMode = dataProxy->getMostUsedMode(currentLog); - //qDebug() << "MainWindow::selectDefaultMode: " << QString::number(defaultMode) << endl; + //qDebug() << "MainWindow::selectDefaultMode: " << QString::number(defaultMode) << endl; if (defaultMode < 1) { - defaultMode = dataProxy->getSubModeIdFromSubMode(mainQSOEntryWidget->getBand(0)); - //defaultMode = dataProxy->getSubModeIdFromSubMode((modeComboBox->itemText(0))); - //qDebug() << "MainWindow::selectDefaultMode2: " << QString::number(defaultMode) << endl; - //qDebug() << "MainWindow::selectDefaultMode2S: " << endl; + + defaultMode = dataProxy->getSubModeIdFromSubMode((modeComboBox->itemText(0))); + //qDebug() << "MainWindow::selectDefaultMode2: " << QString::number(defaultMode) << endl; + //qDebug() << "MainWindow::selectDefaultMode2S: " << modeComboBox->itemText(0) << endl; } //aux = dataProxy->getNameFromSubModeId(defaultMode); - mainQSOEntryWidget->setMode(dataProxy->getNameFromSubModeId(defaultMode)); - //modeComboBox->setCurrentIndex(modeComboBox->findText(dataProxy->getNameFromSubModeId(defaultMode))); + modeComboBox->setCurrentIndex(modeComboBox->findText(dataProxy->getNameFromSubModeId(defaultMode))); - //qDebug() << "MainWindow::selectDefaultMode3: " << QString::number(defaultMode) << endl; + //qDebug() << "MainWindow::selectDefaultMode3: " << QString::number(defaultMode) << endl; logEvent(Q_FUNC_INFO, "END", logSeverity); - //qDebug() << "MainWindow::selectDefaultMode-END" << endl; + //qDebug() << "MainWindow::selectDefaultMode-END" << endl; } void MainWindow::readActiveBands (const QStringList actives) { // Checks a "10m, 12m" QString, checks if they are valid bands and import to the - //qDebug() << "MainWindow::readActiveBands: " << actives << endl; + //qDebug() << "MainWindow::readActiveBands: " << actives << endl; logEvent(Q_FUNC_INFO, "Start", logSeverity); for (int i=0;igetBandsInLog(currentLog); __bands.removeDuplicates(); - bands = __bands; + bands << __bands; //QStringList values = actives.split(", ", QString::SkipEmptyParts); @@ -4912,16 +5034,16 @@ void MainWindow::readActiveBands (const QStringList actives) bands.removeDuplicates(); for (int i=0;igetModesInLog(currentLog); __modes.removeDuplicates(); modes.clear(); @@ -4937,10 +5059,10 @@ void MainWindow::readActiveModes (const QStringList actives) for (int i = 0; i < __modes.size() ; i++) { - //qDebug() << "MainWindow::readActiveModes: checking: " << __modes.at(i) << endl; + //qDebug() << "MainWindow::readActiveModes: checking: " << __modes.at(i) << endl; if (dataProxy->getIdFromModeName(__modes.at(i)) > 0) { - //qDebug() << "MainWindow::readActiveModes: checking-exist: " << __modes.at(i) << endl; + //qDebug() << "MainWindow::readActiveModes: checking-exist: " << __modes.at(i) << endl; //if (!atLeastOne) //{ // atLeastOne = true; @@ -4950,7 +5072,7 @@ void MainWindow::readActiveModes (const QStringList actives) if (aux.length()>0) { - //qDebug() << "MainWindow::readActiveModes: adding: " << aux << endl; + //qDebug() << "MainWindow::readActiveModes: adding: " << aux << endl; modes << aux; } @@ -4960,12 +5082,12 @@ void MainWindow::readActiveModes (const QStringList actives) modes.removeDuplicates(); modes.sort(); logEvent(Q_FUNC_INFO, "END", logSeverity); - //qDebug() << "MainWindow::readActiveModes - END" << endl; + //qDebug() << "MainWindow::readActiveModes - END" << endl; } void MainWindow::createData() { - //qDebug() << "MainWindow::createData " << endl; + //qDebug() << "MainWindow::createData " << endl; logEvent(Q_FUNC_INFO, "Start", logSeverity); logEvent(Q_FUNC_INFO, "END", logSeverity); @@ -4974,17 +5096,17 @@ void MainWindow::createData() void MainWindow::createUIDX() { - // //qDebug() << "MainWindow::createUIDX << endl; + //qDebug() << "MainWindow::createUIDX" << endl; logEvent(Q_FUNC_INFO, "Start", logSeverity); //bands << "10M" << "15M" << "20M" << "40M" << "80M" << "160M"; //modes << "SSB" << "CW" << "RTTY"; - // - //bandComboBox->clear(); - //bandComboBox->addItems(dataProxy->sortBandNamesBottonUp(bands)); - //qDebug() << "MainWindow::createUIDX - 1-" << QString::number(modes.count()) << endl; - //modeComboBox->clear(); - //modeComboBox->addItems(modes); + bands.removeDuplicates(); + bandComboBox->clear(); + bandComboBox->addItems( dataProxy->sortBandNamesBottonUp(bands)); + //qDebug() << "MainWindow::createUIDX - 1-" << QString::number(modes.count()) << endl; + modeComboBox->clear(); + modeComboBox->addItems(modes); /* int mi = 0; for (int i = 0; i < modes.size(); ++i) @@ -5011,31 +5133,23 @@ void MainWindow::createUIDX() nameLineEdit->setToolTip(tr("Name of the DX.")); qthLineEdit->setToolTip(tr("QTH of the DX.")); locatorLineEdit->setToolTip(tr("Locator of the DX.")); - //qDebug() << "MainWindow::createUIDX-10" << endl; + //freqQLCDNumber->setToolTip(tr("Frequency of the QSO")); - //qrzLineEdit->setToolTip(tr("QRZ of the QSO.")); + qrzLineEdit->setToolTip(tr("QRZ of the QSO.")); rstTXLineEdit->setToolTip(tr("TX RST.")); - //qDebug() << "MainWindow::createUIDX-11" << endl; rstRXLineEdit->setToolTip(tr("RX RST.")); - //qDebug() << "MainWindow::createUIDX-12" << endl; - - infoLabel1->setToolTip(tr("Status of the DX entity.")); - //qDebug() << "MainWindow::createUIDX-13" << endl; - infoLabel2->setToolTip(tr("Name of the DX entity.")); - //qDebug() << "MainWindow::createUIDX-14" << endl; - - //STXLineEdit->setToolTip(tr("TX Exchange.")); - //SRXLineEdit->setToolTip(tr("RX Exchange.")); - //bandComboBox->setToolTip(tr("Band of the QSO.")); - //modeComboBox->setToolTip(tr("Mode of the QSO.")); - //dateEdit->setToolTip(tr("Date of the QSO.")); - //timeEdit->setToolTip(tr("Time of the QSO.")); + STXLineEdit->setToolTip(tr("TX Exchange.")); + SRXLineEdit->setToolTip(tr("RX Exchange.")); + bandComboBox->setToolTip(tr("Band of the QSO.")); + modeComboBox->setToolTip(tr("Mode of the QSO.")); + dateEdit->setToolTip(tr("Date of the QSO.")); + timeEdit->setToolTip(tr("Time of the QSO.")); //statusBar->setToolTip(tr("Misc information")); //qsoStatusBar->setToolTip(tr("QSO information")); - //OKButton->setToolTip(tr("Add the QSO to the log.")); + OKButton->setToolTip(tr("Add the QSO to the log.")); //spotItButton->setToolTip(tr("Spots this QSO to the DX Cluster - This function is still not implemented")); - //clearButton->setToolTip(tr("Clears the QSO entry.")); - // //qDebug() << "MainWindow::createUIDX-25" << endl; + clearButton->setToolTip(tr("Clears the QSO entry.")); + //qDebug() << "MainWindow::createUIDX-25" << endl; /* dxccConfirmedQLCDNumber->setToolTip(tr("Number of confirmed DXCC entities.")); dxccWorkedQLCDNumber->setToolTip(tr("Number of worked DXCC entities.")); @@ -5051,11 +5165,12 @@ void MainWindow::createUIDX() dxMarathonPointsQLCDNumber->setToolTip(tr("Score for the DXMarathon on the selected year.")); operatingYearsComboBox->setToolTip(tr("Select the year you want to check.")); */ - //qDebug() << "MainWindow::createUIDX-20" << endl; - - + //qDebug() << "MainWindow::createUIDX-93" << endl; + infoLabel1->setToolTip(tr("Status of the DX entity.")); + infoLabel2->setToolTip(tr("Name of the DX entity.")); dxUpLeftInputFrame = new QFrame; + //qDebug() << "MainWindow::createUIDX-50" << endl; //dxUpRightOutputFrame = new QFrame; //dxUpRightOutputFrame->setFrameShadow(QFrame::Raised); //dxUpRightOutputFrame->setFrameStyle(QFrame::StyledPanel); @@ -5066,7 +5181,7 @@ void MainWindow::createUIDX() dxUpLeftTab->setTabPosition(QTabWidget::North); dxUpRightTab->setTabPosition(QTabWidget::South); - //qDebug() << "MainWindow::createUIDX-30" << endl; + QWidget *qsoInputTabWidget = new QWidget; //QFormLayout *qsoInputTabWidgetLayout = new QFormLayout; QLabel *nameLabel = new QLabel(qsoInputTabWidget); @@ -5079,7 +5194,7 @@ void MainWindow::createUIDX() QLabel *locLabel = new QLabel(qsoInputTabWidget); locLabel->setText(tr("DX Locator")); locLabel->setAlignment(Qt::AlignVCenter| Qt::AlignCenter); - //qDebug() << "MainWindow::createUIDX-40" << endl; + QLabel *rxPowerSpinBoxLabelN = new QLabel(tr("Power(rx)")); rxPowerSpinBoxLabelN->setAlignment(Qt::AlignVCenter| Qt::AlignCenter); @@ -5088,7 +5203,7 @@ void MainWindow::createUIDX() QLabel *rstRxLabelN = new QLabel(tr("RST(rx)")); rstRxLabelN->setAlignment(Qt::AlignVCenter| Qt::AlignCenter); - //(mainQSOEntryWidget->getMode()); + (modeComboBox->currentText()); QGridLayout *RSTLayout = new QGridLayout; RSTLayout->addWidget(rstTxLabelN, 0, 0); @@ -5097,7 +5212,7 @@ void MainWindow::createUIDX() RSTLayout->addWidget(rstRXLineEdit, 1, 1); //QLabel *spacerLabel = new QLabel(tr("SPACERQTH")); - //qDebug() << "MainWindow::createUIDX-50" << endl; + QHBoxLayout *qthHLayout = new QHBoxLayout; qthHLayout->addWidget(qthLabel); //qthHLayout->addSpacerItem(new QSpacerItem(50,1)); @@ -5125,7 +5240,7 @@ void MainWindow::createUIDX() QVBoxLayout *locVLayout = new QVBoxLayout; locVLayout->addWidget(locLabel); locVLayout->addWidget(locatorLineEdit); - //qDebug() << "MainWindow::createUIDX-60" << endl; + //QLabel *spacerLocLabel = new QLabel(tr("SPACERLoc")); QHBoxLayout *locLayout = new QHBoxLayout; //locLayout->addSpacerItem(new QSpacerItem(50,1)); @@ -5144,12 +5259,14 @@ void MainWindow::createUIDX() rxPowerLayout->addWidget(rxPowerSpinBoxLabelN); rxPowerLayout->addWidget(rxPowerSpinBox); + + //QLabel *spacerNameLabel = new QLabel(tr("SPACERName")); QHBoxLayout *nameHLayout = new QHBoxLayout; nameHLayout->addWidget(nameLabel); //nameHLayout->addSpacerItem(new QSpacerItem(50,1)); //nameHLayout->addWidget(spacerNameLabel ); - //qDebug() << "MainWindow::createUIDX-70" << endl; + QVBoxLayout *nameLayout = new QVBoxLayout; nameLayout->addLayout(nameHLayout); nameLayout->addWidget(nameLineEdit); @@ -5175,10 +5292,10 @@ void MainWindow::createUIDX() QVBoxLayout *qsoInputTabWidgetMainLayout = new QVBoxLayout; qsoInputTabWidgetMainLayout->addLayout(rstfreqLayout); qsoInputTabWidgetMainLayout->addLayout(namePwrLayout); + qsoInputTabWidget->setLayout(qsoInputTabWidgetMainLayout); dxUpLeftTab->addTab(qsoInputTabWidget, tr("QSO")); - //qDebug() << "MainWindow::createUIDX-80" << endl; /* // NOTES tab starts here @@ -5198,45 +5315,44 @@ void MainWindow::createUIDX() dxUpLeftTab->addTab(myDataTabWidget, tr("My Data")); dxUpLeftTab->addTab(satTabWidget, tr("Satellite")); + //qDebug() << "MainWindow::createUIDX-99" << endl; + QHBoxLayout *TimeLayout = new QHBoxLayout; + TimeLayout->addWidget(dateEdit); + TimeLayout->addWidget(timeEdit); - //QHBoxLayout *TimeLayout = new QHBoxLayout; - //TimeLayout->addWidget(dateEdit); - //TimeLayout->addWidget(timeEdit); + QHBoxLayout *BandModeLayout = new QHBoxLayout; + BandModeLayout->addWidget(bandComboBox); + BandModeLayout->addWidget(modeComboBox); - //QHBoxLayout *BandModeLayout = new QHBoxLayout; - //BandModeLayout->addWidget(bandComboBox); - //BandModeLayout->addWidget(modeComboBox); + QHBoxLayout *QrzBandModeLayout = new QHBoxLayout; + QrzBandModeLayout->addWidget(qrzLineEdit); + QrzBandModeLayout->addLayout(BandModeLayout); - //QHBoxLayout *QrzBandModeLayout = new QHBoxLayout; - //QrzBandModeLayout->addWidget(qrzLineEdit); - //QrzBandModeLayout->addLayout(BandModeLayout); - - //qrzgroupBox = new QGroupBox(tr("QRZ")); - //qrzgroupBox->setFlat(true); - //QVBoxLayout *qrzvbox = new QVBoxLayout; - //qrzvbox->addLayout(QrzBandModeLayout); - //qrzgroupBox->setLayout(qrzvbox); + qrzgroupBox = new QGroupBox(tr("QRZ")); + qrzgroupBox->setFlat(true); + QVBoxLayout *qrzvbox = new QVBoxLayout; + qrzvbox->addLayout(QrzBandModeLayout); + //qrzvbox->addStretch(1); + qrzgroupBox->setLayout(qrzvbox); - //QHBoxLayout *buttonsLayout = new QHBoxLayout; - //buttonsLayout->addWidget(OKButton); - //buttonsLayout->addWidget(clearButton); + QHBoxLayout *buttonsLayout = new QHBoxLayout; + buttonsLayout->addWidget(OKButton); + buttonsLayout->addWidget(clearButton); - //QDateTimeEdit *dateEdit = new QDateTimeEdit(QDate::currentDate()); - //dateEdit->setDisplayFormat("yyyy/MM/dd"); - //timeEdit->setDisplayFormat("HH:mm:ss"); + QDateTimeEdit *dateEdit = new QDateTimeEdit(QDate::currentDate()); + dateEdit->setDisplayFormat("yyyy/MM/dd"); + timeEdit->setDisplayFormat("HH:mm:ss"); - //QGridLayout *dxUpLeftInputFrameLayout = new QGridLayout; - //dxUpLeftInputFrameLayout->addWidget(qrzgroupBox, 0, 0, 1, 0); - //dxUpLeftInputFrameLayout->addLayout(TimeLayout, 1, 0); - //dxUpLeftInputFrameLayout->addLayout(buttonsLayout,1, 1); + QGridLayout *dxUpLeftInputFrameLayout = new QGridLayout; + dxUpLeftInputFrameLayout->addWidget(qrzgroupBox, 0, 0, 1, 0); + dxUpLeftInputFrameLayout->addLayout(TimeLayout, 1, 0); + dxUpLeftInputFrameLayout->addLayout(buttonsLayout,1, 1); - //dxUpLeftInputFrame->setLayout(dxUpLeftInputFrameLayout); + dxUpLeftInputFrame->setLayout(dxUpLeftInputFrameLayout); - //qDebug() << "MainWindow::createUIDX-90" << endl; QSplitter *upLeftSplitter = new QSplitter (this); - //upLeftSplitter->addWidget(dxUpLeftInputFrame); - upLeftSplitter->addWidget(mainQSOEntryWidget); + upLeftSplitter->addWidget(dxUpLeftInputFrame); upLeftSplitter->addWidget(dxUpLeftTab); upLeftSplitter->setOrientation(Qt::Vertical); @@ -5249,7 +5365,7 @@ void MainWindow::createUIDX() infoLabel2->setAlignment(Qt::AlignVCenter| Qt::AlignCenter); dxUpRightTab->addTab(infoWidget, tr("Info")); - //qDebug() << "MainWindow::createUIDX-100" << endl; + /* QLabel *dxMarathonTopQSOsLabelN = new QLabel(tr("QSOs")); QLabel *dxMarathonTopDXCCLabelN = new QLabel(tr("DXCC")); @@ -5260,9 +5376,9 @@ void MainWindow::createUIDX() dxMarathonLabelN = new QLabel; - + //qDebug() << "MainWindow::createUIDX-100" << endl; QWidget *awardsTabWidget = new QWidget; - // //qDebug() << "MainWindow::createUIDX-101" << endl; + //qDebug() << "MainWindow::createUIDX-101" << endl; QLabel *awardLabelN = new QLabel(tr("Award")); awardLabelN->setAlignment(Qt::AlignVCenter | Qt::AlignCenter); QLabel *confirmedLabelN = new QLabel(tr("Confirmed")); @@ -5328,13 +5444,13 @@ void MainWindow::createUIDX() dxUpRightAwardsTabLayout->addLayout(dxMarathonDLayout, 5, 1, 1, -1); dxUpRightAwardsTabLayout->addWidget(recalculateAwardsButton, 6, 1); - // //qDebug() << "MainWindow::createUIDX-120" << endl; + //qDebug() << "MainWindow::createUIDX-120" << endl; awardsTabWidget->setLayout(dxUpRightAwardsTabLayout); - // //qDebug() << "MainWindow::createUIDX-121" << endl; + //qDebug() << "MainWindow::createUIDX-121" << endl; dxUpRightTab->addTab(awardsTabWidget, tr("Awards-OLD")); */ - //qDebug() << "MainWindow::createUIDX-122" << endl; + //qDebug() << "MainWindow::createUIDX-122" << endl; dxUpRightTab->addTab(awardsWidget, tr("Awards")); dxUpRightTab->addTab(searchWidget, tr("Search")); @@ -5365,16 +5481,16 @@ void MainWindow::createUIDX() mainWidget->setLayout(mLayout); - //qDebug() << "MainWindow::createUIDX - OS DETECTION" << endl; + //qDebug() << "MainWindow::createUIDX - OS DETECTION" << endl; #ifdef Q_OS_WIN - //qDebug() << "MainWindow::createUIDX - WINDOWS DETECTED!" << endl; + //qDebug() << "MainWindow::createUIDX - WINDOWS DETECTED!" << endl; dxUpLeftInputFrame->setFrameShadow(QFrame::Raised); dxUpLeftInputFrame->setFrameStyle(QFrame::StyledPanel); #else - //qDebug() << "MainWindow::createUIDX - NO WINDOWS DETECTED!" << endl; + //qDebug() << "MainWindow::createUIDX - NO WINDOWS DETECTED!" << endl; dxUpLeftInputFrame->setFrameStyle(QFrame::StyledPanel | QFrame::Raised); @@ -5385,214 +5501,124 @@ void MainWindow::createUIDX() #endif logEvent(Q_FUNC_INFO, "END", logSeverity); - //qDebug() << "MainWindow::createUIDX-END" << endl; + //qDebug() << "MainWindow::createUIDX-END" << endl; } - - -void MainWindow::slotADIFExport() +void MainWindow::setWidgetsOrder() { - //qDebug() << "MainWindow::slotADIFExport - Start" << endl; - - // QString fileName = QFileDialog::getSaveFileName(this, tr("Save ADIF File"), util->getHomeDir(), "ADIF (*.adi *.adif)"); - - adifLoTWExportWidget->setExportMode(ModeADIF); - adifLoTWExportWidget->show(); - - //filemanager->adifLogExport(fileName, currentLog); - //qDebug() << "MainWindow::slotADIFExport -END " << endl; + setTabOrder(qrzLineEdit, bandComboBox); + setTabOrder(bandComboBox, modeComboBox); + setTabOrder(modeComboBox, dateEdit); + setTabOrder(dateEdit, timeEdit); + setTabOrder(timeEdit, rstTXLineEdit); + setTabOrder(rstTXLineEdit, rstRXLineEdit); + setTabOrder(rstRXLineEdit, txFreqSpinBox); + setTabOrder(txFreqSpinBox, rxFreqSpinBox); + setTabOrder(rxFreqSpinBox, qthLineEdit); + setTabOrder(qthLineEdit, locatorLineEdit); + setTabOrder(locatorLineEdit, nameLineEdit); + setTabOrder(nameLineEdit, rxPowerSpinBox); } -void MainWindow::showNumberOfSavedQSO(const QString &_fn, const int _n) -{ - QMessageBox msgBox; - msgBox.setIcon(QMessageBox::Information); - msgBox.setWindowTitle(tr("KLog ADIF export")); - if (_n <= 0) - { // TODO: Check if errors should be managed. - msgBox.setText(tr("No QSOs have been exported to ADIF.") ); +void MainWindow::slotADIFExport(){ + //qDebug() << "MainWindow::slotADIFExport " << endl; + + QString fileName = QFileDialog::getSaveFileName(this, tr("Save ADIF File"), + util->getHomeDir(), + "ADIF (*.adi *.adif)"); + + filemanager->adifLogExport(fileName, currentLog); + +} + +void MainWindow::slotLoTWExport(){ + //qDebug() << "MainWindow::slotLoTWExport " << endl; + logEvent(Q_FUNC_INFO, "Start", logSeverity); + QString aux; + QString fileName = QFileDialog::getSaveFileName(this, tr("Save ADIF File"), + util->getHomeDir(), + "ADIF (*.adi *.adif)"); + + int exportedQSO = filemanager->adifLoTWLogExport(fileName, currentLog) ; + //qDebug() << "MainWindow::slotLoTWExport - exported: " << QString::number(exportedQSO) << endl; + if (exportedQSO > 0) + { + QMessageBox msgBox; + msgBox.setIcon(QMessageBox::Information); + aux = tr("LoTW logfile has been properly exported!") + "\n\n" + tr("Remember to:") + "\n\n-" + tr("Before uploading: sign the LoTW log; and") + "\n-" + tr("After uploading: mark as sent all the queued QSO (LoTW Tools)."); + + + msgBox.setText(aux); + msgBox.setStandardButtons(QMessageBox::Ok ); + + msgBox.setDefaultButton(QMessageBox::Ok); + int ret = msgBox.exec(); + switch (ret) + { + case QMessageBox::Ok: + break; + default: + // should never be reached + break; + } + } + else if (exportedQSO == 0) + { + QMessageBox msgBox; + msgBox.setIcon(QMessageBox::Information); + aux = tr("There was no QSO to be exported.") + "\n\n" + tr("If you think that some QSO should have been exported, please look for them and ensure that the eQSL LoTW QSL sent box is marked as:") + "\n\n " + tr("Q - Queued") + "." ; + msgBox.setText(aux); + msgBox.setStandardButtons(QMessageBox::Ok ); + + msgBox.setDefaultButton(QMessageBox::Ok); + int ret = msgBox.exec(); + switch (ret) + { + case QMessageBox::Ok: + break; + default: + // should never be reached + break; + } + } else { - QString msg = QString(tr("KLog has exported %1 QSOs to the ADIF file: %2")).arg(QString::number(_n)).arg(_fn); - msgBox.setText(msg); + QMessageBox msgBox; + + msgBox.setIcon(QMessageBox::Warning); + aux = tr("There was an error while exporting the LoTW. The log has not been exported!"); + msgBox.setText(aux); + msgBox.setStandardButtons(QMessageBox::Ok ); + + msgBox.setDefaultButton(QMessageBox::Ok); + int ret = msgBox.exec(); + switch (ret) + { + case QMessageBox::Ok: + break; + + default: + // should never be reached + break; + } } - - msgBox.setStandardButtons(QMessageBox::Ok ); - msgBox.setDefaultButton(QMessageBox::Ok); - msgBox.exec(); -} - -void MainWindow::fileExportADIF(const QString &_st, const QDate &_startDate, const QDate &_endDate) -{ - //qDebug() << "MainWindow::fileExportADIF " << _st << endl; - QString fileName = QFileDialog::getSaveFileName(this, tr("Save ADIF File"), util->getHomeDir(), "ADIF (*.adi *.adif)"); - QList qsos = filemanager->adifLogExport(fileName, _st, _startDate, _endDate, currentLog, ModeADIF); - - showNumberOfSavedQSO(fileName, qsos.count()); - - //qDebug() << "MainWindow::fileExportADIF - END" << endl; -} - -void MainWindow::slotADIFExportAll() -{ - //qDebug() << "MainWindow::slotADIFExportAll " << endl; - logEvent(Q_FUNC_INFO, "Start", logSeverity); - - QString _callToUse = "ALL"; - - QString fileName = QFileDialog::getSaveFileName(this, tr("Save ADIF File"), util->getHomeDir(), "ADIF (*.adi *.adif)"); - QList qsos = filemanager->adifLogExport(fileName, _callToUse, dataProxy->getFirstQSODateFromCall(_callToUse), dataProxy->getLastQSODateFromCall(_callToUse), -1, ModeADIF); - - showNumberOfSavedQSO(fileName, qsos.count()); - - //filemanager->adifLogExport(fileName, 0); logEvent(Q_FUNC_INFO, "END", logSeverity); } -void MainWindow::fileExportLoTW(const QString &_st, const QDate &_startDate, const QDate &_endDate) -{ - //qDebug() << "MainWindow::fileExportLoTW - Start: " << _st << "/" <<_startDate.toString("yyyyMMdd") <<"/" << _endDate.toString("yyyyMMdd") << endl; - if (!util->isValidCall(_st)) - { - return; - } - if ((!_startDate.isValid()) || (!_endDate.isValid())) - { - return; - } - QString fileName = "klog-lotw-upload.adi"; +void MainWindow::slotADIFExportAll(){ + //qDebug() << "MainWindow::slotADIFExportAll " << endl; + logEvent(Q_FUNC_INFO, "Start", logSeverity); + QString fileName = QFileDialog::getSaveFileName(this, tr("Save ADIF File"), + util->getHomeDir(), + "ADIF (*.adi *.adif)"); - QList qsos = filemanager->adifLogExport(fileName, _st, _startDate, _endDate, currentLog, ModeLotW); + filemanager->adifLogExport(fileName, 0); + logEvent(Q_FUNC_INFO, "END", logSeverity); - if (qsos.count() <= 0) - { // TODO: Check if errors should be managed. - return; - } - //qDebug() << "MainWindow::fileExportLoTW - 50" << endl; - bool uploadedToLoTW = callTQSL(fileName, _st); - //bool uploadedToLoTW = true; - //qDebug() << "MainWindow::fileExportLoTW - 51" << endl; - QMessageBox msgBox; - int i ; - if (uploadedToLoTW) - { - msgBox.setIcon(QMessageBox::Question); - msgBox.setWindowTitle(tr("KLog LoTW")); - msgBox.setText(tr("If you uploaded any QSO to LoTW while you were using TQSL you can now mark them as sent in KLog.\n\nDo you want to mark as Sent all the QSOs uploaded to LoTW?") ); - - msgBox.setStandardButtons(QMessageBox::Yes | QMessageBox::No ); - msgBox.setDefaultButton(QMessageBox::Yes); - int i = msgBox.exec(); - if (i == QMessageBox::Yes) - { - uploadedToLoTW = dataProxy->lotwSentQSOs(qsos); - if (!uploadedToLoTW) - { - QMessageBox msgBox; - msgBox.setWindowTitle(tr("KLog - LoTW")); - msgBox.setIcon(QMessageBox::Warning); - msgBox.setText(tr("There was an error while updating to Yes the LoTW QSL sent information.")); - msgBox.setStandardButtons(QMessageBox::Ok ); - msgBox.setDefaultButton(QMessageBox::Ok); - msgBox.exec(); - } - } - } - - msgBox.setIcon(QMessageBox::Question); - msgBox.setWindowTitle(tr("KLog LoTW")); - msgBox.setText(tr("The LoTW upload process has finished and KLog created a file (%1) in your KLog folder.\n\nDo you want KLog to remove that file?").arg(fileName)); - msgBox.setStandardButtons(QMessageBox::Yes | QMessageBox::No ); - msgBox.setDefaultButton(QMessageBox::Yes); - i = msgBox.exec(); - if (i == QMessageBox::Yes) - { - if (QFile::remove(fileName)) - { - msgBox.setIcon(QMessageBox::Information); - msgBox.setWindowTitle(tr("KLog LoTW")); - msgBox.setText(tr("The file has been removed.")); - msgBox.setStandardButtons(QMessageBox::Ok); - msgBox.setDefaultButton(QMessageBox::Ok); - } - } -qDebug() << "MainWindow::fileExportLoTW -END " << endl; } -void MainWindow::slotADIFExportSelection(const QString &_st, const QDate &_startDate, const QDate &_endDate, const ExportMode _eM) -{ - //qDebug() << "MainWindow::slotADIFExportSelection - Start: " << _st << "/" <<_startDate.toString("yyyyMMdd") <<"/" << _endDate.toString("yyyyMMdd") << endl; - - switch (_eM) - { - case ModeADIF: // General ADIF - //qDebug() << "MainWindow::slotADIFExportSelection - ADIF" << endl; - fileExportADIF(_st, _startDate, _endDate); - break; - case ModeLotW: // LoTW - //qDebug() << "MainWindow::slotADIFExportSelection - LoTW" << endl; - fileExportLoTW(_st, _startDate, _endDate); - break; - } - - //qDebug() << "MainWindow::slotADIFExportSelection -END " << endl; -} -void MainWindow::slotLoTWExport() -{ - // 1.- Selec call - // 2.- Select file and export (fixed filename?) - // 3.- Call tqsl with the filename - // 4.- Ask for the user to remove or not the file - //qDebug() << "MainWindow::slotLoTWExport - Start" << endl; - // bool emptyCall = false; - adifLoTWExportWidget->setExportMode(ModeLotW); - adifLoTWExportWidget->show(); - //qDebug() << "MainWindow::slotLoTWExport- END" << endl; -} - -void MainWindow::slotLoTWDownload() -{ - //qDebug() << "MainWindow::slotDownUpload - Start" << endl; - - QStringList calls; - calls << dataProxy->getStationCallSignsFromLog(-1); - - bool ok; - - QString callToUse = QInputDialog::getItem(this, tr("KLog - Select the Station Callsign."), - tr("Select the Station Callsign to use when quering LoTW:"), calls, 0, false, &ok); - - //qDebug() << "MainWindow::slotDownUpload: " << callToUse << endl; - if (ok && !callToUse.isEmpty()) - { - lotwUtilities->setStationCallSign(callToUse); - } - else - { - return; - } - - if (!lotwUtilities->getIsReady()) - { - QMessageBox msgBox; - msgBox.setWindowTitle(tr("KLog - LoTW")); - msgBox.setIcon(QMessageBox::Warning); - msgBox.setText(tr("Please check the LoTW setup")); - msgBox.setInformativeText(tr("You have not defined a LoTW user or a proper Station Callsign.\nOpen the LoTW tab in the Setup and configure your LoTW connection.")); - msgBox.setStandardButtons(QMessageBox::Ok ); - msgBox.setDefaultButton(QMessageBox::Ok); - msgBox.exec(); - return; - } - - lotwUtilities->download(); - //qDebug() << "MainWindow::slotDownUpload - END" << endl; -} - - - void MainWindow::slotRQSLExport() { logEvent(Q_FUNC_INFO, "Start", logSeverity); @@ -5609,7 +5635,7 @@ void MainWindow::slotRQSLExport() /* * void MainWindow::slotCabrilloExport() { - //qDebug() << "MainWindow::slotCabrilloExport " << endl; + //qDebug() << "MainWindow::slotCabrilloExport " << endl; logEvent(Q_FUNC_INFO, "Start", logSeverity); QString fileName = QFileDialog::getSaveFileName(this, tr("Save Cabrillo File"), util->getHomeDir(), @@ -5620,9 +5646,34 @@ void MainWindow::slotRQSLExport() logEvent(Q_FUNC_INFO, "END", logSeverity); } */ +void MainWindow::slotLoTWImport(){ + //qDebug() << "MainWindow::slotLoTWImport " << endl; + logEvent(Q_FUNC_INFO, "Start", logSeverity); + + QString fileName = QFileDialog::getOpenFileName(this, tr("Open File"), + util->getHomeDir(), + "ADIF (*.adi *.adif)"); + if (fileName.isNull()) + { + } + else + { + //qDebug() << "MainWindow::slotLoTWImport -1" << endl; + filemanager->adifLoTWReadLog(fileName); + //qDebug() << "MainWindow::slotLoTWImport -2" << endl; + + logWindow->refresh(); + //qDebug() << "MainWindow::slotLoTWImport -3" << endl; + //checkIfNewBandOrMode(); + //qDebug() << "MainWindow::slotLoTWImport -4" << endl; + } + logEvent(Q_FUNC_INFO, "END", logSeverity); + //qDebug() << "MainWindow::slotLoTWImport-END" << endl; + } + void MainWindow::slotADIFImport(){ - //qDebug() << "MainWindow::slotADIFImport " << endl; + //qDebug() << "MainWindow::slotADIFImport " << endl; logEvent(Q_FUNC_INFO, "Start", logSeverity); QString fileName = QFileDialog::getOpenFileName(this, tr("Open File"), @@ -5633,27 +5684,27 @@ void MainWindow::slotADIFImport(){ } else { - //qDebug() << "MainWindow::slotADIFImport -1" << endl; + //qDebug() << "MainWindow::slotADIFImport -1" << endl; filemanager->adifReadLog(fileName, currentLog); updateQSLRecAndSent(); - //qDebug() << "MainWindow::slotADIFImport -2" << endl; + //qDebug() << "MainWindow::slotADIFImport -2" << endl; logWindow->refresh(); - //qDebug() << "MainWindow::slotADIFImport -3" << endl; + //qDebug() << "MainWindow::slotADIFImport -3" << endl; checkIfNewBandOrMode(); - //qDebug() << "MainWindow::slotADIFImport -4" << endl; + //qDebug() << "MainWindow::slotADIFImport -4" << endl; if (contestMode == "DX") { - //qDebug() << "MainWindow::slotADIFImport-DX" << endl; + //qDebug() << "MainWindow::slotADIFImport-DX" << endl; //operatingYearsComboBox->addItems(dataProxy->getOperatingYears(currentLog)); awardsWidget->fillOperatingYears(); - //qDebug() << "MainWindow::slotADIFImport-DX-1" << endl; + //qDebug() << "MainWindow::slotADIFImport-DX-1" << endl; slotShowAwards(); awardsWidget->showAwards(); - //qDebug() << "MainWindow::slotADIFImport-DX-1-end" << endl; + //qDebug() << "MainWindow::slotADIFImport-DX-1-end" << endl; } else if (contestMode == "CQ-WW-SSB") {} @@ -5665,18 +5716,86 @@ void MainWindow::slotADIFImport(){ awardsWidget->showAwards(); } - //qDebug() << "MainWindow::slotADIFImport-7" << endl; + //qDebug() << "MainWindow::slotADIFImport-7" << endl; } logEvent(Q_FUNC_INFO, "END", logSeverity); - //qDebug() << "MainWindow::slotADIFImport-END" << endl; + //qDebug() << "MainWindow::slotADIFImport-END" << endl; } +/* +void MainWindow::initialContestModeConfiguration() +{ + //QString aux = QString(); + + //qDebug() << "MainWindow::initialContestModeConfiguration: - 0" << endl; + logEvent(Q_FUNC_INFO, "Start", logSeverity); + + if (!configured){ + //qDebug() << "MainWindow::initialContestModeConfiguration: - 01" << endl; + openSetup(); + //qDebug() << "MainWindow::initialContestModeConfiguration: - 02" << endl; + logEvent(Q_FUNC_INFO, "END-1", logSeverity); + return; + } + //qDebug() << "MainWindow::initialContestModeConfiguration: - 03" << endl; + QSqlQuery query; + QStringList contestQS; + + //qDebug() << "MainWindow::initialContestModeConfiguration: - 04" << endl; + + if (contestMode == "DX") + { + selectDefaultBand(); + selectDefaultMode(); + //defaultMode = dataProxy->getMostUsedMode(currentLog); + //defaultBand = dataProxy->getMostUsedBand(currentLog); + //aux = dataProxy->getNameFromBandId(defaultBand); + //bandComboBox->setCurrentIndex(bandComboBox->findText(aux)); + + //bandComboBox->setCurrentIndex(bandComboBox->findText(dataProxy->getNameFromBandId(defaultBand), Qt::MatchCaseSensitive)); + + //qDebug() << "MainWindow::initialContestModeConfiguration-1: " << QString::number(defaultBand) << endl; + //qDebug() << "MainWindow::initialContestModeConfiguration-1-index: " << bandComboBox->currentText() << endl; + } + else if (contestMode == "CQ-WW-SSB") + { + //qDebug() << "MainWindow::initialContestModeConfiguration: - 05" << endl; + defaultMode = dataProxy->getIdFromModeName("SSB"); + SRXLineEdit->setInputMask("09"); + STXLineEdit->setInputMask("09"); + + contestQS << QString::number(world->getQRZARRLId(stationQRZ)) << QString::number(world->getQRZCqz(stationQRZ)) << world->getQRZContinentNumber(stationQRZ) << world->getQRZContinentNumber("K"); + contest = new ContestCQWWDXSSB(contestQS); + } + else if (contestMode == "CQ-WW-CW") + { + SRXLineEdit->setInputMask("09"); + STXLineEdit->setInputMask("09"); + contestQS << QString::number(world->getQRZARRLId(stationQRZ)) << QString::number(world->getQRZCqz(stationQRZ)) << world->getQRZContinentNumber(stationQRZ) << world->getQRZContinentNumber("K"); + } + else + { + selectDefaultBand(); + selectDefaultMode(); + + //defaultMode = dataProxy->getMostUsedMode(currentLog); + //defaultBand = dataProxy->getMostUsedBand(currentLog); + //qDebug() << "MainWindow::initialContestModeConfiguration-2: " <getNameFromBandId(defaultBand) << endl; + + //bandComboBox->setCurrentIndex(bandComboBox->findText(dataProxy->getNameFromBandId(defaultBand), Qt::MatchCaseSensitive)); + //qDebug() << "MainWindow::initialContestModeConfiguration-2: " << QString::number(defaultBand) << endl; + //qDebug() << "MainWindow::initialContestModeConfiguration-2-index: " << bandComboBox->currentText() << endl; + } + logEvent(Q_FUNC_INFO, "END", logSeverity); + //qDebug() << "MainWindow::initialContestModeConfiguration END: " << bandComboBox->currentText() << endl; +} +*/ + void MainWindow::qsoToEdit (const int _qso) { - //qDebug() << "MainWindow::qsoToEdit: " << QString::number(_qso) << endl; + //qDebug() << "MainWindow::qsoToEdit: " << QString::number(_qso) << endl; logEvent(Q_FUNC_INFO, "Start", logSeverity); - readingTheUI = true; int nameCol; QString aux1; double testValueDouble; // Variable just to test if the value is in the appropriate range @@ -5684,11 +5803,11 @@ void MainWindow::qsoToEdit (const int _qso) setModifying(true); modifyingQSO = _qso; - //OKButton->setText(tr("&Modify")); + OKButton->setText(tr("&Modify")); //TODO: Optimize the following query. Maybe the * is not needed. QString stringQuery = QString("SELECT * FROM log WHERE id ='%1' AND lognumber='%2'").arg(_qso).arg(currentLog); - //qDebug() << "MainWindow::qsoToEdit: " << stringQuery << endl; + //qDebug() << "MainWindow::qsoToEdit: " << stringQuery << endl; @@ -5712,25 +5831,23 @@ void MainWindow::qsoToEdit (const int _qso) // ADD THE DATA THAT IS PRESENT IN ALL THE MODES - //QString currentQrz = dataProxy->getCallFromId(modifyingQSO); + nameCol = rec.indexOf("call"); aux1 = (query.value(nameCol)).toString(); - mainQSOEntryWidget->setQRZ(aux1); - - QString currentQrz = aux1; + qrzLineEdit->setText(aux1); + currentQrz = aux1; currentEntity = world->getQRZARRLId(currentQrz); - //qDebug() << "MainWindow::qsoToEdit - currentEntity " << QString::number(currentEntity) << endl; + //qDebug() << "MainWindow::qsoToEdit - currentEntity " << QString::number(currentEntity) << endl; nameCol = rec.indexOf("qso_date"); aux1 = (query.value(nameCol)).toString(); - mainQSOEntryWidget->setDate(QDate::fromString(aux1, "yyyy/MM/dd")); - //dateEdit->setDate(QDate::fromString(aux1, "yyyy/MM/dd")); + dateEdit->setDate(QDate::fromString(aux1, "yyyy/MM/dd")); dateTimeTemp->setDate(QDate::fromString(aux1, "yyyy/MM/dd")); nameCol = rec.indexOf("time_on"); aux1 = (query.value(nameCol)).toString(); - mainQSOEntryWidget->setTime(QTime::fromString(aux1, "hh:mm:ss")); + timeEdit->setTime(QTime::fromString(aux1, "hh:mm:ss")); nameCol = rec.indexOf("bandid"); aux1 = (query.value(nameCol)).toString(); @@ -5747,24 +5864,25 @@ void MainWindow::qsoToEdit (const int _qso) if (queryAux.isValid()) { aux1 = (queryAux.value(0)).toString(); - //qDebug() << "MainWindow::qsoToEdit - bandid-1 " << aux1 << endl; - //qDebug() << "MainWindow::qsoToEdit: - Changing from: " << mainQSOEntryWidget->getBand() << endl; - mainQSOEntryWidget->setBand(aux1); - //bandComboBox->setCurrentIndex(bandComboBox->findText(aux1, Qt::MatchCaseSensitive)); - //qDebug() << "MainWindow::qsoToEdit: - Changing to: " << mainQSOEntryWidget->getBand() << endl; + //qDebug() << "MainWindow::qsoToEdit - bandid-1 " << aux1 << endl; + //qDebug() << "MainWindow::qsoToEdit: - Changing from: " << bandComboBox->currentText() << endl; + + bandComboBox->setCurrentIndex(bandComboBox->findText(aux1, Qt::MatchCaseSensitive)); + //qDebug() << "MainWindow::qsoToEdit: - Changing to: " << bandComboBox->currentText() << endl; + + } else { - //qDebug() << "MainWindow::qsoToEdit - bandid-NO " << endl; - mainQSOEntryWidget->setBand(dataProxy->getNameFromBandId(defaultBand)); - //bandComboBox->setCurrentIndex(bandComboBox->findText(dataProxy->getNameFromBandId(defaultBand), Qt::MatchCaseSensitive)); + //qDebug() << "MainWindow::qsoToEdit - bandid-NO " << endl; + bandComboBox->setCurrentIndex(bandComboBox->findText(dataProxy->getNameFromBandId(defaultBand), Qt::MatchCaseSensitive)); //bandComboBox->setCurrentIndex(defaultBand); } - //qDebug() << "MainWindow::qsoToEdit: Check mode " << endl; + //qDebug() << "MainWindow::qsoToEdit: Check mode " << endl; nameCol = rec.indexOf("modeid"); aux1 = (query.value(nameCol)).toString(); - //qDebug() << "MainWindow::qsoToEdit: (aux1)-1: " << aux1 << endl; + //qDebug() << "MainWindow::qsoToEdit: (aux1)-1: " << aux1 << endl; stringQuery = QString("SELECT submode FROM mode WHERE id ='%1'").arg(aux1); sqlOK = queryAux.exec(stringQuery); @@ -5778,55 +5896,51 @@ void MainWindow::qsoToEdit (const int _qso) if (queryAux.isValid()) { aux1 = (queryAux.value(0)).toString(); - //qDebug() << "MainWindow::qsoToEdit: Mode query valid: -" << aux1 << "-Length: " << QString::number(aux1.length()) << endl; - if (mainQSOEntryWidget->isModeExisting(aux1)) - //if (modeComboBox->findText(aux1, Qt::MatchCaseSensitive)>=0) + //qDebug() << "MainWindow::qsoToEdit: Mode query valid: -" << aux1 << "-Length: " << QString::number(aux1.length()) << endl; + if (modeComboBox->findText(aux1, Qt::MatchCaseSensitive)>=0) { - //qDebug() << "MainWindow::qsoToEdit: Mode in the Combobox: "<< endl; - mainQSOEntryWidget->setMode(aux1); - //modeComboBox->setCurrentIndex(modeComboBox->findText(aux1, Qt::MatchCaseSensitive)); + //qDebug() << "MainWindow::qsoToEdit: Mode in the Combobox: " << aux1 << " - Result: " << QString::number(modeComboBox->findText(aux1)) << endl; + modeComboBox->setCurrentIndex(modeComboBox->findText(aux1, Qt::MatchCaseSensitive)); } else { //TODO: Add this mode to the list modes in use - //qDebug() << "MainWindow::qsoToEdit: Mode query valid but not in comboBox: " << aux1 << endl; + //qDebug() << "MainWindow::qsoToEdit: Mode query valid but not in comboBox: " << aux1 << endl; /* for (int i = 0; i < (modeComboBox->count()); i++) { - //qDebug() << "MainWindow::qsoToEdit: Mode: " << modeComboBox->itemText(i) << endl; + //qDebug() << "MainWindow::qsoToEdit: Mode: " << modeComboBox->itemText(i) << endl; } */ } - //qDebug() << "MainWindow::qsoToEdit: After Mode IF" << endl; + //qDebug() << "MainWindow::qsoToEdit: After Mode IF" << endl; } else { - //qDebug() << "MainWindow::qsoToEdit: Mode query not valid" << endl; - - mainQSOEntryWidget->setMode(dataProxy->getNameFromSubModeId(defaultMode)); - //modeComboBox->setCurrentIndex(modeComboBox->findText(dataProxy->getNameFromSubModeId(defaultMode), Qt::MatchCaseSensitive)); + //qDebug() << "MainWindow::qsoToEdit: Mode query not valid" << endl; + modeComboBox->setCurrentIndex(modeComboBox->findText(dataProxy->getNameFromSubModeId(defaultMode), Qt::MatchCaseSensitive)); //modeComboBox->setCurrentIndex(defaultMode); } - //qDebug() << "MainWindow::qsoToEdit: After ALL Mode actions" << endl; + //qDebug() << "MainWindow::qsoToEdit: After ALL Mode actions" << endl; nameCol = rec.indexOf("rst_sent"); aux1 = (query.value(nameCol)).toString(); rstTXLineEdit->setText(aux1); - //qDebug() << "MainWindow::qsoToEdit: - RST_SENT: " << aux1 << endl; + //qDebug() << "MainWindow::qsoToEdit: - RST_SENT: " << aux1 << endl; nameCol = rec.indexOf("rst_rcvd"); aux1 = (query.value(nameCol)).toString(); rstRXLineEdit->setText(aux1); - //qDebug() << "MainWindow::qsoToEdit: - before switch" << endl; + //qDebug() << "MainWindow::qsoToEdit: - before switch" << endl; if (contestMode == "DX") { - //qDebug() << "MainWindow::qsoToEdit: - in default" << endl; + //qDebug() << "MainWindow::qsoToEdit: - in default" << endl; nameCol = rec.indexOf("qsl_via"); aux1 = (query.value(nameCol)).toString(); @@ -5853,7 +5967,7 @@ void MainWindow::qsoToEdit (const int _qso) nameCol = rec.indexOf("name"); aux1 = (query.value(nameCol)).toString(); - //qDebug() << "MainWindow::qsoToEdit: - NAME: " << aux1 << endl; + //qDebug() << "MainWindow::qsoToEdit: - NAME: " << aux1 << endl; if (aux1.length()>0) { @@ -5873,14 +5987,13 @@ void MainWindow::qsoToEdit (const int _qso) locatorLineEdit->setText(aux1); satTabWidget->setLocator(aux1); + nameCol = rec.indexOf("operator"); aux1 = (query.value(nameCol)).toString(); - //qDebug() << "MainWindow::qsoToEdit: - OPERATOR: " << aux1 << endl; myDataTabWidget->setOperator(aux1); nameCol = rec.indexOf("station_callsign"); aux1 = (query.value(nameCol)).toString(); - //qDebug() << "MainWindow::qsoToEdit: - STATIONQRZ: " << aux1 << endl; myDataTabWidget->setStationQRZ(aux1); nameCol = rec.indexOf("my_gridsquare"); @@ -5904,44 +6017,37 @@ void MainWindow::qsoToEdit (const int _qso) nameCol = rec.indexOf("freq"); aux1 = (query.value(nameCol)).toString(); - //qDebug() << "MainWindow::qsoToEdit (freq STRING):" << aux1 << endl; + //qDebug() << "MainWindow::qsoToEdit (freq STRING):" << aux1 << endl; testValueDouble = aux1.toDouble(); - //qDebug() << "MainWindow::qsoToEdit (freq):" << QString::number(testValueDouble) << endl; + //qDebug() << "MainWindow::qsoToEdit (freq):" << QString::number(testValueDouble) << endl; if ((testValueDouble >0) && (testValueDouble <= txFreqSpinBox->maximum()) ) { txFreqSpinBox->setValue(testValueDouble); - //qDebug() << "MainWindow::qsoToEdit: Freq - OverFlow " << endl; + //qDebug() << "MainWindow::qsoToEdit: Freq - OverFlow " << endl; + } else { - //qDebug() << "MainWindow::qsoToEdit: Freq - OK " << endl; - testValueDouble = (dataProxy->getFreqFromBandId(dataProxy->getIdFromBandName(mainQSOEntryWidget->getBand()))).toDouble(); - if (testValueDouble>0) - { - txFreqSpinBox->setValue(testValueDouble); - } - else - { - txFreqSpinBox->setValue(0); - } + //qDebug() << "MainWindow::qsoToEdit: Freq - OK " << endl; + txFreqSpinBox->setValue(0); } nameCol = rec.indexOf("freq_rx"); aux1 = (query.value(nameCol)).toString(); - //qDebug() << "MainWindow::qsoToEdit (freq_rx STRING):" << aux1 << endl; + //qDebug() << "MainWindow::qsoToEdit (freq_rx STRING):" << aux1 << endl; testValueDouble = aux1.toDouble(); - //qDebug() << "MainWindow::qsoToEdit (freq_rx):" << QString::number(testValueDouble) << endl; + //qDebug() << "MainWindow::qsoToEdit (freq_rx):" << QString::number(testValueDouble) << endl; if ((testValueDouble >0) && (testValueDouble <= rxFreqSpinBox->maximum()) ) { rxFreqSpinBox->setValue(testValueDouble); - //qDebug() << "MainWindow::qsoToEdit: Freq_RX - OverFlow " << endl; + //qDebug() << "MainWindow::qsoToEdit: Freq_RX - OverFlow " << endl; } else { - //qDebug() << "MainWindow::qsoToEdit: Freq_RX - OK " << endl; + //qDebug() << "MainWindow::qsoToEdit: Freq_RX - OK " << endl; rxFreqSpinBox->setValue(0); } @@ -6053,7 +6159,7 @@ void MainWindow::qsoToEdit (const int _qso) nameCol = rec.indexOf("lotw_qsl_sent"); aux1 = (query.value(nameCol)).toString(); eQSLTabWidget->setLOTWSenStatus(aux1.toUpper()); - //qDebug() << "MainWindow::qsoToEdit: - LoTW Sent Status: " << aux1 << endl; + //qDebug() << "MainWindow::qsoToEdit: - LoTW Sent Status: " << aux1 << endl; //TODO: Depending on the Value a date should or not exist. // This code may be importing dates when they should not exist. @@ -6084,7 +6190,7 @@ void MainWindow::qsoToEdit (const int _qso) eQSLTabWidget->setLOTWRecDate(QDate::fromString(aux1, "yyyy/MM/dd")); } - //qDebug() << "MainWindow::qsoToEdit: - just before IOTA" << endl; + //qDebug() << "MainWindow::qsoToEdit: - just before IOTA" << endl; nameCol = rec.indexOf("iota"); aux1 = (query.value(nameCol)).toString(); @@ -6115,12 +6221,12 @@ void MainWindow::qsoToEdit (const int _qso) satTabWidget->setSatMode("-CLEAR-"); } - //qDebug() << "MainWindow::qsoToEdit: - in default - 100: " << QString::number(currentEntity) << endl; + //qDebug() << "MainWindow::qsoToEdit: - in default - 100: " << QString::number(currentEntity) << endl; nameCol = rec.indexOf("dxcc"); aux1 = (query.value(nameCol)).toString(); - //qDebug() << "MainWindow::qsoToEdit: Checking DXCC: " << aux1 << " - " << world->getEntityName(aux1.toInt()) << endl; + //qDebug() << "MainWindow::qsoToEdit: Checking DXCC: " << aux1 << " - " << world->getEntityName(aux1.toInt()) << endl; if (aux1.toInt()>=1) { @@ -6134,40 +6240,40 @@ void MainWindow::qsoToEdit (const int _qso) currentEntity = aux1.toInt(); } - //qDebug() << "MainWindow::qsoToEdit: - in default - 101: " << QString::number(currentEntity) << endl; + //qDebug() << "MainWindow::qsoToEdit: - in default - 101: " << QString::number(currentEntity) << endl; } else { currentEntity = world->getQRZARRLId(currentQrz); - //qDebug() << "MainWindow::qsoToEdit: - in default - 103: " << QString::number(currentEntity) << endl; + //qDebug() << "MainWindow::qsoToEdit: - in default - 103: " << QString::number(currentEntity) << endl; } - //qDebug() << "MainWindow::qsoToEdit: - in default - 104: " << QString::number(currentEntity) << endl; + //qDebug() << "MainWindow::qsoToEdit: - in default - 104: " << QString::number(currentEntity) << endl; nameCol = rec.indexOf("prop_mode"); aux1 = (query.value(nameCol)).toString(); - othersTabWidget->setPropMode(aux1); - //slotShowInfoLabel(world->getEntityName(currentEntity), 2); + othersTabWidget->setPropMode(aux1); + infoLabel2->setText(world->getEntityName(currentEntity)); infoWidget->showEntityInfo(currentEntity); //selectCorrectComboBoxEntity(currentEntity); - //qDebug() << "MainWindow::qsoToEdit: " << QString::number(currentEntity) << endl; + //qDebug() << "MainWindow::qsoToEdit: " << QString::number(currentEntity) << endl; othersTabWidget->setEntity(currentEntity); - //qDebug() << "MainWindow::qsoToEdit: - in default - 101" << endl; + //qDebug() << "MainWindow::qsoToEdit: - in default - 101" << endl; QStringList _qs; //for the showStatusOfDXCC(const QStringList _qs) _qs.clear(); //TODO: The band sometimes fails here. Check - _qs << QString::number(currentEntity) << QString::number(dataProxy->getIdFromBandName(mainQSOEntryWidget->getBand())) << QString::number(dataProxy->getIdFromBandName(mainQSOEntryWidget->getMode())) << QString::number(currentLog); + _qs << QString::number(currentEntity) << QString::number(dataProxy->getIdFromBandName(bandComboBox->currentText())) << QString::number(dataProxy->getIdFromBandName(modeComboBox->currentText())) << QString::number(currentLog); - //qDebug() << "MainWindow::qsoToEdit: - in default - 104" << endl; - //qDebug() << "MainWindow:: - calling showStatusOfDXCC-05 " << endl; + //qDebug() << "MainWindow::qsoToEdit: - in default - 104" << endl; + //qDebug() << "MainWindow:: - calling showStatusOfDXCC-05 " << endl; showStatusOfDXCC(_qs); - //qDebug() << "MainWindow::qsoToEdit: - in default - 105" << endl; - //qDebug() << "MainWindow::qsoToEdit: - just after de IOTA" << endl; + //qDebug() << "MainWindow::qsoToEdit: - in default - 105" << endl; + //qDebug() << "MainWindow::qsoToEdit: - just after de IOTA" << endl; } else if (contestMode == "CQ-WW-SSB") { @@ -6179,10 +6285,9 @@ void MainWindow::qsoToEdit (const int _qso) } - //qDebug() << "MainWindow::qsoToEdit: - in default - 106" << endl; + //qDebug() << "MainWindow::qsoToEdit: - in default - 106" << endl; } //Closes the next.isValid - //qDebug() << "MainWindow::qsoToEdit: - in default - END" << endl; - readingTheUI = false; + //qDebug() << "MainWindow::qsoToEdit: - in default - END" << endl; logEvent(Q_FUNC_INFO, "END", logSeverity); } @@ -6191,14 +6296,13 @@ void MainWindow::setModifying(const bool _m) { logEvent(Q_FUNC_INFO, "Start", logSeverity); modify = _m; - mainQSOEntryWidget->setModify(_m); satTabWidget->setModifying(_m); logEvent(Q_FUNC_INFO, "END", logSeverity); } void MainWindow::slotLocatorTextChanged() {//TO BE REMOVED ONCE InfoWidget is FINISHED - At least modified - //qDebug() << "MainWindow::slotLocatorTextChanged: " << locatorLineEdit->text() << endl; + //qDebug() << "MainWindow::slotLocatorTextChanged: " << locatorLineEdit->text() << endl; logEvent(Q_FUNC_INFO, "Start", logSeverity); locatorLineEdit->setText((locatorLineEdit->text()).toUpper()); @@ -6209,8 +6313,8 @@ void MainWindow::slotLocatorTextChanged() infoWidget->showDistanceAndBearing(myDataTabWidget->getMyLocator(), dxLocator); satTabWidget->setLocator(dxLocator); locatorLineEdit->setToolTip(tr("My QTH locator.")); - //qDebug() << "MainWindow::slotLocatorTextChanged: LAT: " << locator->getLat(locatorLineEdit->text()) << endl; - //qDebug() << "MainWindow::slotLocatorTextChanged: LON: " << locator->getLon(locatorLineEdit->text()) << endl; + //qDebug() << "MainWindow::slotLocatorTextChanged: LAT: " << locator->getLat(locatorLineEdit->text()) << endl; + //qDebug() << "MainWindow::slotLocatorTextChanged: LON: " << locator->getLon(locatorLineEdit->text()) << endl; //showInfoFromLocators(myLocator, dxLocator); } else @@ -6226,7 +6330,7 @@ void MainWindow::slotLocatorTextChanged() void MainWindow::slotMyLocatorTextChanged(const QString _loc) { - //qDebug() << "MainWindowMy::slotMyLocatorTextChanged: " <<_loc << endl; + //qDebug() << "MainWindowMy::slotMyLocatorTextChanged: " <<_loc << endl; logEvent(Q_FUNC_INFO, "Start", logSeverity); if ( locator->isValidLocator(_loc)) { @@ -6245,7 +6349,7 @@ void MainWindow::slotMyLocatorTextChanged(const QString _loc) void MainWindow::showStatusOfDXCC(const QStringList _qs) { - //qDebug() << "MainWindow::showStatusOfDXC: Entity: " << _qs.at(0) << "/ Bandid :" << _qs.at(1) << "/Modeid: " << _qs.at(2) << endl; + //qDebug() << "MainWindow::showStatusOfDXC: Entity: " << _qs.at(0) << "/ Bandid :" << _qs.at(1) << "/Modeid: " << _qs.at(2) << endl; logEvent(Q_FUNC_INFO, "Start", logSeverity); // Receives: QStringList _qs; //_qs << Entity << BandId << ModeId << lognumber; @@ -6264,8 +6368,7 @@ void MainWindow::showStatusOfDXCC(const QStringList _qs) if ((_qs.length() != 4) || (_qs.at(1) == "-1")) // is the qs valid? { infoWidget->clear(); - slotShowInfoLabel("--"); - //infoLabel1->setText("--"); + infoLabel1->setText("--"); logEvent(Q_FUNC_INFO, "END-1", logSeverity); return; } @@ -6273,11 +6376,10 @@ void MainWindow::showStatusOfDXCC(const QStringList _qs) int status = awards->getDXStatus (_qs); QString message = QString(); - //qDebug() << "MainWindow::showStatusOfDXC: " << QString::number(status) << endl; + //qDebug() << "MainWindow::showStatusOfDXC: " << QString::number(status) << endl; message = awards->getDXStatusString(status); - slotShowInfoLabel(message); - //infoLabel1->setText(message); + infoLabel1->setText(message); //infoWidget->showInfo((_qs.at(0)).toInt(), (_qs.at(1)).toInt(), (_qs.at(2)).toInt(), (_qs.at(3)).toInt() ); infoWidget->showInfo((_qs.at(0)).toInt()); logEvent(Q_FUNC_INFO, "END", logSeverity); @@ -6286,7 +6388,7 @@ void MainWindow::showStatusOfDXCC(const QStringList _qs) void MainWindow::showDXMarathonNeeded(const int _dxcc, const int _cqz, const int _year, const int _log) { - //qDebug() << "MainWindow::showDXMarathonNeeded" << endl; + //qDebug() << "MainWindow::showDXMarathonNeeded" << endl; logEvent(Q_FUNC_INFO, "Start", logSeverity); if ((_dxcc<=0) || (_cqz<=0) || (!manageDxMarathon)) { @@ -6294,33 +6396,32 @@ void MainWindow::showDXMarathonNeeded(const int _dxcc, const int _cqz, const int return; } if ( awards->isDXMarathonNeed(_dxcc, _cqz, _year, _log)) - { - slotShowInfoLabel(infoLabel1->text()+ tr(" - Needed for DXMarathon")); - //infoLabel1->setText(infoLabel1->text()+ tr(" - Needed for DXMarathon")); + { + infoLabel1->setText(infoLabel1->text()+ tr(" - Needed for DXMarathon")); } logEvent(Q_FUNC_INFO, "END", logSeverity); } void MainWindow::slotShowAwards() { //To be called from the logWindow & searchWidget - //qDebug() << "MainWindow::slotShowAwards" << endl; + //qDebug() << "MainWindow::slotShowAwards" << endl; logEvent(Q_FUNC_INFO, "Start", logSeverity); awards->recalculateAwards(); - //qDebug() << "MainWindow::slotShowAwards-1" << endl; + //qDebug() << "MainWindow::slotShowAwards-1" << endl; logWindow->refresh(); - //qDebug() << "MainWindow::slotShowAwards-2" << endl; + //qDebug() << "MainWindow::slotShowAwards-2" << endl; awardsWidget->showAwards(); - //qDebug() << "MainWindow::slotShowAwards-3" << endl; + //qDebug() << "MainWindow::slotShowAwards-3" << endl; dxccStatusWidget->refresh(); logEvent(Q_FUNC_INFO, "END", logSeverity); - //qDebug() << "MainWindow::slotShowAwards-END" << endl; + //qDebug() << "MainWindow::slotShowAwards-END" << endl; } void MainWindow::fillQSOData() { // Updates all QSO with the dxcc, CQZ, ... if empty. - //qDebug() << "MainWindow::fillQSOData" << endl; + //qDebug() << "MainWindow::fillQSOData" << endl; logEvent(Q_FUNC_INFO, "Start", logSeverity); //QString stringQuery = QString("SELECT call, bandid, modeid, qso_date, time_on, lognumber, confirmed, id, cqz, ituz, dxcc FROM log WHERE lognumber='%1'").arg(currentLog); @@ -6398,7 +6499,7 @@ void MainWindow::fillQSOData() { _id = (query.value(nameCol)).toString(); } - //qDebug() << "MainWindow::fillQSOData: ID: " << _id << endl; + //qDebug() << "MainWindow::fillQSOData: ID: " << _id << endl; //TODO: Prepare this query updateString = "UPDATE log SET call = '" + _call + "', bandid = '" + _bandid + "', modeid = '" + _modeid + "', qso_date = '" + _tdate + "', time_on = '" + _ttime + "', lognumber = '" + _lognumber + "'";// + "', confirmed = '" + _confirmed + "'"; @@ -6422,7 +6523,7 @@ void MainWindow::fillQSOData() } else {} - //qDebug() << "MainWindow::fillQSOData: DXCC" << endl; + //qDebug() << "MainWindow::fillQSOData: DXCC" << endl; nameCol = rec.indexOf("dxcc"); _dxcc = (query.value(nameCol)).toInt(); @@ -6430,24 +6531,24 @@ void MainWindow::fillQSOData() if (_dxcc < 1) { aux1 = QString::number(world->getQRZARRLId(_call) ); - //qDebug() << "MainWindow::fillQSOData: DXCC proposed: " << aux1 << endl; + //qDebug() << "MainWindow::fillQSOData: DXCC proposed: " << aux1 << endl; if (aux1.toInt()>0) { updateString = updateString + ", dxcc='" + aux1 + "'"; toModify = true; - //qDebug() << "MainWindow::fillQSOData: DXCC: " << aux1 << endl; + //qDebug() << "MainWindow::fillQSOData: DXCC: " << aux1 << endl; _dxcc = aux1.toInt(); } else { - //qDebug() << "MainWindow::fillQSOData: no DXCC identified" << endl; + //qDebug() << "MainWindow::fillQSOData: no DXCC identified" << endl; } } else { - //qDebug() << "MainWindow::fillQSOData: DXCC already existed" << endl; + //qDebug() << "MainWindow::fillQSOData: DXCC already existed" << endl; } nameCol = rec.indexOf("cont"); if (( (query.value(nameCol)).toString()).length() < 2 ) @@ -6460,20 +6561,20 @@ void MainWindow::fillQSOData() else {} _dxcc = -1; - //qDebug() << "MainWindow::fillQSOData1: " << updateString << endl; + //qDebug() << "MainWindow::fillQSOData1: " << updateString << endl; if (toModify) { updateString = updateString + " WHERE id = " + "'" + _id + "'"; - //qDebug() << "MainWindow::fillQSOData2: " << updateString << endl; + //qDebug() << "MainWindow::fillQSOData2: " << updateString << endl; sqlOK = query1.exec(updateString); if (sqlOK) { - //qDebug() << "MainWindow::fillQSOData: sqlOK=True" << endl; + //qDebug() << "MainWindow::fillQSOData: sqlOK=True" << endl; } else { emit queryError(Q_FUNC_INFO, query1.lastError().databaseText(), query1.lastError().number(), query1.lastQuery()); - //qDebug() << "MainWindow::fillQSOData: sqlOK=False" << endl; + //qDebug() << "MainWindow::fillQSOData: sqlOK=False" << endl; } } @@ -6488,7 +6589,7 @@ void MainWindow::fillQSOData() if ( progress.wasCanceled() ) { - //qDebug() << "MainWindow::fillQSOData3: " << endl; + //qDebug() << "MainWindow::fillQSOData3: " << endl; noMoreQso = true; } } // Closes the next.isValid @@ -6505,7 +6606,7 @@ void MainWindow::slotFillEmptyDXCCInTheLog() void MainWindow::slotUpdateCTYDAT() { - //qDebug() << "MainWindow::slotUpdateCTYDAT" << endl; + //qDebug() << "MainWindow::slotUpdateCTYDAT" << endl; logEvent(Q_FUNC_INFO, "Start", logSeverity); downloadcty->download(); logEvent(Q_FUNC_INFO, "END", logSeverity); @@ -6513,7 +6614,7 @@ void MainWindow::slotUpdateCTYDAT() void MainWindow::slotUpdateSATSDAT() { - //qDebug() << "MainWindow::slotUpdateSATSDAT" << endl; + //qDebug() << "MainWindow::slotUpdateSATSDAT" << endl; logEvent(Q_FUNC_INFO, "Start", logSeverity); updateSatsData->readSatDataFile(); satTabWidget->refreshData(); @@ -6527,22 +6628,18 @@ void MainWindow::slotShowStats() logEvent(Q_FUNC_INFO, "END", logSeverity); } -void MainWindow::slotWorldReload(const bool _b) +void MainWindow::slotWorldReload() { - //qDebug() << "MainWindow::slotWorldReload" << endl; + //qDebug() << "MainWindow::slotWorldReload" << endl; //TODO: world.recreate returns a boolean, so it is possible to manage the errors logEvent(Q_FUNC_INFO, "Start", logSeverity); - if (_b) - { - world->recreate(ctyDatFile); - } - + world->recreate(ctyDatFile); logEvent(Q_FUNC_INFO, "END", logSeverity); } void MainWindow::slotFilePrint() { - //qDebug() << "MainWindow::slotFilePrint" << endl; + //qDebug() << "MainWindow::slotFilePrint" << endl; logEvent(Q_FUNC_INFO, "Start", logSeverity); QPrinter printer; QString aux; @@ -6554,7 +6651,7 @@ void MainWindow::slotFilePrint() _numberOfQsos = dataProxy->getHowManyQSOInLog(currentLog); int step = util->getProgresStepForDialog(_numberOfQsos); - QTextDocument *doc = new QTextDocument; + QTextCursor cursor(doc); QTextTable *textTable = cursor.insertTable(1, 9); @@ -6632,7 +6729,7 @@ void MainWindow::slotFilePrint() textTable->appendRows(1); row++; _qsos++; - //qDebug() << "MainWindow::slotFilePrint: QSO: " << QString::number(_qsos) << " - Step: " << QString::number(step) << " - Div: " << QString::number(_qsos % step)<< endl; + //qDebug() << "MainWindow::slotFilePrint: QSO: " << QString::number(_qsos) << " - Step: " << QString::number(step) << " - Div: " << QString::number(_qsos % step)<< endl; if (( (_qsos % step )== 0) ) { // To update the speed I will only show the progress once each X QSOs aux = tr("Printing the log...\n QSO: ") + QString::number(_qsos) + "/" + QString::number(_numberOfQsos); @@ -6684,13 +6781,13 @@ void MainWindow::slotFilePrint() emit queryError(Q_FUNC_INFO, query1.lastError().databaseText(), query1.lastError().number(), query1.lastQuery()); } - //qDebug() << "MainWindow::slotFilePrint: Band: " << aux << endl; + //qDebug() << "MainWindow::slotFilePrint: Band: " << aux << endl; nameCol = rec.indexOf("modeid"); - //qDebug() << "MainWindow::slotFilePrint: nameCol: " << QString::number(nameCol) << endl; + //qDebug() << "MainWindow::slotFilePrint: nameCol: " << QString::number(nameCol) << endl; aux = (query.value(nameCol)).toString(); - //qDebug() << "MainWindow::slotFilePrint: Mode1: " << aux << endl; + //qDebug() << "MainWindow::slotFilePrint: Mode1: " << aux << endl; aux = dataProxy->getNameFromSubModeId(aux.toInt()); - //qDebug() << "MainWindow::slotFilePrint: Mode2: " << aux << endl; + //qDebug() << "MainWindow::slotFilePrint: Mode2: " << aux << endl; if (aux.length()>1) { cursor = textTable->cellAt(row, 7).firstCursorPosition(); @@ -6698,7 +6795,7 @@ void MainWindow::slotFilePrint() } else { - //qDebug() << "MainWindow::slotFilePrint: ERROR: " << aux << endl; + //qDebug() << "MainWindow::slotFilePrint: ERROR: " << aux << endl; } nameCol = rec.indexOf("comment"); @@ -6729,7 +6826,7 @@ void MainWindow::slotFilePrint() void MainWindow::slotAnalyzeDxClusterSignal(QStringList ql) { - //qDebug() << "MainWindow::slotAnalyzeDxClusterSignal: 1: " << ql.at(0) <<"/1: " << ql.at(1) << "/2: " << ql.at(2) << endl; + //qDebug() << "MainWindow::slotAnalyzeDxClusterSignal: 1: " << ql.at(0) <<"/1: " << ql.at(1) << "/2: " << ql.at(2) << endl; logEvent(Q_FUNC_INFO, "Start", logSeverity); QStringList qls; int _entity = world->getQRZARRLId(ql.at(0)); @@ -6748,8 +6845,7 @@ void MainWindow::slotAnalyzeDxClusterSignal(QStringList ql) } else if ((ql.at(2)) == "selected") { - //slotShowInfoLabel(world->getEntityName(_entity), 2); - infoLabel2->setText(world->getEntityName(_entity)); + infoLabel2->setText(world->getEntityName(_entity)); infoWidget->showEntityInfo( _entity ); // Becareful, he Frecuency arrives in KHz instead of bandid!! @@ -6792,40 +6888,38 @@ double MainWindow::checkFreqRanges(double _f) //void MainWindow::clusterSpotToLog(const QStringList _qs) void MainWindow::clusterSpotToLog(const QString &_call, const QString &_freq) { - //qDebug() << "MainWindow::clusterSpotToLog: " << _call <<"/" << _freq << endl; + //qDebug() << "MainWindow::clusterSpotToLog: " << _call <<"/" << _freq << endl; logEvent(Q_FUNC_INFO, "Start", logSeverity); QString _aux; double _freqN = (_freq.toDouble()) / 1000; - mainQSOEntryWidget->setQRZ(_call); - + qrzLineEdit->setText(_call); + //qrzLineEdit->setText(_qs.at(0)); txFreqSpinBox->setValue(checkFreqRanges(_freqN)); //freqQLCDNumber->display(_freqN); _aux = QString::number(_freqN); - //qDebug() << "MainWindow::clusterSpotToLog - Freq: " << _aux << endl; + //qDebug() << "MainWindow::clusterSpotToLog - Freq: " << _aux << endl; int _bandi = dataProxy->getBandIdFromFreq(_aux.toDouble()); - //qDebug() << "MainWindow::clusterSpotToLog - Bandi: " << QString::number(_bandi) << endl; + //qDebug() << "MainWindow::clusterSpotToLog - Bandi: " << QString::number(_bandi) << endl; _aux = QString::number(_bandi); _aux = QString("SELECT name FROM band WHERE id ='%1'").arg(_aux); - //qDebug() << "MainWindow::clusterSpotToLog - Band: " << _aux << endl; + //qDebug() << "MainWindow::clusterSpotToLog - Band: " << _aux << endl; QSqlQuery query(_aux); query.next(); if (query.isValid()) { _aux = (query.value(0)).toString(); - mainQSOEntryWidget->setBand(_aux); - //bandComboBox->setCurrentIndex(bandComboBox->findText(_aux, Qt::MatchCaseSensitive)); + bandComboBox->setCurrentIndex(bandComboBox->findText(_aux, Qt::MatchCaseSensitive)); } else - { - mainQSOEntryWidget->setBand(dataProxy->getNameFromBandId(defaultBand)); - //bandComboBox->setCurrentIndex(bandComboBox->findText(dataProxy->getNameFromBandId(defaultBand), Qt::MatchCaseSensitive)); + { + bandComboBox->setCurrentIndex(bandComboBox->findText(dataProxy->getNameFromBandId(defaultBand), Qt::MatchCaseSensitive)); //bandComboBox->setCurrentIndex(defaultBand); } if (hamlibActive) @@ -6839,7 +6933,7 @@ void MainWindow::clusterSpotToLog(const QString &_call, const QString &_freq) void MainWindow::updateQSLRecAndSent() { - //qDebug() << "MainWindow::updateQSLRecAndSent " << endl; + //qDebug() << "MainWindow::updateQSLRecAndSent " << endl; logEvent(Q_FUNC_INFO, "Start", logSeverity); // Checks the log to fill all the qsl_rcvd and qsl_sent QSqlQuery query, query1; @@ -6865,44 +6959,37 @@ void MainWindow::updateQSLRecAndSent() emit queryError(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); } logEvent(Q_FUNC_INFO, "END", logSeverity); - //qDebug() << "MainWindow::updateQSLRecAndSent - END" << endl; + //qDebug() << "MainWindow::updateQSLRecAndSent - END" << endl; } void MainWindow::defineStationCallsign() { - //qDebug() << "MainWindow::defineStationCallsign (currentLog): " << QString::number(currentLog) << endl; + //qDebug() << "MainWindow::defineStationCallsign (currentLog): " << QString::number(currentLog) << endl; logEvent(Q_FUNC_INFO, "Start", logSeverity); QString logQRZ; logQRZ = dataProxy->getStationCallSignFromLog(currentLog); - //qDebug() << "MainWindow::defineStationCallsign (logQrz): " << logQRZ << endl; + //qDebug() << "MainWindow::defineStationCallsign (logQrz): " << logQRZ << endl; - if ((world->checkQRZValidFormat(logQRZ)) && (util->isValidCall(logQRZ))) + if (world->checkQRZValidFormat(logQRZ)) { - //qDebug() << "MainWindow::defineStationCallsign TRUE " << endl; - stationQRZ = logQRZ; + stationQRZ = logQRZ; } else { - //qDebug() << "MainWindow::defineStationCallsign FALSE " << endl; stationQRZ = mainQRZ; } - - //qDebug() << "MainWindow::defineStationCallsign: " << stationQRZ << endl; - filemanager->setStationCallSign(stationQRZ); - //qDebug() << "MainWindow::defineStationCallsign: AFTER" << endl; myDataTabWidget->setData(myPower, stationQRZ, operatorQRZ, myDataTabWidget->getMyLocator()); dxccStatusWidget->setMyLocator(myDataTabWidget->getMyLocator()); - searchWidget->setStationCallsign(stationQRZ); logEvent(Q_FUNC_INFO, "END", logSeverity); - //qDebug() << "MainWindow::defineStationCallsign: " << stationQRZ << " - END" << endl; + //qDebug() << "MainWindow::defineStationCallsign: " << stationQRZ << " - END" << endl; } void MainWindow::slotSetPropMode(const QString &_p) { - //qDebug() << "MainWindow::slotSetPropMode: " << _p << endl; + //qDebug() << "MainWindow::slotSetPropMode: " << _p << endl; //if(modify) //{ // return; @@ -6918,7 +7005,7 @@ void MainWindow::slotSetPropMode(const QString &_p) void MainWindow::completeWithPreviousQSO(const QString &_call) { - //qDebug() << "MainWindow::completeWithPreviousQSO" << endl; + //qDebug() << "MainWindow::completeWithPreviousQSO" << endl; //This function completes: Name, QTH, Locator, Entity, Iota logEvent(Q_FUNC_INFO, "Start", logSeverity); if ((!completeWithPrevious) || (_call.length()<=0) || (dataProxy->isWorkedB4(_call, -1)<=0)) @@ -7056,51 +7143,51 @@ void MainWindow::completeWithPreviousQSO(const QString &_call) void MainWindow::updateBandComboBox(const QString &_band) { - //qDebug() << "MainWindow::updateBandComboBox: " << _band << endl; + //qDebug() << "MainWindow::updateBandComboBox: " << _band << endl; logEvent(Q_FUNC_INFO, "Start", logSeverity); updatingBands = true; - QString _currentBand = mainQSOEntryWidget->getBand(); - if (!mainQSOEntryWidget->isBandExisting(_currentBand)) + QString _currentBand = bandComboBox->currentText(); + if (bandComboBox->findText(_band, Qt::MatchCaseSensitive) < 0) {// The selected frequency is of a band that is not currently selected - //qDebug() << "MainWindow::updateBandComboBox - New band found: " << _band << endl; + //qDebug() << "MainWindow::updateBandComboBox - New band found: " << _band << endl; if (dataProxy->getIdFromBandName(_band) > 1) {// Not affected if 0 (light) is the frequency // In this case the user should select the band in the setup - //qDebug() << "MainWindow::updateBandComboBox- Band is valid: " << _band << endl; + //qDebug() << "MainWindow::updateBandComboBox- Band is valid: " << _band << endl; QStringList qsTemp; qsTemp.clear(); qsTemp << bands; qsTemp << _band; - qsTemp.removeDuplicates(); bands.clear(); - bands = dataProxy->sortBandNamesBottonUp(qsTemp); - mainQSOEntryWidget->setBands(bands); + bands << dataProxy->sortBandNamesBottonUp(qsTemp); + bands.removeDuplicates(); + bandComboBox->clear(); + bandComboBox->addItems(bands); dxccStatusWidget->setBands(bands); - //qDebug() << "MainWindow::updateBandComboBox - Before adding bands!" << endl; + //qDebug() << "MainWindow::updateBandComboBox - Before adding bands!" << endl; satTabWidget->addBands(bands); - //qDebug() << "MainWindow::updateBandComboBox - Band has been added!" << endl; + //qDebug() << "MainWindow::updateBandComboBox - Band has been added!" << endl; } else { - //qDebug() << "MainWindow::updateBandComboBox- (END) Band is NOT valid: " <<_band<< endl; + //qDebug() << "MainWindow::updateBandComboBox- (END) Band is NOT valid: " <<_band<< endl; updatingBands = false; logEvent(Q_FUNC_INFO, "END-1", logSeverity); return; } } - mainQSOEntryWidget->setBand(_currentBand); - //bandComboBox->setCurrentIndex(bandComboBox->findText(_currentBand, Qt::MatchCaseSensitive)); + bandComboBox->setCurrentIndex(bandComboBox->findText(_currentBand, Qt::MatchCaseSensitive)); updatingBands = false; //bandComboBox->setCurrentIndex(bandComboBox->findText(_band, Qt::MatchCaseSensitive)); logEvent(Q_FUNC_INFO, "END", logSeverity); - //qDebug() << "MainWindow::updateBandComboBox- END" << endl; + //qDebug() << "MainWindow::updateBandComboBox- END" << endl; } void MainWindow::slotFreqTXChanged() { - //qDebug() << "MainWindow::slotFreqTXChanged" << QString::number(txFreqSpinBox->value()) << endl; + //qDebug() << "MainWindow::slotFreqTXChanged" << QString::number(txFreqSpinBox->value()) << endl; logEvent(Q_FUNC_INFO, "Start", logSeverity); txFreqBeingChanged = true; int bandId = dataProxy->getBandIdFromFreq(txFreqSpinBox->value()); @@ -7108,50 +7195,40 @@ void MainWindow::slotFreqTXChanged() { // If the freq belongs to one ham band txFreqSpinBox->setPalette(palBlack); txFreqSpinBox->setToolTip(tr("TX Frequency in MHz.")); - if ((!modify) && (upAndRunning)) + if ((hamlibActive) && (!modify) && (upAndRunning)) { - if (hamlibActive) - { - hamlib->setFreq(txFreqSpinBox->value()); - } - if (usePSTRotator) - { - pstRotator->sendFreq(txFreqSpinBox->value(), 1); // KLog is only able to manage one radio - } + hamlib->setFreq(txFreqSpinBox->value()); } - bool freqInBand = dataProxy->isThisFreqInBand(mainQSOEntryWidget->getBand(), QString::number(txFreqSpinBox->value())); + bool freqInBand = dataProxy->isThisFreqInBand(bandComboBox->currentText(), QString::number(txFreqSpinBox->value())); if(!freqInBand) { // If the freq does not belong to the current band, we need to update the band - //qDebug() << "MainWindow::slotFreqTXChanged Freq is not in the current band" << endl; + //qDebug() << "MainWindow::slotFreqTXChanged Freq is not in the current band" << endl; QString _newBand = dataProxy->getBandNameFromFreq(txFreqSpinBox->value()); updateBandComboBox(_newBand); - mainQSOEntryWidget->setBand(_newBand); - //bandComboBox->setCurrentIndex(bandComboBox->findText(_newBand, Qt::MatchCaseSensitive)); + bandComboBox->setCurrentIndex(bandComboBox->findText(_newBand, Qt::MatchCaseSensitive)); } } else { txFreqSpinBox->setToolTip(tr("TX Frequency in MHz.\nFrequency is not in a hamradio band!")); txFreqSpinBox->setPalette(palRed); - //qDebug() << "MainWindow::slotFreqTXChanged Freq is not in ANY ham band" << endl; + //qDebug() << "MainWindow::slotFreqTXChanged Freq is not in ANY ham band" << endl; } if (!txFreqBeingAutoChanged) { - //qDebug() << "MainWindow::slotFreqTXChanged: Updating SAT Uplink" << endl; satTabWidget->setUpLinkFreq(txFreqSpinBox->value()); - } txFreqBeingChanged = false; - + //slotBandComboBoxChanged(); logEvent(Q_FUNC_INFO, "END", logSeverity); - //qDebug() << "MainWindow::slotFreqTXChanged - END" << endl; + //qDebug() << "MainWindow::slotFreqTXChanged - END" << endl; } void MainWindow::slotFreqRXChanged() { - //qDebug() << "MainWindow::slotFreqRXChanged: " << QString::number(rxFreqSpinBox->value()) << endl; + //qDebug() << "MainWindow::slotFreqRXChanged: " << QString::number(rxFreqSpinBox->value()) << endl; logEvent(Q_FUNC_INFO, "Start", logSeverity); rxFreqBeingChanged = true; int bandId = dataProxy->getBandIdFromFreq(rxFreqSpinBox->value()); @@ -7160,10 +7237,10 @@ void MainWindow::slotFreqRXChanged() rxFreqSpinBox->setPalette(palBlack); rxFreqSpinBox->setToolTip(tr("RX Frequency in MHz.")); - bool freqInBand = dataProxy->isThisFreqInBand(mainQSOEntryWidget->getBand(), QString::number(rxFreqSpinBox->value())); + bool freqInBand = dataProxy->isThisFreqInBand(bandComboBox->currentText(), QString::number(rxFreqSpinBox->value())); if(!freqInBand) { // If the freq does not belong to the current band, we need to update the band - //qDebug() << "MainWindow::slotFreqTXChanged Freq is not in the current band" << endl; + //qDebug() << "MainWindow::slotFreqTXChanged Freq is not in the current band" << endl; QString _newBand = dataProxy->getBandNameFromFreq(rxFreqSpinBox->value()); updateBandComboBox(_newBand); //bandComboBox->setCurrentIndex(bandComboBox->findText(_newBand, Qt::MatchCaseSensitive)); @@ -7173,29 +7250,28 @@ void MainWindow::slotFreqRXChanged() { rxFreqSpinBox->setToolTip(tr("RX Frequency in MHz.\nFrequency is not in a hamradio band!")); rxFreqSpinBox->setPalette(palRed); - //qDebug() << "MainWindow::slotFreqRXChanged Freq is not in ANY ham band" << endl; + //qDebug() << "MainWindow::slotFreqRXChanged Freq is not in ANY ham band" << endl; } if (!rxFreqBeingAutoChanged) { - //qDebug() << "MainWindow::slotFreqTXChanged: Updating SAT Downlink" << endl; satTabWidget->setDownLinkFreq(rxFreqSpinBox->value()); } rxFreqBeingChanged = false; logEvent(Q_FUNC_INFO, "END", logSeverity); - //qDebug() << "MainWindow::slotFreqRXChanged: END" << endl; + //qDebug() << "MainWindow::slotFreqRXChanged: END" << endl; } /* void MainWindow::slotShowQSOFromDXCCWidget(const int _q) { logEvent(Q_FUNC_INFO, "Start", logSeverity); logEvent(Q_FUNC_INFO, "END", logSeverity); - //qDebug() << "MainWindow::slotShowQSOFromDXCCWidget: " << QString::number(_q)<< endl; + //qDebug() << "MainWindow::slotShowQSOFromDXCCWidget: " << QString::number(_q)<< endl; } */ void MainWindow::slotShowQSOsFromDXCCWidget(QList _qsos) { - //qDebug() << "MainWindow::slotShowQSOsFromDXCCWidget" << endl; + //qDebug() << "MainWindow::slotShowQSOsFromDXCCWidget" << endl; logEvent(Q_FUNC_INFO, "Start", logSeverity); slotShowSearchWidget(); searchWidget->showQSOs(_qsos); @@ -7208,24 +7284,24 @@ void MainWindow::slotWSJTXloggedQSO(const int _type, const QString &_dxcall, con const QString &_tx_power, const QString &_comments, const QString &_name, const QString &_time_on, const QString &_de_call, const QString &_de_grid) { - //qDebug() << "MainWindow::slotWSJTX-loggedQSO type: " << QString::number(_type) << endl; + //qDebug() << "MainWindow::slotWSJTX-loggedQSO type: " << QString::number(_type) << endl; logEvent(Q_FUNC_INFO, "Start", logSeverity); bool logTheQso = false; - //qDebug() << "MainWindow::slotWSJTX-loggedQSO type: " << QString::number(_type) << endl; - //qDebug() << "MainWindow::slotWSJTX-loggedQSO dxcall: " << _dxcall << endl; - //qDebug() << "MainWindow::slotWSJTX-loggedQSO freq: " << QString::number(_freq/1000000) << endl; - //qDebug() << "MainWindow::slotWSJTX-loggedQSO mode: " << _mode << endl; + //qDebug() << "MainWindow::slotWSJTX-loggedQSO type: " << QString::number(_type) << endl; + //qDebug() << "MainWindow::slotWSJTX-loggedQSO dxcall: " << _dxcall << endl; + //qDebug() << "MainWindow::slotWSJTX-loggedQSO freq: " << QString::number(_freq/1000000) << endl; + //qDebug() << "MainWindow::slotWSJTX-loggedQSO mode: " << _mode << endl; - //qDebug() << "MainWindow::slotWSJTX-loggedQSO dx_grid: " << _dx_grid << endl; - //qDebug() << "MainWindow::slotWSJTX-loggedQSO time_on: " << _time_on << endl; - //qDebug() << "MainWindow::slotWSJTX-loggedQSO time_off: " << _time_off << endl; + //qDebug() << "MainWindow::slotWSJTX-loggedQSO dx_grid: " << _dx_grid << endl; + //qDebug() << "MainWindow::slotWSJTX-loggedQSO time_on: " << _time_on << endl; + //qDebug() << "MainWindow::slotWSJTX-loggedQSO time_off: " << _time_off << endl; - //qDebug() << "MainWindow::slotWSJTX-loggedQSO report_sent: " << _report_sent << endl; - //qDebug() << "MainWindow::slotWSJTX-loggedQSO report_rec: " << _report_rec << endl; - //qDebug() << "MainWindow::slotWSJTX-loggedQSO tx_power: " << _tx_power << endl; - //qDebug() << "MainWindow::slotWSJTX-loggedQSO comments: " << _comments << endl; - //qDebug() << "MainWindow::slotWSJTX-loggedQSO name: " << _name << endl; + //qDebug() << "MainWindow::slotWSJTX-loggedQSO report_sent: " << _report_sent << endl; + //qDebug() << "MainWindow::slotWSJTX-loggedQSO report_rec: " << _report_rec << endl; + //qDebug() << "MainWindow::slotWSJTX-loggedQSO tx_power: " << _tx_power << endl; + //qDebug() << "MainWindow::slotWSJTX-loggedQSO comments: " << _comments << endl; + //qDebug() << "MainWindow::slotWSJTX-loggedQSO name: " << _name << endl; if (_type == 5) { @@ -7302,7 +7378,7 @@ void MainWindow::slotWSJTXloggedQSO(const int _type, const QString &_dxcall, con if (logTheQso) { - //qDebug() << "MainWindow::slotWSJTX-loggedQSO: QSO must be logged" << endl; + //qDebug() << "MainWindow::slotWSJTX-loggedQSO: QSO must be logged" << endl; bool qsoLogged = false; int dxcc = world->getQRZARRLId(_dxcall); dxcc = util->getNormalizedDXCCValue(dxcc); @@ -7323,49 +7399,47 @@ void MainWindow::slotWSJTXloggedQSO(const int _type, const QString &_dxcall, con if (qsoLogged) { - //qDebug() << "MainWindow::slotWSJTX-loggedQSO: Logged QSO OK: " << _dxcall << endl; + //qDebug() << "MainWindow::slotWSJTX-loggedQSO: Logged QSO OK: " << _dxcall << endl; actionsJustAfterAddingOneQSO(); infoLabel1T = infoLabel1->text(); infoLabel2T = infoLabel2->text(); - slotShowInfoLabel(tr("QSO logged from WSJT-X:")); - //slotShowInfoLabel(_dxcall + " - " + dataProxy->getBandNameFromFreq(_freq) + "/" + _mode, 2); - //infoLabel1->setText(tr("QSO logged from WSJT-X:")); + + infoLabel1->setText(tr("QSO logged from WSJT-X:")); infoLabel2->setText(_dxcall + " - " + dataProxy->getBandNameFromFreq(_freq) + "/" + _mode); timerInfoBars->start(infoTimeout); } else { - //qDebug() << "MainWindow::slotWSJTX-loggedQSO: Logged QSO NOK: " << _dxcall << endl; + //qDebug() << "MainWindow::slotWSJTX-loggedQSO: Logged QSO NOK: " << _dxcall << endl; } } else { - //qDebug() << "MainWindow::slotWSJTX-loggedQSO: QSO must NOT be logged ... ending" << endl; + //qDebug() << "MainWindow::slotWSJTX-loggedQSO: QSO must NOT be logged ... ending" << endl; } } else { - //qDebug() << "MainWindow::slotWSJTX-loggedQSO: type != 5, nothing to do or an error"<< endl; + //qDebug() << "MainWindow::slotWSJTX-loggedQSO: type != 5, nothing to do or an error"<< endl; } logEvent(Q_FUNC_INFO, "END", logSeverity); - //qDebug() << "MainWindow::slotWSJTX-loggedQSO: - END" << endl; + //qDebug() << "MainWindow::slotWSJTX-loggedQSO: - END" << endl; } bool MainWindow::checkIfNewMode(const QString &_mode) { - //qDebug() << "MainWindow::checkIfNewMode: " << _mode << endl; + //qDebug() << "MainWindow::checkIfNewMode: " << _mode << endl; logEvent(Q_FUNC_INFO, "Start", logSeverity); if (dataProxy->getSubModeIdFromSubMode(_mode)<0) {// The mode is not existing; it is not an accepted mode for KLog // TODO: Show an error to the user - //qDebug() << "MainWindow::checkIfNewMode: Mode not valid! - " << _mode << endl; + //qDebug() << "MainWindow::checkIfNewMode: Mode not valid! - " << _mode << endl; QMessageBox msgBox; - msgBox.setWindowTitle(tr("KLog - Non-supported mode")); msgBox.setIcon(QMessageBox::Warning); - QString aux = tr("A new mode not supported by KLog has been received from an external program or radio:") + "(" + _mode + ")\n\n" + tr("If the received mode is correct, please contact KLog development team and request support for that mode") + "\n\n" + tr("Do you want to keep receiving these alerts? (disabling these alerts will prevent non-valid modes being detected)"); + QString aux = tr("A new mode not supported by KLog has been received from an external software or radio:") + "(" + _mode + ")\n\n" + tr("If the received mode is correct, please contact KLog development team and request support for that mode") + "\n\n" + tr("Do you want to keep receiving this alerts? (disabling this alerts will prevent that non-valid modes are detected)"); msgBox.setText(aux); msgBox.setStandardButtons(QMessageBox::Yes | QMessageBox::No ); @@ -7392,7 +7466,7 @@ bool MainWindow::checkIfNewMode(const QString &_mode) { //noMoreModeErrorShown = false; //TODO: Add the new mode to the list of active modes - //qDebug() << "MainWindow::slotStatusFromUDPServer: VALID NEW MODE: Adding... - " << _mode << endl; + //qDebug() << "MainWindow::slotStatusFromUDPServer: VALID NEW MODE: Adding... - " << _mode << endl; addNewValidMode(_mode); } logEvent(Q_FUNC_INFO, "END", logSeverity); @@ -7409,32 +7483,32 @@ void MainWindow::slotWSJXstatusFromUDPServer(const int _type, const QString &_dx logEvent(Q_FUNC_INFO, "END-1", logSeverity); return; } - //qDebug() << "MainWindow::slotStatusFromUDPServer type: " << QString::number(_type) << endl; - //qDebug() << "MainWindow::slotStatusFromUDPServer dxcall: " << _dxcall << endl; - //qDebug() << "MainWindow::slotStatusFromUDPServer freq: " << QString::number(_freq/1000000) << endl; - //qDebug() << "MainWindow::slotStatusFromUDPServer mode: " << _mode << endl; - //qDebug() << "MainWindow::slotStatusFromUDPServer report: " << _report << endl; - //qDebug() << "MainWindow::slotStatusFromUDPServer de_call: " << _de_call << endl; - //qDebug() << "MainWindow::slotStatusFromUDPServer _de_grid: " << _de_grid << endl; - //qDebug() << "MainWindow::slotStatusFromUDPServer dx_grid: " << _dx_grid << endl; - //qDebug() << "MainWindow::slotStatusFromUDPServer sub_mode: " << _sub_mode << endl; + //qDebug() << "MainWindow::slotStatusFromUDPServer type: " << QString::number(_type) << endl; + //qDebug() << "MainWindow::slotStatusFromUDPServer dxcall: " << _dxcall << endl; + //qDebug() << "MainWindow::slotStatusFromUDPServer freq: " << QString::number(_freq/1000000) << endl; + //qDebug() << "MainWindow::slotStatusFromUDPServer mode: " << _mode << endl; + //qDebug() << "MainWindow::slotStatusFromUDPServer report: " << _report << endl; + //qDebug() << "MainWindow::slotStatusFromUDPServer de_call: " << _de_call << endl; + //qDebug() << "MainWindow::slotStatusFromUDPServer _de_grid: " << _de_grid << endl; + //qDebug() << "MainWindow::slotStatusFromUDPServer dx_grid: " << _dx_grid << endl; + //qDebug() << "MainWindow::slotStatusFromUDPServer sub_mode: " << _sub_mode << endl; - if ((mainQSOEntryWidget->isModeExisting(_mode)) && (!noMoreModeErrorShown)) + if ((modeComboBox->findText(_mode, Qt::MatchCaseSensitive)<0) && (!noMoreModeErrorShown)) { - //qDebug() << "MainWindow::slotStatusFromUDPServer New mode: " << _mode << endl; + //qDebug() << "MainWindow::slotStatusFromUDPServer New mode: " << _mode << endl; noMoreModeErrorShown = checkIfNewMode(_mode); /* if (dataProxy->getSubModeIdFromSubMode(_mode)<0) {// The mode is not existing; it is not an accepted mode for KLog // TODO: Show an error to the user - //qDebug() << "MainWindow::slotStatusFromUDPServer: Mode not valid! - " << _mode << endl; + //qDebug() << "MainWindow::slotStatusFromUDPServer: Mode not valid! - " << _mode << endl; QMessageBox msgBox; msgBox.setIcon(QMessageBox::Warning); - QString aux = tr("A new mode not supported by KLog has been received from an external software:") + "(" + _mode + ")\n\n" + tr("If the received mode is correct, please contact KLog development team and request support for that mode") + "\n\n" + tr("Do you want to keep receiving these alerts? (disabling these alerts will prevent non-valid modes being detected)"); + QString aux = tr("A new mode not supported by KLog has been received from an external software:") + "(" + _mode + ")\n\n" + tr("If the received mode is correct, please contact KLog development team and request support for that mode") + "\n\n" + tr("Do you want to keep receiving this alerts? (disabling this alerts will prevent that non-valid modes are detected)"); msgBox.setText(aux); msgBox.setStandardButtons(QMessageBox::Yes | QMessageBox::No ); @@ -7444,7 +7518,7 @@ void MainWindow::slotWSJXstatusFromUDPServer(const int _type, const QString &_dx { case QMessageBox::Yes: break; - case QMessageBox::No:RX + case QMessageBox::No: noMoreModeErrorShown = true; break; default: @@ -7456,7 +7530,7 @@ void MainWindow::slotWSJXstatusFromUDPServer(const int _type, const QString &_dx { //noMoreModeErrorShown = false; //TODO: Add the new mode to the list of active modes - //qDebug() << "MainWindow::slotStatusFromUDPServer: VALID NEW MODE: Adding... - " << _mode << endl; + //qDebug() << "MainWindow::slotStatusFromUDPServer: VALID NEW MODE: Adding... - " << _mode << endl; addNewValidMode(_mode); } */ @@ -7468,14 +7542,13 @@ void MainWindow::slotWSJXstatusFromUDPServer(const int _type, const QString &_dx //MainWindow::slotStatusFromUDPServer: - type = " << QString::number(_type) << " - OUT/IN - Heartbeat" << endl; break; case 1: - //qDebug() << "MainWindow::slotStatusFromUDPServer: - type = " << QString::number(_type) << " - OUT - Status" << endl; - mainQSOEntryWidget->setQRZ(_dxcall); + //qDebug() << "MainWindow::slotStatusFromUDPServer: - type = " << QString::number(_type) << " - OUT - Status" << endl; + qrzLineEdit->setText(_dxcall); if ((!noMoreModeErrorShown) && (dataProxy->getSubModeIdFromSubMode(_mode)>0) ) { - mainQSOEntryWidget->setMode(_mode); - //modeComboBox->setCurrentIndex(modeComboBox->findText(_mode, Qt::MatchCaseSensitive)); + modeComboBox->setCurrentIndex(modeComboBox->findText(_mode, Qt::MatchCaseSensitive)); } - //qDebug() << "MainWindow::slotWSJXstatusFromUDPServer updating txFreqSpinBox" << QString::number(_freq) << endl; + //qDebug() << "MainWindow::slotWSJXstatusFromUDPServer updating txFreqSpinBox" << QString::number(_freq) << endl; txFreqSpinBox->setValue(_freq); slotUpdateLocator(_dx_grid); rstTXLineEdit->setText(_report); @@ -7490,7 +7563,7 @@ void MainWindow::slotWSJXstatusFromUDPServer(const int _type, const QString &_dx //bandComboBox->setCurrentIndex(bandComboBox->findText(, Qt::MatchCaseSensitive)); break; default: //NO - //qDebug() << "MainWindow::slotStatusFromUDPServer: - type = " << QString::number(_type) << " - ERROR on Type" << endl; + //qDebug() << "MainWindow::slotStatusFromUDPServer: - type = " << QString::number(_type) << " - ERROR on Type" << endl; break; } logEvent(Q_FUNC_INFO, "END", logSeverity); @@ -7500,18 +7573,21 @@ void MainWindow::slotWSJXstatusFromUDPServer(const int _type, const QString &_dx void MainWindow::addNewValidMode(const QString &_mode) { - //qDebug() << "MainWindow::addNewMode: " << _mode << endl; + //qDebug() << "MainWindow::addNewMode: " << _mode << endl; logEvent(Q_FUNC_INFO, "Start", logSeverity); QStringList _newM; _newM.clear(); _newM << _mode; - _newM << mainQSOEntryWidget->getModes(); + for (int i = 0;i < modeComboBox->count(); i++) + { + _newM << modeComboBox->itemText(i); + } readActiveModes (_newM); - mainQSOEntryWidget->setModes(modes); - + modeComboBox->clear(); + modeComboBox->addItems(modes); logEvent(Q_FUNC_INFO, "END", logSeverity); - //qDebug() << "MainWindow::addNewValidMode: END" << endl; + //qDebug() << "MainWindow::addNewValidMode: END" << endl; } void MainWindow::slotClearNoMorErrorShown() @@ -7523,9 +7599,9 @@ void MainWindow::slotClearNoMorErrorShown() void MainWindow::slotQueryErrorManagement(QString functionFailed, QString errorCodeS, int errorCodeN, QString queryFailed) { - //qDebug() << "MainWindow::slotQueryErrorManagement: Function: " << functionFailed << endl; - //qDebug() << "MainWindow::slotQueryErrorManagement: Error N#: " << QString::number(errorCodeN) << endl; - //qDebug() << "MainWindow::slotQueryErrorManagement: Error: " << functionFailed << errorCodeS << endl; + //qDebug() << "MainWindow::slotQueryErrorManagement: Function: " << functionFailed << endl; + //qDebug() << "MainWindow::slotQueryErrorManagement: Error N#: " << QString::number(errorCodeN) << endl; + //qDebug() << "MainWindow::slotQueryErrorManagement: Error: " << functionFailed << errorCodeS << endl; logEvent(Q_FUNC_INFO, "Start", logSeverity); if (noMoreErrorShown) @@ -7537,7 +7613,6 @@ void MainWindow::slotQueryErrorManagement(QString functionFailed, QString errorC if ((functionFailed == "virtual bool DataProxy_SQLite::addSatellite(QString, QString, QString, QString, QString)") && (errorCodeN == 19)) { QMessageBox msgBox; - msgBox.setWindowTitle(tr("KLog - Duplicated satellite")); msgBox.setIcon(QMessageBox::Warning); msgBox.setText(tr("A duplicated satellite has been detected in the file and will not be imported.")); msgBox.setInformativeText(tr("Please check the satellite information file and ensure it is properly populated.") + "\n" + tr("Now you will see a more detailed error that can be used for debugging...")); @@ -7554,14 +7629,14 @@ void MainWindow::slotQueryErrorManagement(QString functionFailed, QString errorC "
  • " + tr("Error text") + ": " + errorCodeS + "
  • " + "
  • " + tr("Failed query") + ": " + queryFailed + "
  • " + "

" + - "" + tr("Recommendation:") + "" + tr("Periodically export your data to ADIF to prevent a potential data loss.") + "
"; + "" + tr("Recomendation:") + "" + tr("Export, periodically, your data to ADIF to prevent a potential data loss.") + "
"; showErrorDialog->setText(aux + errorMSG); //showErrorDialog->setModal(true); showErrorDialog->exec(); QMessageBox msgBox; - msgBox.setWindowTitle(tr("KLog - Show errors")); + msgBox.setIcon(QMessageBox::Question); aux = tr("Do you want to keep showing errors?"); msgBox.setText(aux); @@ -7585,31 +7660,29 @@ void MainWindow::slotQueryErrorManagement(QString functionFailed, QString errorC void MainWindow::slotDefineNewBands (const QStringList _bands) { - //qDebug() << "MainWindow::defineNewBands: " << endl; + //qDebug() << "MainWindow::defineNewBands: " << endl; logEvent(Q_FUNC_INFO, "Start", logSeverity); QStringList qsTemp; qsTemp.clear(); + //qsTemp << _bands; //qsTemp.removeDuplicates(); qsTemp << dataProxy->sortBandNamesBottonUp(_bands); - qsTemp.removeDuplicates(); - bands.clear(); - bands = qsTemp; - mainQSOEntryWidget->setBands(bands); - //bandComboBox->clear(); - //bandComboBox->addItems(bands); + bands << qsTemp; + bands.removeDuplicates(); + + bandComboBox->clear(); + bandComboBox->addItems(bands); satTabWidget->addBands(bands); - //qDebug() << "MainWindow::defineNewBands - END" << endl; logEvent(Q_FUNC_INFO, "END", logSeverity); } void MainWindow::slotSatChangeRXFreq(const double _f) { logEvent(Q_FUNC_INFO, "Start", logSeverity); - //qDebug() << "MainWindow::slotSatChangeRXFreq updating rxFreqSpinBox" << QString::number(_f) << endl; rxFreqBeingAutoChanged = true; rxFreqSpinBox->setValue(_f); rxFreqBeingAutoChanged = false; @@ -7618,22 +7691,23 @@ void MainWindow::slotSatChangeRXFreq(const double _f) void MainWindow::slotSatChangeTXFreq(const double _f) { - //qDebug() << "MainWindow::slotSatChangeTXFreq updating txFreqSpinBox" << QString::number(_f) << endl; + //qDebug() << "MainWindow::slotSatChangeTXFreq updating txFreqSpinBox" << QString::number(_f) << endl; logEvent(Q_FUNC_INFO, "Start", logSeverity); txFreqBeingAutoChanged = true; txFreqSpinBox->setValue(_f); txFreqBeingAutoChanged = false; logEvent(Q_FUNC_INFO, "END", logSeverity); - //qDebug() << "MainWindow::slotSatChangeTXFreq updating txFreqSpinBox - END" << endl; + + //qDebug() << "MainWindow::slotSatChangeTXFreq updating txFreqSpinBox - END" << endl; } void MainWindow::slotSatTXFreqNeeded(const double _f) { - //qDebug() << "MainWindow::slotSatTXFreqNeeded: " << QString::number(_f) << endl; + //qDebug() << "MainWindow::slotSatTXFreqNeeded: " << QString::number(_f) << endl; logEvent(Q_FUNC_INFO, "Start", logSeverity); QString _band = dataProxy->getBandNameFromFreq(_f); - if (!mainQSOEntryWidget->isBandExisting(_band)) + if (bandComboBox->findText(_band, Qt::MatchCaseSensitive) < 0) { updateBandComboBox(_band); } @@ -7641,23 +7715,23 @@ void MainWindow::slotSatTXFreqNeeded(const double _f) satTabWidget->setUpLinkFreq(_f); logEvent(Q_FUNC_INFO, "END", logSeverity); - //qDebug() << "MainWindow::slotSatTXFreqNeeded - END " << endl; + //qDebug() << "MainWindow::slotSatTXFreqNeeded - END " << endl; } void MainWindow::slotSatRXFreqNeeded(const double _f) { - //qDebug() << "MainWindow::slotSatRXFreqNeeded: " << QString::number(_f) << endl; + //qDebug() << "MainWindow::slotSatRXFreqNeeded: " << QString::number(_f) << endl; logEvent(Q_FUNC_INFO, "Start", logSeverity); QString _band = dataProxy->getBandNameFromFreq(_f); - if (!mainQSOEntryWidget->isBandExisting(_band)) + if (bandComboBox->findText(_band, Qt::MatchCaseSensitive) < 0) { updateBandComboBox(_band); } slotSatChangeRXFreq(_f); satTabWidget->setDownLinkFreq(_f); logEvent(Q_FUNC_INFO, "END", logSeverity); - //qDebug() << "MainWindow::slotSatRXFreqNeeded - END " << endl; + //qDebug() << "MainWindow::slotSatRXFreqNeeded - END " << endl; } void MainWindow::slotHamlibTXFreqChanged(const double _f) @@ -7681,7 +7755,7 @@ void MainWindow::slotHamlibModeChanged(const QString &_m) } - if ((mainQSOEntryWidget->getMode()).toUpper() == _m.toUpper()) + if ((modeComboBox->currentText()).toUpper() == _m.toUpper()) { return; } @@ -7693,24 +7767,20 @@ void MainWindow::slotHamlibModeChanged(const QString &_m) logEvent(Q_FUNC_INFO, "END-2", logSeverity); return; } - if (mainQSOEntryWidget->isModeExisting(_m)) + if (modeComboBox->findText(_m, Qt::MatchCaseSensitive)>=0) { - //qDebug() << "slotHamlibModeChanged: Mode in the Combobox: " << endl; - mainQSOEntryWidget->setMode(_m); - //modeComboBox->setCurrentIndex(modeComboBox->findText(_m, Qt::MatchCaseSensitive)); + //qDebug() << "slotHamlibModeChanged: Mode in the Combobox: " << _m << " - Result: " << QString::number(modeComboBox->findText(_m)) << endl; + + modeComboBox->setCurrentIndex(modeComboBox->findText(_m, Qt::MatchCaseSensitive)); } else { - //qDebug() << "MainWindow::slotHamlibModeChanged: Mode not found in combobox" << _m << endl; + //qDebug() << "MainWindow::slotHamlibModeChanged: Mode not found in combobox" << _m << endl; } hamlibChangingMode = false; logEvent(Q_FUNC_INFO, "END", logSeverity); } -void MainWindow::slotRotatorShow() -{ - rotatorWidget->show(); -} void MainWindow::slotUpdateLocator(QString _loc) { @@ -7728,12 +7798,22 @@ void MainWindow::reconfigureDXMarathonUI(const bool _dxM) logEvent(Q_FUNC_INFO, "END", logSeverity); } - -void MainWindow::slotShowInfoLabel(const QString _m) +/* +void MainWindow::slotTipsFillInDXCC() { - infoLabel1->setText(_m); + slotFillEmptyDXCCInTheLog(); } +void MainWindow::slotsTipsFillQSO() +{ + fillQSOData(); +} + +void MainWindow::slotTipsFindQSL2QSO() +{ + slotSearchToolNeededQSLToSend(); +} +*/ void MainWindow::slotAwardsWidgetSetLog() { awardsWidget->setLog(currentLog); @@ -7752,7 +7832,7 @@ void MainWindow::setSeverity(const int _sev) void MainWindow::slotCaptureDebugLogs(const QString &_func, const QString &_msg, const int _level) { - //qDebug() << "MainWindow::slotCaptureDebugLogs: " << _func << "_/" << _msg << QString::number(_level) << endl; + //qDebug() << "MainWindow::slotCaptureDebugLogs: " << _func << "_/" << _msg << QString::number(_level) << endl; logEvent(_func, _msg, _level); } @@ -7766,4 +7846,6 @@ void MainWindow::logEvent(const QString &_func, const QString &_msg, const int _ QTextStream out(debugFile); out << (QDateTime::currentDateTime()).toString("yyyyMMdd-hhmmsszzz") << " - " << _func << " - " << _msg << endl; + + } diff --git a/mainwindow.h b/mainwindow.h index a885764c..528f4545 100644 --- a/mainwindow.h +++ b/mainwindow.h @@ -9,20 +9,20 @@ ***************************************************************************/ /***************************************************************************** - * This file is part of KLog. * + * This file is part of KLog. * * * - * KLog is free software: you can redistribute it and/or modify * + * 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, * + * 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 . * + * along with KLog. If not, see . * * * *****************************************************************************/ @@ -38,7 +38,6 @@ #include "setupdialog.h" //#include "helpaboutdialog.h" #include "aboutdialog.h" -//#include "dxccsummarydialog.h" #include "tipsdialog.h" #include "world.h" #include "filemanager.h" @@ -55,7 +54,6 @@ #include "mainwindowinputothers.h" #include "mainwindowinputeqsl.h" #include "mainwindowinputqsl.h" -#include "mainqsoentrywidget.h" #include "elogclublog.h" #include "utilities.h" #include "downloadcty.h" @@ -71,14 +69,11 @@ #include "statisticswidget.h" #include "updatesatsdata.h" #include "hamlibclass.h" -#include "pstrotatorsupport.h" -#include "lotwutilities.h" -#include "widgets/rotator.h" -#include "widgets/adiflotwexportwidget.h" -#include "widgets/showadifimportwidget.h" //#include "worldmapwidget.h" + + class QTimer; class QDateTime; @@ -130,7 +125,6 @@ enum CQ_WPX_RTTY = 5 }; */ -//enum ExportMode {ModeLotW, ModeADIF}; class MainWindow : public QMainWindow { @@ -149,10 +143,10 @@ private slots: void slotClearNoMorErrorShown(); void slotQueryErrorManagement(QString functionFailed, QString errorCodeS, int errorCodeN, QString queryFailed); void slotQRZReturnPressed(); - //void slotQRZSpacePressed(); - void slotQRZTextChanged(QString _qrz); - //void slotSRXTextChanged(); - //void slotSTXTextChanged(); + void slotQRZSpacePressed(); + void slotQRZTextChanged(); + void slotSRXTextChanged(); + void slotSTXTextChanged(); void slotUpdateLocator(QString _loc); void slotLocatorTextChanged(); //void slotMyLocatorTextChanged(); @@ -169,19 +163,16 @@ private slots: void slotToolLoTWMarkAllQueued(); void slotToolLoTWMarkAllYesThisLog(); void slotToolLoTWMarkAllYes(); - void slotLoTWDownloadedFileProcess(const QString &_fn); - //void slotModeComboBoxChanged(); - //void slotBandComboBoxChanged(); + void slotModeComboBoxChanged(); + void slotBandComboBoxChanged(); //void slotIOTAComboBoxChanged(); //void slotOperatingYearComboBoxChanged(); void slotOKButtonClicked(); - //void slotSpotItButtonClicked(); + void slotSpotItButtonClicked(); void slotClearButtonClicked(); - void slotBandChanged (const QString &_b); - void slotModeChanged (const QString &_m); void slotRefreshDXCCWidget(); - //void slotUpdateTime(); + void slotUpdateTime(); void slotLogWinShow(); void slotLogRefresh(); //void slotScoreWinShow(); @@ -192,21 +183,14 @@ private slots: void slotSetup(const int _page=0); - //void slotrstTXTextChanged(); - //void slotrstRXTextChanged(); + void slotrstTXTextChanged(); + void slotrstRXTextChanged(); void slotADIFExport(); - //void slotLoTWImport(); - //void slotLoTWExport(); - + void slotLoTWImport(); void slotLoTWExport(); - void slotLoTWDownload(); - void slotADIFExportSelection(const QString &_st, const QDate &_startDate, const QDate &_endDate, const ExportMode _eM); - //void slotADIFExportPeriod(const QString &_st, const QDate &_startDate, const QDate &_endDate, const ExportMode _eM); - void slotADIFExportAll(); void slotADIFImport(); void slotRQSLExport(); - void slotReceiveQSOListToShowFromFile(QStringList _qs); //void slotCabrilloExport(); //void slotQSLViaTextChanged(); void slotTimeOutInfoBars(); // Clears the infoLabels when the timeout emits the signal @@ -216,8 +200,7 @@ private slots: void slotUpdateCTYDAT(); void slotUpdateSATSDAT(); void slotShowStats(); - //void slotShowDXCCSummary(); - void slotWorldReload(const bool _b); + void slotWorldReload(); void slotExitFromSlotDialog(const int exitID); void exitQuestion(); @@ -237,13 +220,10 @@ private slots: //void slotHelpHelpAction(); void slotHelpAboutAction(); - void slotHelpCheckUpdatesAction(); + //void slotHelpCheckUpdatesAction(); void slotAboutQt(); void slotTipsAction(); - // MainQSOEntryWidget - void slotShowInfoLabel(const QString _m); - //void slotClearForNextQSO(); // To support AwardsWidget //void slotRecalculateAwardsButtonClicked(); void slotAwardsWidgetSetLog(); @@ -271,7 +251,7 @@ private slots: void slotElogClubLogDisable(const bool _b); //CLUBLOG - void slotShowSoftUpdateResults(const bool _b); // Software Update: Receives the signal to see if it is needed or not to update + //void slotShowSoftUpdateResults(const bool _b); // Software Update: Receives the signal to see if it is needed or not to update //SATELLITE //void slotSatBandTXComboBoxChanged(const QString _q); @@ -286,8 +266,6 @@ private slots: void slotHamlibModeChanged(const QString &_m); //void slotHamlibModeNotADIF(); - // PST Rotator - void slotRotatorShow(); // WORLD MAP //void slotWorldMapShow(); @@ -306,25 +284,18 @@ private slots: const QString &_dx_grid, const QString &_time_off, const QString &_report_sent, const QString &_report_rec, const QString &_tx_power, const QString &_comments, const QString &_name, const QString &_time_on, const QString &_de_call, const QString &_de_grid); - //void slotTipsFindQSL2QSO(); //void slotTipsFillInDXCC(); //void slotsTipsFillQSO(); void slotCaptureDebugLogs(const QString &_func, const QString &_msg, const int _level=7); private: - //void setWidgetsOrder(); + void setWidgetsOrder(); bool maybeSave(); - void setCleaning(const bool _c); void logEvent(const QString &_func, const QString &_msg, const int _level=7); void setSeverity(const int _sev); void updateBandComboBox(const QString &_band); - void fileExportLoTW(const QString &_st, const QDate &_startDate, const QDate &_endDate); - void fileExportADIF(const QString &_st, const QDate &_startDate, const QDate &_endDate); - bool callTQSL(const QString &_filename, const QString &_call); - void showNumberOfSavedQSO(const QString &_fn, const int _n); - //QString getCallToUseForLoTWExportUpload(); UpdateSatsData *updateSatsData; //UPDATE CTY.DAT DownLoadCTY *downloadcty; @@ -332,15 +303,11 @@ private: bool hamlibActive; bool hamlibChangingMode; bool hamlibModeNotADIFSupported; - - // PST Rotator - PSTRotatorSupport *pstRotator; - bool usePSTRotator; - RotatorWidget *rotatorWidget; // //WorldMapWidget *worldMapWidget; void createStatusBar(); - void createUI(); + void createUI(); + void createUICQWW(); void createUIDX(); void reconfigureDXMarathonUI(const bool _dxM); //void createDXClusterUI(); @@ -356,12 +323,12 @@ private: 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 + 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(); void actionsJustAfterAddingOneQSO(); - //void clearForNextQSO(); + void clearForNextQSO(); void clearUIDX(bool full=false); //full= false leaves some data to allow pileup or normal Dx in same band; full removes freqs and everything void setAwardDXCC(const int _qsoId, bool modifying); // Adds or modify the status of a DXCC entity @@ -408,10 +375,6 @@ private: int dxclusterServerPort; // CLUSTER - //LOTW - AdifLoTWExportWidget *adifLoTWExportWidget; - //LOTW - ShowAdifImportWidget *showAdifImportWidget; QWidget *mainWidget; //QWidget *dxClusterTabWidget;//, *searchTabWidget; @@ -426,10 +389,9 @@ private: //HelpAboutDialog *helpAboutDialog; AboutDialog *aboutDialog; TipsDialog *tipsDialog; - //DXCCSummaryDialog *dxccSummaryDialog; - //QPushButton *addButton; + QPushButton *addButton; //QLabel *distShortLabelN; //QLabel *distLongLabelN; StatisticsWidget *statsWidget; @@ -454,10 +416,10 @@ private: QGroupBox *gridGroupBox, *qrzgroupBox;//, *searchgroupBox; QFrame *dxUpLeftInputFrame;//, *dxUpRightOutputFrame; - QLineEdit *nameLineEdit, *qthLineEdit, *locatorLineEdit; - //QComboBox *bandComboBox, *modeComboBox; - //QDateEdit *dateEdit; - //QTimeEdit *timeEdit; + QLineEdit *qrzLineEdit, *nameLineEdit, *qthLineEdit, *locatorLineEdit; + QComboBox *bandComboBox, *modeComboBox; + QDateEdit *dateEdit; + QTimeEdit *timeEdit; //QStatusBar *statusBar, *qsoStatusBar; QString statusBarMessage; @@ -494,7 +456,7 @@ private: QAction *ADIFExport; QAction *ADIFExportAll; QAction *ADIFImport; - //QAction *LoTWExport; + QAction *LoTWExport; QAction *LoTWImport; QAction *ReqQSLExport; QAction *CabrilloExport; @@ -508,14 +470,10 @@ private: QAction *lotwMarkSentQueuedAct; QAction *lotwMarkSentYesThisLogAct; QAction *lotwMarkSentYesAct; - QAction *lotwCallTQSL; - QAction *lotwUpdateFromLoTWAct; QAction *downloadCTYAct; QAction *downloadSATSAct; QAction *showStatsAct; - QAction *showRotatorAct; - //QAction *showDXCCSummaryAct; QAction *loggWinAct; /* @@ -544,9 +502,9 @@ private: QLineEdit *rstTXLineEdit; QLineEdit *rstRXLineEdit; - //QLineEdit *STXLineEdit; - //QLineEdit *SRXLineEdit; - //QPushButton *OKButton, *spotItButton, *clearButton; + QLineEdit *STXLineEdit; + QLineEdit *SRXLineEdit; + QPushButton *OKButton, *spotItButton, *clearButton; QStringList bands; QStringList modes; QStringList entitiesList, propModeList; @@ -570,8 +528,6 @@ private: QDoubleSpinBox *rxPowerSpinBox, *txFreqSpinBox, *rxFreqSpinBox; //*myPowerSpinBox, QLCDNumber *freqQLCDNumber; - QString lotwTQSLpath; - //eQSL //QComboBox *eqslSentComboBox, *eqslRecComboBox, *lotwSentComboBox, *lotwRecComboBox, *clublogComboBox; //QDateEdit *eqslSentQDateEdit, *eqslRecQDateEdit, *lotwSentQDateEdit, *lotwRecQDateEdit, *clublogQDateEdit; @@ -606,7 +562,6 @@ private: MainWindowInputOthers *othersTabWidget; MainWindowInputEQSL *eQSLTabWidget; MainWindowInputQSL *QSLTabWidget; - MainQSOEntryWidget *mainQSOEntryWidget; AwardsWidget *awardsWidget; SearchWidget *searchWidget; @@ -638,20 +593,19 @@ private: bool itIsANewversion; - //QString currentQrz; - //QString previousQrz; + QString currentQrz; + QString previousQrz; QString stx; QString srx; QPalette palRed, palBlack; // To paint Text in red or black(normal) - bool alwaysADIF, needToSave, useDefaultLogFileName, upAndRunning, qrzSmallModDontCalculate, imperialSystem, sendQSLWhenRec, manageDxMarathon, keepMyData, completeWithPrevious, completedWithPreviousQTH, completedWithPreviousLocator, completedWithPreviousName, completedWithPreviousIOTA, completedWithPreviousQSLVia; - // bool realTime, UTCTime; + bool realTime, UTCTime, alwaysADIF, needToSave, useDefaultLogFileName, upAndRunning, qrzSmallModDontCalculate, imperialSystem, sendQSLWhenRec, manageDxMarathon, keepMyData, completeWithPrevious, completedWithPreviousQTH, completedWithPreviousLocator, completedWithPreviousName, completedWithPreviousIOTA, completedWithPreviousQSLVia; 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 // 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 + bool qrzAutoChanging; //To stop executing the slotQRZTextChanged just because KLog uppercase a letter QString mainQRZ, stationQRZ, operatorQRZ, dxLocator; QString lastOperatorQRZ, lastStationQRZ, lastMyLocator; double myPower, lastPower; @@ -692,13 +646,13 @@ private: DataBase *db; + QTextDocument *doc; SoftwareUpdate *softUpdate; bool callingUpdate; bool UDPServerStart; - // LOTWUTILITIES - LoTWUtilities *lotwUtilities; + //LOGVIEW //QString bandOld, modeOld; //LOGVIEW diff --git a/mainwindowinputcomment.cpp b/mainwindowinputcomment.cpp index ab8b1da7..1c39349b 100644 --- a/mainwindowinputcomment.cpp +++ b/mainwindowinputcomment.cpp @@ -20,7 +20,7 @@ * 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 . * + * along with KLog. If not, see . * * * *****************************************************************************/ @@ -30,11 +30,11 @@ MainWindowInputComment::MainWindowInputComment(QWidget *parent) : QWidget(parent) { - //qDebug() << "MainWindowInputComment::MainWindowInputComment" << endl; + //qDebug() << "MainWindowInputComment::MainWindowInputComment" << endl; commentLineEdit = new QLineEdit(); comment.clear(); createUI(); - //qDebug() << "MainWindowInputComment::MainWindowInputComment - END" << endl; + //qDebug() << "MainWindowInputComment::MainWindowInputComment - END" << endl; } @@ -51,6 +51,9 @@ void MainWindowInputComment::createUI() setLayout(tabLayout); } + + + void MainWindowInputComment::setData(const QString &_comment) { comment = _comment; @@ -67,3 +70,5 @@ void MainWindowInputComment::clear() comment.clear(); commentLineEdit->clear(); } + + diff --git a/mainwindowinputcomment.h b/mainwindowinputcomment.h index d7bc25d2..aa725446 100644 --- a/mainwindowinputcomment.h +++ b/mainwindowinputcomment.h @@ -22,7 +22,7 @@ * 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 . * + * along with KLog. If not, see . * * * *****************************************************************************/ // @@ -41,6 +41,7 @@ public: void createUI(); void setData(const QString &_comment); QString getComment(); + void clear(); private: diff --git a/mainwindowinputeqsl.cpp b/mainwindowinputeqsl.cpp index 64fc43a2..b0e578dd 100644 --- a/mainwindowinputeqsl.cpp +++ b/mainwindowinputeqsl.cpp @@ -3,10 +3,18 @@ MainWindowInputEQSL::MainWindowInputEQSL(DataProxy_SQLite *dp, QWidget *parent) : QWidget(parent) { - //qDebug() << "MainWindowInputEQSL::MainWindowInputEQSL" << endl; + //qDebug() << "MainWindowInputEQSL::MainWindowInputEQSL" << endl; util = new Utilities; + qslSentStatusList.clear(); + qslRcvdStatusList.clear(); + clubLogStatusList.clear(); + dataProxy = dp; + qslSentStatusList = dataProxy->getQSLSentList(); + qslRcvdStatusList = dataProxy->getQSLRcvdList(); + clubLogStatusList = dataProxy->getClubLogStatusList(); + eqslSentComboBox = new QComboBox; eqslRecComboBox = new QComboBox; lotwSentComboBox = new QComboBox; @@ -19,27 +27,20 @@ MainWindowInputEQSL::MainWindowInputEQSL(DataProxy_SQLite *dp, QWidget *parent) lotwRecQDateEdit = new QDateEdit; clublogQDateEdit = new QDateEdit; - createUI(); - setDefaultData(); - clear(); - //qDebug() << "MainWindowInputEQSL::MainWindowInputEQSL - END" << endl; -} - -void MainWindowInputEQSL::createUI() -{ - qslSentStatusList.clear(); - qslRcvdStatusList.clear(); - clubLogStatusList.clear(); - qslSentStatusList = dataProxy->getQSLSentList(); - qslRcvdStatusList = dataProxy->getQSLRcvdList(); - clubLogStatusList = dataProxy->getClubLogStatusList(); - eqslSentQDateEdit->setDisplayFormat("dd/MM/yyyy"); eqslRecQDateEdit->setDisplayFormat("dd/MM/yyyy"); lotwSentQDateEdit->setDisplayFormat("dd/MM/yyyy"); lotwRecQDateEdit->setDisplayFormat("dd/MM/yyyy"); clublogQDateEdit->setDisplayFormat("dd/MM/yyyy"); + createUI(); + setDefaultData(); + clear(); + //qDebug() << "MainWindowInputEQSL::MainWindowInputEQSL - END" << endl; +} + +void MainWindowInputEQSL::createUI() +{ clublogQDateEdit->setToolTip(tr("Date of the ClubLog upload.")); eqslSentQDateEdit->setToolTip(tr("Date of the eQSL sending.")); eqslRecQDateEdit->setToolTip(tr("Date of the eQSL reception.")); @@ -69,7 +70,27 @@ void MainWindowInputEQSL::createUI() QLabel *lotWRecLabelN = new QLabel(tr("LoTW Rec")); lotWRecLabelN->setAlignment(Qt::AlignVCenter| Qt::AlignRight); +/* + QHBoxLayout *eqslSentLayout = new QHBoxLayout; + eqslSentLayout->addWidget(eqslSentComboBox); + eqslSentLayout->addWidget(eqslSentQDateEdit); + QHBoxLayout *eqslRecLayout = new QHBoxLayout; + eqslRecLayout->addWidget(eqslRecComboBox); + eqslRecLayout->addWidget(eqslRecQDateEdit); + QHBoxLayout *lotwSentLayout = new QHBoxLayout; + lotwSentLayout->addWidget(lotwSentComboBox); + lotwSentLayout->addWidget(lotwSentQDateEdit); + QHBoxLayout *lotwRecLayout = new QHBoxLayout; + lotwRecLayout->addWidget(lotwRecComboBox); + lotwRecLayout->addWidget(lotwRecQDateEdit); + QFormLayout *eqslInputTabWidgetLayout = new QFormLayout; + + eqslInputTabWidgetLayout->addRow(eQSLSentLabelN, eqslSentLayout); + eqslInputTabWidgetLayout->addRow(eQSLRecLabelN, eqslRecLayout); + eqslInputTabWidgetLayout->addRow(lotWSentLabelN, lotwSentLayout); + eqslInputTabWidgetLayout->addRow(lotWRecLabelN, lotwRecLayout); +*/ QGridLayout *eqslInputTabWidgetLayout = new QGridLayout; eqslInputTabWidgetLayout->addWidget(clublogLabelN, 0, 0); @@ -107,6 +128,7 @@ void MainWindowInputEQSL::createUI() void MainWindowInputEQSL::setDefaultData() { + //qsAux << tr("Y-Yes") << tr("N-No") << tr("R-Requested") << tr("I-Ignore") << tr("V-Validated"); //eqslRecComboBox->addItems(qsAux); @@ -126,25 +148,14 @@ void MainWindowInputEQSL::setDefaultData() //qsAux << tr("Y-Uploaded") << tr("N-Do not upload") << tr("M-Modified"); clublogComboBox->addItems(clubLogStatusList); - queueSentByDefault = true; - } void MainWindowInputEQSL::clear() { - //qDebug() << "MainWindowInputEQSL::clear" << endl; + //qDebug() << "MainWindowInputEQSL::clear" << endl; clublogComboBox->setCurrentIndex(1); // Do not upload - if (queueSentByDefault) - { - eqslSentComboBox->setCurrentIndex( eqslSentComboBox->findText("Q", Qt::MatchStartsWith)); - lotwSentComboBox->setCurrentIndex( lotwSentComboBox->findText("Q", Qt::MatchStartsWith)); - } - else - { - eqslSentComboBox->setCurrentIndex(1); - lotwSentComboBox->setCurrentIndex(1); - } - - eqslRecComboBox->setCurrentIndex(1); + eqslSentComboBox->setCurrentIndex(1); + eqslRecComboBox->setCurrentIndex(1); + lotwSentComboBox->setCurrentIndex(1); lotwRecComboBox->setCurrentIndex(1); //dateEdit->setDate(QDate::fromString(aux1, "yyyy/MM/dd")); @@ -168,9 +179,9 @@ void MainWindowInputEQSL::clear() QString MainWindowInputEQSL::getClubLogStatus() { QString _pm = QString(); - //qDebug() << "MainWindowInputEQSL::getClubLogStatus:" << clublogComboBox->currentText() << endl; + //qDebug() << "MainWindowInputEQSL::getClubLogStatus:" << clublogComboBox->currentText() << endl; _pm = (((clublogComboBox->currentText()).split('-')).at(0)).simplified(); - //qDebug() << "MainWindowInputEQSL::getClubLogStatus: " << _pm << endl; + //qDebug() << "MainWindowInputEQSL::getClubLogStatus: " << _pm << endl; //if (_pm == "Not") //{ // return QString(); @@ -181,9 +192,9 @@ QString MainWindowInputEQSL::getClubLogStatus() QString MainWindowInputEQSL::getEQSLRecStatus() { QString _pm = QString(); - //qDebug() << "MainWindowInputEQSL::getEQSLRecStatus:" << eqslRecComboBox->currentText() << endl; + //qDebug() << "MainWindowInputEQSL::getEQSLRecStatus:" << eqslRecComboBox->currentText() << endl; _pm = (((eqslRecComboBox->currentText()).split('-')).at(0)).simplified(); - //qDebug() << "MainWindowInputEQSL::getEQSLRecStatus: " << _pm << endl; + //qDebug() << "MainWindowInputEQSL::getEQSLRecStatus: " << _pm << endl; //if (_pm == "Not") //{ // return QString(); @@ -195,9 +206,9 @@ QString MainWindowInputEQSL::getEQSLRecStatus() QString MainWindowInputEQSL::getEQSLSenStatus() { QString _pm = QString(); - //qDebug() << "MainWindowInputEQSL::getEQSLSenStatus:" << eqslSentComboBox->currentText() << endl; + //qDebug() << "MainWindowInputEQSL::getEQSLSenStatus:" << eqslSentComboBox->currentText() << endl; _pm = (((eqslSentComboBox->currentText()).split('-')).at(0)).simplified(); - //qDebug() << "MainWindowInputEQSL::getEQSLSenStatus: " << _pm << endl; + //qDebug() << "MainWindowInputEQSL::getEQSLSenStatus: " << _pm << endl; //if (_pm == "Not") //{ // return QString(); @@ -208,9 +219,9 @@ QString MainWindowInputEQSL::getEQSLSenStatus() QString MainWindowInputEQSL::getLOTWRecStatus() { QString _pm = QString(); - //qDebug() << "MainWindowInputEQSL::getLOTWRecStatus:" << lotwRecComboBox->currentText() << endl; + //qDebug() << "MainWindowInputEQSL::getLOTWRecStatus:" << lotwRecComboBox->currentText() << endl; _pm = (((lotwRecComboBox->currentText()).split('-')).at(0)).simplified(); - //qDebug() << "MainWindowInputEQSL::getLOTWRecStatus: " << _pm << endl; + //qDebug() << "MainWindowInputEQSL::getLOTWRecStatus: " << _pm << endl; //if (_pm == "Not") //{ // return QString(); @@ -221,9 +232,9 @@ QString MainWindowInputEQSL::getLOTWRecStatus() QString MainWindowInputEQSL::getLOTWSenStatus() { QString _pm = QString(); - //qDebug() << "MainWindowInputEQSL::getLOTWSenStatus:" << lotwSentComboBox->currentText() << endl; + //qDebug() << "MainWindowInputEQSL::getLOTWSenStatus:" << lotwSentComboBox->currentText() << endl; _pm = (((lotwSentComboBox->currentText()).split('-')).at(0)).simplified(); - //qDebug() << "MainWindowInputEQSL::getLOTWSenStatus: " << _pm << endl; + //qDebug() << "MainWindowInputEQSL::getLOTWSenStatus: " << _pm << endl; //if (_pm == "Not") //{ // return QString(); @@ -234,7 +245,7 @@ QString MainWindowInputEQSL::getLOTWSenStatus() void MainWindowInputEQSL::setClubLogStatus(const QString _qs) { - //qDebug() << "MainWindowInputEQSL::setClubLogStatus: " << _qs << endl; + //qDebug() << "MainWindowInputEQSL::setClubLogStatus: " << _qs << endl; if(( clublogComboBox->findText(_qs+" -", Qt::MatchStartsWith))>=0) { clublogComboBox->setCurrentIndex( clublogComboBox->findText(_qs+" -", Qt::MatchStartsWith)); @@ -248,7 +259,7 @@ void MainWindowInputEQSL::setClubLogStatus(const QString _qs) void MainWindowInputEQSL::setEQSLRecStatus(const QString _qs) { - //qDebug() << "MainWindowInputEQSL::setEQSLRecStatus: " << _qs << endl; + //qDebug() << "MainWindowInputEQSL::setEQSLRecStatus: " << _qs << endl; if(( eqslRecComboBox->findText(_qs+" -", Qt::MatchStartsWith))>=0) { eqslRecComboBox->setCurrentIndex( eqslRecComboBox->findText(_qs+" -", Qt::MatchStartsWith)); @@ -261,7 +272,7 @@ void MainWindowInputEQSL::setEQSLRecStatus(const QString _qs) void MainWindowInputEQSL::setEQSLSenStatus(const QString _qs) { - //qDebug() << "MainWindowInputEQSL::setEQSLSenStatus: #" << _qs+" -" << endl; + //qDebug() << "MainWindowInputEQSL::setEQSLSenStatus: #" << _qs+" -" << endl; if(( eqslSentComboBox->findText(_qs, Qt::MatchStartsWith))>=0) { @@ -269,14 +280,14 @@ void MainWindowInputEQSL::setEQSLSenStatus(const QString _qs) } else { - //qDebug() << "MainWindowInputEQSL::setEQSLSenStatus: NOT found" << endl; + //qDebug() << "MainWindowInputEQSL::setEQSLSenStatus: NOT found" << endl; eqslSentComboBox->setCurrentIndex(1); } } void MainWindowInputEQSL::setLOTWRecStatus(const QString _qs) { - //qDebug() << "MainWindowInputEQSL::setLOTWRecStatus: " << _qs << endl; + //qDebug() << "MainWindowInputEQSL::setLOTWRecStatus: " << _qs << endl; if(( lotwRecComboBox->findText(_qs+" -", Qt::MatchStartsWith))>=0) { lotwRecComboBox->setCurrentIndex( lotwRecComboBox->findText(_qs+" -", Qt::MatchStartsWith)); @@ -290,7 +301,7 @@ void MainWindowInputEQSL::setLOTWRecStatus(const QString _qs) void MainWindowInputEQSL::setLOTWSenStatus(const QString _qs) { - //qDebug() << "MainWindowInputEQSL::setLOTWSenStatus: " << _qs << endl; + //qDebug() << "MainWindowInputEQSL::setLOTWSenStatus: " << _qs << endl; if(( lotwSentComboBox->findText(_qs+" -", Qt::MatchStartsWith))>=0) { lotwSentComboBox->setCurrentIndex( lotwSentComboBox->findText(_qs+" -", Qt::MatchStartsWith)); @@ -303,7 +314,7 @@ void MainWindowInputEQSL::setLOTWSenStatus(const QString _qs) void MainWindowInputEQSL::slotLotwRecvComboBoxChanged(){ - //qDebug() << "MainWindowInputEQSL::slotLotwRecvComboBoxChanged" << endl; + //qDebug() << "MainWindowInputEQSL::slotLotwRecvComboBoxChanged" << endl; //QSLRDATE (only valid if QSL_RCVD is Y-0, I-3, or V-4) //Y-Yes-0 @@ -312,8 +323,6 @@ void MainWindowInputEQSL::slotLotwRecvComboBoxChanged(){ //I-Ignore-3 //V-Verified-4 - - int i = lotwRecComboBox->currentIndex(); switch (i) @@ -324,8 +333,6 @@ void MainWindowInputEQSL::slotLotwRecvComboBoxChanged(){ break; case 2: - lotwRecQDateEdit->setEnabled(true); - lotwRecQDateEdit->setDate((QDateTime::currentDateTime()).date()); break; case 3: lotwRecQDateEdit->setEnabled(true); @@ -336,13 +343,15 @@ void MainWindowInputEQSL::slotLotwRecvComboBoxChanged(){ default: //NO lotwRecQDateEdit->setEnabled(false); break; + + } } void MainWindowInputEQSL::slotLotwSentComboBoxChanged(){ - //qDebug() << "MainWindowInputEQSL::slotLotwSentComboBoxChanged" << endl; + //qDebug() << "MainWindowInputEQSL::slotLotwSentComboBoxChanged" << endl; int i = lotwSentComboBox->currentIndex(); //{Y, N, R, I, V} @@ -357,18 +366,15 @@ void MainWindowInputEQSL::slotLotwSentComboBoxChanged(){ case 0: lotwSentQDateEdit->setEnabled(true); lotwSentQDateEdit->setDate((QDateTime::currentDateTime()).date()); + break; case 2: - lotwSentQDateEdit->setEnabled(true); - lotwSentQDateEdit->setDate((QDateTime::currentDateTime()).date()); break; case 3: lotwSentQDateEdit->setEnabled(true); - lotwSentQDateEdit->setDate((QDateTime::currentDateTime()).date()); break; case 4: lotwSentQDateEdit->setEnabled(true); - lotwSentQDateEdit->setDate((QDateTime::currentDateTime()).date()); break; default: //NO @@ -379,7 +385,7 @@ void MainWindowInputEQSL::slotLotwSentComboBoxChanged(){ void MainWindowInputEQSL::sloteQSLRecvComboBoxChanged(){ - //qDebug() << "MainWindowInputEQSL::sloteQSLRecvComboBoxChanged" << endl; + //qDebug() << "MainWindowInputEQSL::sloteQSLRecvComboBoxChanged" << endl; //QSLRDATE (only valid if QSL_RCVD is Y-0, I-3, or V-4) //Y-Yes-0 @@ -395,18 +401,15 @@ void MainWindowInputEQSL::sloteQSLRecvComboBoxChanged(){ case 0: eqslRecQDateEdit->setEnabled(true); eqslRecQDateEdit->setDate((QDateTime::currentDateTime()).date()); + break; case 2: - eqslRecQDateEdit->setEnabled(true); - eqslRecQDateEdit->setDate((QDateTime::currentDateTime()).date()); break; case 3: eqslRecQDateEdit->setEnabled(true); - eqslRecQDateEdit->setDate((QDateTime::currentDateTime()).date()); break; case 4: eqslRecQDateEdit->setEnabled(true); - eqslRecQDateEdit->setDate((QDateTime::currentDateTime()).date()); break; default: //NO eqslRecQDateEdit->setEnabled(false); @@ -419,7 +422,7 @@ void MainWindowInputEQSL::sloteQSLRecvComboBoxChanged(){ void MainWindowInputEQSL::sloteQSLSentComboBoxChanged(){ - //qDebug() << "MainWindowInputEQSL::sloteQSLSentComboBoxChanged" << endl; + //qDebug() << "MainWindowInputEQSL::sloteQSLSentComboBoxChanged" << endl; int i = eqslSentComboBox->currentIndex(); //{Y, N, R, I, V} @@ -434,18 +437,15 @@ void MainWindowInputEQSL::sloteQSLSentComboBoxChanged(){ case 0: eqslSentQDateEdit->setEnabled(true); eqslSentQDateEdit->setDate((QDateTime::currentDateTime()).date()); + break; case 2: - eqslSentQDateEdit->setEnabled(true); - eqslSentQDateEdit->setDate((QDateTime::currentDateTime()).date()); break; case 3: eqslSentQDateEdit->setEnabled(true); - eqslSentQDateEdit->setDate((QDateTime::currentDateTime()).date()); break; case 4: eqslSentQDateEdit->setEnabled(true); - eqslSentQDateEdit->setDate((QDateTime::currentDateTime()).date()); break; default: //NO @@ -564,7 +564,3 @@ QDate MainWindowInputEQSL::getLOTWSenDate() return lotwSentQDateEdit->date(); } -void MainWindowInputEQSL::setQueueSentByDefault(const bool _b) -{ - queueSentByDefault = _b; -} diff --git a/mainwindowinputeqsl.h b/mainwindowinputeqsl.h index e6a69193..ea921ce9 100644 --- a/mainwindowinputeqsl.h +++ b/mainwindowinputeqsl.h @@ -22,7 +22,7 @@ * 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 . * + * along with KLog. If not, see . * * * *****************************************************************************/ // @@ -70,8 +70,6 @@ public: void setLOTWRecDate(const QDate _qs); void setLOTWSenDate(const QDate _qs); - void setQueueSentByDefault(const bool _b); - signals: @@ -94,7 +92,6 @@ private: Utilities *util; QStringList qslSentStatusList, qslRcvdStatusList, clubLogStatusList; - bool queueSentByDefault; }; diff --git a/mainwindowinputothers.cpp b/mainwindowinputothers.cpp index ec46a505..26c251a3 100644 --- a/mainwindowinputothers.cpp +++ b/mainwindowinputothers.cpp @@ -20,7 +20,7 @@ * 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 . * + * along with KLog. If not, see . * * * *****************************************************************************/ @@ -30,7 +30,7 @@ MainWindowInputOthers::MainWindowInputOthers(DataProxy_SQLite *dp, QWidget *parent) : QWidget(parent) { - //qDebug() << "MainWindowInputOthers::MainWindowInputOthers" << endl; + //qDebug() << "MainWindowInputOthers::MainWindowInputOthers" << endl; entitiesList.clear(); propModeList.clear(); @@ -51,14 +51,14 @@ MainWindowInputOthers::MainWindowInputOthers(DataProxy_SQLite *dp, QWidget *pare createUI(); - //qDebug() << "MainWindowInputOthers::MainWindowInputOthers - END" << endl; + //qDebug() << "MainWindowInputOthers::MainWindowInputOthers - END" << endl; } MainWindowInputOthers::~MainWindowInputOthers(){} void MainWindowInputOthers::createUI() { - //qDebug() << "MainWindowInputOthers::createUI" << endl; + //qDebug() << "MainWindowInputOthers::createUI" << endl; palRed.setColor(QPalette::Text, Qt::red); palBlack.setColor(QPalette::Text, Qt::black); @@ -133,7 +133,7 @@ void MainWindowInputOthers::createUI() void MainWindowInputOthers::clear() { - //qDebug() << "MainWindowInputOthers::clear" << endl; + //qDebug() << "MainWindowInputOthers::clear" << endl; entityNameComboBox->setCurrentIndex(0); propModeComboBox->setCurrentIndex(0); iotaContinentComboBox->setCurrentIndex(0); @@ -142,7 +142,7 @@ void MainWindowInputOthers::clear() void MainWindowInputOthers::setEntitiesList(const QStringList _qs) { - //qDebug() << "MainWindowInputOthers::setEntitiesList: " << QString::number(_qs.length()) << endl; + //qDebug() << "MainWindowInputOthers::setEntitiesList: " << QString::number(_qs.length()) << endl; entitiesList.clear(); entitiesList << _qs; if (entitiesList.size()>1) @@ -155,7 +155,7 @@ void MainWindowInputOthers::setEntitiesList(const QStringList _qs) void MainWindowInputOthers::setEntity(const int _ent) {// Select the appropriate entity in the ComboBox - //qDebug() << "MainWindowInputOthers::setEntity: " << QString::number(_ent) << endl; + //qDebug() << "MainWindowInputOthers::setEntity: " << QString::number(_ent) << endl; if (_ent<=0) { entityNameComboBox->setCurrentIndex(0); @@ -174,11 +174,11 @@ void MainWindowInputOthers::setEntity(const int _ent) pref = dataProxy->getEntityNameFromId(_ent); //int indexC = entityNameComboBox->findText(pref, Qt::MatchContains); - //qDebug() << "MainWindow::selectCorrectEntity: aux to the findText: " << aux << endl; + //qDebug() << "MainWindow::selectCorrectEntity: aux to the findText: " << aux << endl; //int indexC = entityNameComboBox->findText("(" + aux + ")", Qt::MatchContains); int indexC = entityNameComboBox->findText("(" + aux + ")", Qt::MatchEndsWith); - //qDebug() << "MainWindow::selectCorrectEntity: " << pref << "/" << QString::number(indexC) << endl; + //qDebug() << "MainWindow::selectCorrectEntity: " << pref << "/" << QString::number(indexC) << endl; entityNameComboBox->setCurrentIndex(indexC); setIOTAContinentFromEntity(_ent); @@ -186,14 +186,14 @@ void MainWindowInputOthers::setEntity(const int _ent) QString MainWindowInputOthers::getEntityPrefix() { - //qDebug() << "MainWindowInputOthers::getEntityPrefix: " << (entityNameComboBox->currentText()).split('-').at(0) << endl; + //qDebug() << "MainWindowInputOthers::getEntityName" << endl; return (entityNameComboBox->currentText()).split('-').at(0); //return world->getQRZARRLId(pref); } void MainWindowInputOthers::setPropMode(const QString _qs) { - //qDebug() << "MainWindowInputOthers::setPropMode: " << _qs << endl; + //qDebug() << "MainWindowInputOthers::setPropMode: " << _qs << endl; if(( propModeComboBox->findText(_qs+" -", Qt::MatchContains))>0) { propModeComboBox->setCurrentIndex( propModeComboBox->findText(_qs+" -", Qt::MatchContains)); @@ -207,12 +207,10 @@ void MainWindowInputOthers::setPropMode(const QString _qs) QString MainWindowInputOthers::getPropModeFromComboBox() { QString _pm = QString(); - //qDebug() << "MainWindow::getPropModeFromComboBox:" << propModeComboBox->currentText() << endl; + //qDebug() << "MainWindow::getPropModeFromComboBox:" << propModeComboBox->currentText() << endl; _pm = (((propModeComboBox->currentText()).split('-')).at(1)).simplified(); - QString _n = (((propModeComboBox->currentText()).split('-')).at(0)).simplified(); - //qDebug() << "MainWindow::getPropModeFromComboBox: " << _pm << endl; - - if (_n == "00") + //qDebug() << "MainWindow::getPropModeFromComboBox: " << _pm << endl; + if (_pm == "Not") { return QString(); } @@ -243,7 +241,7 @@ void MainWindowInputOthers::setIOTA(const QString _qs, const bool _black) {//TODO: Seems to be better to send the color info like in: (it is much more flexible as I can send any color!) //void MainWindowInputQSL::setQSLVia(const QString _qs, QColor qColor) - //qDebug() << "MainWindow::setIOTA: " << _qs << endl; + //qDebug() << "MainWindow::setIOTA: " << _qs << endl; if ( (checkIfValidIOTA(_qs)).length() !=6 ) { return; @@ -251,7 +249,7 @@ void MainWindowInputOthers::setIOTA(const QString _qs, const bool _black) else { QStringList values = _qs.split("-", QString::SkipEmptyParts); - //qDebug() << "MainWindowInputOthers::setIOTA: IOTA " << _qs << endl; + //qDebug() << "MainWindowInputOthers::setIOTA: IOTA " << _qs << endl; iotaContinentComboBox->setCurrentIndex( iotaContinentComboBox->findText(values.at(0) ) ); iotaNumberLineEdit->setText(values.at(1)); } @@ -273,22 +271,22 @@ QString MainWindowInputOthers::getIOTA() void MainWindowInputOthers::setIOTAContinentFromEntity(const int _n) { - //qDebug() << "MainWindow::setIOTAContinentFromEntity:" << QString::number(_n) << endl; + //qDebug() << "MainWindow::setIOTAContinentFromEntity:" << QString::number(_n) << endl; setIOTAContinent(dataProxy->getContinentShortNameFromEntity(_n)) ; } void MainWindowInputOthers::setIOTAContinent(const QString _qs) { - //qDebug() << "MainWindowInputOthers::setIOTAContinent: " << _qs << endl; - //qDebug() << "MainWindowInputOthers::setIOTAContinent: setting to index(a): " << QString::number(iotaContinentComboBox->findText(_qs, Qt::MatchContains)) << endl; + //qDebug() << "MainWindowInputOthers::setIOTAContinent: " << _qs << endl; + //qDebug() << "MainWindowInputOthers::setIOTAContinent: setting to index(a): " << QString::number(iotaContinentComboBox->findText(_qs, Qt::MatchContains)) << endl; if(( iotaContinentComboBox->findText(_qs, Qt::MatchContains))>0) { - //qDebug() << "MainWindowInputOthers::setIOTAContinent: setting to index: " << QString::number(iotaContinentComboBox->findText(_qs, Qt::MatchContains)) << endl; + //qDebug() << "MainWindowInputOthers::setIOTAContinent: setting to index: " << QString::number(iotaContinentComboBox->findText(_qs, Qt::MatchContains)) << endl; iotaContinentComboBox->setCurrentIndex( iotaContinentComboBox->findText(_qs, Qt::MatchContains)); } else { - //qDebug() << "MainWindowInputOthers::setIOTAContinent: setting to index: 00" << endl; + //qDebug() << "MainWindowInputOthers::setIOTAContinent: setting to index: 00" << endl; iotaContinentComboBox->setCurrentIndex(0); } } @@ -308,7 +306,7 @@ QString MainWindowInputOthers::checkIfValidIOTA(const QString _tiota) Returns a valid format IOTA if possible and "" in other cases. ************************************/ - //qDebug() << "MainWindowInputOthers::checkIfValidIOTA: " << _tiota << endl; + //qDebug() << "MainWindowInputOthers::checkIfValidIOTA: " << _tiota << endl; //bool _valid = false; QString _continent; QString _number; @@ -324,8 +322,8 @@ Returns a valid format IOTA if possible and "" in other cases. return ""; } - //qDebug() << "MainWindowInputOthers::checkIfValidIOTA (cont) " << _continent << endl; - //qDebug() << "MainWindowInputOthers::checkIfValidIOTA (numb): " << _number << endl; + //qDebug() << "MainWindowInputOthers::checkIfValidIOTA (cont) " << _continent << endl; + //qDebug() << "MainWindowInputOthers::checkIfValidIOTA (numb): " << _number << endl; // Check if continent is valid diff --git a/mainwindowinputothers.h b/mainwindowinputothers.h index b70b3361..f1713cd0 100644 --- a/mainwindowinputothers.h +++ b/mainwindowinputothers.h @@ -22,7 +22,7 @@ * 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 . * + * along with KLog. If not, see . * * * *****************************************************************************/ // diff --git a/mainwindowinputqsl.cpp b/mainwindowinputqsl.cpp index 49e346b2..dc8df0e4 100644 --- a/mainwindowinputqsl.cpp +++ b/mainwindowinputqsl.cpp @@ -20,7 +20,7 @@ * 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 . * + * along with KLog. If not, see . * * * *****************************************************************************/ // @@ -32,7 +32,7 @@ MainWindowInputQSL::MainWindowInputQSL(DataProxy_SQLite *dp, QWidget *parent) : QWidget(parent) { - //qDebug() << "MainWindowInputQSL::MainWindowInputQSL" << endl; + //qDebug() << "MainWindowInputQSL::MainWindowInputQSL" << endl; util = new Utilities; qslSentComboBox = new QComboBox; qslRecComboBox = new QComboBox; @@ -50,7 +50,7 @@ MainWindowInputQSL::MainWindowInputQSL(DataProxy_SQLite *dp, QWidget *parent) : createUI(); setDefaultData(); clear(); - //qDebug() << "MainWindowInputQSL::MainWindowInputQSL - END" << endl; + //qDebug() << "MainWindowInputQSL::MainWindowInputQSL - END" << endl; } @@ -170,7 +170,7 @@ QString MainWindowInputQSL::getSentVia() { QString _pm = QString(); _pm = (((qslSentViaComboBox->currentText()).split('-')).at(0)).simplified(); - //qDebug() << "MainWindow::getSentVia: " << _pm << endl; + //qDebug() << "MainWindow::getSentVia: " << _pm << endl; return _pm; } @@ -178,7 +178,7 @@ QString MainWindowInputQSL::getRecVia() { QString _pm = QString(); _pm = (((qslRecViaComboBox->currentText()).split('-')).at(0)).simplified(); - //qDebug() << "MainWindowInputQSL::getRecVia: " << _pm << endl; + //qDebug() << "MainWindowInputQSL::getRecVia: " << _pm << endl; return _pm; } @@ -231,7 +231,7 @@ void MainWindowInputQSL::setQSLRecVia(const QString _qs) void MainWindowInputQSL::setQSLSenVia(const QString _qs) { - //qDebug() << "MainWindowInputQSL::setQSLSenVia: " << _qs << endl; + //qDebug() << "MainWindowInputQSL::setQSLSenVia: " << _qs << endl; if(( qslSentViaComboBox->findText(_qs+" -", Qt::MatchStartsWith))>=0) { qslSentViaComboBox->setCurrentIndex( qslSentViaComboBox->findText(_qs+" -", Qt::MatchStartsWith)); @@ -309,7 +309,7 @@ void MainWindowInputQSL::setQSLSenDate(const QDate _qs) void MainWindowInputQSL::slotQSLViaTextChanged() { - //qDebug() << "MainWindow::slotQSLViaTextChanged: " << qslViaLineEdit->text() << " / Length: " << QString::number((qslViaLineEdit->text()).size()) << endl; + //qDebug() << "MainWindow::slotQSLViaTextChanged: " << qslViaLineEdit->text() << " / Length: " << QString::number((qslViaLineEdit->text()).size()) << endl; qslViaLineEdit->setText((qslViaLineEdit->text()).toUpper()); } diff --git a/mainwindowinputqsl.h b/mainwindowinputqsl.h index 719a5300..c3707545 100644 --- a/mainwindowinputqsl.h +++ b/mainwindowinputqsl.h @@ -22,7 +22,7 @@ * 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 . * + * along with KLog. If not, see . * * * *****************************************************************************/ // diff --git a/mainwindowmydatatab.cpp b/mainwindowmydatatab.cpp index a5f289cc..f491c4b6 100644 --- a/mainwindowmydatatab.cpp +++ b/mainwindowmydatatab.cpp @@ -20,7 +20,7 @@ * 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 . * + * along with KLog. If not, see . * * * *****************************************************************************/ @@ -29,7 +29,7 @@ MainWindowMyDataTab::MainWindowMyDataTab(QWidget *parent) : QWidget(parent) { - //qDebug() << "MainWindowMyDataTab::MainWindowMyDataTab" << endl; + //qDebug() << "MainWindowMyDataTab::MainWindowMyDataTab" << endl; myPowerSpinBox = new QDoubleSpinBox; operatorLineEdit = new QLineEdit; stationCallSignLineEdit = new QLineEdit; @@ -44,13 +44,12 @@ MainWindowMyDataTab::MainWindowMyDataTab(QWidget *parent) : stationQRZ = QString(); // Defined in the configuration by the user, will be used if the user configured so in the setup operatorQRZ = QString(); // Defined in the configuration by the user, will be used if the user configured so in the setup myLocator = QString(); // Defined in the configuration by the user, will be used if the user configured so in the setup - util = new Utilities; createUI(); myPower = 0; lastPower = 0; - //qDebug() << "MainWindowMyDataTab::MainWindowMyDataTab - END" << endl; + //qDebug() << "MainWindowMyDataTab::MainWindowMyDataTab - END" << endl; } @@ -63,7 +62,7 @@ void MainWindowMyDataTab::createUI() myPowerSpinBox->setDecimals(2); myPowerSpinBox->setMaximum(9999); - myPowerSpinBox->setSuffix(" " + tr("Watts")); + myPowerSpinBox->setSuffix(" " + tr("Watt")); QLabel *keepLabel = new QLabel(); keepLabel->setText(tr("Keep this data")); @@ -110,9 +109,7 @@ void MainWindowMyDataTab::createUI() connect(myLocatorLineEdit, SIGNAL(textChanged(QString)), this, SLOT(slotMyLocatorTextChanged() ) ); connect(myLocatorLineEdit, SIGNAL(returnPressed()), this, SLOT(slotReturnPressed() ) ); connect(operatorLineEdit, SIGNAL(returnPressed()), this, SLOT(slotReturnPressed() ) ); - connect(operatorLineEdit, SIGNAL(textChanged(QString)), this, SLOT(slotOperatorTextChanged()) ); - connect(stationCallSignLineEdit, SIGNAL(returnPressed()), this, SLOT(slotReturnPressed() ) ); - connect(stationCallSignLineEdit, SIGNAL(textChanged(QString)), this, SLOT(slotStationCallSignTextChanged() ) ); + connect(stationCallSignLineEdit, SIGNAL(returnPressed()), this, SLOT(slotReturnPressed() ) ); } void MainWindowMyDataTab::clear(const bool _keepMyData) @@ -120,11 +117,11 @@ void MainWindowMyDataTab::clear(const bool _keepMyData) // _keepMyData comes from the setup if (_keepMyData) { - //qDebug() << "MainWindowMyDataTab::clear: TRUE" << endl; + //qDebug() << "MainWindowMyDataTab::clear: TRUE" << endl; } else { - //qDebug() << "MainWindowMyDataTab::clear: FALSE" << endl; + //qDebug() << "MainWindowMyDataTab::clear: FALSE" << endl; } if (keepThisDataForNextQSORadiobutton->isChecked()) @@ -132,7 +129,6 @@ void MainWindowMyDataTab::clear(const bool _keepMyData) myPowerSpinBox->setValue(lastPower); operatorLineEdit->setText(lastOperatorQRZ.toUpper()); stationCallSignLineEdit->setText(lastStationQRZ.toUpper()); - //qDebug() << "MainWindowMyDataTab::clear-1: setMyLocator: " << myLocator << endl; myLocatorLineEdit->setText(lastMyLocator); } else @@ -142,7 +138,6 @@ void MainWindowMyDataTab::clear(const bool _keepMyData) myPowerSpinBox->setValue(myPower); operatorLineEdit->setText(operatorQRZ.toUpper()); stationCallSignLineEdit->setText(stationQRZ.toUpper()); - //qDebug() << "MainWindowMyDataTab::clear-2: setMyLocator: " << myLocator << endl; myLocatorLineEdit->setText(myLocator); } else @@ -157,31 +152,26 @@ void MainWindowMyDataTab::clear(const bool _keepMyData) void MainWindowMyDataTab::show() { - //qDebug() << "MainWindowMyDataTab::show: " << QString::number(myPower) << "/" << operatorQRZ << "/" << stationQRZ << "/" << myLocator << endl; + //qDebug() << "MainWindowMyDataTab::show: " << QString::number(myPower) << "/" << operatorQRZ << "/" << stationQRZ << "/" << myLocator << endl; myPowerSpinBox->setValue(myPower); operatorLineEdit->setText(operatorQRZ); stationCallSignLineEdit->setText(stationQRZ); - //qDebug() << "MainWindowMyDataTab::show: setMyLocator: " << myLocator << endl; myLocatorLineEdit->setText(myLocator); } void MainWindowMyDataTab::slotMyLocatorTextChanged() { - //qDebug() << "MainWindowMyDataTab::slotMyLocatorTextChanged: " << myLocatorLineEdit->text() << endl; + //qDebug() << "MainWindowMyDataTab::slotMyLocatorTextChanged: " << myLocatorLineEdit->text() << endl; //logEvent(Q_FUNC_INFO, "Start", logSeverity); - int cursorP = myLocatorLineEdit->cursorPosition(); - myLocatorLineEdit->setText(myLocatorLineEdit->text().toUpper()); - //qDebug() << "MainWindowMyDataTab::clear: setMyLocator: " << myLocatorLineEdit->text() << endl; if ( locator->isValidLocator((myLocatorLineEdit->text()).toUpper()) ) { myLocator = (myLocatorLineEdit->text()).toUpper(); myLocatorLineEdit->setPalette(palBlack); myLocatorLineEdit->setToolTip(tr("My QTH locator.")); - myLocatorLineEdit->setCursorPosition(cursorP); emit myLocChangedSignal(myLocator); //dxccStatusWidget->setMyLocator(myLocator); - //qDebug() << "MainWindowMyDataTab::slotMyLocatorTextChanged: My LOCATOR CHANGED TO: " << myLocator << endl; + //qDebug() << "MainWindowMyDataTab::slotMyLocatorTextChanged: My LOCATOR CHANGED TO: " << myLocator << endl; //slotLocatorTextChanged(); } else @@ -189,7 +179,6 @@ void MainWindowMyDataTab::slotMyLocatorTextChanged() //logEvent(Q_FUNC_INFO, "END-2", logSeverity); myLocatorLineEdit->setPalette(palRed); myLocatorLineEdit->setToolTip(tr("My QTH locator. Format should be Maidenhead like IN70AA up to 10 characters.")); - myLocatorLineEdit->setCursorPosition(cursorP); return; } //logEvent(Q_FUNC_INFO, "END", logSeverity); @@ -222,7 +211,7 @@ void MainWindowMyDataTab::setSetupMyLocator(const QString _op) void MainWindowMyDataTab::setMyPower(const double _power) { - //qDebug() << "MainWindowMyDataTab::setMyPower: " << QString::number(_power) << endl; + //qDebug() << "MainWindowMyDataTab::setMyPower: " << QString::number(_power) << endl; myPowerSpinBox->setValue(_power); } @@ -268,7 +257,6 @@ QString MainWindowMyDataTab::getStationQRZ() void MainWindowMyDataTab::setMyLocator(const QString _op) { - //qDebug() << "MainWindowMyDataTab::setMyLocator: " << _op << endl; myLocatorLineEdit->setText(_op); } @@ -317,35 +305,3 @@ void MainWindowMyDataTab::setData(const double _power, const QString _stationQRZ myLocator = QString(); } } - -void MainWindowMyDataTab::slotOperatorTextChanged() -{ - int cursorP = operatorLineEdit->cursorPosition(); - operatorLineEdit->setText(operatorLineEdit->text().toUpper()); - if (util->isValidCall(operatorLineEdit->text())) - { - operatorLineEdit->setPalette(palBlack); - operatorQRZ = (operatorLineEdit->text()).toUpper(); - } - else - { - operatorLineEdit->setPalette(palRed); - } - operatorLineEdit->setCursorPosition(cursorP); -} - -void MainWindowMyDataTab::slotStationCallSignTextChanged() -{ - int cursorP = stationCallSignLineEdit->cursorPosition(); - stationCallSignLineEdit->setText(stationCallSignLineEdit->text().toUpper()); - if (util->isValidCall(stationCallSignLineEdit->text())) - { - stationCallSignLineEdit->setPalette(palBlack); - stationQRZ = (stationCallSignLineEdit->text()).toUpper(); - } - else - { - stationCallSignLineEdit->setPalette(palRed); - } - stationCallSignLineEdit->setCursorPosition(cursorP); -} diff --git a/mainwindowmydatatab.h b/mainwindowmydatatab.h index 21cb2eba..2351225d 100644 --- a/mainwindowmydatatab.h +++ b/mainwindowmydatatab.h @@ -23,7 +23,7 @@ * 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 . * + * along with KLog. If not, see . * * * *****************************************************************************/ // @@ -33,7 +33,6 @@ #include #include #include "locator.h" -#include "utilities.h" //#include "dataproxy_sqlite.h" //#include "dataproxy_sqlite.h" @@ -79,8 +78,6 @@ signals: private slots: void slotMyLocatorTextChanged(); - void slotOperatorTextChanged(); - void slotStationCallSignTextChanged(); void slotReturnPressed(); private: @@ -97,7 +94,6 @@ private: QRadioButton *keepThisDataForNextQSORadiobutton; QPalette palRed, palBlack; // To paint Text in red or black(normal) Locator *locator; - Utilities *util; }; diff --git a/mainwindowsattab.cpp b/mainwindowsattab.cpp index ee7a19de..a7222bc8 100644 --- a/mainwindowsattab.cpp +++ b/mainwindowsattab.cpp @@ -21,7 +21,7 @@ * 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 . * + * along with KLog. If not, see . * * * *****************************************************************************/ #include "mainwindowsattab.h" @@ -31,7 +31,7 @@ This class implements the Satellite TAB of the MainWindow MainWindowSatTab::MainWindowSatTab(DataProxy_SQLite *dp, QWidget *parent) : QWidget(parent) { - //qDebug() << "MainWindowSatTab::MainWindowSatTab" << endl; + //qDebug() << "MainWindowSatTab::MainWindowSatTab" << endl; satNameComboBox = new QComboBox; satNameLineEdit = new QLineEdit; satModeLineEdit = new QLineEdit; @@ -62,7 +62,7 @@ MainWindowSatTab::MainWindowSatTab(DataProxy_SQLite *dp, QWidget *parent) : palBlack.setColor(QPalette::Text, Qt::black); setDefaultBands(); //TODO: Check how the bands are included not to create an inconsistence with the selected (in the setup) bands - //qDebug() << "MainWindowSatTab::MainWindowSatTab - END" << endl; + //qDebug() << "MainWindowSatTab::MainWindowSatTab - END" << endl; } MainWindowSatTab::~MainWindowSatTab(){} @@ -181,7 +181,7 @@ void MainWindowSatTab::slotSatNameComboBoxChanged() } int i = satNameComboBox->currentIndex(); - //qDebug() << "MainWindowSatTab::slotSatNameComboBoxChanged: " << QString::number(i) << endl; + //qDebug() << "MainWindowSatTab::slotSatNameComboBoxChanged: " << QString::number(i) << endl; //QString _pm = (((satNameComboBox->currentText()).split(' ')).at(0)).simplified(); satNameLineEdit->clear(); @@ -213,7 +213,7 @@ void MainWindowSatTab::slotSatNameComboBoxChanged() void MainWindowSatTab::slotSatNameTextChanged() { - //qDebug() << "MainWindowSatTab::slotSatNameTextChanged: " << satNameLineEdit->text() << endl; + //qDebug() << "MainWindowSatTab::slotSatNameTextChanged: " << satNameLineEdit->text() << endl; satNameLineEdit->setText((satNameLineEdit->text()).toUpper()); if (modifying) { @@ -233,7 +233,7 @@ void MainWindowSatTab::slotSatNameTextChanged() void MainWindowSatTab::slotSatModeTextChanged() { - //qDebug() << "MainWindowSatTab::slotSatModeTextChanged: " << satModeLineEdit->text() << endl; + //qDebug() << "MainWindowSatTab::slotSatModeTextChanged: " << satModeLineEdit->text() << endl; /* satModeLineEdit->setText((satModeLineEdit->text()).toUpper()); @@ -251,32 +251,30 @@ void MainWindowSatTab::slotSatModeTextChanged() void MainWindowSatTab::setLocator(const QString _t) { - //qDebug() << "MainWindowSatTab::setLocator: " << _t << endl; + //qDebug() << "MainWindowSatTab::setLocator: " << _t << endl; satDXLocatorLineEdit->setText(_t.toUpper()); } void MainWindowSatTab::slotSatDXLocTextChanged() { - //qDebug() << "MainWindowSatTab::slotSatDXLocTextChanged: " << satDXLocatorLineEdit->text() << endl; + //qDebug() << "MainWindowSatTab::slotSatDXLocTextChanged: " << satDXLocatorLineEdit->text() << endl; satDXLocatorLineEdit->setText((satDXLocatorLineEdit->text()).toUpper()); - + if (modifying) + { + return; + } if ( locator->isValidLocator((satDXLocatorLineEdit->text()).toUpper()) ) { + emit dxLocatorChanged((satDXLocatorLineEdit->text()).toUpper()); satDXLocatorLineEdit->setPalette(palBlack); satDXLocatorLineEdit->setToolTip(tr("Locator of the DX station. This box is synchronized with the Locator box in the QSO tab.")); - - //if (!modifying) - //{ - // emit dxLocatorChanged((satDXLocatorLineEdit->text()).toUpper()); - //} } else { satDXLocatorLineEdit->setPalette(palRed); satDXLocatorLineEdit->setToolTip(tr("Locator of the DX station. Format should be Maidenhead like IN70AA up to 10 characters.")); - + return; } - emit dxLocatorChanged((satDXLocatorLineEdit->text()).toUpper()); } QString MainWindowSatTab::getSatName() @@ -294,10 +292,10 @@ QString MainWindowSatTab::getSatName() QString satName = QString(); - //qDebug() << "MainWindowSatTab::getSatName:" << satNameComboBox->currentText() << endl; + //qDebug() << "MainWindowSatTab::getSatName:" << satNameComboBox->currentText() << endl; _pm = (((satNameComboBox->currentText()).split(' ')).at(0)).simplified(); - //qDebug() << "MainWindowSatTab::satNameComboBox: " << _pm << endl; + //qDebug() << "MainWindowSatTab::satNameComboBox: " << _pm << endl; if (satNameComboBox->currentIndex() == 0) { return QString(); @@ -324,7 +322,7 @@ QString MainWindowSatTab::getSatName() void MainWindowSatTab::setSatName(const QString _t) { //TODO: Check that the format is OK - //qDebug() << "MainWindowSatTab::setSatName: " << _t << endl; + //qDebug() << "MainWindowSatTab::setSatName: " << _t << endl; //satNameLineEdit->setText(_t); if (getSatIndex(_t) > 0) { @@ -345,7 +343,7 @@ QString MainWindowSatTab::getSatMode() void MainWindowSatTab::setSatMode(const QString _t) { - //qDebug() << "MainWindowSatTab::setSatMode: " << _t << endl; + //qDebug() << "MainWindowSatTab::setSatMode: " << _t << endl; if (_t == "-CLEAR-") { satModeLineEdit->clear(); @@ -369,7 +367,7 @@ void MainWindowSatTab::setRepeatThis(const bool _t) void MainWindowSatTab::clear() { - //qDebug() << "MainWindowSatTab::clear" << endl; + //qDebug() << "MainWindowSatTab::clear" << endl; modifying = false; if (keepThisDataForNextQSORadiobutton->isChecked()) { @@ -398,7 +396,7 @@ void MainWindowSatTab::refreshData() void MainWindowSatTab::populateSatComboBox() { - //qDebug() << "MainWindowSatTab::populateSatComboBox: " << endl; + //qDebug() << "MainWindowSatTab::populateSatComboBox: " << endl; QString nosat = tr("Not Sat QSO"); QString othersat = tr("Other - Sat not in the list"); @@ -414,18 +412,18 @@ void MainWindowSatTab::populateSatComboBox() } else { - //TODO: Check how to do it better... now I could simply remove the if + //TODO: Check how to do it better... now I could simply remove the if satNameComboBox->addItems(satellitesList); } } void MainWindowSatTab::setSatelliteCombo(const QString _p) { - //qDebug() << "MainWindowsatTab::setSatelliteCombo: " << _p << endl; + //qDebug() << "MainWindowsatTab::setSatelliteCombo: " << _p << endl; QString aux = QString(); int indexC = getSatIndex(_p); //int indexC = satNameComboBox->findText(_p, Qt::MatchContains); - //qDebug() << "MainWindowsatTab::setSatelliteCombo: N=" << QString::number(indexC) << endl; + //qDebug() << "MainWindowsatTab::setSatelliteCombo: N=" << QString::number(indexC) << endl; if (indexC>0) { satNameComboBox->setCurrentIndex(indexC); @@ -438,7 +436,7 @@ void MainWindowSatTab::setSatelliteCombo(const QString _p) QMessageBox msgBox; msgBox.setIcon(QMessageBox::Warning); aux = tr("KLog has detected a satellite name that it does not recognise. If it should use one of the names of known satellites instead, please select it from the list. Alternatively, please contact the development team to add the new satellite name.") + "\n\n"; - msgBox.setText(aux + tr("The satellite you have in your QSO is: ") + _p + "\n\n" + tr("Please be aware that the satellite name will not be saved if it is not in the list, so that information may be lost!")); + msgBox.setText(aux + tr("The satellite you have in your QSO is: ") + _p + "\n\n" + tr("Please know that the satellite name will not be saved if it is not in the list so that information may be lost!")); msgBox.setStandardButtons(QMessageBox::Ok); msgBox.setDefaultButton(QMessageBox::Ok); int ret = msgBox.exec(); @@ -457,7 +455,7 @@ void MainWindowSatTab::setSatelliteCombo(const QString _p) void MainWindowSatTab::setOtherSatName(const QString _t) { - //qDebug() << "MainWindowsatTab::setOtherSatName: " << _t << endl; + //qDebug() << "MainWindowsatTab::setOtherSatName: " << _t << endl; satNameLineEdit->setText(_t); } @@ -473,7 +471,7 @@ int MainWindowSatTab::getSatIndex(const QString _p) void MainWindowSatTab::addBands(QStringList _bands) { - //qDebug() << "MainWindowSatTab::addBands: " << QString::number(_bands.length()) << endl; + //qDebug() << "MainWindowSatTab::addBands: " << QString::number(_bands.length()) << endl; updatingBands = true; QString _txBand = satBandTXComboBox->currentText(); QString _rxBand = satBandRXComboBox->currentText(); @@ -486,16 +484,19 @@ void MainWindowSatTab::addBands(QStringList _bands) satBandRXComboBox->setCurrentIndex(satBandRXComboBox->findText(_rxBand, Qt::MatchCaseSensitive)); //txBandsBeingChanged = false; updatingBands = false; - //qDebug() << "MainWindowSatTab::addBands - END" << endl; + //qDebug() << "MainWindowSatTab::addBands - END" << endl; } void MainWindowSatTab::setDefaultBands() -{//Defines the default bands for SAT communications: 10m/2m/70cm/23CM only if they exist in the selected bands - //qDebug() << "MainWindowsatTab::setDefaultBands: " << endl; +{//Defines the default bands for SAT communications: 10m/2m/70cm/23CM only if they exist on the selected bands + //qDebug() << "MainWindowsatTab::setDefaultBands: " << endl; QStringList _b; _b.clear(); _b << "10M" << "2M" << "70CM" << "23CM"; + satBandRXComboBox->clear(); + satBandTXComboBox->clear(); + satBandRXComboBox->addItems(_b); satBandTXComboBox->addItems(_b); @@ -503,7 +504,7 @@ void MainWindowSatTab::setDefaultBands() void MainWindowSatTab::slotSatBandRXComboBoxChanged() { - //qDebug() << "MainWindowsatTab::slotSatBandRXComboBoxChanged" << endl; + //qDebug() << "MainWindowsatTab::slotSatBandRXComboBoxChanged" << endl; if (updatingBands || modifying) { return; @@ -513,13 +514,13 @@ void MainWindowSatTab::slotSatBandRXComboBoxChanged() { // If the freq does not belong to the current band, we need to update the band rxFreqSpinBox->setValue(dataProxy->getLowLimitBandFromBandName(satBandRXComboBox->currentText())); } - //qDebug() << "MainWindowsatTab::slotSatBandRXComboBoxChanged-END" << endl; + //qDebug() << "MainWindowsatTab::slotSatBandRXComboBoxChanged-END" << endl; } void MainWindowSatTab::slotSatFreqRXChanged() { - //qDebug() << "MainWindowsatTab::slotSatFreqRXChanged: " << QString::number(rxFreqSpinBox->value()) << endl; + //qDebug() << "MainWindowsatTab::slotSatFreqRXChanged: " << QString::number(rxFreqSpinBox->value()) << endl; if (modifying) { return; @@ -527,7 +528,7 @@ void MainWindowSatTab::slotSatFreqRXChanged() int bandId = dataProxy->getBandIdFromFreq(rxFreqSpinBox->value()); if (bandId<1) { //This prevent that a non-hamradio frequency is used on TX - //qDebug() << "MainWindowsatTab::slotSatFreqRXChanged: Not in band, exiting... " << endl; + //qDebug() << "MainWindowsatTab::slotSatFreqRXChanged: Not in band, exiting... " << endl; rxFreqSpinBox->setToolTip(tr("RX Frequency in MHz.\nFrequency is not in a hamradio band!")); rxFreqSpinBox->setPalette(palRed); } @@ -549,12 +550,12 @@ void MainWindowSatTab::slotSatFreqRXChanged() emit satRxFreqChanged(rxFreqSpinBox->value()); } - //qDebug() << "MainWindowsatTab::slotSatFreqRXChanged-END" << endl; + //qDebug() << "MainWindowsatTab::slotSatFreqRXChanged-END" << endl; } void MainWindowSatTab::slotSatBandTXComboBoxChanged() { - //qDebug() << "MainWindowsatTab::slotSatBandTXComboBoxChanged:" << endl; + //qDebug() << "MainWindowsatTab::slotSatBandTXComboBoxChanged:" << endl; if (updatingBands || modifying) { return; @@ -565,13 +566,13 @@ void MainWindowSatTab::slotSatBandTXComboBoxChanged() txFreqSpinBox->setValue(dataProxy->getLowLimitBandFromBandName(satBandTXComboBox->currentText())); //setUpLinkFreq(dataProxy->getLowLimitBandFromBandName(satBandTXComboBox->currentText())); } - //qDebug() << "MainWindowsatTab::slotSatBandTXComboBoxChanged-END" << endl; + //qDebug() << "MainWindowsatTab::slotSatBandTXComboBoxChanged-END" << endl; } void MainWindowSatTab::slotSatFreqTXChanged() { - //qDebug() << "MainWindowsatTab::slotSatFreqTXChanged: " << QString::number(txFreqSpinBox->value()) << endl; + //qDebug() << "MainWindowsatTab::slotSatFreqTXChanged: " << QString::number(txFreqSpinBox->value()) << endl; // user changes TX Freq // If band is real and band is configured, bandcombo is selected // If band is real and not configured, we launch the band config and select the band. @@ -584,7 +585,7 @@ void MainWindowSatTab::slotSatFreqTXChanged() int bandId = dataProxy->getBandIdFromFreq(txFreqSpinBox->value()); if (bandId<1) { //This prevent that a non-hamradio frequency is used on TX - //qDebug() << "MainWindowsatTab::slotSatFreqTXChanged: Not in band, exiting... " << endl; + //qDebug() << "MainWindowsatTab::slotSatFreqTXChanged: Not in band, exiting... " << endl; txFreqSpinBox->setToolTip(tr("TX Frequency in MHz.\nFrequency is not in a hamradio band!")); txFreqSpinBox->setPalette(palRed); } @@ -606,22 +607,21 @@ void MainWindowSatTab::slotSatFreqTXChanged() emit satTxFreqChanged(txFreqSpinBox->value()); } - //qDebug() << "MainWindowsatTab::slotSatFreqTXChanged-END" << endl; + //qDebug() << "MainWindowsatTab::slotSatFreqTXChanged-END" << endl; } void MainWindowSatTab::setUpLink(const QString _t) { - //qDebug() << "MainWindowsatTab::setUpLink: " << _t << endl; + //qDebug() << "MainWindowsatTab::setUpLink: " << _t << endl; int index = satBandTXComboBox->findText(_t, Qt::MatchCaseSensitive); - //qDebug() << "MainWindowsatTab::setUpLink: new index: " << QString::number(index) << endl; - //qDebug() << "MainWindowsatTab::setUpLink: current index: " << QString::number(satBandTXComboBox->currentIndex()) << endl; - int indexRX; - if (index>=0) - { - satBandTXComboBox->setCurrentIndex(index); + int indexRX; + if (index>=0) + { + satBandTXComboBox->setCurrentIndex(index); + //if ((dataProxy->isVHF(dataProxy->getIdFromBandName(_t))) && !(dataProxy->isUHF(dataProxy->getIdFromBandName(_t))) ) if ( dataProxy->getIdFromBandName("2M") == dataProxy->getIdFromBandName(_t) ) { - //qDebug() << satNameComboBox->currentText() << endl; + //qDebug() << satNameComboBox->currentText() << endl; if (satNameComboBox->findText("AO-7 - AMSAT-OSCAT 7", Qt::MatchCaseSensitive)) { indexRX = satBandRXComboBox->findText("10M", Qt::MatchCaseSensitive); @@ -632,47 +632,39 @@ void MainWindowSatTab::setUpLink(const QString _t) } satBandRXComboBox->setCurrentIndex(indexRX); - } + } + //else if(dataProxy->isUHF(dataProxy->getIdFromBandName(_t))) else if ( dataProxy->getIdFromBandName("70CM") == dataProxy->getIdFromBandName(_t) ) + //else { indexRX = satBandRXComboBox->findText("2M", Qt::MatchCaseSensitive); satBandRXComboBox->setCurrentIndex(indexRX); } + } + } void MainWindowSatTab::setUpLinkFreq(const double _t) { - //qDebug() << "MainWindowsatTab::setUpLinkFreq: " << QString::number(_t) << endl; + //qDebug() << "MainWindowsatTab::setUpLinkFreq: " << QString::number(_t) << endl; txFreqBeingAutoChanged = true; txFreqSpinBox->setValue(_t); - setUpLink(dataProxy->getBandNameFromFreq(_t)); txFreqBeingAutoChanged = false; - //qDebug() << "MainWindowsatTab::setUpLinkFreq END" << endl; -} -double MainWindowSatTab::getRXFreq() -{ - return rxFreqSpinBox->value(); + //qDebug() << "MainWindowsatTab::setUpLinkFreq END" << endl; } void MainWindowSatTab::setDownLinkFreq(const double _t) { - //qDebug() << "MainWindowsatTab::setDownLinkFreq: " << QString::number(_t) << endl; + //qDebug() << "MainWindowsatTab::setDownLinkFreq: " << QString::number(_t) << endl; rxFreqBeingAutoChanged = true; rxFreqSpinBox->setValue(_t); - QString downLinkBand = dataProxy->getBandNameFromFreq(_t); - - int index = satBandRXComboBox->findText(downLinkBand, Qt::MatchCaseSensitive); - if (index>=0) - { - satBandRXComboBox->setCurrentIndex(index); - } rxFreqBeingAutoChanged = false; - //qDebug() << "MainWindowsatTab::setDownLinkFreq END" << endl; + //qDebug() << "MainWindowsatTab::setDownLinkFreq END" << endl; } void MainWindowSatTab::setBandsOfSat(const QString _p) @@ -680,7 +672,7 @@ void MainWindowSatTab::setBandsOfSat(const QString _p) // Until the data is in the DB, this function tries to solve data of active sats from: http://www.amsat.org/status/ // This functio: // - identifies the freqs & bands that the sat is using - //qDebug() << "MainWindowSatTab::setBandsOfSat: " << _p << " - Short: " << _p.section(' ', 0, 0) << endl; + //qDebug() << "MainWindowSatTab::setBandsOfSat: " << _p << " - Short: " << _p.section(' ', 0, 0) << endl; //"AO-7 - AMSAT-OSCAT 7" //2M/10M << 2M/70CM if (modifying) @@ -694,38 +686,33 @@ void MainWindowSatTab::setBandsOfSat(const QString _p) double downLink = 0.0; downLink = (dataProxy->getSatelliteDownlink(_p.section(' ', 0, 0))).toDouble(); - //qDebug() << "MainWindowSatTab::setBandsOfSat upLink: " << QString::number(upLink)<< endl; - //qDebug() << "MainWindowSatTab::setBandsOfSat downLink: " << QString::number(downLink)<< endl; + //qDebug() << "MainWindowSatTab::setBandsOfSat upLink: " << QString::number(upLink)<< endl; if (upLink>0) { - //qDebug() << "MainWindowSatTab::setBandsOfSat upLink: emitting: " << QString::number(upLink)<< endl; + //qDebug() << "MainWindowSatTab::setBandsOfSat upLink: emitting: " << QString::number(upLink)<< endl; emit satTXFreqNeeded(upLink); - //qDebug() << "MainWindowSatTab::setBandsOfSat upLink: emitted: " << QString::number(upLink)<< endl; + //qDebug() << "MainWindowSatTab::setBandsOfSat upLink: emitted: " << QString::number(upLink)<< endl; } else { - //qDebug() << "MainWindowSatTab::setBandsOfSat upLink: setting to ZERO (should be = RX) " << endl; - txFreqSpinBox->setValue(0); - //satBandTXComboBox->setCurrentIndex(0); + satBandTXComboBox->setCurrentIndex(0); } if (downLink>0) { - //qDebug() << "MainWindowSatTab::setBandsOfSat downLink: emitting: " << QString::number(downLink)<< endl; + //qDebug() << "MainWindowSatTab::setBandsOfSat downLink: emitting: " << QString::number(downLink)<< endl; emit satRXFreqNeeded(downLink); - //qDebug() << "MainWindowSatTab::setBandsOfSat downLink: emitted: " << QString::number(downLink)<< endl; + //qDebug() << "MainWindowSatTab::setBandsOfSat downLink: emitted: " << QString::number(downLink)<< endl; } else { - //qDebug() << "MainWindowSatTab::setBandsOfSat downLink: setting to ZERO" << endl; - rxFreqSpinBox->setValue(0); - //satBandRXComboBox->setCurrentIndex(0); + satBandRXComboBox->setCurrentIndex(0); } - //qDebug() << "MainWindowSatTab::setBandsOfSat downLink: emiting: " << QString::number(downLink)<< endl; + //qDebug() << "MainWindowSatTab::setBandsOfSat downLink: emiting: " << QString::number(downLink)<< endl; //emit satRxFreqChanged(downLink); /* @@ -755,22 +742,22 @@ void MainWindowSatTab::setBandsOfSat(const QString _p) satBandRXComboBox->setCurrentIndex(0); } */ - //qDebug() << "MainWindowSatTab::setBandsOfSat: " << _p << " - END " << endl; + //qDebug() << "MainWindowSatTab::setBandsOfSat: " << _p << " - END " << endl; } void MainWindowSatTab::addNewBand(const QString _p) { - //qDebug() << "MainWindowSatTab::addNewBand: " << _p << endl; + //qDebug() << "MainWindowSatTab::addNewBand: " << _p << endl; if (dataProxy->getIdFromBandName(_p)<0) { - //qDebug() << "MainWindowSatTab::addNewBand: Id: " << QString::number(dataProxy->getIdFromBandName(_p)) << endl; + //qDebug() << "MainWindowSatTab::addNewBand: Id: " << QString::number(dataProxy->getIdFromBandName(_p)) << endl; return; } QStringList bands; bands.clear(); - //qDebug() << "MainWindowSatTab::addNewBand: RX Id: " << QString::number(satBandRXComboBox->count()) << endl; - //qDebug() << "MainWindowSatTab::addNewBand: TX Id: " << QString::number(satBandTXComboBox->count()) << endl; + //qDebug() << "MainWindowSatTab::addNewBand: RX Id: " << QString::number(satBandRXComboBox->count()) << endl; + //qDebug() << "MainWindowSatTab::addNewBand: TX Id: " << QString::number(satBandTXComboBox->count()) << endl; for (int i = 0; i < satBandTXComboBox->count(); i++) { @@ -787,8 +774,8 @@ void MainWindowSatTab::addNewBand(const QString _p) emit newBandsToBeAdded(bands); //addBands(bands); - //qDebug() << "MainWindowSatTab::addNewBand: 2 RX Id: " << QString::number(satBandRXComboBox->count()) << endl; - //qDebug() << "MainWindowSatTab::addNewBand: 2 TX Id: " << QString::number(satBandTXComboBox->count()) << endl; + //qDebug() << "MainWindowSatTab::addNewBand: 2 RX Id: " << QString::number(satBandRXComboBox->count()) << endl; + //qDebug() << "MainWindowSatTab::addNewBand: 2 TX Id: " << QString::number(satBandTXComboBox->count()) << endl; } diff --git a/mainwindowsattab.h b/mainwindowsattab.h index 13a32079..6c2f2e24 100644 --- a/mainwindowsattab.h +++ b/mainwindowsattab.h @@ -22,7 +22,7 @@ * 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 . * + * along with KLog. If not, see . * * * *****************************************************************************/ // @@ -46,15 +46,13 @@ public: void setOtherSatName(const QString _t); QString getOtherSatName(); QString getSatMode(); - double getRXFreq(); void setSatMode(const QString _t); - bool getRepeatThis(); void setRepeatThis(const bool _t); void addBands(QStringList _bands); - void setDefaultBands(); //Defines the default bands for SAT communications: 10m/2m/70cm/23CM only if they exist in the selected bands + void setDefaultBands(); //Defines the default bands for SAT communications: 10m/2m/70cm/23CM only if they exist on the selected bands void setUpLinkFreq(const double _t); @@ -98,7 +96,6 @@ private: void addNewBand(const QString _p); void setUpLink(const QString _t); - QLineEdit *satNameLineEdit; QLineEdit *satModeLineEdit; QLineEdit *satDXLocatorLineEdit; diff --git a/pstrotatorsupport.cpp b/pstrotatorsupport.cpp deleted file mode 100644 index 93ad49f7..00000000 --- a/pstrotatorsupport.cpp +++ /dev/null @@ -1,92 +0,0 @@ -#include "pstrotatorsupport.h" -//#include - -PSTRotatorSupport::PSTRotatorSupport(QObject *parent) : - QObject(parent) -{ - //qDebug() << "PSTRotatorSupport::PSTRotatorSupport" << endl; - //address = QString("127.0.0.1"); - port = 12040; - socketServer = new QUdpSocket(this); - //socketServer->bind(QHostAddress::AnyIPv4, port); - - //connect(socketServer,SIGNAL(readyRead()),this,SLOT(slotReadPendingDatagrams())); -} - -bool PSTRotatorSupport::start() -{ - setServer(server); - return socketServer->bind(address, port); - //connect(socketServer,SIGNAL(readyRead()),this,SLOT(slotReadPendingDatagrams())); -} - -void PSTRotatorSupport::setPort(const int _port) -{ - //qDebug() << "PSTRotatorSupport::setPort: " << QString::number(_port) << endl; - if ((_port >= 0) && (_port<=65535)) - { - port = _port; - } - else - { - port = 12040; - } -} - -void PSTRotatorSupport::setServer(const QString &_s) -{ - server = _s; - address.setAddress(_s); -} - - -void PSTRotatorSupport::sendAzimut(const int _d) -{ - /* - 85 - */ - if ((_d >= 0) && (_d <= 365)) - { - QString st; - st = QString("%1").arg(_d); - QByteArray ba; - ba.clear(); - ba = st.toUtf8(); - socketServer->writeDatagram(ba, address, port); - } -} - -void PSTRotatorSupport::sendCall(const QString _c) -{ - /* - EA4XXX - */ - if (_c.length()>=3) - { - QString st; - st = QString("%1").arg(_c); - QByteArray ba; - ba.clear(); - ba = st.toUtf8(); - socketServer->writeDatagram(ba, address, port); - } -} -void PSTRotatorSupport::sendFreq(const int _freq, const int _radio) -{// Frequencies for antennas Receives MHz (to pstrotator must be sent in 10hz but I will do the conversion in this function) - /* // Freq is in 10hz - * // Radio is 1..4 - 24892001 - */ - //qDebug() << "PSTRotatorSupport::sendFreq: " << QString::number(_freq) << "/" << QString::number(_radio)<< endl; - if ((_freq>0) && (_radio>0) && (_radio <5)) - { - int f = _freq/100; - QString st; - st = QString("%1%2").arg(f).arg(_radio); - QByteArray ba; - ba.clear(); - ba = st.toUtf8(); - socketServer->writeDatagram(ba, address, port); - } - -} diff --git a/pstrotatorsupport.h b/pstrotatorsupport.h deleted file mode 100644 index 62e8a0d9..00000000 --- a/pstrotatorsupport.h +++ /dev/null @@ -1,53 +0,0 @@ -#ifndef PSTROTATORSUPPORT_H -#define PSTROTATORSUPPORT_H - -#include -#include -#include -#include -#include - -class PSTRotatorSupport : public QObject -{ - Q_OBJECT - -public: - explicit PSTRotatorSupport(QObject *parent = nullptr); - bool start(); - - void setPort(const int _port); - void setServer(const QString &_s); - - void sendAzimut(const int _d); // Azimuth Degrees - void sendCall(const QString _c); // Sends the callsignto PSTRotator to point - void sendFreq(const int _freq, const int _radio); // Frequencies for antennas receives MHz (to pstrotator must be sent in 10hz but I will do the conversion in this function) - - - //void stopRotor (const bool _s); - //void parkRotor (const bool _s); - //void setLPSP (const QString &_s); - - - - -private: - - - QUdpSocket *socketServer; - QHostAddress address; - - //QString address; - int port; - QString server; - - -signals: - - -private slots: - //void slotReadPendingDatagrams(); - - -}; - -#endif // PSTRotatorSupport_H diff --git a/searchwidget.cpp b/searchwidget.cpp index 062bf5f0..04823def 100644 --- a/searchwidget.cpp +++ b/searchwidget.cpp @@ -3,21 +3,19 @@ SearchWidget::SearchWidget(DataProxy_SQLite *dp, QWidget *parent) : QWidget(parent) { - //qDebug() << "SearchWidget::SearchWidget" << endl; + //qDebug() << "SearchWidget::SearchWidget" << endl; searchBoxLineEdit = new QLineEdit; dataProxy = dp; - awards = new Awards(dataProxy, Q_FUNC_INFO); util = new Utilities; filemanager = new FileManager(dataProxy); world = new World(dataProxy, Q_FUNC_INFO); - mainStationCallsign = QString(); currentLog = -1; - //qDebug() << "SearchWidget::SearchWidget: 00092" << endl; - stationCallsignComboBox = new QComboBox; + //qDebug() << "SearchWidget::SearchWidget: 00092" << endl; + searchResultsTreeWidget = new QTreeWidget; searchResultsTreeWidget->setContextMenuPolicy(Qt::CustomContextMenu); searchResultsTreeWidget->setSortingEnabled(true); @@ -29,13 +27,13 @@ SearchWidget::SearchWidget(DataProxy_SQLite *dp, QWidget *parent) : searchBoxExportButton = new QPushButton(tr("&Export Highlighted"), this); searchBoxSelectAllButton = new QPushButton(tr("&Select All"), this); searchBoxReSearchButton = new QPushButton(tr("&Search"), this); - searchAllRadioButton = new QRadioButton (tr("All logs"), this); + searchAllRadioButton = new QRadioButton (tr("All"), this); stationCallSignShownInSearch = true; clear(); createUI(); - //qDebug() << "SearchWidget::SearchWidget - END" << endl; + //qDebug() << "SearchWidget::SearchWidget - END" << endl; } SearchWidget::~SearchWidget() @@ -66,25 +64,6 @@ void SearchWidget::setVersion (const QString _version) filemanager->setVersion(_version); } -void SearchWidget::setStationCallsign(const QString &_st) -{ - if (util->isValidCall(_st)) - { - mainStationCallsign = _st; - selectStationCallSign(); - } - -} - -void SearchWidget::selectStationCallSign() -{ - int index = stationCallsignComboBox->findText(mainStationCallsign); - if (index>=0) - { - stationCallsignComboBox->setCurrentIndex(index); - } -} - void SearchWidget::createUI() { searchBoxClearButton->setToolTip(tr("Clear the searches.")); @@ -92,11 +71,9 @@ void SearchWidget::createUI() searchBoxSelectAllButton->setToolTip(tr("Select/Unselect all the QSOs shown.")); searchBoxReSearchButton->setToolTip(tr("Search in the log.")); searchAllRadioButton->setToolTip(tr("Search in all logs.")); - searchBoxLineEdit->setToolTip(tr("Enter the QRZ to search for. Enter '*' to show all the QSOs... it may be slow in big logs!")); + searchBoxLineEdit->setToolTip(tr("Enter the QRZ to search for.")); searchResultsTreeWidget->setToolTip(tr("Search results.")); - stationCallsignComboBox->setToolTip(tr("Select the Station Callsign used to do this QSO.")); - fillStationCallsignComboBox(); QStringList labels; if (stationCallSignShownInSearch) @@ -122,7 +99,6 @@ void SearchWidget::createUI() QHBoxLayout *dxUpRightSearchTopLayout = new QHBoxLayout; dxUpRightSearchTopLayout->addWidget(searchBoxLineEdit); - dxUpRightSearchTopLayout->addWidget(stationCallsignComboBox); dxUpRightSearchTopLayout->addWidget(searchAllRadioButton); QHBoxLayout *dxUpRightButtonsLayout = new QHBoxLayout; @@ -148,43 +124,13 @@ void SearchWidget::createUI() connect(searchResultsTreeWidget, SIGNAL(itemSelectionChanged( ) ), this, SLOT(slotSearchBoxSelectionChanged( ) ) ); connect(searchResultsTreeWidget, SIGNAL(itemDoubleClicked(QTreeWidgetItem *, int)), this, SLOT(slotDoubleClickSearch(QTreeWidgetItem *, int))); connect(searchResultsTreeWidget, SIGNAL(customContextMenuRequested( const QPoint& ) ), this, SLOT(slotRighButtonSearch( const QPoint& ) ) ); - connect(stationCallsignComboBox, SIGNAL(currentIndexChanged (int)), this, SLOT(slotStationCallsignChanged() ) ) ; - connect(searchAllRadioButton, SIGNAL(toggled(bool)), this, SLOT(slotRadioButtonToggled() ) ) ; - } -void SearchWidget::fillStationCallsignComboBox() -{ - stationCallsignComboBox->clear(); - stationCallsignComboBox->addItem(tr("All in log")); - stationCallsignComboBox->addItem(tr("Not defined")); - if (searchAllRadioButton->isChecked()) - { - stationCallsignComboBox->addItems(dataProxy->getStationCallSignsFromLog(-1)); - } - else - { - stationCallsignComboBox->addItems(dataProxy->getStationCallSignsFromLog(currentLog)); - } -} - -void SearchWidget::slotRadioButtonToggled() -{ - //qDebug() << "SearchWidget::slotRadioButtonToggled" << endl; - fillStationCallsignComboBox(); - slotSearchBoxTextChanged(); -} - -void SearchWidget::slotStationCallsignChanged() -{ - //qDebug() << "SearchWidget::slotStationCallsignChanged: " << stationCallsignComboBox->currentText() << endl; - slotSearchBoxTextChanged(); -} void SearchWidget::slotDoubleClickSearch(QTreeWidgetItem * item, int) { - //qDebug() << "SearchWidget::slotDoubleClickSearch" << endl; + //qDebug() << "SearchWidget::slotDoubleClickSearch" << endl; int number = -1; if (item){ if (stationCallSignShownInSearch) @@ -195,6 +141,8 @@ void SearchWidget::slotDoubleClickSearch(QTreeWidgetItem * item, int) { number = (item->text(6)).toInt(); } + + actionQSODoubleClicked(number); } else @@ -203,7 +151,7 @@ void SearchWidget::slotDoubleClickSearch(QTreeWidgetItem * item, int) void SearchWidget::slotSearchBoxTextChanged() { - //qDebug() << "SearchWidget::slotSearchBoxTextChanged: " << searchBoxLineEdit->text() << endl; + //qDebug() << "SearchWidget::slotSearchBoxTextChanged: " << searchBoxLineEdit->text() << endl; //QString _id, _call, _dateTime, _band, _bandid, _mode, _qsltx, _qslrx, _stationcallsign, _dxcc; //QStringList q; @@ -214,7 +162,7 @@ void SearchWidget::slotSearchBoxTextChanged() searchBoxLineEdit->setText((searchBoxLineEdit->text()).toUpper()); - if (((searchBoxLineEdit->text()).length() < 2) && (searchBoxLineEdit->text() != "*")) + if ((searchBoxLineEdit->text()).length() < 2) { searchResultsTreeWidget->clear(); return; @@ -239,54 +187,160 @@ void SearchWidget::slotSearchBoxTextChanged() { aux = "%" + theCall + "%"; } - QString stationCallSign; - QString STQuery; - - if (searchBoxLineEdit->text() == "*") - { - STQuery = QString(" call!='1' "); - } - else - { - STQuery = QString(" call LIKE '%1' ").arg(aux); - } - QString searchAllQuery; if (searchAll) { - searchAllQuery = QString(" lognumber != '-1' "); + queryString = QString("SELECT call, qso_date, time_on, bandid, modeid, dxcc, qsl_rcvd, qsl_sent, station_callsign, id FROM log WHERE call LIKE '%1'").arg(aux); } else { - searchAllQuery = QString(" lognumber = '%1' ").arg(currentLog); + queryString = QString("SELECT call, qso_date, time_on, bandid, modeid, dxcc, qsl_rcvd, qsl_sent, station_callsign, id FROM log WHERE call LIKE '%1' AND lognumber='%2'").arg(aux).arg(currentLog); } + //aux.clear(); - QString stationCallQuery; - if (stationCallsignComboBox->currentIndex() == 0) - { - stationCallQuery = QString(" station_callsign != '-1' "); - } - else if (stationCallsignComboBox->currentIndex() == 1) - { - stationCallQuery = QString(" station_callsign = '' "); + //qDebug() << "SearchWidget::slotSearchBoxTextChanged: queryString" << queryString << endl; - } - else if (stationCallsignComboBox->currentIndex() > 1) - { - stationCallSign = stationCallsignComboBox->currentText(); - stationCallQuery = QString(" station_callsign = '%1' ").arg(stationCallSign); - } - else - { // This should be an error so return - return; - } - - queryString = QString("SELECT call, qso_date, time_on, bandid, modeid, dxcc, qsl_rcvd, qsl_sent, station_callsign, id FROM log WHERE") + STQuery + "AND" + stationCallQuery + "AND" + searchAllQuery; - - //qDebug() << "SearchWidget::slotSearchBoxTextChanged: Query: " << queryString << endl; fillTheList(queryString); + /* + bool sqlOK = query.exec(queryString); + if (!sqlOK) + { + emit queryError(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); + } + QSqlRecord rec = query.record(); + int nameCol = -1; + + //qDebug() << "SearchWidget::slotSearchBoxTextChanged: queryString EXECUTED!" << endl; + QColor color; + + //QSqlRecord rec = query.record(); + QFont font; + font.setBold(true); + + while (query.next()) + { + if (query.isValid()) + { + nameCol = rec.indexOf("call"); + _call= (query.value(nameCol)).toString(); + //nameCol = rec.indexOf("call"); + //_call= (query.value(0)).toString(); + + nameCol = rec.indexOf("qso_date"); + _dateTime = (query.value(nameCol)).toString(); + //_dateTime = (query.value(1)).toString(); + + nameCol = rec.indexOf("time_on"); + _dateTime = _dateTime + "-" +(query.value(nameCol)).toString(); + //_dateTime = _dateTime + "-" +(query.value(2)).toString(); + + nameCol = rec.indexOf("bandid"); + _bandid = (query.value(nameCol)).toString(); + //qDebug() << "SearchWidget::slotSearchBoxTextChanged: band: " << QString::number((query.value(3)).toInt()) << endl; + _band = dataProxy->getNameFromBandId(_bandid.toInt()); + //qDebug() << "SearchWidget::slotSearchBoxTextChanged: _band: " << _band << endl; + + nameCol = rec.indexOf("modeid"); + //qDebug() << "SearchWidget::slotSearchBoxTextChanged: mode: " << QString::number((query.value(nameCol)).toInt()) << endl; + //_mode = dataProxy->getNameFromModeId((query.value(4)).toInt()); + _mode = dataProxy->getNameFromSubModeId((query.value(nameCol)).toInt()); + + nameCol = rec.indexOf("dxcc"); + _dxcc= (query.value(nameCol)).toString(); + + nameCol = rec.indexOf("qsl_rcvd"); + _qsltx = (query.value(nameCol)).toString(); + if (_qsltx.length()<1) + { + _qsltx = "N"; + } + + nameCol = rec.indexOf("qsl_sent"); + _qslrx = (query.value(nameCol)).toString(); + if (_qslrx.length()<1) + { + _qslrx = "N"; + } + if (stationCallSignShownInSearch) + { + nameCol = rec.indexOf("station_callsign"); + + _stationcallsign = (query.value(nameCol)).toString(); + //if (_stationcallsign.length()<3) + //{ + // _stationcallsign = stationQRZ; + //} + nameCol = rec.indexOf("id"); + _id = (query.value(nameCol)).toString(); + } + else + { + nameCol = rec.indexOf("id"); + _id = (query.value(nameCol)).toString(); + } + + q.clear(); + q << _dxcc << _bandid << _mode << QString::number(currentLog); + + + + //QColor color = Qt::red; + + //color = Qt::red; + //TODO: Optimize the awards->getQRZDXStatusColor because is TOO slow + color = awards->getQRZDXStatusColor(q); + //_mode = dataProxy->getSubModeFromId(_mode.toInt()); + //_mode = db->getModeNameFromNumber(_mode.toInt()); + + addQSOToSearchList(_call, _dateTime, _band, _mode, _qslrx, _qsltx, _stationcallsign, _id, color); + + QTreeWidgetItem *item = new QTreeWidgetItem(searchResultsTreeWidget); + i = world->getQRZARRLId(_call); + aux = world->getEntityName(i) + " - CQ: " + QString::number(world->getEntityCqz(i)); + item->setToolTip(0, aux); + item->setToolTip(1, aux); + item->setToolTip(2, aux); + item->setToolTip(3, aux); + item->setToolTip(4, aux); + item->setToolTip(5, aux); + item->setToolTip(6, aux); + + //item->setToolTip(0, world->getQRZEntityName(_call)); + item->setText(0, _call); + item->setFont(0, font); + item->setText(1, _dateTime); + item->setText(2, _band); + //qDebug() << "SearchWidget::slotSearchBoxTextChanged: mode(c) : " << _mode << endl; + item->setText(3, _mode); + item->setText(4, _qslrx); + item->setText(5, _qsltx); + if (stationCallSignShownInSearch) + { + item->setText(6, _stationcallsign); + item->setText(7, _id); + item->setToolTip(7, aux); + + } + else + { + item->setText(6, _id); + } + + + item->setForeground(0, QBrush(color)); + + } // Closes if next.isValid + } // Closes While + (searchResultsTreeWidget->header())->resizeSections(QHeaderView::ResizeToContents); + + if (((theCall.at(cursorP-1)).isSpace()) && (cursorP>1)) + { + ->setText(theCall.remove(cursorP-1, 1)); + cursorP--; + } + */ searchBoxLineEdit->setCursorPosition(cursorP); @@ -325,7 +379,7 @@ void SearchWidget::slotSearchBoxTextChanged() bool SearchWidget::fillTheList(const QString _query) { - //qDebug() << "SearchWidget::fillTheList: " << _query << endl; + //qDebug() << "SearchWidget::fillTheList: " << _query << endl; if (_query.length()<=0) { return false; @@ -344,16 +398,7 @@ bool SearchWidget::fillTheList(const QString _query) emit queryError(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); return false; } - QProgressDialog *pDialog = new QProgressDialog(this); - pDialog->setLabelText(tr("Searching for the QSOs... \n(It may take long in big logs.)")); - pDialog->setWindowTitle(tr("KLog - Search")); - pDialog->setWindowModality(Qt::WindowModal); - pDialog->setRange(0, 0); - pDialog->setMinimumDuration(0); - //pDialog->exec(); - //pDialog->setValue(1); - pDialog->show(); QSqlRecord rec = query.record(); int nameCol = -1; @@ -363,16 +408,11 @@ bool SearchWidget::fillTheList(const QString _query) font.setBold(true); searchResultsTreeWidget->clear(); - int i = 0; + while (query.next()) { - //qDebug() << "SearchWidget::fillTheList: While next: " << endl; - if (query.isValid()) { - i++; - //qDebug() << "SearchWidget::fillTheList: query is valid: " << QString::number(i) << endl; - pDialog->setValue(i); nameCol = rec.indexOf("call"); _call= (query.value(nameCol)).toString(); @@ -462,23 +502,14 @@ bool SearchWidget::fillTheList(const QString _query) item->setForeground(0, QBrush(color)); } // Closes if next.isValid - if (pDialog->wasCanceled()) - { - //qDebug() << "SearchWidget::fillTheList: pDialog Cancelled" << endl; - return false; - } - //qDebug() << "SearchWidget::fillTheList: While next - end of IF " << endl; } // Closes While (searchResultsTreeWidget->header())->resizeSections(QHeaderView::ResizeToContents); - //qDebug() << "SearchWidget::fillTheList: Just before pDialog-close" << endl; - pDialog->cancel(); - //qDebug() << "SearchWidget::fillTheList: Just before return true" << endl; return true; } void SearchWidget::addQSOToSearchList(const QString _call, const QString _dateTime, const QString _band, const QString _mode, const QString _qslrx, const QString _qsltx, const QString _stationcallsign, const QString _id, const QColor _color) { - //qDebug() << "SearchWidget::addQSOToSearchList: " << _call << endl; + //qDebug() << "SearchWidget::addQSOToSearchList: " << _call << endl; QFont font; font.setBold(true); @@ -500,7 +531,7 @@ void SearchWidget::addQSOToSearchList(const QString _call, const QString _dateTi item->setFont(0, font); item->setText(1, _dateTime); item->setText(2, _band); - //qDebug() << "SearchWidget::slotSearchBoxTextChanged: mode(c) : " << _mode << endl; + //qDebug() << "SearchWidget::slotSearchBoxTextChanged: mode(c) : " << _mode << endl; item->setText(3, _mode); item->setText(4, _qslrx); item->setText(5, _qsltx); @@ -528,20 +559,19 @@ void SearchWidget::setCurrentLog(const int _log) void SearchWidget::slotSearchClearButtonClicked() { - //qDebug() << "SearchWidget::slotSearchClearButtonClicked: " << endl; + //qDebug() << "SearchWidget::slotSearchClearButtonClicked: " << endl; searchResultsTreeWidget->clear(); searchBoxLineEdit->clear(); searchSelectAllClicked = false; qslingNeeded = false; - selectStationCallSign(); } void SearchWidget::slotSearchBoxSelectAllButtonClicked() { - //qDebug() << "SearchWidget::slotSearchBoxSelectAllButtonClicked: " << endl; + //qDebug() << "SearchWidget::slotSearchBoxSelectAllButtonClicked: " << endl; if (searchSelectAllClicked) { - //qDebug() << "SearchWidget::slotSearchBoxSelectAllButtonClicked: UN-SELECTING" << endl; + //qDebug() << "SearchWidget::slotSearchBoxSelectAllButtonClicked: UN-SELECTING" << endl; searchSelectAllClicked = false; searchResultsTreeWidget->clearSelection(); searchBoxSelectAllButton->setText(tr("&Select All")); @@ -549,7 +579,7 @@ void SearchWidget::slotSearchBoxSelectAllButtonClicked() } else { - //qDebug() << "SearchWidget::slotSearchBoxSelectAllButtonClicked: SELECTING" << endl; + //qDebug() << "SearchWidget::slotSearchBoxSelectAllButtonClicked: SELECTING" << endl; searchSelectAllClicked = true; searchResultsTreeWidget->selectAll(); searchBoxSelectAllButton->setText(tr("&Clear selection")); @@ -560,14 +590,14 @@ void SearchWidget::slotSearchBoxSelectAllButtonClicked() void SearchWidget::slotSearchBoxReSearchButtonClicked() { - //qDebug() << "SearchWidget::slotSearchBoxReSearchButtonClicked: " << endl; + //qDebug() << "SearchWidget::slotSearchBoxReSearchButtonClicked: " << endl; slotSearchBoxTextChanged(); } void SearchWidget::slotSearchBoxSelectionChanged() {// Detects when a selection has been done in the search box and changes // The button to clear selection - //qDebug() << "SearchWidget::slotSearchBoxSelectionChanged: " << endl; + //qDebug() << "SearchWidget::slotSearchBoxSelectionChanged: " << endl; if ((searchResultsTreeWidget->selectedItems()).size() > 0 ) { @@ -584,7 +614,7 @@ void SearchWidget::slotSearchBoxSelectionChanged() void SearchWidget::slotSearchExportButtonClicked() { - //qDebug() << "SearchWidget::slotSearchExportButtonClicked: " << endl; + //qDebug() << "SearchWidget::slotSearchExportButtonClicked: " << endl; // MARK QSOs // SAVE MARKED QSOs TO FILE // UNMARK QSOs @@ -599,10 +629,10 @@ void SearchWidget::slotSearchExportButtonClicked() while (i <= searchResultsTreeWidget->topLevelItemCount() ) { item = searchResultsTreeWidget->topLevelItem(i); - if (item == nullptr) + if (item == 0) { i = searchResultsTreeWidget->topLevelItemCount() + 1; - //qDebug() << "SearchWidget::slotSearchExportButtonClicked: ITEM = 0" << endl; + //qDebug() << "SearchWidget::slotSearchExportButtonClicked: ITEM = 0" << endl; } else { @@ -626,7 +656,7 @@ void SearchWidget::slotSearchExportButtonClicked() itemsSelected = true; //TODO: Prepare this while/query execution i++; - //qDebug() << "SearchWidget::slotSearchExportButtonClicked: ITEM MARKED: " << QString::number(_qsoId) << endl; + //qDebug() << "SearchWidget::slotSearchExportButtonClicked: ITEM MARKED: " << QString::number(_qsoId) << endl; } else { @@ -638,19 +668,19 @@ void SearchWidget::slotSearchExportButtonClicked() } //TODO: Prepare this while/query execution i++; - //qDebug() << "SearchWidget::slotSearchExportButtonClicked: ITEM NOT MARKED: " << QString::number(_qsoId) << endl; + //qDebug() << "SearchWidget::slotSearchExportButtonClicked: ITEM NOT MARKED: " << QString::number(_qsoId) << endl; } } } if (itemsSelected) { - //qDebug() << "SearchWidget::slotSearchExportButtonClicked: to Ask filename" << endl; + //qDebug() << "SearchWidget::slotSearchExportButtonClicked: to Ask filename" << endl; QString fileName = QFileDialog::getSaveFileName(this, tr("Save File"), util->getHomeDir(), "ADIF (*.adi *.adif)"); filemanager->adifLogExportMarked(fileName); - //qDebug() << "SearchWidget::slotSearchExportButtonClicked: to call save file" << endl; + //qDebug() << "SearchWidget::slotSearchExportButtonClicked: to call save file" << endl; dataProxy->unMarkAllQSO(); } else @@ -658,50 +688,51 @@ void SearchWidget::slotSearchExportButtonClicked() //No items were selected } - //qDebug() << "SearchWidget::slotSearchExportButtonClicked: unmarking..." << endl; + //qDebug() << "SearchWidget::slotSearchExportButtonClicked: unmarking..." << endl; } + void SearchWidget::slotRighButtonSearch(const QPoint& pos) { - //qDebug() << "SearchWidget::slotRighButtonSearch" << endl; + //qDebug() << "SearchWidget::slotRighButtonSearch" << endl; QTreeWidgetItem *item = searchResultsTreeWidget->itemAt(pos); int _qsoID = 0; if (item) { - //qDebug() << "SearchWidget::slotRighButtonSearch ITEM=true" << endl; + //qDebug() << "SearchWidget::slotRighButtonSearch ITEM=true" << endl; // 6 is the column in the searchResultsTreeWidget where the id is saved if (stationCallSignShownInSearch) { - //qDebug() << "SearchWidget::slotRighButtonSearch stationCallSignShownInSearch = true" << endl; + //qDebug() << "SearchWidget::slotRighButtonSearch stationCallSignShownInSearch = true" << endl; _qsoID = ((item)->text(7)).toInt(); - //qDebug() << "SearchWidget::slotRighButtonSearch QSO1: " << QString::number(_qsoID) << endl; + //qDebug() << "SearchWidget::slotRighButtonSearch QSO1: " << QString::number(_qsoID) << endl; } else { - //qDebug() << "SearchWidget::slotRighButtonSearch stationCallSignShownInSearch = false" << endl; + //qDebug() << "SearchWidget::slotRighButtonSearch stationCallSignShownInSearch = false" << endl; _qsoID = ((item)->text(6)).toInt(); - //qDebug() << "SearchWidget::slotRighButtonSearch QSO2: " << QString::number(_qsoID) << endl; + //qDebug() << "SearchWidget::slotRighButtonSearch QSO2: " << QString::number(_qsoID) << endl; } - //qDebug() << "SearchWidget::slotRighButtonSearch QSO: " << QString::number(_qsoID) << endl; + //qDebug() << "SearchWidget::slotRighButtonSearch QSO: " << QString::number(_qsoID) << endl; showMenuRightButtonSearchCreateActions(); - //qDebug() << "SearchWidget::slotRighButtonSearch -05" << endl; + //qDebug() << "SearchWidget::slotRighButtonSearch -05" << endl; righButtonSearchMenu(_qsoID); - //qDebug() << "SearchWidget::slotRighButtonSearch -06" << endl; + //qDebug() << "SearchWidget::slotRighButtonSearch -06" << endl; }else { - //qDebug() << "SearchWidget::slotRighButtonSearch ITEM=false" << endl; + //qDebug() << "SearchWidget::slotRighButtonSearch ITEM=false" << endl; return; } - //qDebug() << "SearchWidget::slotRighButtonSearch: " << QString::number(_qsoID) << endl; + //qDebug() << "SearchWidget::slotRighButtonSearch: " << QString::number(_qsoID) << endl; searchBoxLineEdit->setFocus(); } void SearchWidget::righButtonSearchMenu(const int trow) { - //qDebug() << "SearchWidget::slotshowRighButtonSearchMenu: " << QString::number(trow) << endl; + //qDebug() << "SearchWidget::slotshowRighButtonSearchMenu: " << QString::number(trow) << endl; bool qslReceived = dataProxy->isQSLReceived(trow); @@ -710,24 +741,24 @@ void SearchWidget::righButtonSearchMenu(const int trow) QMenu menu(this); menu.addAction(delQSOFromSearchAct); - //qDebug() << "SearchWidget::slotshowRighButtonSearchMenu: -03" << endl; + //qDebug() << "SearchWidget::slotshowRighButtonSearchMenu: -03" << endl; delQSOFromSearchAct->setData(trow); - //qDebug() << "SearchWidget::slotshowRighButtonSearchMenu: -04" << endl; + //qDebug() << "SearchWidget::slotshowRighButtonSearchMenu: -04" << endl; menu.addAction(qsoToEditFromSearchAct); - //qDebug() << "SearchWidget::slotshowRighButtonSearchMenu: -05" << endl; + //qDebug() << "SearchWidget::slotshowRighButtonSearchMenu: -05" << endl; qsoToEditFromSearchAct->setData(trow); - //qDebug() << "SearchWidget::slotshowRighButtonSearchMenu: -06" << endl; + //qDebug() << "SearchWidget::slotshowRighButtonSearchMenu: -06" << endl; menu.addSeparator(); - //qDebug() << "SearchWidget::slotshowRighButtonSearchMenu: -07" << endl; + //qDebug() << "SearchWidget::slotshowRighButtonSearchMenu: -07" << endl; if (qslSent) { - //qDebug() << "SearchWidget::slotshowRighButtonSearchMenu: -QSLSent" << endl; + //qDebug() << "SearchWidget::slotshowRighButtonSearchMenu: -QSLSent" << endl; } else { - //qDebug() << "SearchWidget::slotshowRighButtonSearchMenu: -QSL Not Sent" << endl; + //qDebug() << "SearchWidget::slotshowRighButtonSearchMenu: -QSL Not Sent" << endl; QMenu *menuSentQsl = menu.addMenu(tr("QSL Send")); menuSentQsl->addAction(qslSentViaBureauFromSearchAct); menuSentQsl->addAction(qslSentViaDirectFromSearchAct); @@ -742,49 +773,50 @@ void SearchWidget::righButtonSearchMenu(const int trow) qslSentViaBureauFromSearchAct->setData(trow); qslSentViaDirectFromSearchAct->setData(trow); qslSentRequestedAct->setData(trow); - //qDebug() << "SearchWidget::slotshowRighButtonSearchMenu: -end qsl not sent" << endl; + //qDebug() << "SearchWidget::slotshowRighButtonSearchMenu: -end qsl not sent" << endl; } if (qslReceived) { - //qDebug() << "SearchWidget::slotshowRighButtonSearchMenu: -QSLRec" << endl; + //qDebug() << "SearchWidget::slotshowRighButtonSearchMenu: -QSLRec" << endl; } else { - //qDebug() << "SearchWidget::slotshowRighButtonSearchMenu: -QSL Not Rec" << endl; + //qDebug() << "SearchWidget::slotshowRighButtonSearchMenu: -QSL Not Rec" << endl; QMenu *menuRecQsl = menu.addMenu(tr("QSL Rcvd")); - //qDebug() << "SearchWidget::slotshowRighButtonSearchMenu: -QSL Not Rec - 01" << endl; + //qDebug() << "SearchWidget::slotshowRighButtonSearchMenu: -QSL Not Rec - 01" << endl; menuRecQsl->addAction(qslRecViaBureauFromSearchAct); - //qDebug() << "SearchWidget::slotshowRighButtonSearchMenu: -QSL Not Rec - 02" << endl; + //qDebug() << "SearchWidget::slotshowRighButtonSearchMenu: -QSL Not Rec - 02" << endl; menuRecQsl->addAction(qslRecViaBureauMarkReqFromSearchAct); - //qDebug() << "SearchWidget::slotshowRighButtonSearchMenu: -QSL Not Rec - 03" << endl; + //qDebug() << "SearchWidget::slotshowRighButtonSearchMenu: -QSL Not Rec - 03" << endl; menuRecQsl->addAction(qslRecViaDirectFromSearchAct); - //qDebug() << "SearchWidget::slotshowRighButtonSearchMenu: -QSL Not Rec - 04" << endl; + //qDebug() << "SearchWidget::slotshowRighButtonSearchMenu: -QSL Not Rec - 04" << endl; menuRecQsl->addAction(qslRecViaDirectMarkReqFromSearchAct); - //qDebug() << "SearchWidget::slotshowRighButtonSearchMenu: -QSL Not Rec - 05" << endl; + //qDebug() << "SearchWidget::slotshowRighButtonSearchMenu: -QSL Not Rec - 05" << endl; menuRecQsl->addAction(qslRecRequestedAct); - //qDebug() << "SearchWidget::slotshowRighButtonSearchMenu: -QSL Not Rec - 06" << endl; + //qDebug() << "SearchWidget::slotshowRighButtonSearchMenu: -QSL Not Rec - 06" << endl; qslRecViaBureauFromSearchAct->setData(trow); - //qDebug() << "SearchWidget::slotshowRighButtonSearchMenu: -QSL Not Rec - 07" << endl; + //qDebug() << "SearchWidget::slotshowRighButtonSearchMenu: -QSL Not Rec - 07" << endl; qslRecViaBureauMarkReqFromSearchAct->setData(trow); - //qDebug() << "SearchWidget::slotshowRighButtonSearchMenu: -QSL Not Rec - 08" << endl; + //qDebug() << "SearchWidget::slotshowRighButtonSearchMenu: -QSL Not Rec - 08" << endl; qslRecViaDirectFromSearchAct->setData(trow); - //qDebug() << "SearchWidget::slotshowRighButtonSearchMenu: -QSL Not Rec - 09" << endl; + //qDebug() << "SearchWidget::slotshowRighButtonSearchMenu: -QSL Not Rec - 09" << endl; qslRecViaDirectMarkReqFromSearchAct->setData(trow); - //qDebug() << "SearchWidget::slotshowRighButtonSearchMenu: -QSL Not Rec - 10" << endl; + //qDebug() << "SearchWidget::slotshowRighButtonSearchMenu: -QSL Not Rec - 10" << endl; qslRecRequestedAct->setData(trow); - //qDebug() << "SearchWidget::slotshowRighButtonSearchMenu: -end qsl not rec" << endl; + //qDebug() << "SearchWidget::slotshowRighButtonSearchMenu: -end qsl not rec" << endl; } - //qDebug() << "SearchWidget::slotshowRighButtonSearchMenu: -end qsl" << endl; + //qDebug() << "SearchWidget::slotshowRighButtonSearchMenu: -end qsl" << endl; menu.exec(QCursor::pos()); - //qDebug() << "SearchWidget::slotshowRighButtonSearchMenu: -END" << endl; + //qDebug() << "SearchWidget::slotshowRighButtonSearchMenu: -END" << endl; } + void SearchWidget::showMenuRightButtonSearchCreateActions() { - //qDebug() << "SearchWidget::showMenuRightButtonSearchCreateActions" << endl; + //qDebug() << "SearchWidget::showMenuRightButtonSearchCreateActions" << endl; delQSOFromSearchAct = new QAction(tr("&Delete"), this); delQSOFromSearchAct->setShortcut(Qt::CTRL + Qt::Key_D); @@ -811,12 +843,12 @@ void SearchWidget::showMenuRightButtonSearchCreateActions() qslSentRequestedAct->setStatusTip(tr("Mark my QSL as requested")); connect(qslSentRequestedAct, SIGNAL(triggered()), this, SLOT( slotQSLSentMarkAsRequested() )); - qslSentViaDirectMarkRcvReqFromSearchAct = new QAction(tr("Via Direct and mark DX QSL as requested"), this); - qslSentViaDirectMarkRcvReqFromSearchAct->setStatusTip(tr("Send this QSL via direct and mark DX QSL as requested")); + qslSentViaDirectMarkRcvReqFromSearchAct = new QAction(tr("Via Direct && mark DX QSL as requested"), this); + qslSentViaDirectMarkRcvReqFromSearchAct->setStatusTip(tr("Send this QSL via direct & mark DX QSL as requested")); connect(qslSentViaDirectMarkRcvReqFromSearchAct, SIGNAL(triggered()), this, SLOT( slotQSLSentViaDirectMarkDXReqFromSearch() )); - qslSentViaBureauMarkRcvReqFromSearchAct = new QAction(tr("Via Bureau and mark DX QSL as requested"), this); - qslSentViaBureauMarkRcvReqFromSearchAct->setStatusTip(tr("Send this QSL via bureau and mark DX QSL as requested")); + qslSentViaBureauMarkRcvReqFromSearchAct = new QAction(tr("Via Bureau && mark DX QSL as requested"), this); + qslSentViaBureauMarkRcvReqFromSearchAct->setStatusTip(tr("Send this QSL via bureau & mark DX QSL as requested")); connect(qslSentViaBureauMarkRcvReqFromSearchAct, SIGNAL(triggered()), this, SLOT( slotQSLSentViaBureuMarkDXReqFromSearch() )); @@ -826,8 +858,8 @@ void SearchWidget::showMenuRightButtonSearchCreateActions() connect(qslRecRequestedAct, SIGNAL(triggered()), this, SLOT( slotQSLRecMarkAsRequested() )); - qslRecViaBureauMarkReqFromSearchAct = new QAction(tr("Via bureau and mark my QSL as requested"), this); - qslRecViaBureauMarkReqFromSearchAct->setStatusTip(tr("QSL received via bureau and mark my QSL as requested")); + qslRecViaBureauMarkReqFromSearchAct = new QAction(tr("Via bureau && mark my QSL as requested"), this); + qslRecViaBureauMarkReqFromSearchAct->setStatusTip(tr("QSL received via bureau & mark my QSL as requested")); connect(qslRecViaBureauMarkReqFromSearchAct, SIGNAL(triggered()), this, SLOT( slotQSLRecViaBureauMarkReqFromSearch() )); qslRecViaBureauFromSearchAct = new QAction(tr("Via bureau"), this); @@ -835,8 +867,8 @@ void SearchWidget::showMenuRightButtonSearchCreateActions() //qslRecViaBureauFromSearchAct->setShortcut(Qt::CTRL + Qt::Key_R); connect(qslRecViaBureauFromSearchAct, SIGNAL(triggered()), this, SLOT( slotQSLRecViaBureauFromSearch() )); - qslRecViaDirectMarkReqFromSearchAct = new QAction(tr("Direc&t and mark as my QSL requested"), this); - qslRecViaDirectMarkReqFromSearchAct->setStatusTip(tr("QSL received via direct and mark my QSL as requested")); + qslRecViaDirectMarkReqFromSearchAct = new QAction(tr("Direc&t && mark as my QSL requested"), this); + qslRecViaDirectMarkReqFromSearchAct->setStatusTip(tr("QSL received via direct & mark my QSL as requested")); connect(qslRecViaDirectMarkReqFromSearchAct, SIGNAL(triggered()), this, SLOT( slotQSLRecViaDirectMarkReqFromSearch() )); qslRecViaDirectFromSearchAct = new QAction(tr("Direc&t"), this); @@ -845,9 +877,10 @@ void SearchWidget::showMenuRightButtonSearchCreateActions() connect(qslRecViaDirectFromSearchAct, SIGNAL(triggered()), this, SLOT( slotQSLRecViaDirectFromSearch() )); } + void SearchWidget::slotQSLSentViaBureuMarkDXReqFromSearch() { - //qDebug() << "slotQSLSentViaBureuMarkDXReqFromSearch" << endl; + //qDebug() << "slotQSLSentViaBureuMarkDXReqFromSearch" << endl; int _qsoId = (qslSentViaBureauMarkRcvReqFromSearchAct->data()).toInt(); dataProxy->qslSentViaBureau(_qsoId, (QDate::currentDate()).toString("yyyy/MM/dd")); @@ -868,7 +901,7 @@ void SearchWidget::slotQSLSentViaBureuMarkDXReqFromSearch() void SearchWidget::slotQSLSentViaDirectMarkDXReqFromSearch() { - //qDebug() << "slotQSLSentViaDirectMarkDXReqFromSearch: " << endl; + //qDebug() << "slotQSLSentViaDirectMarkDXReqFromSearch: " << endl; int _qsoId = (qslSentViaDirectMarkRcvReqFromSearchAct->data()).toInt(); dataProxy->qslSentViaDirect(_qsoId, (QDate::currentDate()).toString("yyyy/MM/dd")); @@ -888,7 +921,7 @@ void SearchWidget::slotQSLSentViaDirectMarkDXReqFromSearch() void SearchWidget::slotQSLSentViaBureauFromSearch() { - // //qDebug() << "SearchWidget::slotQSLSentViaBureauFromSearch: " << (qslSentViaBureauFromSearchAct->data()).toString() << " - Id = " << QString::number( ((logModel->index( ( (qslSentViaBureauFromSearchAct->data()).toInt() ) , 0)).data(0).toInt()) ) << endl; + // //qDebug() << "SearchWidget::slotQSLSentViaBureauFromSearch: " << (qslSentViaBureauFromSearchAct->data()).toString() << " - Id = " << QString::number( ((logModel->index( ( (qslSentViaBureauFromSearchAct->data()).toInt() ) , 0)).data(0).toInt()) ) << endl; int _qsoId = (qslSentViaBureauFromSearchAct->data()).toInt(); dataProxy->qslSentViaBureau(_qsoId, (QDate::currentDate()).toString("yyyy/MM/dd")); @@ -907,7 +940,7 @@ void SearchWidget::slotQSLSentViaBureauFromSearch() void SearchWidget::slotQSLSentViaDirectFromSearch() { - //qDebug() << "SearchWidget::slotQSLSentViaDirectFromSearch: " << endl; + //qDebug() << "SearchWidget::slotQSLSentViaDirectFromSearch: " << endl; int _qsoId = ((qslSentViaDirectFromSearchAct->data()).toInt()); dataProxy->qslSentViaDirect(_qsoId, (QDate::currentDate()).toString("yyyy/MM/dd")); if(qslingNeeded) @@ -923,6 +956,7 @@ void SearchWidget::slotQSLSentViaDirectFromSearch() } + void SearchWidget::slotQSLSentMarkAsRequested() { // bool qslSentAsRequested(const int _qsoId, const QString _updateDate); @@ -953,9 +987,10 @@ void SearchWidget::slotQSLRecMarkAsRequested() } } + void SearchWidget::slotQSLRecViaBureauFromSearch() { - //qDebug() << "SearchWidget::slotQSLRecViaBureauFromLog: " << endl; + //qDebug() << "SearchWidget::slotQSLRecViaBureauFromLog: " << endl; int _qsoId = (qslRecViaBureauFromSearchAct->data()).toInt(); //logWindow->qslRecViaBureau(_qsoId); dataProxy->qslRecViaBureau(_qsoId, (QDate::currentDate()).toString("yyyy/MM/dd")); @@ -972,29 +1007,30 @@ void SearchWidget::slotQSLRecViaBureauFromSearch() void SearchWidget::slotQSLRecViaBureauMarkReqFromSearch() { - //qDebug() << "SearchWidget::slotQSLRecViaBureauMarkReqFromLog - Start" << endl; + //qDebug() << "SearchWidget::slotQSLRecViaBureauMarkReqFromLog - Start" << endl; int _qsoId = (qslRecViaBureauMarkReqFromSearchAct->data()).toInt(); - //qDebug() << "SearchWidget::slotQSLRecViaBureauMarkReqFromLog: 01" << endl; + //qDebug() << "SearchWidget::slotQSLRecViaBureauMarkReqFromLog: 01" << endl; qslRecViaBureauMarkReq(_qsoId); - //qDebug() << "SearchWidget::slotQSLRecViaBureauMarkReqFromLog: 02: n: " << QString::number(_qsoId) << endl; + //qDebug() << "SearchWidget::slotQSLRecViaBureauMarkReqFromLog: 02: n: " << QString::number(_qsoId) << endl; if(qslingNeeded) { - //qDebug() << "SearchWidget::slotQSLRecViaBureauMarkReqFromLog: 03" << endl; + //qDebug() << "SearchWidget::slotQSLRecViaBureauMarkReqFromLog: 03" << endl; searchToolNeededQSLToSend(); - //qDebug() << "SearchWidget::slotQSLRecViaBureauMarkReqFromLog: 04" << endl; + //qDebug() << "SearchWidget::slotQSLRecViaBureauMarkReqFromLog: 04" << endl; } else { - //qDebug() << "SearchWidget::slotQSLRecViaBureauMarkReqFromLog: 05" << endl; + //qDebug() << "SearchWidget::slotQSLRecViaBureauMarkReqFromLog: 05" << endl; slotSearchBoxTextChanged(); - //qDebug() << "SearchWidget::slotQSLRecViaBureauMarkReqFromLog: 06" << endl; + //qDebug() << "SearchWidget::slotQSLRecViaBureauMarkReqFromLog: 06" << endl; } - //qDebug() << "SearchWidget::slotQSLRecViaBureauMarkReqFromLog: 07" << endl; + //qDebug() << "SearchWidget::slotQSLRecViaBureauMarkReqFromLog: 07" << endl; } + void SearchWidget::slotQSLRecViaDirectFromSearch() { - //qDebug() << "SearchWidget::slotQSLRecViaDirectFromLog: " << endl; + //qDebug() << "SearchWidget::slotQSLRecViaDirectFromLog: " << endl; int _qsoId = (qslRecViaDirectFromSearchAct->data()).toInt(); //logWindow->qslRecViaDirect(_qsoId); dataProxy->qslRecViaDirect(_qsoId, (QDate::currentDate()).toString("yyyy/MM/dd")); @@ -1011,7 +1047,7 @@ void SearchWidget::slotQSLRecViaDirectFromSearch() void SearchWidget::slotQSLRecViaDirectMarkReqFromSearch() { - //qDebug() << "SearchWidget::slotQSLRecViaDirectFromLog: " << endl; + //qDebug() << "SearchWidget::slotQSLRecViaDirectFromLog: " << endl; int _qsoId = (qslRecViaDirectMarkReqFromSearchAct->data()).toInt(); qslRecViaDirectMarkReq(_qsoId); if(qslingNeeded) @@ -1025,21 +1061,23 @@ void SearchWidget::slotQSLRecViaDirectMarkReqFromSearch() // Mark Sent, Bureau, date, update log. } + void SearchWidget::qslRecViaBureauMarkReq(const int _qsoId) { - //qDebug() << "SearchWidget::qslRecViaBureau: " << QString::number(_qsoId) << "/" << (QDate::currentDate()).toString("yyyy/MM/dd") << endl; + //qDebug() << "SearchWidget::qslRecViaBureau: " << QString::number(_qsoId) << "/" << (QDate::currentDate()).toString("yyyy/MM/dd") << endl; //setAwards(const int _dxcc, const int _waz, const int _band, const int _mode, const int _workedOrConfirmed); dataProxy->qslRecViaBureau(_qsoId, (QDate::currentDate()).toString("yyyy/MM/dd"), true); //awards->setAwards(_qsoId); //Update the DXCC award status //emit logRefresh(); //emit updateAwards(); - //qDebug() << "SearchWidget::qslRecViaBureau: END" << endl; + //qDebug() << "SearchWidget::qslRecViaBureau: END" << endl; } + void SearchWidget::qslRecViaDirectMarkReq(const int _qsoId) { - //qDebug() << "SearchWidget::qslRecViaDirect: " << QString::number(_qsoId) << endl; + //qDebug() << "SearchWidget::qslRecViaDirect: " << QString::number(_qsoId) << endl; dataProxy->qslRecViaDirect(_qsoId, (QDate::currentDate()).toString("yyyy/MM/dd"), true); //awards->setAwards(_qsoId); @@ -1048,15 +1086,16 @@ void SearchWidget::qslRecViaDirectMarkReq(const int _qsoId) //emit updateAwards(); } + void SearchWidget::slotQSOToEditFromSearch() { - //qDebug() << "slotQSOToEditFromSearch: " << (qsoToEditFromSearchAct->data()).toString() << endl; + //qDebug() << "slotQSOToEditFromSearch: " << (qsoToEditFromSearchAct->data()).toString() << endl; actionQSODoubleClicked((qsoToEditFromSearchAct->data()).toInt()); } void SearchWidget::slotQsoDeleteFromSearch() { - //qDebug() << "SearchWidget::slotQsoDeleteFromSearch: " << (delQSOFromSearchAct->data()).toString() << endl; + //qDebug() << "SearchWidget::slotQsoDeleteFromSearch: " << (delQSOFromSearchAct->data()).toString() << endl; int QSOid = (delQSOFromSearchAct->data()).toInt(); @@ -1121,7 +1160,7 @@ void SearchWidget::slotQsoDeleteFromSearch() void SearchWidget::slotToolSearchQSL(const int actionQSL) { - //qDebug() << "SearchWidget::slotToolSearchQSL: " << QString::number(actionQSL) << " - LogNumber: " << QString::number(currentLog) << endl; + //qDebug() << "SearchWidget::slotToolSearchQSL: " << QString::number(actionQSL) << " - LogNumber: " << QString::number(currentLog) << endl; // 2 means QSL_RCVD = 'R' QString stringQuery = QString(); QString message = QString(); @@ -1132,7 +1171,7 @@ void SearchWidget::slotToolSearchQSL(const int actionQSL) { case 0://void searchToolNeededQSLToSend(); //aux = QString("SELECT count(id) FROM log WHERE lognumber='%1'").arg(currentLog); - //qDebug() << "SearchWidget::slotToolSearchQSL: CASE 0" << endl; + //qDebug() << "SearchWidget::slotToolSearchQSL: CASE 0" << endl; stringQuery = QString("SELECT call, qso_date, time_on, bandid, modeid, qsl_sent, qsl_rcvd, station_callsign, log.id FROM log JOIN awarddxcc ON awarddxcc.qsoid=log.id WHERE awarddxcc.confirmed='0' AND log.qsl_sent!='Y' AND log.qsl_sent!='Q' AND log.qsl_sent!='R' AND log.lognumber='%1'").arg(currentLog); message = tr("Needed QSO to send the QSL"); qslingNeeded = true; @@ -1140,25 +1179,25 @@ void SearchWidget::slotToolSearchQSL(const int actionQSL) //dxUpRightTab->setCurrentIndex(2); break; case 1: - //qDebug() << "SearchWidget::slotToolSearchQSL: CASE 1" << endl; + //qDebug() << "SearchWidget::slotToolSearchQSL: CASE 1" << endl; stringQuery = QString("SELECT call, qso_date, time_on, bandid, modeid, qsl_sent, qsl_rcvd, dxcc, station_callsign, id FROM log WHERE qsl_sent=='R' AND lognumber='%1'").arg(currentLog); message = tr("My QSL requested to be sent"); break; case 2://void slotToolSearchNeededQSLPendingToReceive(); - //qDebug() << "SearchWidget::slotToolSearchQSL: CASE 2" << endl; + //qDebug() << "SearchWidget::slotToolSearchQSL: CASE 2" << endl; stringQuery = QString("SELECT call, qso_date, time_on, bandid, modeid, qsl_sent, qsl_rcvd, dxcc, station_callsign, log.id FROM log WHERE lognumber='%1' AND ( (qsl_sent='Y' AND qsl_rcvd!='Y' AND qsl_rcvd!='I') OR qsl_rcvd='R')").arg(currentLog); message = tr("DX QSL pending to be received"); break; case 3://void slotToolSearchNeededQSLRequested() - //qDebug() << "SearchWidget::slotToolSearchQSL: CASE 3" << endl; + //qDebug() << "SearchWidget::slotToolSearchQSL: CASE 3" << endl; stringQuery = QString("SELECT call, qso_date, time_on, bandid, modeid, qsl_sent, qsl_rcvd, dxcc, station_callsign, log.id FROM log WHERE lognumber='%1' AND qsl_rcvd='R'").arg(currentLog); message = tr("DX QSL pending to be received"); break; default: - //qDebug() << "SearchWidget::slotToolSearchQSL: CASE DEFAULT" << endl; + //qDebug() << "SearchWidget::slotToolSearchQSL: CASE DEFAULT" << endl; // should never be reached return; -// break; + break; } //int nameCol = -1; @@ -1179,12 +1218,12 @@ void SearchWidget::slotToolSearchQSL(const int actionQSL) /* return; - //qDebug() << "SearchWidget::slotToolSearchQSL: After the return" << endl; + //qDebug() << "SearchWidget::slotToolSearchQSL: After the return" << endl; if (!query.exec()) { emit queryError(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); - //qDebug() << "SearchWidget::slotToolSearchQSL: Query ERROR" << endl; + //qDebug() << "SearchWidget::slotToolSearchQSL: Query ERROR" << endl; //TODO: Control the error!! } @@ -1225,8 +1264,8 @@ void SearchWidget::slotToolSearchQSL(const int actionQSL) nameCol = rec.indexOf("dxcc"); _dxcc= (query.value(nameCol)).toString(); - //qDebug() << "SearchWidget::slotToolSearchQSL: Mode: " << _mode << endl; - //qDebug() << "SearchWidget::slotToolSearchQSL: mode " << QString::number((query.value(nameCol)).toInt()) << endl; + //qDebug() << "SearchWidget::slotToolSearchQSL: Mode: " << _mode << endl; + //qDebug() << "SearchWidget::slotToolSearchQSL: mode " << QString::number((query.value(nameCol)).toInt()) << endl; nameCol = rec.indexOf("qsl_sent"); _qsltx = (query.value(nameCol)).toString(); @@ -1244,7 +1283,7 @@ void SearchWidget::slotToolSearchQSL(const int actionQSL) if (stationCallSignShownInSearch) { - //qDebug() << "SearchWidget::slotToolSearchQSL: stationCallSign "<< endl; + //qDebug() << "SearchWidget::slotToolSearchQSL: stationCallSign "<< endl; nameCol = rec.indexOf("station_callsign"); if (((query.value(nameCol)).toString()).length()>=3) @@ -1297,9 +1336,10 @@ void SearchWidget::slotToolSearchQSL(const int actionQSL) */ } + void SearchWidget::showQSOs(QList qsoIdList) { - //qDebug() << "SearchWidget::showQSOs received QSOs: " << QString::number(qsoIdList.length()) << endl; + //qDebug() << "SearchWidget::showQSOs received QSOs: " << QString::number(qsoIdList.length()) << endl; if (qsoIdList.length()<0) @@ -1307,7 +1347,7 @@ void SearchWidget::showQSOs(QList qsoIdList) return; } //QString _call, _dateTime, _band, _mode, _freq, _qsltx, _qslrx, _id, _stationcallsign, _dxcc; - //qDebug() << "SearchWidget::showQSOs query: : 01" << endl; + //qDebug() << "SearchWidget::showQSOs query: : 01" << endl; int i = 0; QSqlQuery query; QString queryString = QString("SELECT call, qso_date, time_on, bandid, modeid, dxcc, qsl_rcvd, qsl_sent, station_callsign, id FROM log WHERE "); @@ -1317,38 +1357,39 @@ void SearchWidget::showQSOs(QList qsoIdList) { i++; } - //qDebug() << "SearchWidget::showQSOs query: : 02 - :" << QString::number(i) << endl; + //qDebug() << "SearchWidget::showQSOs query: : 02 - :" << QString::number(i) << endl; queryString = queryString + QString("id = '%1'").arg(qsoIdList.at(i)); i++; - //qDebug() << "SearchWidget::showQSOs query: : 03 - :" << QString::number(i) << endl; + //qDebug() << "SearchWidget::showQSOs query: : 03 - :" << QString::number(i) << endl; for (int j=i; j. * + * along with KLog. If not, see . * * * *****************************************************************************/ // @@ -49,7 +49,6 @@ public: void clear(); void showQSO(const int _q); void showQSOs(QList qsoIdList); - void setStationCallsign(const QString &_st); void searchToolNeededQSLToSend(); @@ -90,8 +89,6 @@ private slots: void slotQSOToEditFromSearch(); void qslRecViaBureauMarkReq(const int _qsoId); void qslRecViaDirectMarkReq(const int _qsoId); - void slotStationCallsignChanged(); - void slotRadioButtonToggled(); signals: @@ -106,8 +103,6 @@ signals: private: void createUI(); - void selectStationCallSign(); - void fillStationCallsignComboBox(); // The following function is adding a line to the search list void addQSOToSearchList(const QString _call, const QString _dateTime, const QString _band, const QString _mode, const QString _qslrx, const QString _qsltx, const QString _stationcallsign, const QString _id, const QColor _color); bool fillTheList(const QString _query); @@ -118,12 +113,10 @@ private: QPushButton *searchBoxClearButton, *searchBoxExportButton, *searchBoxSelectAllButton, *searchBoxReSearchButton; QRadioButton *searchAllRadioButton; QTreeWidget *searchResultsTreeWidget; - QComboBox *stationCallsignComboBox; bool qslingNeeded; bool searchSelectAllClicked, stationCallSignShownInSearch; int currentLog; - QString mainStationCallsign; DataProxy_SQLite *dataProxy; Awards *awards; @@ -146,8 +139,6 @@ private: QAction *qslSentRequestedAct; QAction *qslRecRequestedAct; - - }; #endif // SEARCHWIDGET_H diff --git a/setupdialog.cpp b/setupdialog.cpp index 7833c0f6..604e9983 100644 --- a/setupdialog.cpp +++ b/setupdialog.cpp @@ -20,7 +20,7 @@ * 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 . * + * along with KLog. If not, see . * * * *****************************************************************************/ @@ -34,7 +34,7 @@ This class calls all the othet "Setup..." to manage the configuration SetupDialog::SetupDialog(DataProxy_SQLite *dp, const bool _firstTime) { - //qDebug() << "SetupDialog::SetupDialog 1" << endl; + //qDebug() << "SetupDialog::SetupDialog 1" << endl; logSeverity = 7; //7 Debug /0=emergency or no debug util = new Utilities; constrid = 1; @@ -42,53 +42,51 @@ SetupDialog::SetupDialog(DataProxy_SQLite *dp, const bool _firstTime) configFileName = "klogrc"; version = "."; pageRequested = 0; - //qDebug() << "SetupDialog::SetupDialog 2" << endl; + //qDebug() << "SetupDialog::SetupDialog 2" << endl; dataProxy = dp; - //qDebug() << "SetupDialog::SetupDialog 3" << endl; + //qDebug() << "SetupDialog::SetupDialog 3" << endl; firstTime = _firstTime; if (firstTime) { - //qDebug() << "SetupDialog::SetupDialog FIRST TIME = TRUE" << endl; + //qDebug() << "SetupDialog::SetupDialog FIRST TIME = TRUE" << endl; } else { - //qDebug() << "SetupDialog::SetupDialog FIRST TIME = FALSE" << endl; + //qDebug() << "SetupDialog::SetupDialog FIRST TIME = FALSE" << endl; } - //qDebug() << "SetupDialog::SetupDialog 3.1" << endl; + //qDebug() << "SetupDialog::SetupDialog 3.1" << endl; logsPageTabN=-1; - //qDebug() << "SetupDialog::SetupDialog 3.2" << endl; + //qDebug() << "SetupDialog::SetupDialog 3.2" << endl; locator = new Locator(); - //qDebug() << "SetupDialog::SetupDialog 3.3" << endl; + //qDebug() << "SetupDialog::SetupDialog 3.3" << endl; tabWidget = new QTabWidget; - //qDebug() << "SetupDialog::SetupDialog 3.4" << endl; + //qDebug() << "SetupDialog::SetupDialog 3.4" << endl; hamlibPage = new SetupPageHamLib(dataProxy, this); - //qDebug() << "SetupDialog::SetupDialog 3.4.1" << endl; + //qDebug() << "SetupDialog::SetupDialog 3.4.1" << endl; userDataPage = new SetupPageUserDataPage(dataProxy); - //qDebug() << "SetupDialog::SetupDialog 3.5" << endl; + //qDebug() << "SetupDialog::SetupDialog 3.5" << endl; bandModePage = new SetupPageBandMode(dataProxy, this); - //qDebug() << "SetupDialog::SetupDialog 3.6" << endl; + //qDebug() << "SetupDialog::SetupDialog 3.6" << endl; dxClusterPage = new SetupPageDxCluster(this); - //qDebug() << "SetupDialog::SetupDialog 3.7" << endl; + //qDebug() << "SetupDialog::SetupDialog 3.7" << endl; colorsPage = new SetupPageColors(this); - //qDebug() << "SetupDialog::SetupDialog 3.8" << endl; + //qDebug() << "SetupDialog::SetupDialog 3.8" << endl; miscPage = new SetupPageMisc(this); - //qDebug() << "SetupDialog::SetupDialog 3.9" << endl; + //qDebug() << "SetupDialog::SetupDialog 3.9" << endl; worldEditorPage = new SetupPageWorldEditor (dataProxy, this); - //qDebug() << "SetupDialog::SetupDialog 3.10" << endl; + //qDebug() << "SetupDialog::SetupDialog 3.10" << endl; logsPage = new SetupPageLogs(dataProxy, this); - //qDebug() << "SetupDialog::SetupDialog 3.11" << endl; + //qDebug() << "SetupDialog::SetupDialog 3.11" << endl; clubLogPage = new SetupPageClubLog(this); - lotwPage = new SetupPageLoTW(this); - //qDebug() << "SetupDialog::SetupDialog 3.12" << endl; + //qDebug() << "SetupDialog::SetupDialog 3.12" << endl; UDPPage = new SetupPageUDP(this); - //qDebug() << "SetupDialog::SetupDialog 3.13" << endl; + //qDebug() << "SetupDialog::SetupDialog 3.13" << endl; satsPage = new SetupPageSats(dataProxy, this); //hamlibPage = new SetupPageHamLib(dataProxy, this); - interfacesWindowsPage = new SetupPageInterfacesWindows(this); - //qDebug() << "SetupDialog::SetupDialog 4" << endl; + //qDebug() << "SetupDialog::SetupDialog 4" << endl; tabWidget->addTab(userDataPage, tr("My Data")); tabWidget->addTab(bandModePage, tr("Bands/Modes")); @@ -98,21 +96,18 @@ SetupDialog::SetupDialog(DataProxy_SQLite *dp, const bool _firstTime) tabWidget->addTab(worldEditorPage, tr("World Editor")); logsPageTabN = tabWidget->addTab(logsPage, tr("Logs")); tabWidget->addTab(clubLogPage, "ClubLog"); - tabWidget->addTab(lotwPage, "LoTW"); tabWidget->addTab(UDPPage, "WSJT-X"); tabWidget->addTab(satsPage , tr("Satellites")); tabWidget->addTab(hamlibPage, tr ("HamLib")); - //tabWidget->addTab(interfacesWindowsPage, tr ("Interfaces")); QPushButton *closeButton = new QPushButton(tr("Cancel")); - okButton = new QPushButton(tr("Ok")); + QPushButton *okButton = new QPushButton(tr("OK")); connect(closeButton, SIGNAL(clicked()), this, SLOT(slotCancelButtonClicked())); connect(okButton, SIGNAL(clicked()), this, SLOT(slotOkButtonClicked())); connect(logsPage, SIGNAL(queryError(QString, QString, int, QString)), this, SLOT(slotQueryErrorManagement(QString, QString, int, QString)) ); - connectActions(); @@ -139,21 +134,21 @@ SetupDialog::SetupDialog(DataProxy_SQLite *dp, const bool _firstTime) tabWidget->setCurrentIndex(logsPageTabN); } nolog = !(haveAtleastOneLog()); - //qDebug() << "SetupDialog::SetupDialog 1 END" << endl; + //qDebug() << "SetupDialog::SetupDialog 1 END" << endl; } SetupDialog::SetupDialog(DataProxy_SQLite *dp, const QString &_configFile, const QString &_softwareVersion, const int _page, const bool _firstTime) { - //qDebug() << "SetupDialog::SetupDialog 2: " << _configFile << "/" << _softwareVersion << "/" << QString::number(_page) ; + //qDebug() << "SetupDialog::SetupDialog 2: " << _configFile << "/" << _softwareVersion << "/" << QString::number(_page) ; if (_firstTime) { - //qDebug() << "/True"; + //qDebug() << "/True"; } else { - //qDebug() << "/False"; + //qDebug() << "/False"; } - //qDebug() << endl; + //qDebug() << endl; logSeverity = 7; constrid = 2; util = new Utilities; @@ -163,7 +158,7 @@ SetupDialog::SetupDialog(DataProxy_SQLite *dp, const QString &_configFile, const version = _softwareVersion; pageRequested = _page; int logsPageTabN=-1; - //qDebug() << "SetupDialog::SetupDialog 01" << endl; + //qDebug() << "SetupDialog::SetupDialog 01" << endl; locator = new Locator(); @@ -177,14 +172,12 @@ SetupDialog::SetupDialog(DataProxy_SQLite *dp, const QString &_configFile, const worldEditorPage = new SetupPageWorldEditor (dataProxy, this); logsPage = new SetupPageLogs(dataProxy, this); clubLogPage = new SetupPageClubLog(this); - lotwPage = new SetupPageLoTW(this); UDPPage = new SetupPageUDP(this); satsPage = new SetupPageSats(dataProxy, this); hamlibPage = new SetupPageHamLib(dataProxy, this); - interfacesWindowsPage = new SetupPageInterfacesWindows(this); - //qDebug() << "SetupDialog::SetupDialog 02" << endl; + //qDebug() << "SetupDialog::SetupDialog 02" << endl; tabWidget->addTab(userDataPage, tr("User data")); tabWidget->addTab(bandModePage, tr("Bands/Modes")); tabWidget->addTab(dxClusterPage, tr("D&X-Cluster")); @@ -193,16 +186,14 @@ SetupDialog::SetupDialog(DataProxy_SQLite *dp, const QString &_configFile, const tabWidget->addTab(worldEditorPage, tr("World Editor")); logsPageTabN = tabWidget->addTab(logsPage, tr("Logs")); tabWidget->addTab(clubLogPage, tr("ClubLog")); - tabWidget->addTab(lotwPage, tr("LoTW")); tabWidget->addTab(UDPPage, tr("WSJT-X")); tabWidget->addTab(satsPage , tr("Satellites")); tabWidget->addTab(hamlibPage, tr ("HamLib")); - tabWidget->addTab(interfacesWindowsPage, tr ("Interfaces")); - //qDebug() << "SetupDialog::SetupDialog 03" << endl; + //qDebug() << "SetupDialog::SetupDialog 03" << endl; QPushButton *closeButton = new QPushButton(tr("Cancel")); - okButton = new QPushButton(tr("OK")); + QPushButton *okButton = new QPushButton(tr("OK")); QHBoxLayout *horizontalLayout = new QHBoxLayout; horizontalLayout->addWidget(tabWidget); @@ -216,43 +207,42 @@ SetupDialog::SetupDialog(DataProxy_SQLite *dp, const QString &_configFile, const mainLayout->addLayout(horizontalLayout); mainLayout->addLayout(buttonsLayout); - //qDebug() << "SetupDialog::SetupDialog 04" << endl; + //qDebug() << "SetupDialog::SetupDialog 04" << endl; setLayout(mainLayout); setWindowTitle(tr("Config Dialog")); - //qDebug() << "SetupDialog::SetupDialog 05" << endl; + //qDebug() << "SetupDialog::SetupDialog 05" << endl; slotReadConfigData(); - //qDebug() << "SetupDialog::SetupDialog 05.1" << endl; + //qDebug() << "SetupDialog::SetupDialog 05.1" << endl; if ((pageRequested==6) && (logsPageTabN>0))// The user is opening a new log { - //qDebug() << "SetupDialog::SetupDialog 05.2" << endl; + //qDebug() << "SetupDialog::SetupDialog 05.2" << endl; tabWidget->setCurrentIndex(logsPageTabN); } - //qDebug() << "SetupDialog::SetupDialog 05.3" << endl; + //qDebug() << "SetupDialog::SetupDialog 05.3" << endl; nolog = !(haveAtleastOneLog()); connect(closeButton, SIGNAL(clicked()), this, SLOT(slotCancelButtonClicked())); connect(okButton, SIGNAL(clicked()), this, SLOT(slotOkButtonClicked())); connectActions(); - //qDebug() << "SetupDialog::SetupDialog 2 - END" << endl; + //qDebug() << "SetupDialog::SetupDialog 2 - END" << endl; } SetupDialog::~SetupDialog() { - //qDebug() << "SetupDialog::~SetupDialog " << endl; + //qDebug() << "SetupDialog::~SetupDialog " << endl; } void SetupDialog::connectActions() { emit debugLog (Q_FUNC_INFO, "Start", logSeverity); connect (logsPage, SIGNAL(newLogData(QStringList)), this, SLOT(slotAnalyzeNewLogData(QStringList))); - connect(logsPage, SIGNAL(focusOK()), this, SLOT(slotFocusOK()) ); connect (userDataPage, SIGNAL(stationCallSignal(QString)), this, SLOT(slotSetStationCallSign(QString))); connect (userDataPage, SIGNAL(operatorsSignal(QString)), this, SLOT(slotSetOperators(QString))); connect (userDataPage, SIGNAL(enterKey()), this, SLOT(slotOkButtonClicked())); @@ -262,17 +252,17 @@ void SetupDialog::connectActions() void SetupDialog::setData(const QString &_configFile, const QString &_softwareVersion, const int _page, const bool _firstTime) { - //qDebug() << "SetupDialog::setData: " << "/" << _configFile << "/" << _softwareVersion << "/" << QString::number(_page) << endl; + //qDebug() << "SetupDialog::setData: " << "/" << _configFile << "/" << _softwareVersion << "/" << QString::number(_page) << endl; emit debugLog (Q_FUNC_INFO, "Start", logSeverity); nolog = !(haveAtleastOneLog()); firstTime = _firstTime; if (firstTime) { - //qDebug() << "SetupDialog::setData FIRST TIME! " << endl; + //qDebug() << "SetupDialog::setData FIRST TIME! " << endl; } else { - //qDebug() << "SetupDialog::setData NOT FIRST TIME! " << endl; + //qDebug() << "SetupDialog::setData NOT FIRST TIME! " << endl; miscPage->setUseDefaultDBPath(miscPage->getDefaultDBPath()); } @@ -282,12 +272,12 @@ void SetupDialog::setData(const QString &_configFile, const QString &_softwareVe setPage(_page); //removeBandModeDuplicates(); emit debugLog (Q_FUNC_INFO, "END", logSeverity); - //qDebug() << "SetupDialog::setData - END" << endl; + //qDebug() << "SetupDialog::setData - END" << endl; } void SetupDialog::setConfigFile(const QString &_configFile) { - //qDebug() << "SetupDialog::setConfigFile" << endl; + //qDebug() << "SetupDialog::setConfigFile" << endl; emit debugLog (Q_FUNC_INFO, "Start", logSeverity); configFileName = _configFile; emit debugLog (Q_FUNC_INFO, "END", logSeverity); @@ -295,7 +285,7 @@ void SetupDialog::setConfigFile(const QString &_configFile) void SetupDialog::setSoftVersion(const QString &_softwareVersion) { - //qDebug() << "SetupDialog::setSoftVersion" << endl; + //qDebug() << "SetupDialog::setSoftVersion" << endl; emit debugLog (Q_FUNC_INFO, "Start", logSeverity); version = _softwareVersion; emit debugLog (Q_FUNC_INFO, "END", logSeverity); @@ -304,7 +294,7 @@ void SetupDialog::setSoftVersion(const QString &_softwareVersion) void SetupDialog::setPage(const int _page) { - //qDebug() << "SetupDialog::setPage("<setIcon(QIcon(":/images/config.png")); @@ -408,7 +398,7 @@ void SetupDialog::createIcons() void SetupDialog::changePage(QListWidgetItem *current, QListWidgetItem *previous) { - //qDebug() << "SetupDialog::changePage" << endl; + //qDebug() << "SetupDialog::changePage" << endl; emit debugLog (Q_FUNC_INFO, "Start", logSeverity); if (!current) current = previous; @@ -421,14 +411,14 @@ void SetupDialog::changePage(QListWidgetItem *current, QListWidgetItem *previous void SetupDialog::slotOkButtonClicked() { - //qDebug() << "SetupDialog::slotOkButtonClicked" << endl; + //qDebug() << "SetupDialog::slotOkButtonClicked" << endl; emit debugLog (Q_FUNC_INFO, "Start", logSeverity); if (!miscPage->areDBPathChangesApplied()) { QMessageBox msgBox; msgBox.setIcon(QMessageBox::Warning); - msgBox.setText(tr("DB has not been moved to new path.")); + msgBox.setText(tr("DB has not been moved to new path")); msgBox.setInformativeText(tr("Go to the Misc tab and click on Move DB\n or the DB will not be moved to the new location.")); msgBox.exec(); emit debugLog (Q_FUNC_INFO, "END-1", logSeverity); @@ -447,7 +437,7 @@ void SetupDialog::slotOkButtonClicked() if (!haveAtleastOneLog()) { - //qDebug() << "SetupDialog::slotOkButtonClicked - NO LOG!" << endl; + //qDebug() << "SetupDialog::slotOkButtonClicked - NO LOG!" << endl; QMessageBox msgBox; msgBox.setIcon(QMessageBox::Information); @@ -463,6 +453,7 @@ void SetupDialog::slotOkButtonClicked() return; } + QFile file (configFileName); QString tmp; tmp = "true"; @@ -576,12 +567,7 @@ void SetupDialog::slotOkButtonClicked() stream << "CheckNewVersions=" << miscPage->getCheckNewVersions() << ";" << endl; stream << "ManageDXMarathon=" << miscPage->getDXMarathon() << ";" << endl; stream << "DebugLog=" << miscPage->getDebugLog() << ";" << endl; - //stream << "LogSort=" << miscPage->getLogSort() << ";" << endl; - stream << "SendEQSLByDefault=" << miscPage->getSendEQSLByDefault() << ";" << endl; - stream << "PSTRotatorActive=" << interfacesWindowsPage->getSendToPSTRotator() << ";" << endl; - stream << "PSTRotatorServer=" << interfacesWindowsPage->getPSTRotatorUDPServer() << ";" << endl; - stream << "PSTRotatorPort=" << interfacesWindowsPage->getPSTRotatorUDPServerPort() << ";" << endl; - + stream << "LogSort=" << miscPage->getLogSort() << ";" << endl; if ((miscPage->getReportInfo()).toUpper() == "TRUE") { @@ -599,7 +585,7 @@ void SetupDialog::slotOkButtonClicked() stringList << dxClusterPage->getDxclusterServersComboBox(); if (stringList.size()>0) - { + { for (int i = 0; i < stringList.size(); i++) { stream << "DXClusterServerPort="<< stringList.at(i) << ";" << endl; @@ -614,7 +600,6 @@ void SetupDialog::slotOkButtonClicked() stream << "DXClusterShowAnn=" << dxClusterPage->getShowANNRadiobutton() << ";" << endl; stream << "DXClusterShowWWV=" << dxClusterPage->getShowWWVRadiobutton() << ";" << endl; stream << "DXClusterShowWCY=" << dxClusterPage->getShowWCYRadiobutton() << ";" << endl; - stream << "DXClusterSave=" << dxClusterPage->getSaveActivityRadiobutton() << ";" << endl; stream << "NewOneColor=" << colorsPage->getNewOneColor() << ";" << endl; stream << "NeededColor=" << colorsPage->getNeededColor() << ";" << endl; @@ -637,26 +622,6 @@ void SetupDialog::slotOkButtonClicked() // CLUBLOG - // LOTW - stream << "LoTWActive=" << lotwPage->getLoTW() << ";" << endl; - tmp = lotwPage->getPath(); - if (tmp.length()>0) - { - stream << "LoTWPath=" << tmp << ";" << endl; - } - tmp = lotwPage->getLoTWUser(); - if (tmp.length()>0) - { - stream << "LoTWUSer=" << tmp << ";" << endl; - } - tmp = lotwPage->getLoTWPass(); - if (tmp.length()>0) - { - stream << "LoTWPass=" << tmp << ";" << endl; - } - - // LOTW - //WSJTX stream << "UDPServer=" << UDPPage->getUDPServer() << ";" << endl; stream << "UDPServerPort=" << UDPPage->getUDPServerPort() << ";" << endl; @@ -665,26 +630,26 @@ void SetupDialog::slotOkButtonClicked() stream << "RealTimeFromWSJTX=" << UDPPage->getReaDataFromWSJTx() << ";" << endl; stream << "InfoTimeOut=" << UDPPage->getTimeout() << ";" << endl; - //qDebug() << "SetupDialog::slotOkButtonClicked: hamlib" << endl; + //qDebug() << "SetupDialog::slotOkButtonClicked: hamlib" << endl; QString _aa = hamlibPage->getData(); stream << _aa << endl; - //qDebug() << "SetupDialog::slotOkButtonClicked: hamlib-2: " << _aa << endl; + //qDebug() << "SetupDialog::slotOkButtonClicked: hamlib-2: " << _aa << endl; //WSJTX file.close (); } - //qDebug() << "SetupDialog::slotOkButtonClicked - just before leaving" << endl; + //qDebug() << "SetupDialog::slotOkButtonClicked - just before leaving" << endl; QDialog::accept(); emit debugLog (Q_FUNC_INFO, "END", logSeverity); - //qDebug() << "SetupDialog::slotOkButtonClicked - END" << endl; + //qDebug() << "SetupDialog::slotOkButtonClicked - END" << endl; //close(); } void SetupDialog::slotReadConfigData() { - //qDebug() << "SetupDialog::slotReadConfigData" << endl; + //qDebug() << "SetupDialog::slotReadConfigData" << endl; emit debugLog (Q_FUNC_INFO, "Start", logSeverity); if (firstTime) { @@ -695,16 +660,16 @@ void SetupDialog::slotReadConfigData() bandModePage->setActiveBands(bands); } - //qDebug() << "SetupDialog::slotReadConfigData - 1" << endl; + //qDebug() << "SetupDialog::slotReadConfigData - 1" << endl; QFile file(configFileName); if (!file.open(QIODevice::ReadOnly | QIODevice::Text)){ - //qDebug() << "SetupDialog::slotReadConfigData() File not found" << configFileName << endl; + //qDebug() << "SetupDialog::slotReadConfigData() File not found" << configFileName << endl; //firstTime = true; emit debugLog (Q_FUNC_INFO, "END-1", logSeverity); return; } - //qDebug() << "SetupDialog::slotReadConfigData - 2" << endl; + //qDebug() << "SetupDialog::slotReadConfigData - 2" << endl; //dxClusterServers.clear(); @@ -712,9 +677,9 @@ void SetupDialog::slotReadConfigData() while (!file.atEnd()) { QByteArray line = file.readLine(); processConfigLine(line); - //qDebug() << "SetupDialog::slotReadConfigData - in the while" << endl; + //qDebug() << "SetupDialog::slotReadConfigData - in the while" << endl; } - //qDebug() << "SetupDialog::slotReadConfigData - 3" << endl; + //qDebug() << "SetupDialog::slotReadConfigData - 3" << endl; dxClusterPage->setDxclusterServersComboBox(dxClusterServers); dxClusterPage->setSelectedDxClusterServer(dxClusterServerToUse); @@ -730,10 +695,12 @@ void SetupDialog::slotReadConfigData() } modes.removeDuplicates(); + //qDebug() << "SetupDialog::slotReadConfigData - duplicate modes: " << QString::number(a) << endl; bandModePage->setActiveModes(modes); bands.removeDuplicates(); + //qDebug() << "SetupDialog::slotReadConfigData - duplicate bands: " << QString::number(a) << endl; bandModePage->setActiveBands(bands); - //qDebug() << "SetupDialog::slotReadConfigData - END" << endl; + //qDebug() << "SetupDialog::slotReadConfigData - END" << endl; emit debugLog (Q_FUNC_INFO, "END", logSeverity); } @@ -741,7 +708,7 @@ void SetupDialog::slotReadConfigData() bool SetupDialog::processConfigLine(const QString &_line) { - //qDebug() << "SetupDialog::processConfigLine: " << _line << endl; + //qDebug() << "SetupDialog::processConfigLine: " << _line << endl; emit debugLog (Q_FUNC_INFO, "Start", logSeverity); QString line = _line.simplified(); @@ -752,12 +719,12 @@ bool SetupDialog::processConfigLine(const QString &_line) if (line.startsWith('#')){ - //qDebug() << "SetupDialog::processConfigLine: Comment Line!" << endl; + //qDebug() << "SetupDialog::processConfigLine: Comment Line!" << endl; emit debugLog (Q_FUNC_INFO, "END-1", logSeverity); return true; } if (!( (line.contains('=')) && (line.contains(';')))){ - //qDebug() << "SetupDialog::processConfigLine: Wrong Line!" << endl; + //qDebug() << "SetupDialog::processConfigLine: Wrong Line!" << endl; emit debugLog (Q_FUNC_INFO, "END-2", logSeverity); return false; } @@ -770,10 +737,10 @@ bool SetupDialog::processConfigLine(const QString &_line) value = value.left(value.length() - (value.length() - endValue)); } value = checkAndFixASCIIinADIF(value); // Check whether the value is valid. - //qDebug() << "SetupDialog::processConfigLine: TAB: " << tab << endl; - //qDebug() << "SetupDialog::processConfigLine: VALUE: " << value << endl; + //qDebug() << "SetupDialog::processConfigLine: TAB: " << tab << endl; + //qDebug() << "SetupDialog::processConfigLine: VALUE: " << value << endl; if (tab == "CALLSIGN"){ - //qDebug() << "SetupDialog::processConfigLine: CALLSIGN: " << value << endl; + //qDebug() << "SetupDialog::processConfigLine: CALLSIGN: " << value << endl; userDataPage->setStationQrz(value); }else if (tab == "OPERATORS"){ userDataPage->setOperators(value); @@ -806,7 +773,7 @@ bool SetupDialog::processConfigLine(const QString &_line) miscPage->setUseDefaultDBPath(value); }else if (tab=="DEFAULTADIFFILE"){ miscPage->setDefaultFileName(value.toUpper()); - //qDebug() << "SetupDialog::processConfigLine: FILE: " << value << endl; + //qDebug() << "SetupDialog::processConfigLine: FILE: " << value << endl; }else if (tab=="IMPERIALSYSTEM"){ miscPage->setImperial(value.toUpper()); }else if (tab=="KEEPMYDATA"){ @@ -829,24 +796,9 @@ bool SetupDialog::processConfigLine(const QString &_line) else if (tab=="PROVIDEINFO"){ miscPage->setReportInfo(value); } - /* else if (tab=="LOGSORT"){ miscPage->setLogSort(value); } - */ - else if (tab=="SENDEQSLBYDEFAULT"){ - miscPage->setSetEQSLByDefault(value); - } - else if (tab=="PSTROTATORACTIVE"){ - interfacesWindowsPage->setSendToPSTRotator(value); - } - else if (tab=="PSTROTATORPORT"){ - interfacesWindowsPage->setPSTRotatorUDPServerPort(value); - } - else if (tab=="PSTROTATORSERVER") - { - interfacesWindowsPage->setPSTRotatorUDPServer(value); - } else if (tab=="UDPSERVER"){ UDPPage->setUDPServer(value); } @@ -959,14 +911,11 @@ bool SetupDialog::processConfigLine(const QString &_line) dxClusterPage->setShowWCYRadiobutton(value); }else if(tab =="DXCLUSTERSERVERPORT"){ dxClusterServers << value; - //qDebug() << "SetupDialog::processConfigLine: dxClusterServers: " << dxClusterServers.last() << endl; + //qDebug() << "SetupDialog::processConfigLine: dxClusterServers: " << dxClusterServers.last() << endl; - }else if (tab =="DXCLUSTERSERVERTOUSE"){ + }else if (tab =="DXCLUSTERSERVERTOUSE"){ dxClusterServerToUse=value; } - else if (tab =="DXCLUSTERSAVE"){ - dxClusterPage->setSaveActivityRadiobutton(value); - } else if(tab =="NEWONECOLOR"){ colorsPage->setNewOneColor(value); }else if(tab =="NEEDEDCOLOR"){ @@ -977,53 +926,53 @@ bool SetupDialog::processConfigLine(const QString &_line) colorsPage->setConfirmedColor(value); }else if(tab =="DEFAULTCOLOR"){ colorsPage->setDefaultColor(value); - //qDebug() << "SetupDialog::processConfigLine: DEFAULTCOLOR: " << value << endl; + //qDebug() << "SetupDialog::processConfigLine: DEFAULTCOLOR: " << value << endl; }else if(tab =="HAMLIBRIGTYPE"){ - //qDebug() << "SetupDialog::processConfigLine: Before HAMLIBRIGTYPE: " << value << endl; + //qDebug() << "SetupDialog::processConfigLine: Before HAMLIBRIGTYPE: " << value << endl; hamlibPage->setRigType(value); - //qDebug() << "SetupDialog::processConfigLine: After HAMLIBRIGTYPE: " << value << endl; + //qDebug() << "SetupDialog::processConfigLine: After HAMLIBRIGTYPE: " << value << endl; }else if(tab =="HAMLIBSERIALPORT"){ - //qDebug() << "SetupDialog::processConfigLine: HAMLIBSERIALPORT: " << value << endl; + //qDebug() << "SetupDialog::processConfigLine: HAMLIBSERIALPORT: " << value << endl; hamlibPage->setSerialPort(value); }else if(tab =="HAMLIBSERIALBAUDS"){ - //qDebug() << "SetupDialog::processConfigLine: HAMLIBSERIALBAUDS: " << value << endl; + //qDebug() << "SetupDialog::processConfigLine: HAMLIBSERIALBAUDS: " << value << endl; hamlibPage->setSerialSpeed(value); }else if(tab =="HAMLIB"){ - //qDebug() << "SetupDialog::processConfigLine: HAMLIB: " << value << endl; + //qDebug() << "SetupDialog::processConfigLine: HAMLIB: " << value << endl; hamlibPage->setActive(value); }else if(tab=="HAMLIBREADONLY"){ hamlibPage->setReadOnly(value); }else if(tab =="HAMLIBSERIALDATABITS"){ - //qDebug() << "SetupDialog::processConfigLine: HAMLIBSERIALDATABITS: " << value << endl; + //qDebug() << "SetupDialog::processConfigLine: HAMLIBSERIALDATABITS: " << value << endl; hamlibPage->setDataBits(value); }else if(tab =="HAMLIBSERIALSTOPBITS"){ - //qDebug() << "SetupDialog::processConfigLine: HAMLIBSERIALSTOPBITS: " << value << endl; + //qDebug() << "SetupDialog::processConfigLine: HAMLIBSERIALSTOPBITS: " << value << endl; hamlibPage->setStopBits(value); }else if(tab =="HAMLIBSERIALFLOWCONTROL"){ - //qDebug() << "SetupDialog::processConfigLine: HAMLIBSERIALFLOWCONTROL: " << value << endl; + //qDebug() << "SetupDialog::processConfigLine: HAMLIBSERIALFLOWCONTROL: " << value << endl; hamlibPage->setFlowControl(value); }else if(tab =="HAMLIBSERIALPARITY"){ - //qDebug() << "SetupDialog::processConfigLine: HAMLIBSERIALPARITY: " << value << endl; + //qDebug() << "SetupDialog::processConfigLine: HAMLIBSERIALPARITY: " << value << endl; hamlibPage->setParity(value); }else if(tab =="HAMLIBSERIALRTS"){ - //qDebug() << "SetupDialog::processConfigLine: HAMLIBSERIALRTS: " << value << endl; + //qDebug() << "SetupDialog::processConfigLine: HAMLIBSERIALRTS: " << value << endl; //hamlibPage->setRTS(value); }else if(tab =="HAMLIBSERIALDTR"){ - //qDebug() << "SetupDialog::processConfigLine: HAMLIBSERIALDTR: " << value << endl; + //qDebug() << "SetupDialog::processConfigLine: HAMLIBSERIALDTR: " << value << endl; //hamlibPage->setDTR(value); }else if(tab =="SELECTEDLOG"){ - //qDebug() << "SetupDialog::processConfigLine: SELECTEDLOG: " << value << endl; + //qDebug() << "SetupDialog::processConfigLine: SELECTEDLOG: " << value << endl; i = value.toInt(); if (dataProxy->doesThisLogExist(i)) { - //qDebug() << "SetupDialog::processConfigLine: dataProxy->doesThisLogExist TRUE" << endl; + //qDebug() << "SetupDialog::processConfigLine: dataProxy->doesThisLogExist TRUE" << endl; } else { - //qDebug() << "SetupDialog::processConfigLine: dataProxy->doesThisLogExist FALSE" << endl; + //qDebug() << "SetupDialog::processConfigLine: dataProxy->doesThisLogExist FALSE" << endl; i = 0; while(!dataProxy->doesThisLogExist(i)) { @@ -1031,7 +980,7 @@ bool SetupDialog::processConfigLine(const QString &_line) } } logsPage->setSelectedLog(i); - //qDebug() << "SetupDialog::processConfigLine: dataProxy->doesThisLogExist END" << endl; + //qDebug() << "SetupDialog::processConfigLine: dataProxy->doesThisLogExist END" << endl; }else if(tab =="CLUBLOGACTIVE"){ clubLogPage->setClubLog(value); @@ -1050,26 +999,13 @@ bool SetupDialog::processConfigLine(const QString &_line) } else if(tab =="CLUBLOGUSESTATIONCALLSIGN"){ clubLogPage->setUseStationCall(value); - } - else if(tab =="LOTWACTIVE"){ - lotwPage->setLoTW(value); - } - else if(tab =="LOTWPATH"){ - lotwPage->setPath(value); - } - else if(tab =="LOTWUSER"){ - lotwPage->setLoTWUser(value); - } - else if(tab =="LOTWPASS"){ - lotwPage->setLoTWPass(value); - }else{ - //qDebug() << "SetupDialog::processConfigLine: NONE: " << endl; + //qDebug() << "SetupDialog::processConfigLine: NONE: " << endl; } // Lines are: Option = value; - //qDebug() << "SetupDialog::processConfigLine: END " << endl; + //qDebug() << "SetupDialog::processConfigLine: END " << endl; emit debugLog (Q_FUNC_INFO, "END", logSeverity); return true; @@ -1079,7 +1015,7 @@ bool SetupDialog::processConfigLine(const QString &_line) void SetupDialog::readActiveBands (const QString &actives) { // Checks a "10m, 12m" QString, checks if they are valid bands and import to the // bands used in the program - //qDebug() << "SetupDialog::readActiveBands: " << actives << endl; + //qDebug() << "SetupDialog::readActiveBands: " << actives << endl; emit debugLog (Q_FUNC_INFO, "Start", logSeverity); bool atLeastOne = false; @@ -1093,21 +1029,22 @@ void SetupDialog::readActiveBands (const QString &actives) { if (!atLeastOne) { - //qDebug() << "SetupDialog::readActiveBands (at least One!): " << values.at(i) << endl; + //qDebug() << "SetupDialog::readActiveBands (at least One!): " << values.at(i) << endl; atLeastOne = true; _abands.clear(); } _abands << values.at(i); - //qDebug() << "SetupDialog::readActiveBands: " << values.at(i) << endl; + //qDebug() << "SetupDialog::readActiveBands: " << values.at(i) << endl; } } bands.clear(); - //_abands.removeDuplicates(); + _abands.removeDuplicates(); bands << dataProxy->getBandsInLog(-1); + bands << _abands; bands.removeDuplicates(); emit debugLog (Q_FUNC_INFO, "END", logSeverity); @@ -1115,7 +1052,7 @@ void SetupDialog::readActiveBands (const QString &actives) void SetupDialog::readActiveModes (const QString &actives) { - //qDebug() << "SetupDialog::readActiveModes: " << actives << endl; + //qDebug() << "SetupDialog::readActiveModes: " << actives << endl; emit debugLog (Q_FUNC_INFO, "Start", logSeverity); bool atLeastOne = false; @@ -1139,16 +1076,16 @@ void SetupDialog::readActiveModes (const QString &actives) } modes.clear(); - modes = dataProxy->getModesInLog(-1); + modes << dataProxy->getModesInLog(-1); modes << _amodes; modes.removeDuplicates(); emit debugLog (Q_FUNC_INFO, "END", logSeverity); - //qDebug() << "SetupDialog::readActiveModes: " << modes.join(" / ") << endl; + //qDebug() << "SetupDialog::readActiveModes: " << modes.join(" / ") << endl; } bool SetupDialog::isValidBand (const QString &b) { - //qDebug() << "SetupDialog::isValidBand: "<< b << endl; + //qDebug() << "SetupDialog::isValidBand: "<< b << endl; emit debugLog (Q_FUNC_INFO, "Start", logSeverity); QString stringQuery = QString("SELECT id FROM band WHERE name='%1'").arg(b); QSqlQuery query(stringQuery); @@ -1159,7 +1096,7 @@ bool SetupDialog::isValidBand (const QString &b) } bool SetupDialog::isValidMode (const QString &b) { - //qDebug() << "SetupDialog::isValidMode: " << b << endl; + //qDebug() << "SetupDialog::isValidMode: " << b << endl; emit debugLog (Q_FUNC_INFO, "Start", logSeverity); QString stringQuery = QString("SELECT id FROM mode WHERE name='%1'").arg(b); QSqlQuery query(stringQuery); @@ -1171,7 +1108,7 @@ bool SetupDialog::isValidMode (const QString &b) void SetupDialog::setDefaults() { - //qDebug() << "SetupDialog::setDefaults" << endl; + //qDebug() << "SetupDialog::setDefaults" << endl; emit debugLog (Q_FUNC_INFO, "Start", logSeverity); miscPage->setRealTime("TRUE"); miscPage->setUTCTime("TRUE"); @@ -1184,8 +1121,7 @@ void SetupDialog::setDefaults() miscPage->setReportInfo("FALSE"); miscPage->setDXMarathon("FALSE"); miscPage->setDebugLog("FALSE"); - //miscPage->setLogSort("FALSE"); - miscPage->setSetEQSLByDefault("TRUE"); + miscPage->setLogSort("FALSE"); UDPPage->setUDPServer("FALSE"); UDPPage->setUDPServerPort("2237"); @@ -1193,9 +1129,6 @@ void SetupDialog::setDefaults() UDPPage->setLogFromWSJTx("FALSE"); UDPPage->setReaDataFromWSJTx("FALSE"); UDPPage->setAutoLogFromWSJTx("FALSE"); - interfacesWindowsPage->setSendToPSTRotator("FALSE"); - interfacesWindowsPage->setPSTRotatorUDPServer("locahost"); - interfacesWindowsPage->setPSTRotatorUDPServerPort("12040"); dxClusterPage->setShowHFRadiobutton("TRUE"); dxClusterPage->setShowVHFRadiobutton("TRUE"); @@ -1225,7 +1158,7 @@ void SetupDialog::setDefaults() QString SetupDialog::checkAndFixASCIIinADIF(const QString &_data) { - //qDebug() << "SetupDialog::checkAndFixASCIIinADIF " << _data << endl; + //qDebug() << "SetupDialog::checkAndFixASCIIinADIF " << _data << endl; //TODO: this function is also in the FileManager class. Maybe I should call that one and keep just one copy emit debugLog (Q_FUNC_INFO, "Start", logSeverity); ushort unicodeVal; @@ -1240,7 +1173,7 @@ QString SetupDialog::checkAndFixASCIIinADIF(const QString &_data) { newString.append(st.at(i)); } - //qDebug() << "SetupDialog::checkAndFixunicodeinADIF: " << st.at(i) <<" = " << QString::number(unicodeVal) << endl; + //qDebug() << "SetupDialog::checkAndFixunicodeinADIF: " << st.at(i) <<" = " << QString::number(unicodeVal) << endl; } // Show into another lineEdit @@ -1275,20 +1208,20 @@ void SetupDialog::setClubLogActive(const bool _b) void SetupDialog::checkIfNewBandOrMode() { - //qDebug() << "SetupDialog::checkIfNewBandOrMode: logSeverity: " << QString::number(logSeverity) << endl; + //qDebug() << "SetupDialog::checkIfNewBandOrMode: logSeverity: " << QString::number(logSeverity) << endl; emit debugLog (Q_FUNC_INFO, "Start", logSeverity); QStringList _items; _items.clear(); - //qDebug() << "SetupDialog::checkIfNewBandOrMode -1" << endl; + //qDebug() << "SetupDialog::checkIfNewBandOrMode -1" << endl; _items << dataProxy->getBandsInLog(-1); - //qDebug() << "SetupDialog::checkIfNewBandOrMode -2" << endl; + //qDebug() << "SetupDialog::checkIfNewBandOrMode -2" << endl; _items << (bandModePage->getBands()).split(", ", QString::SkipEmptyParts); - //qDebug() << "SetupDialog::checkIfNewBandOrMode -3" << endl; + //qDebug() << "SetupDialog::checkIfNewBandOrMode -3" << endl; _items.removeDuplicates(); - //qDebug() << "SetupDialog::checkIfNewBandOrMode -4" << endl; + //qDebug() << "SetupDialog::checkIfNewBandOrMode -4" << endl; bandModePage->setActiveBands(_items); - //qDebug() << "SetupDialog::checkIfNewBandOrMode -5" << endl; + //qDebug() << "SetupDialog::checkIfNewBandOrMode -5" << endl; _items.clear(); _items << dataProxy->getModesInLog(-1); @@ -1296,14 +1229,14 @@ void SetupDialog::checkIfNewBandOrMode() _items.removeDuplicates(); bandModePage->setActiveModes(_items); emit debugLog (Q_FUNC_INFO, "END", logSeverity); - //qDebug() << "SetupDialog::checkIfNewBandOrMode END" << endl; + //qDebug() << "SetupDialog::checkIfNewBandOrMode END" << endl; } void SetupDialog::slotAnalyzeNewLogData(const QStringList _qs) { - //qDebug() << "SetupDialog::slotAnalyzeNewLogData (length=" << QString::number(_qs.length()) << ")" << endl; - //qDebug() << "SetupDialog::slotAnalyzeNewLogData" << endl; + //qDebug() << "SetupDialog::slotAnalyzeNewLogData (length=" << QString::number(_qs.length()) << ")" << endl; + //qDebug() << "SetupDialog::slotAnalyzeNewLogData" << endl; // We receive the station callsign and operators from the logs tab emit debugLog (Q_FUNC_INFO, "Start", logSeverity); if (_qs.length()!=2) @@ -1318,7 +1251,7 @@ void SetupDialog::slotAnalyzeNewLogData(const QStringList _qs) void SetupDialog::slotSetStationCallSign(const QString &_p) { - //qDebug() << "SetupDialog::slotSetStationCallSign: " << _p << endl; + //qDebug() << "SetupDialog::slotSetStationCallSign: " << _p << endl; emit debugLog (Q_FUNC_INFO, "Start", logSeverity); logsPage->setDefaultStationCallsign(_p); emit debugLog (Q_FUNC_INFO, "END", logSeverity); @@ -1326,7 +1259,7 @@ void SetupDialog::slotSetStationCallSign(const QString &_p) void SetupDialog::slotSetOperators(const QString &_p) { - //qDebug() << "SetupDialog::slotSetOperators: " << _p << endl; + //qDebug() << "SetupDialog::slotSetOperators: " << _p << endl; emit debugLog (Q_FUNC_INFO, "Start", logSeverity); logsPage->setDefaultOperators(_p); emit debugLog (Q_FUNC_INFO, "END", logSeverity); @@ -1343,14 +1276,3 @@ void SetupDialog::slotQueryErrorManagement(QString functionFailed, QString error emit debugLog (Q_FUNC_INFO, "END", logSeverity); } -void SetupDialog::slotFocusOK() -{ - //qDebug() << "SetupDialog::slotFocusOK" << endl; - okButton->setFocus(Qt::OtherFocusReason); -} - -void SetupDialog::showEvent(QShowEvent *event) -{ - QWidget::showEvent(event); - userDataPage->setStationFocus(); -} diff --git a/setupdialog.h b/setupdialog.h index 82422cf2..2243d861 100644 --- a/setupdialog.h +++ b/setupdialog.h @@ -22,26 +22,26 @@ * 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 . * + * along with KLog. If not, see . * * * *****************************************************************************/ #include -#include "setuppages/setuppageuserdata.h" -#include "setuppages/setuppagebandmode.h" -#include "setuppages/setuppagemisc.h" -#include "setuppages/setuppagedxcluster.h" -#include "setuppages/setuppagecolors.h" -#include "setuppages/setuppagelogs.h" -#include "setuppages/setuppageworldeditor.h" -#include "setuppages/setuppageclublog.h" -#include "setuppages/setuppagelotw.h" -#include "setuppages/setuppageudp.h" -#include "setuppages/setuppagesats.h" -#include "setuppages/setuppagehamlib.h" -#include "setuppages/setuppageinterfaceswindows.h" +#include "setuppageuserdata.h" +#include "setuppagebandmode.h" +#include "setuppagemisc.h" +#include "setuppagedxcluster.h" +#include "setuppagecolors.h" +#include "setuppagelogs.h" +#include "setuppageworldeditor.h" +#include "setuppageclublog.h" +#include "setuppageudp.h" +#include "setuppagesats.h" +#include "setuppagehamlib.h" #include "utilities.h" + + #include "locator.h" @@ -80,10 +80,9 @@ private slots: void slotSetStationCallSign(const QString &_p); // We receive te station callsign from the userData tab to fill the new log void slotSetOperators(const QString &_p); // We receive te station operators from the userData tab to fill the new log void slotQueryErrorManagement(QString functionFailed, QString errorCodeS, int errorCodeN, QString failedQuery); - void slotFocusOK(); private: - void showEvent(QShowEvent *event); + void setConfigFile(const QString &_configFile); void setSoftVersion(const QString &_softwareVersion); void setConfigured(const bool _configured); @@ -108,7 +107,6 @@ private: QString dxClusterServerToUse; QStringList dxClusterServers; - QPushButton *okButton; QTabWidget *tabWidget; int logsPageTabN; @@ -123,11 +121,9 @@ private: SetupPageLogs *logsPage; SetupPageWorldEditor *worldEditorPage; SetupPageClubLog *clubLogPage; - SetupPageLoTW *lotwPage; SetupPageUDP *UDPPage; SetupPageSats *satsPage; SetupPageHamLib *hamlibPage; - SetupPageInterfacesWindows *interfacesWindowsPage; int pageRequested; // The page on the Dialog that is requested to be shown when you call it //QString klogDir; diff --git a/setuppages/setupentitydialog.cpp b/setupentitydialog.cpp similarity index 82% rename from setuppages/setupentitydialog.cpp rename to setupentitydialog.cpp index 49087e94..d656de88 100644 --- a/setuppages/setupentitydialog.cpp +++ b/setupentitydialog.cpp @@ -20,11 +20,11 @@ * 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 . * + * along with KLog. If not, see . * * * *****************************************************************************/ -#include "setuppages/setupentitydialog.h" +#include "setupentitydialog.h" //#include /* This class calls all the othet "Setup..." to manage the configuration @@ -34,7 +34,7 @@ This class calls all the othet "Setup..." to manage the configuration SetupEntityDialog::SetupEntityDialog(){ - //qDebug() << "SetupEntityDialog::SetupEntityDialog: " << endl; + //qDebug() << "SetupEntityDialog::SetupEntityDialog: " << endl; //QPalette::ColorRole QWidget::foregroundRole () const; //QPalette::ColorRole @@ -64,7 +64,7 @@ SetupEntityDialog::SetupEntityDialog(){ delBool = false; delDateBool = false; prefBool = false; - //qDebug() << "SetupEntityDialog::SetupEntityDialog - 0" << endl; + //qDebug() << "SetupEntityDialog::SetupEntityDialog - 0" << endl; QLabel *entityLabel = new QLabel(tr("Entity")); entityLineEdit = new QLineEdit; @@ -98,7 +98,7 @@ SetupEntityDialog::SetupEntityDialog(){ mprefLineEdit = new QLineEdit; mprefLineEdit->setToolTip(tr("Main prefix of the entity.")); - //qDebug() << "SetupEntityDialog::SetupEntityDialog - 1" << endl; + //qDebug() << "SetupEntityDialog::SetupEntityDialog - 1" << endl; QLabel *arrlidLabel = new QLabel(tr("ARRL ID")); arrlidLineEdit = new QLineEdit; @@ -118,9 +118,9 @@ SetupEntityDialog::SetupEntityDialog(){ delRbutton = new QRadioButton(tr("Deleted"), this); QPushButton *closeButton = new QPushButton(tr("Cancel")); - QPushButton *okButton = new QPushButton(tr("Ok")); + QPushButton *okButton = new QPushButton(tr("OK")); - //qDebug() << "SetupEntityDialog::SetupEntityDialog - 2" << endl; + //qDebug() << "SetupEntityDialog::SetupEntityDialog - 2" << endl; /* connect(closeButton, SIGNAL(clicked()), this, SLOT(close())); connect(okButton, SIGNAL(clicked()), this, SLOT(slotOkButtonClicked())); @@ -138,7 +138,7 @@ SetupEntityDialog::SetupEntityDialog(){ connect(delQDateEdit, SIGNAL(dateChanged), this, SLOT(slotCheckDeletedDate() ) ); connect(prefLineEdit, SIGNAL(textChanged(QString)), this, SLOT(slotCheckPrefixes() ) ); */ - //qDebug() << "SetupEntityDialog::SetupEntityDialog - 3" << endl; + //qDebug() << "SetupEntityDialog::SetupEntityDialog - 3" << endl; QVBoxLayout *cqLayout = new QVBoxLayout; cqLayout->addWidget(cqLabel); @@ -203,23 +203,23 @@ SetupEntityDialog::SetupEntityDialog(){ mainLayout->addStretch(1); mainLayout->addSpacing(12); mainLayout->addLayout(buttonsLayout); - //qDebug() << "SetupEntityDialog::SetupEntityDialog - 3" << endl; + //qDebug() << "SetupEntityDialog::SetupEntityDialog - 3" << endl; setLayout(mainLayout); setWindowTitle(tr("Entity Dialog")); pal = lonLineEdit->palette(); - //qDebug() << "SetupEntityDialog::SetupEntityDialog: END" << endl; + //qDebug() << "SetupEntityDialog::SetupEntityDialog: END" << endl; } SetupEntityDialog::~SetupEntityDialog() { - //qDebug() << "SetupEntityDialog::~SetupEntityDialog " << endl; + //qDebug() << "SetupEntityDialog::~SetupEntityDialog " << endl; } void SetupEntityDialog::slotOkButtonClicked() { - //qDebug() << "SetupEntityDialog::slotOkButtonClicked " << endl; + //qDebug() << "SetupEntityDialog::slotOkButtonClicked " << endl; QStringList ql; ql.clear(); @@ -261,7 +261,7 @@ void SetupEntityDialog::slotOkButtonClicked() } QString SetupEntityDialog::checkContinent() { - //qDebug() << "SetupEntityDialog::checkContinent" << endl; + //qDebug() << "SetupEntityDialog::checkContinent" << endl; if(contBool) { @@ -276,7 +276,7 @@ QString SetupEntityDialog::checkContinent() QString SetupEntityDialog::checkEntity() { - //qDebug() << "SetupEntityDialog::checkEntity" << endl; + //qDebug() << "SetupEntityDialog::checkEntity" << endl; if(entityBool) { @@ -291,7 +291,7 @@ QString SetupEntityDialog::checkEntity() QString SetupEntityDialog::checkMainprefix() { - //qDebug() << "SetupEntityDialog::checkMainprefix" << endl; + //qDebug() << "SetupEntityDialog::checkMainprefix" << endl; if(mainPrefixBool) { @@ -306,7 +306,7 @@ QString SetupEntityDialog::checkMainprefix() QString SetupEntityDialog::checkCQz() { - //qDebug() << "SetupEntityDialog::checkCQz" << endl; + //qDebug() << "SetupEntityDialog::checkCQz" << endl; if(cqBool) { @@ -322,7 +322,7 @@ QString SetupEntityDialog::checkCQz() QString SetupEntityDialog::checkITUz() { - //qDebug() << "SetupEntityDialog::checkITUz" << endl; + //qDebug() << "SetupEntityDialog::checkITUz" << endl; if(ituBool) { @@ -338,7 +338,7 @@ QString SetupEntityDialog::checkITUz() QString SetupEntityDialog::checkLatitude() { - //qDebug() << "SetupEntityDialog::checkLatitude" << endl; + //qDebug() << "SetupEntityDialog::checkLatitude" << endl; if(latBool) { @@ -354,7 +354,7 @@ QString SetupEntityDialog::checkLatitude() QString SetupEntityDialog::checkLongitude() { - //qDebug() << "SetupEntityDialog::checkLongitude" << endl; + //qDebug() << "SetupEntityDialog::checkLongitude" << endl; if(lonBool) { @@ -370,7 +370,7 @@ QString SetupEntityDialog::checkLongitude() QString SetupEntityDialog::checkUTC() { - //qDebug() << "SetupEntityDialog::checkUTC" << endl; + //qDebug() << "SetupEntityDialog::checkUTC" << endl; if(utcBool) { @@ -386,7 +386,7 @@ QString SetupEntityDialog::checkUTC() QString SetupEntityDialog::checkARRLid() { - //qDebug() << "SetupEntityDialog::checkARRLid" << endl; + //qDebug() << "SetupEntityDialog::checkARRLid" << endl; if(arrlidBool) { @@ -403,7 +403,7 @@ QString SetupEntityDialog::checkARRLid() QString SetupEntityDialog::checkDeleted() { - //qDebug() << "SetupEntityDialog::checkDeleted" << endl; + //qDebug() << "SetupEntityDialog::checkDeleted" << endl; if(delBool) { @@ -419,7 +419,7 @@ QString SetupEntityDialog::checkDeleted() QString SetupEntityDialog::checkDeletedDate() { - //qDebug() << "SetupEntityDialog::checkDeletedDate" << endl; + //qDebug() << "SetupEntityDialog::checkDeletedDate" << endl; if(delDateBool) { @@ -434,7 +434,7 @@ QString SetupEntityDialog::checkDeletedDate() QString SetupEntityDialog::checkPrefixes() { - //qDebug() << "SetupEntityDialog::checkPrefixes" << endl; + //qDebug() << "SetupEntityDialog::checkPrefixes" << endl; if(prefBool) { @@ -451,7 +451,7 @@ QString SetupEntityDialog::checkPrefixes() void SetupEntityDialog::slotCancelButtonClicked() { - //qDebug() << "SetupEntityDialog::slotCancelButtonClicked " << endl; + //qDebug() << "SetupEntityDialog::slotCancelButtonClicked " << endl; reject(); @@ -459,7 +459,7 @@ void SetupEntityDialog::slotCancelButtonClicked() void SetupEntityDialog::slotCheckEntity() { - //qDebug() << "SetupEntityDialog::slotCheckEntity " << endl; + //qDebug() << "SetupEntityDialog::slotCheckEntity " << endl; QString aux; aux = entityLineEdit->text(); @@ -478,7 +478,7 @@ void SetupEntityDialog::slotCheckEntity() void SetupEntityDialog::slotCheckMainprefix() { - //qDebug() << "SetupEntityDialog::slotCheckMainprefix" << endl; + //qDebug() << "SetupEntityDialog::slotCheckMainprefix" << endl; QString aux; aux = mprefLineEdit->text(); @@ -497,7 +497,7 @@ void SetupEntityDialog::slotCheckMainprefix() void SetupEntityDialog::slotCheckCQz() { - //qDebug() << "SetupEntityDialog::slotCheckCQz" << endl; + //qDebug() << "SetupEntityDialog::slotCheckCQz" << endl; QString aux; aux = cqLineEdit->text(); @@ -516,7 +516,7 @@ void SetupEntityDialog::slotCheckCQz() void SetupEntityDialog::slotCheckITUz() { - //qDebug() << "SetupEntityDialog::slotCheckITUz" << endl; + //qDebug() << "SetupEntityDialog::slotCheckITUz" << endl; QString aux; @@ -536,7 +536,7 @@ void SetupEntityDialog::slotCheckITUz() void SetupEntityDialog::slotCheckContinent() { - //qDebug() << "SetupEntityDialog::slotCheckContinent" << endl; + //qDebug() << "SetupEntityDialog::slotCheckContinent" << endl; QString aux; aux = contLineEdit->text(); @@ -555,7 +555,7 @@ void SetupEntityDialog::slotCheckContinent() void SetupEntityDialog::slotCheckLatitude() { - //qDebug() << "SetupEntityDialog::slotCheckLatitude" << endl; + //qDebug() << "SetupEntityDialog::slotCheckLatitude" << endl; QString aux; aux = latLineEdit->text(); @@ -574,7 +574,7 @@ void SetupEntityDialog::slotCheckLatitude() void SetupEntityDialog::slotCheckLongitude() { - //qDebug() << "SetupEntityDialog::slotCheckLongitude" << endl; + //qDebug() << "SetupEntityDialog::slotCheckLongitude" << endl; @@ -600,7 +600,7 @@ void SetupEntityDialog::slotCheckLongitude() void SetupEntityDialog::slotCheckUTC() { - //qDebug() << "SetupEntityDialog::slotCheckUTC" << endl; + //qDebug() << "SetupEntityDialog::slotCheckUTC" << endl; QString aux; aux = utcLineEdit->text(); @@ -619,7 +619,7 @@ void SetupEntityDialog::slotCheckUTC() void SetupEntityDialog::slotCheckARRLid() { - //qDebug() << "SetupEntityDialog::slotCheckARRLid" << endl; + //qDebug() << "SetupEntityDialog::slotCheckARRLid" << endl; QString aux; aux = arrlidLineEdit->text(); @@ -640,7 +640,7 @@ void SetupEntityDialog::slotCheckARRLid() void SetupEntityDialog::slotCheckDeleted() { - //qDebug() << "SetupEntityDialog::slotCheckDeleted" << endl; + //qDebug() << "SetupEntityDialog::slotCheckDeleted" << endl; if (delRbutton->isChecked()) { @@ -655,7 +655,7 @@ void SetupEntityDialog::slotCheckDeleted() void SetupEntityDialog::slotCheckDeletedDate() { - //qDebug() << "SetupEntityDialog::slotCheckDeletedDate" << endl; + //qDebug() << "SetupEntityDialog::slotCheckDeletedDate" << endl; delDateBool = false; //arrlidLineEdit->setPalette(palw); @@ -663,7 +663,7 @@ void SetupEntityDialog::slotCheckDeletedDate() void SetupEntityDialog::slotCheckPrefixes() { - //qDebug() << "SetupEntityDialog::slotCheckPrefixes" << endl; + //qDebug() << "SetupEntityDialog::slotCheckPrefixes" << endl; QString aux; aux = prefLineEdit->text(); diff --git a/setuppages/setupentitydialog.h b/setupentitydialog.h similarity index 95% rename from setuppages/setupentitydialog.h rename to setupentitydialog.h index 38b55246..ea7d769f 100644 --- a/setuppages/setupentitydialog.h +++ b/setupentitydialog.h @@ -22,7 +22,7 @@ * 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 . * + * along with KLog. If not, see . * * * *****************************************************************************/ diff --git a/setuppages/setuppagebandmode.cpp b/setuppagebandmode.cpp similarity index 88% rename from setuppages/setuppagebandmode.cpp rename to setuppagebandmode.cpp index 25648fa2..9b7cb4c7 100644 --- a/setuppages/setuppagebandmode.cpp +++ b/setuppagebandmode.cpp @@ -1,8 +1,8 @@ -#include "setuppages/setuppagebandmode.h" +#include "setuppagebandmode.h" SetupPageBandMode::SetupPageBandMode(DataProxy_SQLite *dp, QWidget *parent) : QWidget(parent) { - //qDebug() << "SetupPageBandMode::SetupPageBandMode" << endl; + //qDebug() << "SetupPageBandMode::SetupPageBandMode" << endl; dataProxy = dp; bandsListWidget = new QListWidget; @@ -35,7 +35,7 @@ SetupPageBandMode::SetupPageBandMode(DataProxy_SQLite *dp, QWidget *parent) : QW //layout->addWidget(modesListWidget); setLayout(layout); - //qDebug() << "SetupPageBandMode::SetupPageBandMode - END" << endl; + //qDebug() << "SetupPageBandMode::SetupPageBandMode - END" << endl; } SetupPageBandMode::~SetupPageBandMode() @@ -70,7 +70,7 @@ void SetupPageBandMode::addModes(QStringList _b) QString SetupPageBandMode::getBands() { - //qDebug() << "SetupPageBandMode::getBands" << endl; + //qDebug() << "SetupPageBandMode::getBands" << endl; QString b; QListWidgetItem *it; @@ -99,7 +99,7 @@ QString SetupPageBandMode::getBands() QString SetupPageBandMode::getModes() { - //qDebug() << "SetupPageBandMode::getModes" << endl; + //qDebug() << "SetupPageBandMode::getModes" << endl; QString b; QListWidgetItem *it; @@ -125,14 +125,14 @@ QString SetupPageBandMode::getModes() { b.chop(2); } - //qDebug() << "SetupPageBandMode::getModes: " << b << endl; + //qDebug() << "SetupPageBandMode::getModes: " << b << endl; return b; } void SetupPageBandMode::setActiveBands(QStringList q) { - //qDebug() << "SetupPageBandMode::setActiveBands" << endl; + //qDebug() << "SetupPageBandMode::setActiveBands" << endl; if (q.isEmpty()) {return;} @@ -162,7 +162,7 @@ void SetupPageBandMode::setActiveBands(QStringList q) void SetupPageBandMode::setActiveModes(QStringList q) { - //qDebug() << "SetupPageBandMode::setActiveModes" << endl; + //qDebug() << "SetupPageBandMode::setActiveModes" << endl; if (q.isEmpty()) {return;} diff --git a/setuppages/setuppagebandmode.h b/setuppagebandmode.h similarity index 91% rename from setuppages/setuppagebandmode.h rename to setuppagebandmode.h index 4621d7ae..bad2b8d2 100644 --- a/setuppages/setuppagebandmode.h +++ b/setuppagebandmode.h @@ -12,7 +12,7 @@ class SetupPageBandMode : public QWidget { Q_OBJECT public: - SetupPageBandMode(DataProxy_SQLite *dp, QWidget *parent=nullptr); + SetupPageBandMode(DataProxy_SQLite *dp, QWidget *parent=0); ~SetupPageBandMode(); diff --git a/setuppages/setuppageclublog.cpp b/setuppageclublog.cpp similarity index 85% rename from setuppages/setuppageclublog.cpp rename to setuppageclublog.cpp index d15afc06..99a637d3 100644 --- a/setuppages/setuppageclublog.cpp +++ b/setuppageclublog.cpp @@ -20,18 +20,18 @@ * 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 . * + * along with KLog. If not, see . * * * *****************************************************************************/ //#include -#include "setuppages/setuppageclublog.h" +#include "setuppageclublog.h" SetupPageClubLog::SetupPageClubLog(QWidget *parent) : QWidget(parent) { - //qDebug() << "SetupPageClubLog::SetupPageClubLog" << endl; + //qDebug() << "SetupPageClubLog::SetupPageClubLog" << endl; clubLogActive = false; call = QString(); email = QString(); @@ -40,7 +40,6 @@ SetupPageClubLog::SetupPageClubLog(QWidget *parent) : QWidget(parent) emailLineEdit = new QLineEdit; callLineEdit = new QLineEdit; passwordLineEdit = new QLineEdit; - passwordLineEdit->setEchoMode(QLineEdit::PasswordEchoOnEdit); callLabel = new QLabel(tr("&Callsign")); @@ -95,7 +94,7 @@ SetupPageClubLog::SetupPageClubLog(QWidget *parent) : QWidget(parent) connect(useQSOStationCallCheckBox, SIGNAL(toggled(bool) ), this, SLOT(slotUseStationCall(bool))); //connect(sendInRealTimeCheckBox, SIGNAL(toggled(bool) ), this, SLOT(slotClubLogActive(bool))); slotClubLogActive(clubLogActive); - //qDebug() << "SetupPageClubLog::SetupPageClubLog - END" << endl; + //qDebug() << "SetupPageClubLog::SetupPageClubLog - END" << endl; } @@ -103,17 +102,17 @@ SetupPageClubLog::~SetupPageClubLog() { } -void SetupPageClubLog::setEmail(const QString &c) +void SetupPageClubLog::setEmail(const QString c) { emailLineEdit->setText(c); } -void SetupPageClubLog::setPassword(const QString &c) +void SetupPageClubLog::setPassword(const QString c) { passwordLineEdit->setText(c); } -void SetupPageClubLog::setCallsign(const QString &c) +void SetupPageClubLog::setCallsign(const QString c) { callLineEdit->setText(c.toUpper()); } @@ -153,7 +152,7 @@ QString SetupPageClubLog::getUseQSOStationCallsign() } -void SetupPageClubLog::setUseStationCall(const QString &_s) +void SetupPageClubLog::setUseStationCall(const QString _s) { if ( (_s.toUpper()) == "FALSE") { @@ -188,7 +187,7 @@ QString SetupPageClubLog::getClubLog() } -void SetupPageClubLog::setClubLog(const QString &_s) +void SetupPageClubLog::setClubLog(const QString _s) { if ( (_s.toUpper()) == "FALSE") { @@ -204,7 +203,7 @@ void SetupPageClubLog::setClubLog(const QString &_s) void SetupPageClubLog::slotUseStationCall(bool _s) { - //qDebug() << "SetupPageClubLog::slotUseStationCall" << endl; + //qDebug() << "SetupPageClubLog::slotUseStationCall" << endl; if (useQSOStationCallCheckBox->isChecked()) { callLineEdit->setEnabled(false); @@ -220,10 +219,10 @@ void SetupPageClubLog::slotUseStationCall(bool _s) void SetupPageClubLog::slotClubLogActive(bool _s) { - //qDebug() << "SetupPageClubLog::slotClubLogActive" << endl; + //qDebug() << "SetupPageClubLog::slotClubLogActive" << endl; if (_s) { - //qDebug() << "SetupPageClubLog::slotClubLogActive TRUE" << endl; + //qDebug() << "SetupPageClubLog::slotClubLogActive TRUE" << endl; callLabel->setEnabled(true); emailLabel->setEnabled(true); passwordLabel->setEnabled(true); @@ -236,7 +235,7 @@ void SetupPageClubLog::slotClubLogActive(bool _s) } else { - //qDebug() << "SetupPageClubLog::slotClubLogActive FALSE" << endl; + //qDebug() << "SetupPageClubLog::slotClubLogActive FALSE" << endl; callLabel->setEnabled(false); emailLabel->setEnabled(false); passwordLabel->setEnabled(false); @@ -250,7 +249,7 @@ void SetupPageClubLog::slotClubLogActive(bool _s) } -void SetupPageClubLog::setClubLogRealTime(const QString &_s) +void SetupPageClubLog::setClubLogRealTime(const QString _s) { if ( (_s.toUpper()) == "FALSE") { diff --git a/setuppages/setuppageclublog.h b/setuppageclublog.h similarity index 84% rename from setuppages/setuppageclublog.h rename to setuppageclublog.h index 63ff64eb..5a3ebb3d 100644 --- a/setuppages/setuppageclublog.h +++ b/setuppageclublog.h @@ -22,7 +22,7 @@ * 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 . * + * along with KLog. If not, see . * * * *****************************************************************************/ @@ -33,16 +33,16 @@ class SetupPageClubLog : public QWidget { Q_OBJECT public: - SetupPageClubLog(QWidget *parent=nullptr); + SetupPageClubLog(QWidget *parent=0); ~SetupPageClubLog(); - void setEmail(const QString &c); - void setPassword(const QString &c); - void setCallsign(const QString &c); - void setClubLog(const QString &_s); - void setClubLogRealTime(const QString &_s); - void setUseStationCall(const QString &_s); + void setEmail(const QString c); + void setPassword(const QString c); + void setCallsign(const QString c); + void setClubLog(const QString _s); + void setClubLogRealTime(const QString _s); + void setUseStationCall(const QString _s); diff --git a/setuppages/setuppagecolors.cpp b/setuppagecolors.cpp similarity index 87% rename from setuppages/setuppagecolors.cpp rename to setuppagecolors.cpp index 16d33705..28e8fac5 100644 --- a/setuppages/setuppagecolors.cpp +++ b/setuppagecolors.cpp @@ -20,18 +20,18 @@ * 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 . * + * along with KLog. If not, see . * * * *****************************************************************************/ //#include -#include "setuppages/setuppagecolors.h" +#include "setuppagecolors.h" SetupPageColors::SetupPageColors(QWidget *parent) : QWidget(parent) { - //qDebug() << "SetupPageColors::SetupPageColors" << endl; + //qDebug() << "SetupPageColors::SetupPageColors" << endl; newOneColorButton = new QPushButton; neededColorButton = new QPushButton; @@ -87,7 +87,7 @@ SetupPageColors::SetupPageColors(QWidget *parent) : QWidget(parent) setDefaultColors(); - //qDebug() << "SetupPageColors::SetupPageColors - END" << endl; + //qDebug() << "SetupPageColors::SetupPageColors - END" << endl; } SetupPageColors::~SetupPageColors() @@ -114,7 +114,7 @@ void SetupPageColors::setWSJTXColors() void SetupPageColors::slotNewOneColorButtonClicked() { - //qDebug() << "SetupPageColors::slotNewOneColorButtonClicked " << endl; + //qDebug() << "SetupPageColors::slotNewOneColorButtonClicked " << endl; QString style = "* { background-color: "; style = style + (giveColor(newOneColorButton->palette().color(QPalette::Button))).name(); style = style + "; }"; @@ -123,7 +123,7 @@ void SetupPageColors::slotNewOneColorButtonClicked() void SetupPageColors::slotNeededColorButtonClicked () { - //qDebug() << "SetupPageColors::slotNeededColorButtonClicked " << endl; + //qDebug() << "SetupPageColors::slotNeededColorButtonClicked " << endl; QString style = "* { background-color: "; style = style + (giveColor(neededColorButton->palette().color(QPalette::Button))).name(); style = style + "; }"; @@ -133,7 +133,7 @@ void SetupPageColors::slotNeededColorButtonClicked () void SetupPageColors::slotWorkedColorButtonClicked () { - //qDebug() << "SetupPageColors::slotWorkedColorButtonClicked " << endl; + //qDebug() << "SetupPageColors::slotWorkedColorButtonClicked " << endl; QString style = "* { background-color: "; style = style + (giveColor(workedColorButton->palette().color(QPalette::Button))).name(); style = style + "; }"; @@ -143,7 +143,7 @@ void SetupPageColors::slotWorkedColorButtonClicked () void SetupPageColors::slotConfirmedColorButtonClicked () { - //qDebug() << "SetupPageColors::slotNeededColorButtonClicked " << endl; + //qDebug() << "SetupPageColors::slotNeededColorButtonClicked " << endl; QString style = "* { background-color: "; style = style + (giveColor(confirmedColorButton->palette().color(QPalette::Button))).name(); style = style + "; }"; @@ -152,7 +152,7 @@ void SetupPageColors::slotConfirmedColorButtonClicked () void SetupPageColors::slotDefaultColorButtonClicked() { - //qDebug() << "SetupPageColors::slotDefaultColorButtonClicked " << endl; + //qDebug() << "SetupPageColors::slotDefaultColorButtonClicked " << endl; QString style = "* { background-color: "; style = style + (giveColor(defaultColorButton->palette().color(QPalette::Button))).name(); style = style + "; }"; @@ -168,12 +168,12 @@ QColor SetupPageColors::giveColor (QColor c) color = QColorDialog::getColor (color, this, tr("Choose a color")); if (color.isValid ()) { - //qDebug() << "SetupPageColors::giveColor valid color: " << color.name() << endl; + //qDebug() << "SetupPageColors::giveColor valid color: " << color.name() << endl; return color; } else { - //qDebug() << "SetupPageColors::giveColor NOT valid color" << endl; + //qDebug() << "SetupPageColors::giveColor NOT valid color" << endl; return colorb; } @@ -181,7 +181,7 @@ QColor SetupPageColors::giveColor (QColor c) QString SetupPageColors::getNewOneColor() { - //qDebug() << "SetupPageColors::getNewOneColor: " << (newOneColorButton->palette().color(QPalette::Button)).name() << endl; + //qDebug() << "SetupPageColors::getNewOneColor: " << (newOneColorButton->palette().color(QPalette::Button)).name() << endl; return (newOneColorButton->palette().color(QPalette::Button)).name(); } diff --git a/setuppages/setuppagecolors.h b/setuppagecolors.h similarity index 95% rename from setuppages/setuppagecolors.h rename to setuppagecolors.h index 25993790..5a98187c 100644 --- a/setuppages/setuppagecolors.h +++ b/setuppagecolors.h @@ -22,7 +22,7 @@ * 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 . * + * along with KLog. If not, see . * * * *****************************************************************************/ diff --git a/setuppages/setuppagedxcluster.cpp b/setuppagedxcluster.cpp similarity index 78% rename from setuppages/setuppagedxcluster.cpp rename to setuppagedxcluster.cpp index 80ccb3c5..590d85c4 100644 --- a/setuppages/setuppagedxcluster.cpp +++ b/setuppagedxcluster.cpp @@ -20,18 +20,18 @@ * 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 . * + * along with KLog. If not, see . * * * *****************************************************************************/ //#include -#include "setuppages/setuppagedxcluster.h" +#include "setuppagedxcluster.h" SetupPageDxCluster::SetupPageDxCluster(QWidget *parent) : QWidget(parent) { - //qDebug() << "SetupPageDxCluster::SetupPageDxCluster" << endl; + //qDebug() << "SetupPageDxCluster::SetupPageDxCluster" << endl; //xClusterServers = new QStringList; //dxClusterServers << "dxfun.com:8000"; @@ -52,7 +52,6 @@ SetupPageDxCluster::SetupPageDxCluster(QWidget *parent) : QWidget(parent) saveAllDXClusterDataRadiobutton = new QRadioButton; - saveAllDXClusterDataRadiobutton->setAutoExclusive(false); showHFRadiobutton->setAutoExclusive(false); showVHFRadiobutton->setAutoExclusive(false); showWARCRadiobutton->setAutoExclusive(false); @@ -70,7 +69,6 @@ SetupPageDxCluster::SetupPageDxCluster(QWidget *parent) : QWidget(parent) showANNRadiobutton->setChecked(true); showWWVRadiobutton->setChecked(true); showWCYRadiobutton->setChecked(true); - saveAllDXClusterDataRadiobutton->setChecked(false); addClusterButton->setText(tr("Add")); @@ -84,9 +82,6 @@ SetupPageDxCluster::SetupPageDxCluster(QWidget *parent) : QWidget(parent) showANNRadiobutton->setText(tr("Show ANN/&FULL messages")); showWWVRadiobutton->setText(tr("Show WW&V messages")); showWCYRadiobutton->setText(tr("Show WC&Y messages")); - saveAllDXClusterDataRadiobutton->setText(tr("Save DX Cluster activity")); - saveAllDXClusterDataRadiobutton->setToolTip(tr("Saves all the DX-Cluster activity to a file in the KLog folder")); - QGroupBox *spotsGroupBox = new QGroupBox(tr("DX Spots")); @@ -99,12 +94,6 @@ SetupPageDxCluster::SetupPageDxCluster(QWidget *parent) : QWidget(parent) spotsVBoxLayout->addStretch(1); spotsGroupBox->setLayout(spotsVBoxLayout); - QGroupBox *miscGroupBox = new QGroupBox(tr("Others")); - - QVBoxLayout *miscVBoxLayout = new QVBoxLayout; - miscVBoxLayout->addWidget(saveAllDXClusterDataRadiobutton); - miscVBoxLayout->addStretch(1); - miscGroupBox->setLayout(miscVBoxLayout); QGroupBox *messagesGroupBox = new QGroupBox(tr("Messages")); @@ -133,24 +122,23 @@ SetupPageDxCluster::SetupPageDxCluster(QWidget *parent) : QWidget(parent) mainLayout->addLayout(serversLayout, 0, 0); mainLayout->addWidget(spotsGroupBox, 1, 0); mainLayout->addWidget(messagesGroupBox, 1, 1); - mainLayout->addWidget(miscGroupBox, 2, 0, 1, -1); setLayout(mainLayout); createActions(); - //qDebug() << "SetupPageDxCluster::SetupPageDxCluster - END" << endl; + //qDebug() << "SetupPageDxCluster::SetupPageDxCluster - END" << endl; } SetupPageDxCluster::~SetupPageDxCluster() { - //qDebug() << "SetupPageDxCluster::~SetupPageDxCluster" << endl; + //qDebug() << "SetupPageDxCluster::~SetupPageDxCluster" << endl; } void SetupPageDxCluster::createActions() { - //qDebug() << "SetupPageDxCluster::createActions" << endl; + //qDebug() << "SetupPageDxCluster::createActions" << endl; connect(addClusterButton, SIGNAL(clicked()), this, SLOT(slotAddButtonClicked()) ); connect(deleteClusterButton, SIGNAL(clicked()), this, SLOT(slotDeleteButtonClicked()) ); @@ -158,7 +146,7 @@ void SetupPageDxCluster::createActions() void SetupPageDxCluster::slotAddButtonClicked() { - //qDebug() << "SetupPageDxCluster::slotAddButtonClicked" << endl; + //qDebug() << "SetupPageDxCluster::slotAddButtonClicked" << endl; bool ok; ok = false; @@ -169,41 +157,32 @@ void SetupPageDxCluster::slotAddButtonClicked() tr("Add the address followed by the :port\nExample: dxfun.com:8000\nIf no port is specified, 41112 will be used by default:"), QLineEdit::Normal, QString::null, &ok); - //qDebug() << "SetupPageDxCluster::slotAddButtonClicked - SERVER: " << text << endl; if (ok && !text.isEmpty ()) { - //qDebug() << "SetupPageDxCluster::slotAddButtonClicked - 01" << endl; if (checkIfValidDXCluster (text)) { - //qDebug() << "SetupPageDxCluster::slotAddButtonClicked - 02" << endl; if (checkIfNewDXCluster (text)) { - //qDebug() << "SetupPageDxCluster::slotAddButtonClicked - 03" << endl; ok = true; if ((text.contains (":")) == 0) { - //qDebug() << "SetupPageDxCluster::slotAddButtonClicked - 04" << endl; text = text + ":41112"; } dxclusterServersComboBox->insertItem (0, text); - //qDebug() << "SetupPageDxCluster::slotAddButtonClicked - 05" << endl; } else { - //qDebug() << "SetupPageDxCluster::slotAddButtonClicked - 06" << endl; ok = false; } } else { - //qDebug() << "SetupPageDxCluster::slotAddButtonClicked - 07" << endl; ok = false; } } else { // user entered nothing or pressed Cancel - //qDebug() << "SetupPageDxCluster::slotAddButtonClicked - 08" << endl; ok = true; } } @@ -211,7 +190,7 @@ void SetupPageDxCluster::slotAddButtonClicked() void SetupPageDxCluster::slotDeleteButtonClicked() { - //qDebug() << "SetupPageDxCluster::slotDeleteButtonClicked" << endl; + //qDebug() << "SetupPageDxCluster::slotDeleteButtonClicked" << endl; dxclusterServersComboBox->removeItem (dxclusterServersComboBox->currentIndex ()); } @@ -231,38 +210,28 @@ bool SetupPageDxCluster::checkIfValidDXCluster (const QString & tdxcluster) } bool SetupPageDxCluster::checkIfNewDXCluster (const QString & tdxcluster) { - //qDebug() << "checkIfNewDXCluster: -" << tdxcluster << "-"<< endl; - //int numberOfDXClusterServers = dxclusterServersComboBox->count (); + //qDebug() << "checkIfNewDXCluster: -" << tdxcluster << "-"<< endl; + int numberOfDXClusterServers = dxclusterServersComboBox->count (); - if (dxclusterServersComboBox->findText(tdxcluster)<0) - { - //qDebug() << "checkIfNewDXCluster: true" << endl; - return true; - } - else - { - //qDebug() << "checkIfNewDXCluster: false" << endl; - return false; - } - /* for (int i = 0; i <= numberOfDXClusterServers - 1; i++) { - if ((dxclusterServersComboBox->currentText ()) == (tdxcluster)) { return false; } - + else + { + return true; + } dxclusterServersComboBox->setCurrentIndex(i); } return true; - */ } QStringList SetupPageDxCluster::getDxclusterServersComboBox() { - //qDebug() << "SetupPageDxCluster::getDxclusterServersComboBox" << endl; + //qDebug() << "SetupPageDxCluster::getDxclusterServersComboBox" << endl; QStringList servers; @@ -285,7 +254,7 @@ QStringList SetupPageDxCluster::getDxclusterServersComboBox() void SetupPageDxCluster::setDxclusterServersComboBox(const QStringList t) { - //qDebug() << "SetupPageDxCluster::setDxclusterServersComboBox" << endl; + //qDebug() << "SetupPageDxCluster::setDxclusterServersComboBox" << endl; if (t.count()>0) { QString text; @@ -312,19 +281,6 @@ void SetupPageDxCluster::setDxclusterServersComboBox(const QStringList t) } } -QString SetupPageDxCluster::getSaveActivityRadiobutton() -{ - if (saveAllDXClusterDataRadiobutton->isChecked()) - { - return "True"; - } - else - { - return "False"; - } - -} - QString SetupPageDxCluster::getShowHFRadiobutton() { @@ -473,18 +429,6 @@ void SetupPageDxCluster::setShowWARCRadiobutton(const QString t) } } -void SetupPageDxCluster::setSaveActivityRadiobutton(const QString t) -{ - if ( (t.toUpper()) == "FALSE") - { - saveAllDXClusterDataRadiobutton->setChecked(false); - } - else - { - saveAllDXClusterDataRadiobutton->setChecked(true); - } -} - void SetupPageDxCluster::setShowWorkedRadiobutton(const QString t) { if ( (t.toUpper()) == "FALSE") @@ -559,14 +503,11 @@ QString SetupPageDxCluster::getSelectedDxClusterServer() { return QString::null; } - //return QString::null; + return QString::null; } - void SetupPageDxCluster::setSelectedDxClusterServer(const QString t) { dxclusterServersComboBox->setCurrentIndex(dxclusterServersComboBox->findText(t)); } - - diff --git a/setuppages/setuppagedxcluster.h b/setuppagedxcluster.h similarity index 91% rename from setuppages/setuppagedxcluster.h rename to setuppagedxcluster.h index 40170239..7591e07b 100644 --- a/setuppages/setuppagedxcluster.h +++ b/setuppagedxcluster.h @@ -23,7 +23,7 @@ * 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 . * + * along with KLog. If not, see . * * * *****************************************************************************/ @@ -38,7 +38,7 @@ class SetupPageDxCluster : public QWidget { Q_OBJECT public: - SetupPageDxCluster(QWidget *parent=nullptr); + SetupPageDxCluster(QWidget *parent=0); ~SetupPageDxCluster(); QStringList getDxclusterServersComboBox(); @@ -54,8 +54,6 @@ public: QString getShowANNRadiobutton(); QString getShowWWVRadiobutton(); QString getShowWCYRadiobutton(); - QString getSaveActivityRadiobutton(); - void setShowHFRadiobutton(const QString t); void setShowVHFRadiobutton(const QString t); @@ -65,7 +63,6 @@ public: void setShowANNRadiobutton(const QString t); void setShowWWVRadiobutton(const QString t); void setShowWCYRadiobutton(const QString t); - void setSaveActivityRadiobutton(const QString t); private slots: void slotAddButtonClicked(); diff --git a/setuppages/setuppagehamlib.cpp b/setuppagehamlib.cpp similarity index 88% rename from setuppages/setuppagehamlib.cpp rename to setuppagehamlib.cpp index 7f2ba21a..fec905c2 100644 --- a/setuppages/setuppagehamlib.cpp +++ b/setuppagehamlib.cpp @@ -1,8 +1,8 @@ -#include "setuppages/setuppagehamlib.h" +#include "setuppagehamlib.h" SetupPageHamLib::SetupPageHamLib(DataProxy_SQLite *dp, QWidget *parent) : QWidget(parent) { - //qDebug() << "SetupPageHamLib::SetupPageHamLib" << endl; + //qDebug() << "SetupPageHamLib::SetupPageHamLib" << endl; hamlib = new HamLibClass(); activateHamlibCheckBox = new QCheckBox(); readOnlyModeCheckBox = new QCheckBox(); @@ -32,12 +32,12 @@ SetupPageHamLib::SetupPageHamLib(DataProxy_SQLite *dp, QWidget *parent) : QWidge createUI(); setDefaults(); - //qDebug() << "SetupPageHamLib::SetupPageHamLib END" << endl; + //qDebug() << "SetupPageHamLib::SetupPageHamLib END" << endl; } void SetupPageHamLib::fillSerialPortsComboBox() { - //qDebug() << "SetupPageHamLib::fillSerialPortsComboBox" << endl; + //qDebug() << "SetupPageHamLib::fillSerialPortsComboBox" << endl; serialPortComboBox->clear(); serialPortComboBox->addItems(getAvailableSerialPorts()); //serialPortComboBox->setCurrentIndex(0); @@ -45,7 +45,7 @@ void SetupPageHamLib::fillSerialPortsComboBox() void SetupPageHamLib::createUI() { - //qDebug() << "SetupPageHamLib::createUI" << endl; + //qDebug() << "SetupPageHamLib::createUI" << endl; connect(scanSerialPortButton, SIGNAL(clicked(bool)), this, SLOT(slotScanPorts()) ); @@ -63,19 +63,19 @@ void SetupPageHamLib::createUI() rigTypeComboBox->clear(); strings.clear(); setRig(); - //qDebug() << "SetupPageHamLib::createUI-20" << endl; + //qDebug() << "SetupPageHamLib::createUI-20" << endl; //serialPortComboBox->addItems(getAvailableSerialPorts()); fillSerialPortsComboBox(); - //qDebug() << "SetupPageHamLib::createUI-21" << endl; + //qDebug() << "SetupPageHamLib::createUI-21" << endl; rigTypeComboBox->setCurrentIndex(0); - //qDebug() << "SetupPageHamLib::createUI-22" << endl; + //qDebug() << "SetupPageHamLib::createUI-22" << endl; QLabel *rigTypeLabel = new QLabel(tr("Radio")); rigTypeLabel->setBuddy(rigTypeComboBox); rigTypeLabel->setToolTip(tr("Select your rig.")); rigTypeLabel->setAlignment(Qt::AlignVCenter| Qt::AlignCenter); rigTypeLabel->setEnabled(true); - //qDebug() << "SetupPageHamLib::createUI-30" << endl; + //qDebug() << "SetupPageHamLib::createUI-30" << endl; QString poolTip = QString(tr("Defines the interval to pool the radio in msecs.")); poolIntervalQSpinBox->setToolTip(poolTip); @@ -102,7 +102,7 @@ void SetupPageHamLib::createUI() scanSerialPortButton->setText(tr("Scan")); scanSerialPortButton->setToolTip(tr("Click to identify the serial ports available in your computer.")); - //qDebug() << "SetupPageHamLib::createUI-40" << endl; + //qDebug() << "SetupPageHamLib::createUI-40" << endl; strings.clear(); strings << "1200" << "2400" << "4800" << "9600" << "19200" << "38400" << "57600" << "115200"; serialBaudsComboBox->addItems(strings); @@ -112,7 +112,7 @@ void SetupPageHamLib::createUI() serialBaudsLabel->setAlignment(Qt::AlignVCenter| Qt::AlignCenter); serialBaudsLabel->setEnabled(true); - //qDebug() << "SetupPageHamLib::createUI-50" << endl; + //qDebug() << "SetupPageHamLib::createUI-50" << endl; dataBitsComboBox = new QComboBox(); strings.clear(); strings << tr("5 bits") << tr("6 bits") << tr("7 bits") << tr("8 bits"); @@ -123,7 +123,7 @@ void SetupPageHamLib::createUI() dataBitsLabel->setAlignment(Qt::AlignVCenter| Qt::AlignCenter); dataBitsLabel->setEnabled(true); - //qDebug() << "SetupPageHamLib::createUI-60" << endl; + //qDebug() << "SetupPageHamLib::createUI-60" << endl; flowControlComboBox = new QComboBox(); strings.clear(); strings << tr("None") << tr("Hardware") << tr("Software XON/XOFF"); @@ -199,12 +199,12 @@ void SetupPageHamLib::createUI() setLayout(mLayout); - //qDebug() << "SetupPageHamLib::createUI-END" << endl; + //qDebug() << "SetupPageHamLib::createUI-END" << endl; } void SetupPageHamLib::setRig() { - //qDebug() << "SetupPageHamLib::SetRig" << endl; + //qDebug() << "SetupPageHamLib::SetRig" << endl; // Rutine to fill the rig combo boxes // Do not display debug codes when load the rig's @@ -219,16 +219,16 @@ void SetupPageHamLib::setRig() rigTypeComboBox->insertItems (0, strings); strings.clear (); */ - //qDebug() << "SetupPageHamLib::SetRig - END" << endl; + //qDebug() << "SetupPageHamLib::SetRig - END" << endl; } /* int SetupPageHamLib::addRigToList (const struct rig_caps *caps, void *data) { - //qDebug() << "SetupPageHamLib::addRigToList" << endl; + //qDebug() << "SetupPageHamLib::addRigToList" << endl; QString name; SetupPageHamLib *r = (SetupPageHamLib *) data; name = caps->model_name; - //qDebug() << "SetupPageHamLib::addRigToList: " << name << endl; + //qDebug() << "SetupPageHamLib::addRigToList: " << name << endl; //if (name == "Dummy") // name = "None"; //r->rigname2rigid[name] = caps->rig_model; @@ -254,7 +254,7 @@ QStringList SetupPageHamLib::getAvailableSerialPorts() void SetupPageHamLib::setDefaults() { - //qDebug() << "SetupPageHamLib::setDefaults" << endl; + //qDebug() << "SetupPageHamLib::setDefaults" << endl; rigTypeComboBox->setCurrentIndex(0); serialPortComboBox->setCurrentIndex(0); serialBaudsComboBox->setCurrentIndex(0); @@ -265,13 +265,13 @@ void SetupPageHamLib::setDefaults() //RTSCheckBox->setChecked(false); //DTRCheckBox->setChecked(false); - //qDebug() << "SetupPageHamLib::setDefaults-END" << endl; + //qDebug() << "SetupPageHamLib::setDefaults-END" << endl; } QString SetupPageHamLib::getData() { - //qDebug() << "SetupPageHamLib::getData" << endl; + //qDebug() << "SetupPageHamLib::getData" << endl; QString _output; _output.clear(); QString _rigType, _serialPort, _baudsSpeed;//, dataBits, stopBits, handshake, flowControlLine; @@ -281,7 +281,7 @@ QString SetupPageHamLib::getData() _serialPort = serialPortComboBox->currentText(); _baudsSpeed = serialBaudsComboBox->currentText(); - //qDebug() << "SetupPageHamLib::getData: " << _rigType << endl; + //qDebug() << "SetupPageHamLib::getData: " << _rigType << endl; _output.clear(); @@ -310,29 +310,29 @@ QString SetupPageHamLib::getData() // _output = _output + "HamLibSerialDTR=True;\n"; //} _output = _output + getDataBits() + ";\n"; - //qDebug() << "SetupPageHamLib::getData: dataBits: " << getDataBits() << endl; + //qDebug() << "SetupPageHamLib::getData: dataBits: " << getDataBits() << endl; _output = _output + getStopBits() + ";\n"; _output = _output + getFlowControl() + ";\n"; _output = _output + getParity() + ";\n"; - //qDebug() << "SetupPageHamLib::getData: " << QString::number(hamlib->getModelIdFromName(_rigType)) << endl; + //qDebug() << "SetupPageHamLib::getData: " << QString::number(hamlib->getModelIdFromName(_rigType)) << endl; _output = _output + "HamLibRigType=" + QString::number(hamlib->getModelIdFromName(_rigType)) + ";\n"; //_output = _output + "HamLibRigType=" + _rigType + "\n"; _output = _output + "HamlibSerialPort=" + _serialPort + ";\n"; _output = _output + "HamlibSerialBauds=" + _baudsSpeed + ";\n"; - //qDebug() << "SetupPageHamLib::getData: " << _output << endl; + //qDebug() << "SetupPageHamLib::getData: " << _output << endl; return _output; } bool SetupPageHamLib::setRigType(const QString &_radio) { - //qDebug() << "SetupPageHamLib::setRig: " << _radio << endl; + //qDebug() << "SetupPageHamLib::setRig: " << _radio << endl; int _index = rigTypeComboBox->findText(hamlib->getNameFromModelId(_radio.toInt()), Qt::MatchFlag::MatchExactly); - //qDebug() << "SetupPageHamLib::setRig: After: " << QString::number(_index) << endl; + //qDebug() << "SetupPageHamLib::setRig: After: " << QString::number(_index) << endl; if (_index >= 0) { rigTypeComboBox->setCurrentIndex(_index); @@ -377,7 +377,7 @@ bool SetupPageHamLib::setSerialSpeed(const QString &_speed ) void SetupPageHamLib::setActive(const QString &_active) { - //qDebug() << "SetupPageHamLib::setActive: " << _active << endl; + //qDebug() << "SetupPageHamLib::setActive: " << _active << endl; if (_active.toUpper() == "TRUE") { activateHamlibCheckBox->setChecked(true); @@ -400,14 +400,14 @@ void SetupPageHamLib::setReadOnly(const QString &_m) void SetupPageHamLib::slotScanPorts() { - //qDebug() << "SetupPageHamLib::slotScanPorts" << endl; + //qDebug() << "SetupPageHamLib::slotScanPorts" << endl; fillSerialPortsComboBox(); } //DataBits { Data5, Data6, Data7, Data8, UnknownDataBits } QString SetupPageHamLib::getDataBits() { - //qDebug() << "SetupPageHamLib::getDataBits" << endl; + //qDebug() << "SetupPageHamLib::getDataBits" << endl; int ret = dataBitsComboBox->currentIndex(); QString output; output = "HamLibSerialDataBits="; @@ -415,23 +415,23 @@ QString SetupPageHamLib::getDataBits() { case 0: output = output + "5"; - //qDebug() << "SetupPageHamLib::getDataBits-0-5" << endl; + //qDebug() << "SetupPageHamLib::getDataBits-0-5" << endl; break; case 1: output = output + "6"; - //qDebug() << "SetupPageHamLib::getDataBits-1-6" << endl; + //qDebug() << "SetupPageHamLib::getDataBits-1-6" << endl; break; case 2: output = output + "7"; break; - //qDebug() << "SetupPageHamLib::getDataBits-2-7" << endl; + //qDebug() << "SetupPageHamLib::getDataBits-2-7" << endl; case 3: output = output + "8"; - //qDebug() << "SetupPageHamLib::getDataBits-3-8" << endl; + //qDebug() << "SetupPageHamLib::getDataBits-3-8" << endl; break; default: // should never be reached - //qDebug() << "SetupPageHamLib::getDataBits-d-8" << endl; + //qDebug() << "SetupPageHamLib::getDataBits-d-8" << endl; output = output + "8"; break; } diff --git a/setuppages/setuppagehamlib.h b/setuppagehamlib.h similarity index 97% rename from setuppages/setuppagehamlib.h rename to setuppagehamlib.h index 612c06dd..915ca05d 100644 --- a/setuppages/setuppagehamlib.h +++ b/setuppagehamlib.h @@ -23,13 +23,14 @@ * 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 . * + * along with KLog. If not, see . * * * *****************************************************************************/ #include #include #include +//#include #include #include "hamlibclass.h" #include "dataproxy_sqlite.h" diff --git a/setuppages/setuppagelogs.cpp b/setuppagelogs.cpp similarity index 67% rename from setuppages/setuppagelogs.cpp rename to setuppagelogs.cpp index d7b695e3..72a47c5c 100644 --- a/setuppages/setuppagelogs.cpp +++ b/setuppagelogs.cpp @@ -7,43 +7,43 @@ ***************************************************************************/ /***************************************************************************** - * This file is part of KLog. * + * This file is part of KLog. * * * - * KLog is free software: you can redistribute it and/or modify * + * 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, * + * 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 . * + * along with KLog. If not, see . * * * *****************************************************************************/ //#include -#include "setuppages/setuppagelogs.h" +#include "setuppagelogs.h" SetupPageLogs::SetupPageLogs(DataProxy_SQLite *dp, QWidget *parent) : QWidget(parent){ - //qDebug() << "SetupPageLogs::SetupPageLogs" << endl; + //qDebug() << "SetupPageLogs::SetupPageLogs" << endl; dataProxy = dp; stationCallsign = QString(); operators = QString(); comment = QString(); //dateString = QDate::currentDate().toString("yyyy/MM/dd"); dateString = QString(); - //typeContest = QString(); - //contestCatMode = -1; - //contestCatOperators = -1; - //contestCatAssisted = -1; - //contestCatPower = -1; - //contestCatBands = -1; - //contestBands = -1; - //typeContestN = -1; + typeContest = QString(); + contestCatMode = -1; + contestCatOperators = -1; + contestCatAssisted = -1; + contestCatPower = -1; + contestCatBands = -1; + contestBands = -1; + typeContestN = -1; selectedLog = -1; defaultStationCallSign.clear(); @@ -106,23 +106,22 @@ SetupPageLogs::SetupPageLogs(DataProxy_SQLite *dp, QWidget *parent) : QWidget(pa updateSelectedLogs(); - //qDebug() << "SetupPageLogs::SetupPageLogs - END" << endl; + //qDebug() << "SetupPageLogs::SetupPageLogs - END" << endl; } SetupPageLogs::~SetupPageLogs(){ - //qDebug() << "SetupPageLogs::~SetupPageLogs" << endl; + //qDebug() << "SetupPageLogs::~SetupPageLogs" << endl; } void SetupPageLogs::createNewLog() { - //qDebug() << "SetupPageLogs::createNewLog" << endl; + //qDebug() << "SetupPageLogs::createNewLog" << endl; selectedLog = -1; //newLog->clear(); newLog->setEditing(false); if (defaultStationCallSign.length()>2) { - //qDebug() << "SetupPageLogs::createNewLog-1" << endl; newLog->setStationCallSign(defaultStationCallSign); } if (defaultOperators.length()>2) @@ -132,26 +131,19 @@ void SetupPageLogs::createNewLog() newLog->setDateString(QDate::currentDate().toString("yyyy/MM/dd")); newLog->setComment(""); - int result = newLog->exec(); - //qDebug() << "SetupPageLogs::createNewLog: result: " << QString::number(result) << endl; - if (result == QDialog::Accepted) - { - //qDebug() << "SetupPageLogs::createNewLog - Accepted, emitting focusOK" << endl; - emit focusOK(); - } - //qDebug() << "SetupPageLogs::createNewLog - END" << endl; + newLog->exec(); } void SetupPageLogs::slotNewButtonClicked() { - //qDebug() << "SetupPageLogs::slotNewButtonClicked" << endl; + //qDebug() << "SetupPageLogs::slotNewButtonClicked" << endl; createNewLog(); } void SetupPageLogs::slotEditButtonClicked() { - //qDebug() << "SetupPageLogs::slotEditButtonClicked" << endl; + //qDebug() << "SetupPageLogs::slotEditButtonClicked" << endl; //QSqlQuery query; //int nameCol = -1; @@ -160,32 +152,28 @@ void SetupPageLogs::slotEditButtonClicked() QString getStationCallSignFromLog(const int _log); newLog->setEditing(true); - //qDebug() << "SetupPageLogs::slotEditButtonClicked" << endl; + newLog->setStationCallSign(dataProxy->getStationCallSignFromLog(selectedLog)); newLog->setOperators(dataProxy->getOperatorsFromLog(selectedLog)); newLog->setComment(dataProxy->getCommentsFromLog(selectedLog)); newLog->setDateString(dataProxy->getLogDateFromLog(selectedLog)); - //newLog->setTypeN(dataProxy->getLogTypeNFromLog(selectedLog).toInt()); - int result = newLog->exec(); - if (result == QDialog::Accepted) - { - emit focusOK(); - } + newLog->setTypeN(dataProxy->getLogTypeNFromLog(selectedLog).toInt()); + newLog->exec(); /* - //qDebug() << "SetupPageLogs::slotEditButtonClicked-1 (selectedlog: " << QString::number(selectedLog) << ")" << endl; + //qDebug() << "SetupPageLogs::slotEditButtonClicked-1 (selectedlog: " << QString::number(selectedLog) << ")" << endl; QString stringQuery = QString("SELECT * FROM logs WHERE id='%1'").arg(selectedLog); - //qDebug() << "SetupPageLogs::slotEditButtonClicked -2" << endl; + //qDebug() << "SetupPageLogs::slotEditButtonClicked -2" << endl; bool sqlOk = query.exec(stringQuery); QSqlRecord rec = query.record(); if (sqlOk) { - //qDebug() << "SetupPageLogs::slotEditButtonClicked Query OK" << endl; + //qDebug() << "SetupPageLogs::slotEditButtonClicked Query OK" << endl; QSqlRecord rec = query.record(); if ( (query.next()) && (query.isValid()) ) {//id/logdate/stationcall/comment/logtype/logtypeid - //qDebug() << "SetupPageLogs::slotEditButtonClicked Query Valid" << endl; + //qDebug() << "SetupPageLogs::slotEditButtonClicked Query Valid" << endl; //nameCol = rec.indexOf("stationcall"); //newLog->setStationCallSign((query.value(nameCol)).toString()); @@ -199,7 +187,7 @@ void SetupPageLogs::slotEditButtonClicked() //newLog->setDateString((query.value(nameCol)).toString()); //nameCol = rec.indexOf("logtypen"); - //qDebug() << "SetupPageLogs::slotEditButtonClicked -3" << endl; + //qDebug() << "SetupPageLogs::slotEditButtonClicked -3" << endl; //newLog->setTypeN((query.value(nameCol)).toInt()); newLog->exec(); @@ -221,60 +209,60 @@ void SetupPageLogs::slotLogsCancelled(const bool _q) void SetupPageLogs::slotRemoveButtonClicked() { - //qDebug() << "SetupPageLogs::slotRemoveButtonClicked" << endl; + //qDebug() << "SetupPageLogs::slotRemoveButtonClicked" << endl; int selectedLog = getSelectedLog(); QMessageBox::StandardButton ret; ret = QMessageBox::warning(this, tr("KLog"), tr("Do you really want to remove this log?") + "\n" + - tr("All the QSOs from this log will also be deleted..."), + tr("All the QSOs from this log will be also deleted..."), QMessageBox::Yes | QMessageBox::No); if (ret == QMessageBox::Yes) { - //qDebug() << "SetupPageLogs::slotRemoveButtonClicked (selected log to remove: " << QString::number(selectedLog) << ")" << endl; + //qDebug() << "SetupPageLogs::slotRemoveButtonClicked (selected log to remove: " << QString::number(selectedLog) << ")" << endl; QString stringQuery = QString("DELETE FROM logs WHERE id='%1'").arg(selectedLog); QSqlQuery query(stringQuery); bool sqlOk = query.exec(); if (sqlOk) { - //qDebug() << "SetupPageLogs::slotRemoveButtonClicked (REMOVED: " << QString::number(selectedLog) << ")" << endl; + //qDebug() << "SetupPageLogs::slotRemoveButtonClicked (REMOVED: " << QString::number(selectedLog) << ")" << endl; logsModel->select(); updateSelectedLogs(); stringQuery = QString("DELETE FROM log WHERE lognumber='%1'").arg(selectedLog); query.exec(stringQuery); sqlOk = query.exec(); - //qDebug() << "SetupPageLogs::slotRemoveButtonClicked: LastQuery: " << query.lastQuery() << endl; + //qDebug() << "SetupPageLogs::slotRemoveButtonClicked: LastQuery: " << query.lastQuery() << endl; if (sqlOk) { - //qDebug() << "SetupPageLogs::slotRemoveButtonClicked (QSOS REMOVED: " << QString::number(selectedLog) << ")" << endl; + //qDebug() << "SetupPageLogs::slotRemoveButtonClicked (QSOS REMOVED: " << QString::number(selectedLog) << ")" << endl; stringQuery = QString("DELETE FROM awarddxcc WHERE lognumber='%2'").arg(selectedLog); query.exec(stringQuery); sqlOk = query.exec(); - //qDebug() << "SetupPageLogs::slotRemoveButtonClicked: LastQuery: " << query.lastQuery() << endl; + //qDebug() << "SetupPageLogs::slotRemoveButtonClicked: LastQuery: " << query.lastQuery() << endl; if (sqlOk) { - //qDebug() << "SetupPageLogs::slotRemoveButtonClicked (AWARDDXCC REMOVED: " << QString::number(selectedLog) << ")" << endl; + //qDebug() << "SetupPageLogs::slotRemoveButtonClicked (AWARDDXCC REMOVED: " << QString::number(selectedLog) << ")" << endl; } else { emit queryError(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); showError(tr("Log has not been removed. (#3)")); - //qDebug() << "SetupPageLogs::slotRemoveButtonClicked (AWARDDXCC NOT REMOVED: " << QString::number(selectedLog) << ")" << endl; + //qDebug() << "SetupPageLogs::slotRemoveButtonClicked (AWARDDXCC NOT REMOVED: " << QString::number(selectedLog) << ")" << endl; } } else { showError(tr("Log has not been removed. (#2)")); - //qDebug() << "SetupPageLogs::slotRemoveButtonClicked (QSOS NOT REMOVED: " << QString::number(selectedLog) << ")" << endl; + //qDebug() << "SetupPageLogs::slotRemoveButtonClicked (QSOS NOT REMOVED: " << QString::number(selectedLog) << ")" << endl; } } else { emit queryError(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); showError(tr("Log has not been removed. (#1)")); - //qDebug() << "SetupPageLogs::slotRemoveButtonClicked (NOT REMOVED: " << QString::number(selectedLog) << ")" << endl; + //qDebug() << "SetupPageLogs::slotRemoveButtonClicked (NOT REMOVED: " << QString::number(selectedLog) << ")" << endl; } } @@ -286,7 +274,7 @@ void SetupPageLogs::slotRemoveButtonClicked() void SetupPageLogs::createLogsPanel() { - //qDebug() << "SetupPageLogs::createLogsPanel" << endl; + //qDebug() << "SetupPageLogs::createLogsPanel" << endl; logsView->setModel(logsModel); QString stringQuery = QString("SELECT * FROM logs"); QSqlQuery query(stringQuery); @@ -307,8 +295,8 @@ void SetupPageLogs::createLogsPanel() logsView->setColumnHidden(columns, false); columns = rec.indexOf("comment"); logsView->setColumnHidden(columns, false); - //columns = rec.indexOf("logtype"); - //logsView->setColumnHidden(columns, false); + columns = rec.indexOf("logtype"); + logsView->setColumnHidden(columns, false); logsView->setItemDelegate(new QSqlRelationalDelegate(this)); logsView->setSelectionMode( QAbstractItemView::SingleSelection); @@ -320,7 +308,7 @@ void SetupPageLogs::createLogsPanel() void SetupPageLogs::createLogsModel() { - //qDebug() << "SetupPageLogs::createLogsModel" << endl; + //qDebug() << "SetupPageLogs::createLogsModel" << endl; QString stringQuery = QString("SELECT * FROM logs"); QSqlQuery q(stringQuery); @@ -347,15 +335,15 @@ void SetupPageLogs::createLogsModel() nameCol = rec.indexOf("comment"); logsModel->setHeaderData(nameCol, Qt::Horizontal, tr("Comments")); - //nameCol = rec.indexOf("logtype"); - //logsModel->setHeaderData(nameCol, Qt::Horizontal, tr("Type")); + nameCol = rec.indexOf("logtype"); + logsModel->setHeaderData(nameCol, Qt::Horizontal, tr("Type")); logsModel->select(); } void SetupPageLogs::slotLogSelected(const QModelIndex & index) { - //qDebug() << "SetupPageLogs::slotLogSelected" << endl; + //qDebug() << "SetupPageLogs::slotLogSelected" << endl; int row = index.row(); setSelectedLog((logsModel->index(row, 0)).data(0).toInt()); @@ -363,7 +351,7 @@ void SetupPageLogs::slotLogSelected(const QModelIndex & index) void SetupPageLogs::slotLogDoubleClicked(const QModelIndex & index) { - //qDebug() << "SetupPageLogs::slotLogDoubleClicked" << endl; + //qDebug() << "SetupPageLogs::slotLogDoubleClicked" << endl; int row = index.row(); setSelectedLog((logsModel->index(row, 0)).data(0).toInt()); @@ -371,11 +359,9 @@ void SetupPageLogs::slotLogDoubleClicked(const QModelIndex & index) } - void SetupPageLogs::createActions() { - //qDebug() << "SetupPageLogs::createActions" << endl; - connect(currentLogs, SIGNAL(currentIndexChanged (int)), this, SLOT(slotCurrentLogsComboBoxChanged() ) ) ; + //qDebug() << "SetupPageLogs::createActions" << endl; connect(newLogPushButton, SIGNAL(clicked ( )), this, SLOT(slotNewButtonClicked() ) ); connect(removePushButton, SIGNAL(clicked ( )), this, SLOT(slotRemoveButtonClicked() ) ); connect(editPushButton, SIGNAL(clicked ( )), this, SLOT(slotEditButtonClicked() ) ); @@ -392,7 +378,7 @@ void SetupPageLogs::createActions() QStringList SetupPageLogs::readLogs() { - //qDebug() << "SetupPageLogs::readLogs" << endl; + //qDebug() << "SetupPageLogs::readLogs" << endl; QString aux, aux2; QStringList _logs; @@ -405,8 +391,7 @@ QStringList SetupPageLogs::readLogs() _logs.clear(); - //aux = "SELECT id, logdate, stationcall, logtype FROM logs"; - aux = "SELECT id, logdate, stationcall FROM logs"; + aux = "SELECT id, logdate, stationcall, logtype FROM logs"; sqlOk = query.exec(aux); if (sqlOk) @@ -424,9 +409,9 @@ QStringList SetupPageLogs::readLogs() aux2 = aux2.append("-"); aux2.append((query.value(nameCol)).toString()); - //nameCol = rec.indexOf("logtype"); - //aux2 = aux2.append("-"); - //aux2.append((query.value(nameCol)).toString()); + nameCol = rec.indexOf("logtype"); + aux2 = aux2.append("-"); + aux2.append((query.value(nameCol)).toString()); nameCol = rec.indexOf("logdate"); aux2 = aux2.append(" ("); @@ -446,7 +431,7 @@ QStringList SetupPageLogs::readLogs() /* _logs.clear(); - //qDebug() << "SetupPageLogs::readLogs: " << QString::number(_logs.size())<< endl; + //qDebug() << "SetupPageLogs::readLogs: " << QString::number(_logs.size())<< endl; return _logs; */ @@ -455,10 +440,10 @@ QStringList SetupPageLogs::readLogs() void SetupPageLogs::slotAnalyzeNewLogData(const QStringList _qs) { - //qDebug() << "SetupPageLogs::slotAnalyzeNewLogData (length=" << QString::number(_qs.length()) << ")" << endl; + //qDebug() << "SetupPageLogs::slotAnalyzeNewLogData (length=" << QString::number(_qs.length()) << ")" << endl; - if (_qs.length()!=5) + if (_qs.length()!=14) { return; } @@ -476,12 +461,13 @@ void SetupPageLogs::slotAnalyzeNewLogData(const QStringList _qs) << QString::number(typeContest); << editing (1/0) + */ stationCallsign = _qs.at(0); operators = _qs.at(1); comment = _qs.at(2); dateString = _qs.at(3); - //typeContest = _qs.at(4); + typeContest = _qs.at(4); /* contestCatMode = (_qs.at(5)).toInt(); contestCatOperators = (_qs.at(6)).toInt(); @@ -491,9 +477,9 @@ void SetupPageLogs::slotAnalyzeNewLogData(const QStringList _qs) contestBands = (_qs.at(10)).toInt(); typeContestN = (_qs.at(12)).toInt(); */ - +/* bool editing; - if ( (_qs.at(4)).toInt() == 1) + if ( (_qs.at(13)).toInt() == 1) { editing = true; } @@ -501,7 +487,7 @@ void SetupPageLogs::slotAnalyzeNewLogData(const QStringList _qs) { editing = false; } - +*/ //OVERLAY = 11 /* QString _dateString = _qs.at(0); @@ -519,8 +505,7 @@ void SetupPageLogs::slotAnalyzeNewLogData(const QStringList _qs) newLogq.clear(); //If qs.at(12) == 1 then we are editing, any other value is a new log //Date/Call/Operators/"DX"/comment/"1" - //newLogq << dateString << stationCallsign << operators << typeContest << comment << "1" << QString::number(selectedLog) << _qs.at(13) ; - newLogq << dateString << stationCallsign << operators << comment << QString::number(selectedLog) << _qs.at(4) ; + newLogq << dateString << stationCallsign << operators << typeContest << comment << "1" << QString::number(selectedLog) << _qs.at(13) ; if (dataProxy->addNewLog(newLogq)) { @@ -537,7 +522,7 @@ void SetupPageLogs::slotAnalyzeNewLogData(const QStringList _qs) /* bool SetupPageLogs::addNewLog(const QStringList _qs) { - //qDebug() << "SetupPageLogs::addNewLog: " << _qs.at(2) << endl; + //qDebug() << "SetupPageLogs::addNewLog: " << _qs.at(2) << endl; QString aux = QString(); int nameCol = -1; @@ -551,7 +536,7 @@ bool SetupPageLogs::addNewLog(const QStringList _qs) QString queryString = QString("SELECT * FROM logs WHERE logdate='%1' AND stationcall='%2' AND logtype='%3' AND logtypen='%4'").arg(_dateString).arg(_stationCallsign).arg(_typeContest).arg(_typeContestN); //"logs" //"id, logdate, stationcall, comment, logtype" - //qDebug() << "SetupPageLogs::addNewLog query1: " << queryString << endl; + //qDebug() << "SetupPageLogs::addNewLog query1: " << queryString << endl; QSqlQuery query; bool sqlOK = query.exec(queryString); @@ -561,16 +546,16 @@ bool SetupPageLogs::addNewLog(const QStringList _qs) { nameCol = rec.indexOf("id"); aux = (query.value(nameCol)).toString(); - //qDebug() << "SetupPageLogs::addNewLog: id = " << aux << endl; + //qDebug() << "SetupPageLogs::addNewLog: id = " << aux << endl; return false; } queryString = QString("INSERT INTO logs (logdate, stationcall, comment, logtype, logtypen) values('%1','%2','%3','%4', '%5')").arg(_dateString).arg(_stationCallsign).arg(_comment).arg(_typeContest).arg(_typeContestN); - //qDebug() << "SetupPageLogs::addNewLog query1: " << queryString << endl; + //qDebug() << "SetupPageLogs::addNewLog query1: " << queryString << endl; sqlOK = query.exec(queryString); if (sqlOK) { - //qDebug() << "SetupPageLogs::addNewLog ADDED! id = " << endl; + //qDebug() << "SetupPageLogs::addNewLog ADDED! id = " << endl; logsModel->select(); updateSelectedLogs(); return true; @@ -584,7 +569,7 @@ bool SetupPageLogs::addNewLog(const QStringList _qs) */ void SetupPageLogs::updateSelectedLogs() { - //qDebug() << "SetupPageLogs::updateSelectedLogs" << endl; + //qDebug() << "SetupPageLogs::updateSelectedLogs" << endl; logsAvailable = readLogs(); if (logsAvailable.length()>0) @@ -594,21 +579,20 @@ void SetupPageLogs::updateSelectedLogs() } else { - //qDebug() << "SetupPageLogs::updateSelectedLogs Not selected (less than 1)" << endl; + //qDebug() << "SetupPageLogs::updateSelectedLogs Not selected (less than 1)" << endl; currentLogs->clear(); } } int SetupPageLogs::getSelectedLog() { - //qDebug() << "SetupPageLogs::getSelectedLog: " << currentLogs->currentText() << endl; + //qDebug() << "SetupPageLogs::getSelectedLog: " << currentLogs->currentText() << endl; QString selectedLog = currentLogs->currentText(); int i = 0; QStringList qs; qs.clear(); qs << selectedLog.split("-"); i = (qs.at(0)).toInt(); - //qDebug() << "SetupPageLogs::getSelectedLog: " << QString::number(i) << endl; if (i>=1) { return i; @@ -619,60 +603,20 @@ int SetupPageLogs::getSelectedLog() } } -void SetupPageLogs::slotCurrentLogsComboBoxChanged() -{ - //qDebug() << "SetupPageLogs::slotCurrentLogsComboBoxChanged: " << currentLogs->currentText() << endl; - QString a = (currentLogs->currentText()).section('-', 0, 0); - //qDebug() << "SetupPageLogs::slotCurrentLogsComboBoxChanged: a: " << a << endl; - - /* - int log = (logsModel->index(logsView->currentIndex().row(), 0)).data(0).toInt(); - //qDebug() << "SetupPageLogs::slotCurrentLogsComboBoxChanged: log: " << log << endl; - - if (a.toInt() == getSelectedLog()) - { - return; - } - */ - setSelectedLog(a.toInt()); - /* - //logsView->setSelectionBehavior(QAbstractItemView::SelectRows); - //logsView->setSelectionMode(QAbstractItemView::SingleSelection); - int num = a.toInt(); // Comes from the ComboBox - //qDebug() << "SetupPageLogs::slotCurrentLogsComboBoxChanged: num: " << QString::number(num) << endl; - int currentId; // Comes from the logView as we run though it - for (int i = 0; i< logsView->verticalHeader()->count(); i++) - { - //logsView->setCurrentIndex(logsModel->index(0, 0)); - currentId = ((logsModel->index(i, 0)).data(0)).toInt(); - //qDebug() << "SetupPageLogs::slotCurrentLogsComboBoxChanged: for i/num/currentId: " << QString::number(i) << "/" << QString::number(num) << "/" << QString::number(currentId) << endl; - if (currentId == num) - { - //qDebug() << "SetupPageLogs::slotCurrentLogsComboBoxChanged: currentId == num " << endl; - logsView->selectRow(num); - } - } - */ - - - //logsView->selectRow(a.toInt()); - -} - void SetupPageLogs::setSelectedLog(const int _i) { - //qDebug() << "SetupPageLogs::SetupPageLogs::setSelectedLog: " << QString::number(_i) << endl; + //qDebug() << "SetupPageLogs::SetupPageLogs::setSelectedLog: " << QString::number(_i) << endl; - QString n = QString::number(_i) + "-"; + QString n = QString::number(_i) + "--"; int selected = currentLogs->findText(n, Qt::MatchStartsWith); if (selected >= 0) { - //qDebug() << "SetupPageLogs::SetupPageLogs::setSelectedLog selected>=0: " << QString::number(selected) << endl; + //qDebug() << "SetupPageLogs::SetupPageLogs::setSelectedLog selected>0: " << QString::number(selected) << endl; currentLogs->setCurrentIndex(selected); } else { - //qDebug() << "SetupPageLogs::SetupPageLogs::setSelectedLog not selected" << endl; + //qDebug() << "SetupPageLogs::SetupPageLogs::setSelectedLog not selcted" << endl; return; } } @@ -697,13 +641,13 @@ void SetupPageLogs::showError(const QString _errorC) void SetupPageLogs::setDefaultStationCallsign(const QString _p) { - //qDebug() << "SetupPageLogs::setDefaultStationCallsign: " << _p << endl; + //qDebug() << "SetupPageLogs::setDefaultStationCallsign: " << _p << endl; defaultStationCallSign = _p; } void SetupPageLogs::setDefaultOperators(const QString _p) { - //qDebug() << "SetupPageLogs::setDefaultOperators: " << _p << endl; + //qDebug() << "SetupPageLogs::setDefaultOperators: " << _p << endl; defaultOperators = _p; } diff --git a/setuppages/setuppagelogs.h b/setuppagelogs.h similarity index 88% rename from setuppages/setuppagelogs.h rename to setuppagelogs.h index 3347c05f..6dcd9a33 100644 --- a/setuppages/setuppagelogs.h +++ b/setuppagelogs.h @@ -9,20 +9,20 @@ ***************************************************************************/ /***************************************************************************** - * This file is part of KLog. * + * This file is part of KLog. * * * - * KLog is free software: you can redistribute it and/or modify * + * 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, * + * 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 . * + * along with KLog. If not, see . * * * *****************************************************************************/ @@ -31,10 +31,10 @@ #include #include #include "dataproxy_sqlite.h" -#include "setuppages/setuppagelogsnew.h" +#include "setuppagelogsnew.h" -//const int CONTEST_DX = 0; +const int CONTEST_DX = 0; //const int CONTEST_CQ_WW_SSB = 1; //const int CONTEST_CQ_WW_CW = 2; //const int CONTEST_CQ_WPX_SSB = 3; @@ -74,7 +74,6 @@ private slots: void slotAnalyzeNewLogData(const QStringList _qs); void slotLogSelected(const QModelIndex & index); void slotLogDoubleClicked(const QModelIndex & index); - void slotCurrentLogsComboBoxChanged(); //void slotLogsCancelled(const bool _q); //void slotCreateLog(); @@ -84,7 +83,6 @@ signals: //void exitSignal(const int status); // 1 = OK, -1 = NOK, 2 = Cancel clicked void newLogData(const QStringList _qs); // Station QRZ + Operators to be shown in the main tab void queryError(QString functionFailed, QString errorCodeS, int errorCodeN, QString failedQuery); // To alert about any failed query execution - void focusOK(); private: //void createActions(); @@ -127,8 +125,8 @@ private: SetupPageLogsNew *newLog; - QString stationCallsign, operators, comment, dateString;//, typeContest; - //int contestCatMode, contestCatOperators, contestCatAssisted, contestCatPower, contestCatBands, contestBands;//, typeContestN; + QString stationCallsign, operators, comment, dateString, typeContest; + int contestCatMode, contestCatOperators, contestCatAssisted, contestCatPower, contestCatBands, contestBands, typeContestN; DataProxy_SQLite *dataProxy; int selectedLog; diff --git a/setuppages/setuppagelogsnew.cpp b/setuppagelogsnew.cpp similarity index 79% rename from setuppages/setuppagelogsnew.cpp rename to setuppagelogsnew.cpp index 2a5d0056..94c5b72d 100644 --- a/setuppages/setuppagelogsnew.cpp +++ b/setuppagelogsnew.cpp @@ -20,32 +20,30 @@ * 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 . * + * along with KLog. If not, see . * * * *****************************************************************************/ // // This class implements the Dialog to add a new log // -#include "setuppages/setuppagelogsnew.h" +#include "setuppagelogsnew.h" SetupPageLogsNew::SetupPageLogsNew(DataProxy_SQLite *dp, QWidget *parent) { - //qDebug() << "SetupPageLogsNew::SetupPageLogsNew" << endl; + //qDebug() << "SetupPageLogsNew::SetupPageLogsNew" << endl; dataProxy = dp; editing = false; checking = false; - - /* - * bCass = false; + bCass = false; bCOp = false; bCMo = false; bCPo = false; bCBa = false; bCOv = false; bCTy = false; - */ + logData.clear(); stationCallsignFilled = false; operatorsFilled = true; @@ -53,16 +51,16 @@ SetupPageLogsNew::SetupPageLogsNew(DataProxy_SQLite *dp, QWidget *parent) operators = QString(); comment = QString(); dateString = QString(); - //typeContest = 0; - //contestCatMode = 0; - //contestCatOperators = 0; - //contestCatAssisted = 0; - //contestCatPower = 0; - //contestCatBands = 0; - //contestBands = 0; - //contestCatOverlay = 0; - //typeContestSelected = 0; - //typeConteststr = QString(); + typeContest = 0; + contestCatMode = 0; + contestCatOperators = 0; + contestCatAssisted = 0; + contestCatPower = 0; + contestCatBands = 0; + contestBands = 0; + contestCatOverlay = 0; + typeContestSelected = 0; + typeConteststr = QString(); stationCallsignLineEdit = new QLineEdit; @@ -71,7 +69,7 @@ SetupPageLogsNew::SetupPageLogsNew(DataProxy_SQLite *dp, QWidget *parent) dateEdit = new QDateEdit; dateEdit->setDate(QDate::currentDate ()); commentLineEdit = new QLineEdit; - /* + typeComboBox = new QComboBox; contestCatModeComboBox = new QComboBox; contestCatOperatorsComboBox = new QComboBox; @@ -90,7 +88,7 @@ SetupPageLogsNew::SetupPageLogsNew(DataProxy_SQLite *dp, QWidget *parent) catBandsLabel = new QLabel(); overlayLabel = new QLabel(); validCats = new QLabel(); - */ + dateLabel = new QLabel(tr("&Date")); stationCallsignLabel = new QLabel(tr("&Station Callsign")); operatorsLabel = new QLabel(tr("&Operators")); @@ -103,16 +101,16 @@ SetupPageLogsNew::SetupPageLogsNew(DataProxy_SQLite *dp, QWidget *parent) okButton->setEnabled(false); - //qDebug() << "SetupPageLogsNew::SetupPageLogsNew - END" << endl; + //qDebug() << "SetupPageLogsNew::SetupPageLogsNew - END" << endl; } void SetupPageLogsNew::clear() { - //qDebug() << "SetupPageLogsNew::Clear - Start" << endl; stationCallsignLineEdit->clear(); operatorsLineEdit->clear(); dateEdit->setDate(QDate::currentDate ()); -/* + + typeComboBox->setCurrentIndex(0); contestCatModeComboBox->setCurrentIndex(0); contestCatOperatorsComboBox->setCurrentIndex(0); @@ -130,13 +128,13 @@ void SetupPageLogsNew::clear() contestCatBands = 0; contestBands = 0; contestCatOverlay = 0; - typeContestSelected = 0;*/ - //qDebug() << "SetupPageLogsNew::Clear - END" << endl; + typeContestSelected = 0; + } void SetupPageLogsNew::createWidget() { - //qDebug() << "SetupPageLogsNew::createWidget - Start" << endl; + //qDebug() << "SetupPageLogsNew::createWidget" << endl; stationCallsignLabel->setWordWrap(true); operatorsLabel->setWordWrap(true); @@ -146,7 +144,6 @@ void SetupPageLogsNew::createWidget() stationCallsignLabel->setBuddy(stationCallsignLineEdit); operatorsLabel->setBuddy(operatorsLineEdit); commentLabel->setBuddy(commentLineEdit); - /* catAsLabel->setBuddy(contestCatAssistedComboBox); typeLabel->setBuddy(typeComboBox); catOpLabel->setBuddy(contestCatOperatorsComboBox); @@ -157,7 +154,7 @@ void SetupPageLogsNew::createWidget() validCats->setText(tr("Select categories")); validCats->setWordWrap(true); - */ + stationCallsignLineEdit->setToolTip(tr("Callsign used for this log.")); operatorsLineEdit->setToolTip(tr("Comma separated list of operators: callsign1, callsign2.")); @@ -165,19 +162,19 @@ void SetupPageLogsNew::createWidget() dateEdit->setToolTip(tr("Start date of this log.")); commentLineEdit->setToolTip(tr("Add a comment about this log.")); - //typeLabel->setText(tr("&Type of Operation")); - //typeLabel->setWordWrap(true); + typeLabel->setText(tr("&Type of Operation")); + typeLabel->setWordWrap(true); //nameLabel->setWordWrap(true); dateLabel->setWordWrap(true); - /* + typeComboBox->setToolTip(tr("Select the kind of operation for this log.")); QStringList _qs; _qs.clear(); _qs.append(dataProxy->getContestNames()); typeComboBox->addItems(_qs); - //qDebug() << "SetupPageLogsNew::createWidget - contestNames: " << _qs.at(0) << endl; + //qDebug() << "SetupPageLogsNew::createWidget - contestNames: " << _qs.at(0) << endl; catModeLabel->setText(tr("&Mode Category")); catModeLabel->setWordWrap(true); @@ -223,11 +220,11 @@ void SetupPageLogsNew::createWidget() _qs.clear(); _qs.append(dataProxy->getContestOverlays()); contestCatOverlayComboBox->addItems(_qs); - */ + connect(stationCallsignLineEdit, SIGNAL(textChanged(QString)), this, SLOT(slotStationCallSignTextChanged() ) ); connect(operatorsLineEdit, SIGNAL(textChanged(QString)), this, SLOT(slotOperatorsTextChanged() ) ); - /* + connect(typeComboBox, SIGNAL(currentIndexChanged ( int)), this, SLOT(slotTypeComboBoxChanged() ) ) ; connect(contestCatModeComboBox, SIGNAL(currentIndexChanged ( int)), this, SLOT(slotCatModeComboBoxChanged() ) ) ; connect(contestCatAssistedComboBox, SIGNAL(currentIndexChanged ( int)), this, SLOT(slotCatAssistedComboBoxChanged() ) ) ; @@ -235,7 +232,7 @@ void SetupPageLogsNew::createWidget() connect(contestCatPowerComboBox, SIGNAL(currentIndexChanged ( int)), this, SLOT(slotCatPowerComboBoxChanged() ) ) ; connect(contestCatBandsComboBox, SIGNAL(currentIndexChanged ( int)), this, SLOT(slotCatBandsComboBoxChanged() ) ) ; connect(contestCatOverlayComboBox, SIGNAL(currentIndexChanged ( int)), this, SLOT(slotCatOverlayComboBoxChanged() ) ) ; - */ + //connect(typeComboBox, SIGNAL(currentIndexChanged ( int)), this, SLOT(slotTypeComboBoxChanged() ) ) ; //connect(contestCatModeComboBox, SIGNAL(currentIndexChanged ( int)), this, SLOT(slotCatModeComboBoxChanged() ) ) ; //connect(contestCatAssistedComboBox, SIGNAL(currentIndexChanged ( int)), this, SLOT(slotCatAssistedComboBoxChanged() ) ) ; @@ -244,7 +241,7 @@ void SetupPageLogsNew::createWidget() //connect(contestCatBandsComboBox, SIGNAL(currentIndexChanged ( int)), this, SLOT(slotCatBandsComboBoxChanged() ) ) ; //connect(contestCatOverlayComboBox, SIGNAL(currentIndexChanged ( int)), this, SLOT(slotCatOverlayComboBoxChanged() ) ) ; - //connect(contestBandsComboBox, SIGNAL(currentIndexChanged ( int)), this, SLOT(slotBandsComboBoxChanged() ) ) ; + connect(contestBandsComboBox, SIGNAL(currentIndexChanged ( int)), this, SLOT(slotBandsComboBoxChanged() ) ) ; //connect(contestCatModeComboBox, SIGNAL(currentIndexChanged ( int)), this, SLOT(slotCatModeComboBoxChanged() ) ) ; connect(okButton,SIGNAL(clicked()), this, SLOT(slotOKButtonClicked() ) ); connect(cancelButton, SIGNAL(clicked()), this, SLOT(slotCancelButtonClicked() ) ); @@ -295,14 +292,13 @@ void SetupPageLogsNew::createWidget() setLayout(mainLayout); clear(); //page->setLayout(callsLayout); - //qDebug() << "SetupPageLogsNew::createWidget - End" << endl; } void SetupPageLogsNew::slotOperatorsTextChanged() { - //qDebug() << "SetupPageLogsNew::slotOperatorsTextChanged - Start" << endl; + //qDebug() << "SetupPageLogsNew::slotOperatorsTextChanged" << endl; // connect(stationCallsignLineEdit, SIGNAL(textChanged(QString)), this, SLOT( ) ); if ((operatorsLineEdit->text()).length()<1) { @@ -328,12 +324,11 @@ void SetupPageLogsNew::slotOperatorsTextChanged() {//TODO: Add a check of the format (comma separated) operatorsFilled= true; } - //qDebug() << "SetupPageLogsNew::slotOperatorsTextChanged - End" << endl; } void SetupPageLogsNew::slotStationCallSignTextChanged() { - //qDebug() << "SetupPageLogsNew::slotStationCallSignTextChanged" << endl; + //qDebug() << "SetupPageLogsNew::slotStationCallSignTextChanged" << endl; // connect(stationCallsignLineEdit, SIGNAL(textChanged(QString)), this, SLOT( ) ); if ((stationCallsignLineEdit->text()).length()<1) { @@ -361,13 +356,11 @@ void SetupPageLogsNew::slotStationCallSignTextChanged() stationCallsignFilled = true; } showOK(); - //qDebug() << "SetupPageLogsNew::slotStationCallSignTextChanged - End" << endl; } -/* void SetupPageLogsNew::slotTypeComboBoxChanged() { - //qDebug() << "SetupPageLogsNew::slotTypeComboBoxChanged" << endl; + //qDebug() << "SetupPageLogsNew::slotTypeComboBoxChanged" << endl; // connect(typeComboBox, SIGNAL(currentIndexChanged ( int)), this, SLOT(slotTypeComboBoxChanged() ) ) ; @@ -395,9 +388,11 @@ void SetupPageLogsNew::slotTypeComboBoxChanged() } } + + void SetupPageLogsNew::slotCatAssistedComboBoxChanged() { - //qDebug() << "SetupPageLogs:slotCatAssistedComboBoxChanged: " << QString::number(contestCatAssistedComboBox->currentIndex()) << endl; + //qDebug() << "SetupPageLogs:slotCatAssistedComboBoxChanged: " << QString::number(contestCatAssistedComboBox->currentIndex()) << endl; //connect(contestCatAssistedComboBox, SIGNAL(currentIndexChanged ( int)), this, SLOT(slotCatAssistedComboBoxChanged() ) ) ; contestCatMode = contestCatModeComboBox->currentIndex(); @@ -425,7 +420,7 @@ void SetupPageLogsNew::slotCatAssistedComboBoxChanged() void SetupPageLogsNew::slotCatOperatorsComboBoxChanged() { - //qDebug() << "SetupPageLogsNew::slotCatOperatorsComboBoxChanged(): " << QString::number(contestCatOperatorsComboBox->currentIndex()) << endl; + //qDebug() << "SetupPageLogsNew::slotCatOperatorsComboBoxChanged(): " << QString::number(contestCatOperatorsComboBox->currentIndex()) << endl; contestCatMode = contestCatModeComboBox->currentIndex(); contestCatBands = contestCatBandsComboBox->currentIndex(); @@ -452,7 +447,7 @@ void SetupPageLogsNew::slotCatOperatorsComboBoxChanged() void SetupPageLogsNew::slotCatPowerComboBoxChanged() { - //qDebug() << "SetupPageLogsNew::slotCatPowerComboBoxChanged(): " << QString::number(contestCatPowerComboBox->currentIndex()) << endl; + //qDebug() << "SetupPageLogsNew::slotCatPowerComboBoxChanged(): " << QString::number(contestCatPowerComboBox->currentIndex()) << endl; //connect(contestCatPowerComboBox, SIGNAL(currentIndexChanged ( int)), this, SLOT(slotCatPowerComboBoxChanged() ) ) ; contestCatMode = contestCatModeComboBox->currentIndex(); @@ -480,7 +475,7 @@ void SetupPageLogsNew::slotCatPowerComboBoxChanged() void SetupPageLogsNew::slotCatBandsComboBoxChanged() { - //qDebug() << "SetupPageLogsNew::slotCatBandsComboBoxChanged(): " << QString::number(contestCatBandsComboBox->currentIndex()) << endl; + //qDebug() << "SetupPageLogsNew::slotCatBandsComboBoxChanged(): " << QString::number(contestCatBandsComboBox->currentIndex()) << endl; //connect(contestCatBandsComboBox, SIGNAL(currentIndexChanged ( int)), this, SLOT(slotCatBandsComboBoxChanged() ) ) ; contestCatMode = contestCatModeComboBox->currentIndex(); @@ -508,7 +503,7 @@ void SetupPageLogsNew::slotCatBandsComboBoxChanged() void SetupPageLogsNew::slotBandsComboBoxChanged() { - //qDebug() << "SetupPageLogsNew::slotBandsComboBoxChanged(): " << QString::number(contestBandsComboBox->currentIndex()) << endl; + //qDebug() << "SetupPageLogsNew::slotBandsComboBoxChanged(): " << QString::number(contestBandsComboBox->currentIndex()) << endl; //connect(contestBandsComboBox, SIGNAL(currentIndexChanged ( int)), this, SLOT(slotBandsComboBoxChanged() ) ) ; } @@ -516,7 +511,7 @@ void SetupPageLogsNew::slotBandsComboBoxChanged() void SetupPageLogsNew::slotCatOverlayComboBoxChanged() { - //qDebug() << "SetupPageLogsNew::slotCatOverlayComboBoxChanged(): " << QString::number(contestCatOverlayComboBox->currentIndex()) << endl; + //qDebug() << "SetupPageLogsNew::slotCatOverlayComboBoxChanged(): " << QString::number(contestCatOverlayComboBox->currentIndex()) << endl; contestCatMode = contestCatModeComboBox->currentIndex(); contestCatBands = contestCatBandsComboBox->currentIndex(); @@ -527,7 +522,7 @@ void SetupPageLogsNew::slotCatOverlayComboBoxChanged() contestCatOverlay= contestCatOverlayComboBox->currentIndex(); typeContest = getSelectedTypeContest(); - //qDebug() << "SetupPageLogsNew::slotCatOverlayComboBoxChanged(): typeContest = " << QString::number(typeContest) << endl; + //qDebug() << "SetupPageLogsNew::slotCatOverlayComboBoxChanged(): typeContest = " << QString::number(typeContest) << endl; if (typeContest < 0) { @@ -544,7 +539,7 @@ void SetupPageLogsNew::slotCatOverlayComboBoxChanged() void SetupPageLogsNew::slotCatModeComboBoxChanged() { - //qDebug() << "SetupPageLogsNew::slotCatModeComboBoxChanged(): " << QString::number(contestCatModeComboBox->currentIndex()) << endl; + //qDebug() << "SetupPageLogsNew::slotCatModeComboBoxChanged(): " << QString::number(contestCatModeComboBox->currentIndex()) << endl; contestCatMode = contestCatModeComboBox->currentIndex(); contestCatBands = contestCatBandsComboBox->currentIndex(); @@ -555,7 +550,7 @@ void SetupPageLogsNew::slotCatModeComboBoxChanged() contestCatOverlay= contestCatOverlayComboBox->currentIndex(); typeContest = getSelectedTypeContest(); - //qDebug() << "SetupPageLogsNew::slotCatModeComboBoxChanged(): " << QString::number(typeContest) << endl; + //qDebug() << "SetupPageLogsNew::slotCatModeComboBoxChanged(): " << QString::number(typeContest) << endl; if (typeContest < 0) { @@ -569,11 +564,11 @@ void SetupPageLogsNew::slotCatModeComboBoxChanged() } } -*/ + void SetupPageLogsNew::slotOKButtonClicked() { - //qDebug() << "SetupPageLogsNew::slotOkButtonClicked" << endl; + //qDebug() << "SetupPageLogsNew::slotOkButtonClicked" << endl; stationCallsign = stationCallsignLineEdit->text(); if (stationCallsign.length()<3) { @@ -589,121 +584,103 @@ void SetupPageLogsNew::slotOKButtonClicked() comment = commentLineEdit->text(); dateString = dateEdit->date().toString("yyyy/MM/dd"); - logData.clear(); - logData << stationCallsign << operators << comment << dateString; - if (editing) - { - logData << "1"; - editing = false; - } - else - { - logData << "0"; - } - emit newLogData(logData); - - //gatherAndSend(); - - clear(); - accept(); - //typeContest, contestCatOperators, contestCatAssisted, contestCatPower, //contestCatBands, contestCatOverlay, contestCatMode -/* + if (typeComboBox->isEnabled()) { - //qDebug() << "SetupPageLogsNew::slotOkButtonClicked ENA: type" << endl; + //qDebug() << "SetupPageLogsNew::slotOkButtonClicked ENA: type" << endl; typeContestSelected = typeComboBox->currentIndex(); typeConteststr = typeComboBox->currentText(); } else { - //qDebug() << "SetupPageLogsNew::slotOkButtonClicked NOT ENA: type" << endl; + //qDebug() << "SetupPageLogsNew::slotOkButtonClicked NOT ENA: type" << endl; typeContestSelected = 0; typeConteststr = QString(); } if (contestCatModeComboBox->isEnabled()) { - //qDebug() << "SetupPageLogsNew::slotOkButtonClicked ENA: mode" << endl; + //qDebug() << "SetupPageLogsNew::slotOkButtonClicked ENA: mode" << endl; contestCatMode = contestCatModeComboBox->currentIndex(); } else { - //qDebug() << "SetupPageLogsNew::slotOkButtonClicked NOT ENA: mode" << endl; + //qDebug() << "SetupPageLogsNew::slotOkButtonClicked NOT ENA: mode" << endl; contestCatMode = 0; } if (contestCatOperatorsComboBox->isEnabled()) { - //qDebug() << "SetupPageLogsNew::slotOkButtonClicked ENA: oper" << endl; + //qDebug() << "SetupPageLogsNew::slotOkButtonClicked ENA: oper" << endl; contestCatOperators = contestCatOperatorsComboBox->currentIndex(); } else { - //qDebug() << "SetupPageLogsNew::slotOkButtonClicked NOT ENA: oper" << endl; + //qDebug() << "SetupPageLogsNew::slotOkButtonClicked NOT ENA: oper" << endl; contestCatOperators = 0; } if (contestCatAssistedComboBox->isEnabled()) { - //qDebug() << "SetupPageLogsNew::slotOkButtonClicked ENA: ass" << endl; + //qDebug() << "SetupPageLogsNew::slotOkButtonClicked ENA: ass" << endl; contestCatAssisted = contestCatAssistedComboBox->currentIndex(); } else { - //qDebug() << "SetupPageLogsNew::slotOkButtonClicked NOT ENA: ass" << endl; + //qDebug() << "SetupPageLogsNew::slotOkButtonClicked NOT ENA: ass" << endl; contestCatAssisted = 0; } if (contestCatPowerComboBox->isEnabled()) { - //qDebug() << "SetupPageLogsNew::slotOkButtonClicked ENA: pwr" << endl; + //qDebug() << "SetupPageLogsNew::slotOkButtonClicked ENA: pwr" << endl; contestCatPower = contestCatPowerComboBox->currentIndex(); - //qDebug() << "SetupPageLogsNew::slotOkButtonClicked ENA: pwr - " << contestCatPowerComboBox->currentText() << endl; + //qDebug() << "SetupPageLogsNew::slotOkButtonClicked ENA: pwr - " << contestCatPowerComboBox->currentText() << endl; } else { - //qDebug() << "SetupPageLogsNew::slotOkButtonClicked NOT ENA: pwr" << endl; + //qDebug() << "SetupPageLogsNew::slotOkButtonClicked NOT ENA: pwr" << endl; contestCatPower = 0; } if (contestCatBandsComboBox->isEnabled()) { - //qDebug() << "SetupPageLogsNew::slotOkButtonClicked ENA: Cbands" << endl; + //qDebug() << "SetupPageLogsNew::slotOkButtonClicked ENA: Cbands" << endl; contestCatBands = contestCatBandsComboBox->currentIndex(); } else { - //qDebug() << "SetupPageLogsNew::slotOkButtonClicked NOT ENA: Cbands" << endl; + //qDebug() << "SetupPageLogsNew::slotOkButtonClicked NOT ENA: Cbands" << endl; contestCatBands = 0; } if (contestBandsComboBox->isEnabled()) { - //qDebug() << "SetupPageLogsNew::slotOkButtonClicked ENA: bands" << endl; + //qDebug() << "SetupPageLogsNew::slotOkButtonClicked ENA: bands" << endl; contestBands = contestBandsComboBox->currentIndex(); } else { - //qDebug() << "SetupPageLogsNew::slotOkButtonClicked NOT ENA: bands" << endl; + //qDebug() << "SetupPageLogsNew::slotOkButtonClicked NOT ENA: bands" << endl; contestBands = 0; } if (contestCatOverlayComboBox->isEnabled()) { - //qDebug() << "SetupPageLogsNew::slotOkButtonClicked ENA: over" << endl; + //qDebug() << "SetupPageLogsNew::slotOkButtonClicked ENA: over" << endl; contestCatOverlay = contestCatOverlayComboBox->currentIndex(); } else { - //qDebug() << "SetupPageLogsNew::slotOkButtonClicked NOT ENA: over" << endl; + //qDebug() << "SetupPageLogsNew::slotOkButtonClicked NOT ENA: over" << endl; contestCatOverlay = 0; } //typeContest, contestCatOperators, contestCatAssisted, contestCatPower, //contestCatBands, contestCatOverlay, contestCatMode - // typeContest = getSelectedTypeContest(); + typeContest = getSelectedTypeContest(); if (typeContest < 0) { QMessageBox msgBox; @@ -714,33 +691,32 @@ void SetupPageLogsNew::slotOKButtonClicked() } else { - + gatherAndSend(); + close(); } -*/ + } - void SetupPageLogsNew::gatherAndSend() { - //qDebug() << "SetupPageLogsNew::gatherAndSend: " << endl; + //qDebug() << "SetupPageLogsNew::gatherAndSend: " << typeConteststr << endl; // The following lines will be removed once more contest types have been added - //contestCatMode = contestCatModeComboBox->currentIndex(); - //contestCatBands = contestCatBandsComboBox->currentIndex(); - //contestCatPower = contestCatPowerComboBox->currentIndex(); - //contestCatOperators = contestCatOperatorsComboBox->currentIndex(); - //contestCatAssisted = contestCatAssistedComboBox->currentIndex(); - //typeContestSelected = typeComboBox->currentIndex(); - //contestCatOverlay = contestCatOverlayComboBox->currentIndex(); - //typeContest = getSelectedTypeContest(); + contestCatMode = contestCatModeComboBox->currentIndex(); + contestCatBands = contestCatBandsComboBox->currentIndex(); + contestCatPower = contestCatPowerComboBox->currentIndex(); + contestCatOperators = contestCatOperatorsComboBox->currentIndex(); + contestCatAssisted = contestCatAssistedComboBox->currentIndex(); + typeContestSelected = typeComboBox->currentIndex(); + contestCatOverlay = contestCatOverlayComboBox->currentIndex(); + typeContest = getSelectedTypeContest(); // The previous lines will be removed once more contest types have been added logData.clear(); - logData << stationCallsign << operators << comment << dateString; - /* + logData << stationCallsign << operators << comment << dateString << typeConteststr << QString::number(contestCatMode) << QString::number(contestCatOperators) @@ -750,7 +726,6 @@ void SetupPageLogsNew::gatherAndSend() << QString::number(contestBands) << QString::number(contestCatOverlay) << QString::number(typeContest); - */ if (editing) { @@ -762,25 +737,23 @@ void SetupPageLogsNew::gatherAndSend() logData << "0"; } - //logData << QString::number(typeContest) // Update the SetupPageLogs::slotAnalyzeNewLogData if you add or remove any field (Today 12) - //qDebug() << "SetupPageLogsNew::gatherAndSend: EMITED" << endl; + //qDebug() << "SetupPageLogsNew::gatherAndSend: EMITED" << endl; emit newLogData(logData); } void SetupPageLogsNew::slotCancelButtonClicked() { - //qDebug() << "SetupPageLogsNew::slotCancelButtonClicked" << endl; + //qDebug() << "SetupPageLogsNew::slotCancelButtonClicked" << endl; logData.clear(); emit cancelled(true); - setResult(QDialog::Rejected); - clear(); close(); } + /* QStringList SetupPageLogsNew::getValidCatOptions(const int _currentCat, const int _higherCat) {// currentCat is the current category and highercat is the category we want to know the information @@ -792,39 +765,38 @@ QStringList SetupPageLogsNew::getValidCatOptions(const int _currentCat, const in // 5 - contestcatoverlay // 6 - contestcatmode - //qDebug() << "SetupPageLogsNew::getValidCatOptions: " << QString::number(_currentCat) <<"/"<< QString::number(_higherCat) << endl; + //qDebug() << "SetupPageLogsNew::getValidCatOptions: " << QString::number(_currentCat) <<"/"<< QString::number(_higherCat) << endl; //return dataProxy->getValidCatOptions(_currentCat, _higherCat); return QStringList(); } */ -void SetupPageLogsNew::setStationCallSign(const QString &_st) +void SetupPageLogsNew::setStationCallSign(const QString _st) { stationCallsign = _st; stationCallsignLineEdit->setText(stationCallsign.toUpper()); } -void SetupPageLogsNew::setOperators(const QString &_st) +void SetupPageLogsNew::setOperators(const QString _st) { operators = _st; operatorsLineEdit->setText(operators.toUpper()); } -void SetupPageLogsNew::setComment(const QString &_st) +void SetupPageLogsNew::setComment(const QString _st) { comment = _st; commentLineEdit->setText(comment.toUpper()); } -void SetupPageLogsNew::setDateString(const QString &_st) +void SetupPageLogsNew::setDateString(const QString _st) { dateString = _st; dateEdit->setDate(QDate::fromString(dateString, "yyyy/MM/dd")); } - /* -void SetupPageLogsNew::setType(const QString &_st) +void SetupPageLogsNew::setType(const QString _st) { typeConteststr = _st; //typeConteststr = typeComboBox->currentText(); @@ -884,37 +856,38 @@ void SetupPageLogsNew::setEditing(const bool b) { clear(); } + } -/* int SetupPageLogsNew::getSelectedTypeContest() { - //qDebug() << "SetupPageLogsNew::getSelectedTypeContest: " << endl; + //qDebug() << "SetupPageLogsNew::getSelectedTypeContest: " << endl; //is/contest/catoperator/catassisted/catpower/catband/catoverlay/catmode int i = dataProxy->getContestTypeN(typeContestSelected, contestCatOperators, contestCatAssisted, contestCatPower, contestCatBands, contestCatOverlay, contestCatMode); - //qDebug() << "SetupPageLogsNew::getSelectedTypeContest: " << QString::number(i) << endl; + //qDebug() << "SetupPageLogsNew::getSelectedTypeContest: " << QString::number(i) << endl; return i; } void SetupPageLogsNew::setTypeN(const int _n) { - //qDebug() << "SetupPageLogsNew::setTypeN: " << QString::number(_n) << endl; + //qDebug() << "SetupPageLogsNew::setTypeN: " << QString::number(_n) << endl; typeContestSelected = _n; fillWithType(typeContestSelected); } + void SetupPageLogsNew::fillWithType(const int _n) { - //qDebug() << "SetupPageLogsNew::fillWithType - n = " << QString::number(_n) << endl; + //qDebug() << "SetupPageLogsNew::fillWithType - n = " << QString::number(_n) << endl; typeContestSelected = _n; QStringList contestData; contestData << dataProxy->getDataFromContestType(_n); - //qDebug() << "SetupPageLogsNew::fillWithType-1 (length = " << QString::number(contestData.length()) << ")" << endl; + //qDebug() << "SetupPageLogsNew::fillWithType-1 (length = " << QString::number(contestData.length()) << ")" << endl; if (contestData.length()== 8) { - //qDebug() << "SetupPageLogsNew::fillWithType-2" << endl; + //qDebug() << "SetupPageLogsNew::fillWithType-2" << endl; //setCOperators ((contestData.at(1)).toInt()); //setCAssisted ((contestData.at(2)).toInt()); //setCPower ((contestData.at(3)).toInt()); @@ -922,20 +895,19 @@ void SetupPageLogsNew::fillWithType(const int _n) //setCMode ((contestData.at(5)).toInt()); //setType(contestData.at(6)); //setCBands((contestData.at(7)).toInt()); - //qDebug() << "SetupPageLogsNew::fillWithType: " << contestData.at(6) << endl; + //qDebug() << "SetupPageLogsNew::fillWithType: " << contestData.at(6) << endl; } else { - //qDebug() << "SetupPageLogsNew::fillWithType-3" << endl; + //qDebug() << "SetupPageLogsNew::fillWithType-3" << endl; return; } } - void SetupPageLogsNew::updateAllCats() { - //qDebug() << "SetupPageLogsNew::updateAllCats" << endl; + //qDebug() << "SetupPageLogsNew::updateAllCats" << endl; contestCatMode = contestCatModeComboBox->currentIndex(); contestCatBands = contestCatBandsComboBox->currentIndex(); @@ -944,22 +916,23 @@ void SetupPageLogsNew::updateAllCats() contestCatAssisted = contestCatAssistedComboBox->currentIndex(); typeContestSelected = typeComboBox->currentIndex(); contestCatOverlay= contestCatOverlayComboBox->currentIndex(); + typeContest = getSelectedTypeContest(); + } - */ void SetupPageLogsNew::showOK() { - //validCats->setText(tr("Data OK")); - //validCats->setStyleSheet("QLabel {color : black; }"); + validCats->setText(tr("Categories OK")); + validCats->setStyleSheet("QLabel {color : black; }"); okButton->setEnabled(true); } void SetupPageLogsNew::showNOK() { - //validCats->setText(tr("Data not OK")); - //validCats->setStyleSheet("QLabel {color : red; }"); + validCats->setText(tr("Categories not OK")); + validCats->setStyleSheet("QLabel {color : red; }"); okButton->setEnabled(false); } diff --git a/setuppages/setuppagelogsnew.h b/setuppagelogsnew.h similarity index 71% rename from setuppages/setuppagelogsnew.h rename to setuppagelogsnew.h index 059b2be8..23f71328 100644 --- a/setuppages/setuppagelogsnew.h +++ b/setuppagelogsnew.h @@ -22,7 +22,7 @@ * 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 . * + * along with KLog. If not, see . * * * *****************************************************************************/ // @@ -43,14 +43,14 @@ class SetupPageLogsNew : public QDialog public: //SetupPageLogsNew(QWidget *parent = 0); - SetupPageLogsNew(DataProxy_SQLite *dp, QWidget *parent = nullptr); + SetupPageLogsNew(DataProxy_SQLite *dp, QWidget *parent = 0); void setEditing(const bool b); - void setStationCallSign(const QString &_st); - void setOperators(const QString &_st); - void setComment(const QString &_st); - void setDateString(const QString &_st); - //void setTypeN(const int _n); + void setStationCallSign(const QString _st); + void setOperators(const QString _st); + void setComment(const QString _st); + void setDateString(const QString _st); + void setTypeN(const int _n); //void setType(const QString _st); //void setCMode(const int _n); @@ -68,15 +68,15 @@ private slots: void slotCancelButtonClicked(); void slotStationCallSignTextChanged(); + void slotTypeComboBoxChanged(); + void slotCatAssistedComboBoxChanged(); + void slotCatOperatorsComboBoxChanged(); void slotOperatorsTextChanged(); - //void slotTypeComboBoxChanged(); - //void slotCatAssistedComboBoxChanged(); - //void slotCatOperatorsComboBoxChanged(); - //void slotCatPowerComboBoxChanged(); - //void slotCatBandsComboBoxChanged(); - //void slotBandsComboBoxChanged(); - //void slotCatModeComboBoxChanged(); - //void slotCatOverlayComboBoxChanged(); + void slotCatPowerComboBoxChanged(); + void slotCatBandsComboBoxChanged(); + void slotBandsComboBoxChanged(); + void slotCatModeComboBoxChanged(); + void slotCatOverlayComboBoxChanged(); signals: @@ -89,9 +89,9 @@ private: void createWidget(); void gatherAndSend(); //QStringList getValidCatOptions(const int _currentCat, const int _higherCat); - //int getSelectedTypeContest(); - //void fillWithType(const int _n); - //void updateAllCats(); + int getSelectedTypeContest(); + void fillWithType(const int _n); + void updateAllCats(); void showOK(); void showNOK(); void clear(); @@ -104,7 +104,6 @@ private: QLineEdit *stationCallsignLineEdit; QLineEdit *operatorsLineEdit, *commentLineEdit; - /* QComboBox *typeComboBox; QComboBox *contestCatModeComboBox; QComboBox *contestCatOperatorsComboBox; @@ -113,26 +112,25 @@ private: QComboBox *contestCatBandsComboBox; QComboBox *contestBandsComboBox; QComboBox *contestCatOverlayComboBox; - */ - QString stationCallsign, operators, comment, dateString;//, typeConteststr; - //int typeContest, typeContestSelected, contestCatMode, contestCatOperators, contestCatAssisted, contestCatPower, contestCatBands, contestBands, contestCatOverlay; + + QString stationCallsign, operators, comment, dateString, typeConteststr; + int typeContest, typeContestSelected, contestCatMode, contestCatOperators, contestCatAssisted, contestCatPower, contestCatBands, contestBands, contestCatOverlay; bool stationCallsignFilled, operatorsFilled; - //int typeOperation; // DX, CQ-WW-SSB, CQ-WW-CW, CQ-WPX-SSB, CQ-WPX-CW + int typeOperation; // DX, CQ-WW-SSB, CQ-WW-CW, CQ-WPX-SSB, CQ-WPX-CW QPushButton *okButton, *cancelButton; QStringList logData; bool editing; - //QLabel *catAsLabel, *catOpLabel, *catModeLabel, *catPowerLabel, *catBandsLabel, *overlayLabel; - //QLabel *typeLabel, *validCats, - QLabel *stationCallsignLabel, *operatorsLabel, *commentLabel, *dateLabel; + QLabel *catAsLabel, *catOpLabel, *catModeLabel, *catPowerLabel, *catBandsLabel, *overlayLabel; + QLabel *typeLabel, *validCats, *stationCallsignLabel, *operatorsLabel, *commentLabel, *dateLabel; //nameLabel->setBuddy(); - bool checking; //, bCass, bCOp, bCMo, bCPo, bCBa, bCOv, bCTy; + bool checking, bCass, bCOp, bCMo, bCPo, bCBa, bCOv, bCTy; }; diff --git a/setuppages/setuppagemisc.cpp b/setuppagemisc.cpp similarity index 83% rename from setuppages/setuppagemisc.cpp rename to setuppagemisc.cpp index b74dfbe3..1362a906 100644 --- a/setuppages/setuppagemisc.cpp +++ b/setuppagemisc.cpp @@ -20,18 +20,18 @@ * 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 . * + * along with KLog. If not, see . * * * *****************************************************************************/ //#include -#include "setuppages/setuppagemisc.h" +#include "setuppagemisc.h" //TODO: The defaultFileName QString can be removed and used the content of defaultFileNameLineEdit // instead. It is easy to change but the code would not be so clear... Think about this. :-) SetupPageMisc::SetupPageMisc(QWidget *parent) : QWidget(parent){ - //qDebug() << "SetupPageMisc::SetupPageMisc" << endl; + //qDebug() << "SetupPageMisc::SetupPageMisc" << endl; util = new Utilities; @@ -43,13 +43,12 @@ SetupPageMisc::SetupPageMisc(QWidget *parent) : QWidget(parent){ sendQSLWhenRecCheckBox = new QCheckBox(tr("Mark &QSO to send QSL when QSL is received"), this); completeWithPreviousCheckBox = new QCheckBox(tr("Complete QSO with previous data")); showStationCallWhenSearchCheckBox = new QCheckBox(tr("Show the Station &Callsign used in the search box"), this); - keepMyDataCheckBox = new QCheckBox(tr("&Keep My Data for all QSOs"), this); + keepMyDataCheckBox = new QCheckBox(tr("&Reset to My Data for all QSOs"), this); checkNewVersionCheckBox = new QCheckBox(tr("&Check for new versions automatically"), this); provideCallCheckBox = new QCheckBox(tr("&Provide Info for statistics"), this); useDxMarathonCheckBox = new QCheckBox(tr("Manage DX-Marathon"), this); debugLogCheckBox = new QCheckBox(tr("Activate the application debug log")); - //logSortCheckBox = new QCheckBox(tr("Sort log based in date && time")); - sendEQSLByDefaultSearchCheckBox = new QCheckBox(tr("Mark sent eQSL && LoTW in new QSO as queued")); + logSortCheckBox = new QCheckBox(tr("Sort log based in date & time")); defaultFileNameLineEdit = new QLineEdit; @@ -72,11 +71,11 @@ SetupPageMisc::SetupPageMisc(QWidget *parent) : QWidget(parent){ { moveDBPushButton->setEnabled(true); } - //qDebug() << "SetupPageMisc::SetupPageMisc - END" << endl; + //qDebug() << "SetupPageMisc::SetupPageMisc - END" << endl; } SetupPageMisc::~SetupPageMisc(){ - //qDebug() << "SetupPageMisc::~SetupPageMisc" << endl; + //qDebug() << "SetupPageMisc::~SetupPageMisc" << endl; } void SetupPageMisc::createUI() @@ -87,11 +86,11 @@ void SetupPageMisc::createUI() //TODO: To be removed when the defaultDir is saved in the config file #ifdef Q_OS_WIN - //qDebug() << "WINDOWS DETECTED!" << endl; + //qDebug() << "WINDOWS DETECTED!" << endl; klogDir = util->getHomeDir(); // We create the \klog for the logs and data defaultFileName = klogDir+"/klog.adi"; #else - //qDebug() << "NO WINDOWS DETECTED!" << endl; + //qDebug() << "NO WINDOWS DETECTED!" << endl; klogDir = util->getHomeDir(); // We create the ~/.klog for the logs and data defaultFileName = klogDir+"/klog.adi"; #endif @@ -119,15 +118,15 @@ void SetupPageMisc::createUI() debugLogCheckBox->setChecked(false); UTCCheckbox->setChecked(true); realTimeCheckbox->setChecked(true); - //logSortCheckBox->setChecked(false); + logSortCheckBox->setChecked(false); defaultFileNameLineEdit->setEnabled(true); fileNameButton->setEnabled(true); sendQSLWhenRecCheckBox->setToolTip(tr("QSOs will be marked as pending to send a QSL if you receive the DX QSL and have not sent yours.")); - showStationCallWhenSearchCheckBox->setToolTip(tr("The search box will also show the callsign on the air to do the QSO.")); + showStationCallWhenSearchCheckBox->setToolTip(tr("The search box will show also the callsign on the air to do the QSO.")); keepMyDataCheckBox->setToolTip(tr("All the data from the My Data tab will be used or data from the previous QSO will be maintained.")); checkNewVersionCheckBox->setToolTip(tr("Check if there is a new release of KLog available every time you start KLog.")); - provideCallCheckBox->setToolTip(tr("If new version checking is selected, KLog will send the developer your callsign, KLog version and Operating system to help in improving KLog.")); + provideCallCheckBox->setToolTip(tr("If new version checking is selected, KLog will send the developer your callsign, KLog version & Operating system to help in improving KLog.")); imperialCheckBox ->setToolTip(tr("Check it for Imperial system (Miles instead of Kilometers).")); realTimeCheckbox->setToolTip(tr("Select to use real time.")); UTCCheckbox->setToolTip(tr("Select to use UTC time.")); @@ -141,14 +140,14 @@ void SetupPageMisc::createUI() dbPushButton->setToolTip(tr("Click to change the path of the database.")); moveDBPushButton->setToolTip(tr("Click to move the DB to the new directory.")); debugLogCheckBox->setToolTip(tr("Activates the application debug log. This may be useful if something is not working as expected. A debug file will be created in the KLog directory.")); - //logSortCheckBox->setToolTip(tr("Click to enable that log will be sorted based on date and time when clicking on the date column. It may be a little bit slower.")); - sendEQSLByDefaultSearchCheckBox->setToolTip(tr("Click to mark as Queued (to be sent) all the eQSL (LoTW and eQSL) in all the new QSO by default.")); + logSortCheckBox->setToolTip(tr("Click to enable that log will be sorted based on date & time when clicking on the date column. It may be a little bit slower.")); QHBoxLayout *fileLayout = new QHBoxLayout; fileLayout->addWidget(useDefaultName); fileLayout->addWidget(defaultFileNameLineEdit); fileLayout->addWidget(fileNameButton); + QHBoxLayout *dbLayout = new QHBoxLayout; dbLayout->addWidget(dbPathLineEdit); @@ -167,14 +166,14 @@ void SetupPageMisc::createUI() mainLayou1->addWidget(keepMyDataCheckBox, 5, 0, 1, 1); mainLayou1->addWidget(completeWithPreviousCheckBox, 5, 1, 1, 1); mainLayou1->addWidget(sendQSLWhenRecCheckBox,6, 0, 1, 1); - mainLayou1->addWidget(sendEQSLByDefaultSearchCheckBox, 6, 1, 1, 1); + mainLayou1->addWidget(showStationCallWhenSearchCheckBox, 6, 1, 1, 1); mainLayou1->addWidget(checkNewVersionCheckBox, 7, 0, 1, 1); mainLayou1->addWidget(provideCallCheckBox, 7, 1, 1, 1); - //mainLayou1->addWidget(logSortCheckBox, 8, 0, 1, 1); - mainLayou1->addWidget(showStationCallWhenSearchCheckBox, 8, 0, 1, 1); + mainLayou1->addWidget(logSortCheckBox, 8, 0, 1, 1); setLayout(mainLayou1); + } void SetupPageMisc::createActions(){ @@ -190,7 +189,6 @@ void SetupPageMisc::createActions(){ //connect(UDPServerCheckBox, SIGNAL(clicked () ), this, SLOT(slotUDPServerCheckBoxClicked() ) ); } -/* QString SetupPageMisc::getLogSort(){ @@ -204,7 +202,6 @@ QString SetupPageMisc::getLogSort(){ } } - void SetupPageMisc::setLogSort(const QString &_t){ if ( (_t.toUpper()) == "FALSE") @@ -216,31 +213,7 @@ void SetupPageMisc::setLogSort(const QString &_t){ logSortCheckBox->setChecked(true); } } -*/ -QString SetupPageMisc::getSendEQSLByDefault(){ - - if (sendEQSLByDefaultSearchCheckBox->isChecked()) - { - return "True"; - } - else - { - return "False"; - } -} - -void SetupPageMisc::setSetEQSLByDefault(const QString &_t){ - - if ( (_t.toUpper()) == "FALSE") - { - sendEQSLByDefaultSearchCheckBox->setChecked(false); - } - else - { - sendEQSLByDefaultSearchCheckBox->setChecked(true); - } -} QString SetupPageMisc::getRealTime(){ @@ -322,7 +295,7 @@ QString SetupPageMisc::getDefaultFileName() } void SetupPageMisc::setDefaultFileName(const QString &_t) { - //qDebug() << "SetupPageMisc::setDefaultFileName: " << _t << endl; + //qDebug() << "SetupPageMisc::setDefaultFileName: " << t << endl; defaultFileName = _t; defaultFileNameLineEdit->setText(defaultFileName); } @@ -395,7 +368,7 @@ void SetupPageMisc::setImperial(const QString &_t) void SetupPageMisc::slotUseDefaultButtonStateChanged(int state) { - //qDebug() << "SetupPageMisc::slotUseDefaultButtonStateChanged" << endl; + //qDebug() << "SetupPageMisc::slotUseDefaultButtonStateChanged" << endl; if (state) { @@ -678,7 +651,7 @@ void SetupPageMisc::slotDBButtonClicked() void SetupPageMisc::slotDBLineEditChanged() { - //qDebug() << "SetupPageMisc::slotDBLineEditChanged: " << dbPathLineEdit->text() << endl; + //qDebug() << "SetupPageMisc::slotDBLineEditChanged: " << dbPathLineEdit->text() << endl; QString aux; aux = dbPathLineEdit->text(); @@ -711,18 +684,13 @@ void SetupPageMisc::slotMoveDBButtonClicked() QString source = dbDirCurrent + "/logbook.dat"; QString target = dbDirNew + "/logbook.dat"; QMessageBox msgBox; - msgBox.setWindowTitle(tr("KLog - Move DB")); - //qDebug() << "SetupPageMisc::slotMoveDBButtonClicked (source): " << source << endl; - //qDebug() << "SetupPageMisc::slotMoveDBButtonClicked (target): " << target << endl; + //qDebug() << "SetupPageMisc::slotMoveDBButtonClicked (source): " << source << endl; + //qDebug() << "SetupPageMisc::slotMoveDBButtonClicked (target): " << target << endl; if ( QFile::exists(dbDirNew) ) { //dbDirCurrent //dbDir - if (QFile::exists(target)) - { - //qDebug() << "SetupPageMisc::slotMoveDBButtonClicked (target EXISTS): " << target << endl; - } if (QFile::copy(source, target)) { @@ -739,7 +707,6 @@ void SetupPageMisc::slotMoveDBButtonClicked() } else { - msgBox.setIcon(QMessageBox::Warning); msgBox.setText(tr("File copied")); msgBox.setStandardButtons(QMessageBox::Ok); @@ -751,31 +718,18 @@ void SetupPageMisc::slotMoveDBButtonClicked() else { msgBox.setIcon(QMessageBox::Warning); + msgBox.setText(tr("File NOT copied")); msgBox.setStandardButtons(QMessageBox::Ok); msgBox.setDefaultButton(QMessageBox::Ok); - - if (QFile::exists(target)) - { - //qDebug() << "SetupPageMisc::slotMoveDBButtonClicked (target EXISTS): " << target << endl; - - msgBox.setText(tr("File already exist.")); - msgBox.setDetailedText(tr("The destination file already exist and KLog will not replace it. Please remove the file from the destination folder before moving the file with KLog to make sure KLog can copy the file.")); - } - else - { - - msgBox.setText(tr("File NOT copied")); - msgBox.setDetailedText(tr("The file was not copied due to an unknown problem.")); - - } msgBox.exec(); dbPathApplied = false; moveDBPushButton->setEnabled(true); } + + } else { - msgBox.setIcon(QMessageBox::Warning); msgBox.setText(tr("The target directory does not exist. Please select an existing directory.")); msgBox.setStandardButtons(QMessageBox::Ok); diff --git a/setuppages/setuppagemisc.h b/setuppagemisc.h similarity index 91% rename from setuppages/setuppagemisc.h rename to setuppagemisc.h index ee68b2f2..907e30a2 100644 --- a/setuppages/setuppagemisc.h +++ b/setuppagemisc.h @@ -22,7 +22,7 @@ * 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 . * + * along with KLog. If not, see . * * * *****************************************************************************/ @@ -69,10 +69,8 @@ public: void setDXMarathon(const QString &_t); QString getDebugLog(); void setDebugLog(const QString &_t); - //QString getLogSort(); - //void setLogSort(const QString &_t); - QString getSendEQSLByDefault(); - void setSetEQSLByDefault(const QString &_t); + QString getLogSort(); + void setLogSort(const QString &_t); bool areDBPathChangesApplied(); @@ -96,8 +94,7 @@ private: QCheckBox *realTimeCheckbox, *UTCCheckbox, *alwaysADIFCheckBox, *useDefaultName, *completeWithPreviousCheckBox; QCheckBox *imperialCheckBox, *sendQSLWhenRecCheckBox, *showStationCallWhenSearchCheckBox, *keepMyDataCheckBox; QCheckBox *checkNewVersionCheckBox, *provideCallCheckBox, *useDxMarathonCheckBox, *debugLogCheckBox; - //QCheckBox *logSortCheckBox; - QCheckBox *sendEQSLByDefaultSearchCheckBox; + QCheckBox *logSortCheckBox; QString defaultFileName; QLineEdit *defaultFileNameLineEdit, *dbPathLineEdit; QPushButton *fileNameButton, *dbPushButton, *moveDBPushButton; diff --git a/setuppages/setuppageinterfaceswindows.cpp b/setuppages/setuppageinterfaceswindows.cpp deleted file mode 100644 index a95745f2..00000000 --- a/setuppages/setuppageinterfaceswindows.cpp +++ /dev/null @@ -1,148 +0,0 @@ -#include "setuppages/setuppageinterfaceswindows.h" - -SetupPageInterfacesWindows::SetupPageInterfacesWindows(QWidget *parent) : QWidget(parent) -{ - - sendToPSTRotatorCheckBox = new QCheckBox(this); - PSTRotatorUDPServerPortSpinBox = new QSpinBox; - PSTRotatorServerLineEdit = new QLineEdit; - PSTRotatorDefaultport = 12040; - - createUI(); - createActions(); -} - -SetupPageInterfacesWindows::~SetupPageInterfacesWindows(){ - //qDebug() << "SetupPageInterfacesWindows::~SetupPageInterfacesWindows" << endl; -} - -void SetupPageInterfacesWindows::createUI() -{ - PSTRotatorServer = "localhost"; - setPSTRotatorUDPServer(PSTRotatorServer); - - QString labelTip = tr("UDP port number where the PSTRotator Server will listen for packets.") + "\n" + tr("Default port is 12040."); - PSTRotatorUDPServerPortSpinBox->setToolTip(labelTip); - - PSTRotatorUDPServerPortSpinBox->setMinimum(0); - PSTRotatorUDPServerPortSpinBox->setMaximum(65535); - PSTRotatorUDPServerPortSpinBox->setValue(PSTRotatorDefaultport); - - QLabel *udpPortLabel = new QLabel(tr("PST Rotator UDP Port")); - udpPortLabel->setBuddy(PSTRotatorUDPServerPortSpinBox); - udpPortLabel->setToolTip(labelTip); - udpPortLabel->setAlignment(Qt::AlignVCenter| Qt::AlignCenter); - udpPortLabel->setEnabled(true); - - labelTip = tr("Hostname or IP address of the computer running PSTRotator. Leave it as localhost if you are running KLog and PSTRotator in the same computer."); - PSTRotatorServerLineEdit->setToolTip(labelTip); - QLabel *udpServerLabel = new QLabel(tr("PST Rotator host")); - udpServerLabel->setBuddy(PSTRotatorServerLineEdit); - udpServerLabel->setToolTip(labelTip); - udpServerLabel->setAlignment(Qt::AlignVCenter| Qt::AlignCenter); - udpServerLabel->setEnabled(true); - - QHBoxLayout *UDPLayout1 = new QHBoxLayout; - UDPLayout1->addWidget(udpServerLabel); - UDPLayout1->addWidget(PSTRotatorServerLineEdit); - UDPLayout1->addWidget(udpPortLabel); - UDPLayout1->addWidget(PSTRotatorUDPServerPortSpinBox); - - sendToPSTRotatorCheckBox->setText(tr("Send antenna bearing to PST Rotator")); - sendToPSTRotatorCheckBox->setChecked(false); - - //PSTRotatorServerLineEdit->clear(); - //PSTRotatorServerLineEdit->setText(tr("Enter the hostname of the machine running PSTRotator. Enter localhost if it is the same machine.")); - - QVBoxLayout *layout = new QVBoxLayout; - layout->addWidget(sendToPSTRotatorCheckBox); - layout->addLayout(UDPLayout1); - - setLayout(layout); -} - -void SetupPageInterfacesWindows::createActions() -{ - connect(sendToPSTRotatorCheckBox, SIGNAL(clicked () ), this, SLOT(slotSendToPSTRotatorCheckBoxClicked() ) ); -} - -void SetupPageInterfacesWindows::setSendToPSTRotator(const QString &_t) -{ - //qDebug() << "SetupPageInterfacesWindows::setUDPServer: " << _t << endl; - if ( (_t.toUpper()) == "FALSE") - { - sendToPSTRotatorCheckBox->setChecked(false); - } - else - { - sendToPSTRotatorCheckBox->setChecked(true); - } - slotSendToPSTRotatorCheckBoxClicked(); -} - -void SetupPageInterfacesWindows::setPSTRotatorUDPServerPort(const QString &_t) -{ - if ( (_t.toInt()>=0) && (_t.toInt()<=65535)) - { - PSTRotatorUDPServerPortSpinBox->setValue(_t.toInt()); - } - else - { - PSTRotatorUDPServerPortSpinBox->setValue(PSTRotatorDefaultport); - } -} - -void SetupPageInterfacesWindows::setPSTRotatorUDPServer(const QString &_t) -{ - PSTRotatorServer = _t; - PSTRotatorServerLineEdit->setText(PSTRotatorServer); - -} - -QString SetupPageInterfacesWindows::getSendToPSTRotator() -{ - if (sendToPSTRotatorCheckBox->isChecked()) - { - return "True"; - } - else - { - return "False"; - } -} - -QString SetupPageInterfacesWindows::getPSTRotatorUDPServerPort() -{ - int t = PSTRotatorUDPServerPortSpinBox->value(); - - if ( (t>=0) && (t<=65535) ) - { - return QString::number(t); - } - else - { - return QString::number(PSTRotatorDefaultport); - } -} - -QString SetupPageInterfacesWindows::getPSTRotatorUDPServer() -{ - return PSTRotatorServer; -} - - -void SetupPageInterfacesWindows::slotSendToPSTRotatorCheckBoxClicked() -{ - //qDebug() << "SetupPageInterfacesWindows::slotLogFromWSJTCheckBoxClicked" << endl; - if (sendToPSTRotatorCheckBox->isChecked()) - { - PSTRotatorUDPServerPortSpinBox->setEnabled(true); - PSTRotatorServerLineEdit->setEnabled(true); - } - else - { - PSTRotatorUDPServerPortSpinBox->setEnabled(false); - PSTRotatorServerLineEdit->setEnabled(false); - } -} - diff --git a/setuppages/setuppageinterfaceswindows.h b/setuppages/setuppageinterfaceswindows.h deleted file mode 100644 index da8af871..00000000 --- a/setuppages/setuppageinterfaceswindows.h +++ /dev/null @@ -1,69 +0,0 @@ -#ifndef SETUPPAGEINTERFACESWINDOWS_H -#define SETUPPAGEINTERFACESWINDOWS_H -/*************************************************************************** - setuppageinterfaceswindows.h - description - ------------------- - begin : feb 2020 - copyright : (C) 2020 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 . * - * * - *****************************************************************************/ - -#include -#include - - -class SetupPageInterfacesWindows : public QWidget -{ - Q_OBJECT -public: - SetupPageInterfacesWindows(QWidget *parent = nullptr); - ~SetupPageInterfacesWindows(); - - void setSendToPSTRotator(const QString &_t); - void setPSTRotatorUDPServerPort(const QString &_t); - void setPSTRotatorUDPServer(const QString &_t); - - QString getSendToPSTRotator(); - QString getPSTRotatorUDPServerPort(); - QString getPSTRotatorUDPServer(); - - -private: - void createUI(); - void createActions(); - - QCheckBox *sendToPSTRotatorCheckBox; - QSpinBox *PSTRotatorUDPServerPortSpinBox; - QLineEdit *PSTRotatorServerLineEdit; - int PSTRotatorDefaultport; - QString PSTRotatorServer; - - -signals: - -public slots: - //void slotLogFromWSJTCheckBoxClicked(); - //void slotUDPServerCheckBoxClicked(); - void slotSendToPSTRotatorCheckBoxClicked(); - -}; - -#endif // SetupPageInterfacesWindows_H diff --git a/setuppages/setuppagelotw.cpp b/setuppages/setuppagelotw.cpp deleted file mode 100644 index b2596d48..00000000 --- a/setuppages/setuppagelotw.cpp +++ /dev/null @@ -1,226 +0,0 @@ -/*************************************************************************** - SetupPageLoTW.cpp - description - ------------------- - begin : apt 2015 - copyright : (C) 2015 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 . * - * * - *****************************************************************************/ - -//#include - -#include "setuppages/setuppagelotw.h" - - -SetupPageLoTW::SetupPageLoTW(QWidget *parent) : QWidget(parent) -{ - //qDebug() << "SetupPageLoTW::SetupPageLoTW" << endl; - - util = new Utilities; - - lotwActiveCheckBox = new QCheckBox; - tqslPathLineEdit = new QLineEdit; - lotwUserLineEdit = new QLineEdit; - lotwPassLineEdit = new QLineEdit; - pathLabel = new QLabel; - searchTQSLPushButton = new QPushButton; - //testPushButton = new QPushButton; - - - createUI(); - //qDebug() << "SetupPageLoTW::SetupPageLoTW-END" << endl; - //connect(clubLogActiveCheckBox, SIGNAL(toggled(bool) ), this, SLOT(slotClubLogActive(bool))); -} - -SetupPageLoTW::~SetupPageLoTW() -{ -} - -void SetupPageLoTW::createUI() -{ - - QGroupBox *uploadGroupBox = new QGroupBox(tr("LoTW upload")); - QHBoxLayout *uhbox = new QHBoxLayout; - uhbox->addWidget(lotwActiveCheckBox); - uhbox->addWidget(pathLabel); - uhbox->addWidget(tqslPathLineEdit); - uhbox->addWidget(searchTQSLPushButton); - uhbox->addStretch(1); - uploadGroupBox->setLayout(uhbox); - - searchTQSLPushButton->setText(tr("TQSL Path")); - pathLabel = new QLabel; - pathLabel->setText(tr("Route to TQSL")); - pathLabel->setBuddy(tqslPathLineEdit); - - - // Upload Tooltips - lotwActiveCheckBox->setText(tr("Use TQSL")); - tqslPathLineEdit->setToolTip(tr("Path to the TQSL software.")); - lotwActiveCheckBox->setToolTip(tr("Enable the LoTW integration with TQSL. You will need to have TQSL installed")); - - - // Download - lotwPassLineEdit->setEchoMode(QLineEdit::PasswordEchoOnEdit); - QLabel *userlabel = new QLabel; - QLabel *passlabel = new QLabel; - userlabel->setText(tr("User:")); - passlabel->setText(tr("Password:")); - - QTextEdit *warningTextEdit = new QTextEdit; - warningTextEdit->setAlignment(Qt::AlignJustify); - warningTextEdit->setReadOnly(true); - //QLabel *warninglabel = new QLabel; - warningTextEdit->setText(tr("Enter your password LoTW here. Warning: The password will be save on clear in the KLog config file!! If you don't want to enter the password, KLog will ask you when it is needed.")); - - QGroupBox *downloadGroupBox = new QGroupBox(tr("LoTW download")); - QGridLayout *dhbox = new QGridLayout; - dhbox->addWidget(userlabel, 0, 0); - dhbox->addWidget(lotwUserLineEdit, 0, 1); - dhbox->addWidget(passlabel, 1, 0); - dhbox->addWidget(lotwPassLineEdit, 1, 1); - dhbox->addWidget(warningTextEdit, 2, 0, 2, -1); - //dhbox->addWidget(QLayoutItem::spacerItem(this), 0, 1, -1, 3); - - //dhbox->addWidget(testPushButton, 0, 2); - - downloadGroupBox->setLayout(dhbox); - - // Download Tooltips - userlabel->setToolTip(tr("Enter your LoTW user")); - lotwUserLineEdit->setToolTip(tr("Enter your LoTW user")); - passlabel->setToolTip(tr("Enter your password LoTW here. Warning: The password will be save on clear in the KLog config file!! (If you don't want to enter the password, KLog will ask you when it is needed.)")); - lotwPassLineEdit->setToolTip(tr("Enter your password LoTW here. Warning: The password will be save on clear in the KLog config file!! (If you don't want to enter the password, KLog will ask you when it is needed.)")); - //testPushButton->setToolTip(tr("Push this button once you have entered username and password to test the connection to LoTW")); - // Main widget - QVBoxLayout *mainLayout = new QVBoxLayout; - mainLayout->addWidget(uploadGroupBox); - mainLayout->addWidget(downloadGroupBox); - setLayout(mainLayout); - /* - QHBoxLayout *pathLayout = new QHBoxLayout; - pathLayout->addWidget(lotwActiveCheckBox); - pathLayout->addWidget(pathLabel); - pathLayout->addWidget(tqslPathLineEdit); - pathLayout->addWidget(searchTQSLPushButton); - - setLayout(pathLayout); - */ - - connect(searchTQSLPushButton, SIGNAL(clicked()), this, SLOT(slotSelectTQSLClicked()) ); - connect(tqslPathLineEdit, SIGNAL(textChanged(QString)), this, SLOT(slotPathLineEditChanged(QString)) ); -} - -void SetupPageLoTW::setLoTW(const QString &_s) -{ - if ( (_s.toUpper()) == "FALSE") - { - lotwActiveCheckBox->setChecked(false); - } - else - { - lotwActiveCheckBox->setChecked(true); - } -} - -QString SetupPageLoTW::getLoTW() -{ - if (lotwActiveCheckBox->isChecked() ) - { - return "True"; - } - else - { - return "False"; - } -} - -void SetupPageLoTW::setPath(const QString &c) -{ - tqslPathLineEdit->setText(c); -} - -QString SetupPageLoTW::getPath() -{ - return tqslPathLineEdit->text(); -} - -void SetupPageLoTW::slotSelectTQSLClicked() -{ - //qDebug() << "SetupPageLoTWr::slotSelectTQSLClicked: " << QStandardPaths::ApplicationsLocation << endl; - QString appsDir; - QString executableName, proposedName; - proposedName = util->getTQSLsFileName(); - appsDir = util->getTQSLsPath(); - QString filter; - filter.clear(); - #if defined(Q_OS_WIN) - filter = "TQSL (*.exe)"; - #else - filter = "TQSL (tqsl)"; - #endif - QString tqslFile; - tqslFile.clear(); - tqslFile = QFileDialog::getOpenFileName(this, tr("Select File"), appsDir, filter); - - if (tqslFile.length()>0) - { - tqslPathLineEdit->setText(tqslFile); - } - - //qDebug() << "SetupPageLoTWr::slotSelectTQSLClicked - END" << endl; -} - -void SetupPageLoTW::slotPathLineEditChanged(const QString _q) -{ - QPalette palRed; - palRed.setColor(QPalette::Text, Qt::red); - QPalette palBlack; - palBlack.setColor(QPalette::Text, Qt::black); - if (QFile::exists(_q)) - { - tqslPathLineEdit->setPalette(palBlack); - } - else - { - tqslPathLineEdit->setPalette(palRed); - } - -} - -void SetupPageLoTW::setLoTWUser(const QString &_s) -{ - lotwUserLineEdit->setText(_s); -} - -QString SetupPageLoTW::getLoTWUser() -{ - return lotwUserLineEdit->text(); -} - -void SetupPageLoTW::setLoTWPass(const QString &_s) -{ - lotwPassLineEdit->setText(_s); -} - -QString SetupPageLoTW::getLoTWPass() -{ - return lotwPassLineEdit->text(); -} diff --git a/setuppages/setuppagelotw.h b/setuppages/setuppagelotw.h deleted file mode 100644 index 17f141c8..00000000 --- a/setuppages/setuppagelotw.h +++ /dev/null @@ -1,70 +0,0 @@ -#ifndef SETUPPAGELOTW_H -#define SETUPPAGELOTW_H -/*************************************************************************** - setupplotw.h - description - ------------------- - begin : feb 2020 - copyright : (C) 2020 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 . * - * * - *****************************************************************************/ - - -#include -#include "utilities.h" - -class SetupPageLoTW : public QWidget { - Q_OBJECT - -public: - SetupPageLoTW(QWidget *parent=nullptr); - ~SetupPageLoTW(); - - - void setPath(const QString &c); - QString getPath(); - void setLoTW(const QString &_s); - QString getLoTW(); - void setLoTWUser(const QString &_s); - QString getLoTWUser(); - void setLoTWPass(const QString &_s); - QString getLoTWPass(); - -private slots: - void slotSelectTQSLClicked(); - void slotPathLineEditChanged(const QString _q); - //void slotClubLogActive(bool _s); - //void slotUseStationCall(bool _s); - -private: - void createUI(); - //QString defaultFileName; - QPushButton *searchTQSLPushButton; - //QPushButton *testPushButton; - QCheckBox *lotwActiveCheckBox; - QLineEdit *tqslPathLineEdit; - QLabel *pathLabel; - - QLineEdit *lotwUserLineEdit, *lotwPassLineEdit; - - Utilities *util; -}; - -#endif // SETUPPAGELOTW_H diff --git a/setuppages/setuppagesats.cpp b/setuppagesats.cpp similarity index 80% rename from setuppages/setuppagesats.cpp rename to setuppagesats.cpp index dfcba244..6796371f 100644 --- a/setuppages/setuppagesats.cpp +++ b/setuppagesats.cpp @@ -20,16 +20,16 @@ * 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 . * + * along with KLog. If not, see . * * * *****************************************************************************/ //#include -#include "setuppages/setuppagesats.h" +#include "setuppagesats.h" SetupPageSats::SetupPageSats(DataProxy_SQLite *dp, QWidget *parent) : QWidget(parent){ - //qDebug() << "SetupPageSats::SetupPageSats" << endl; + //qDebug() << "SetupPageSats::SetupPageSats" << endl; dataProxy = dp; arrild = QString(); satname = QString(); @@ -70,7 +70,7 @@ SetupPageSats::SetupPageSats(DataProxy_SQLite *dp, QWidget *parent) : QWidget(pa newSatPushButton->setToolTip(tr("Add a new satellite.")); editPushButton->setToolTip(tr("Edit the selected satellite.")); removePushButton->setToolTip(tr("Remove the selected satellite.")); - importPushButton->setToolTip(tr("Import a satellites file. It will replace the satellites you have in the current list.")); + importPushButton->setToolTip(tr("Import a satellites file. It will replace the satellites you have now configured.")); exportPushButton->setToolTip(tr("Export your current satellites to a file.")); currentSats->setToolTip(tr("Select the sat you want to open.")); @@ -102,17 +102,17 @@ SetupPageSats::SetupPageSats(DataProxy_SQLite *dp, QWidget *parent) : QWidget(pa updateSelectedSats(); - //qDebug() << "SetupPageSats::SetupPageSats - END" << endl; + //qDebug() << "SetupPageSats::SetupPageSats - END" << endl; } SetupPageSats::~SetupPageSats(){ - //qDebug() << "SetupPageSats::~SetupPageSats" << endl; + //qDebug() << "SetupPageSats::~SetupPageSats" << endl; } void SetupPageSats::createNewSat() { - //qDebug() << "SetupPageSats::createNewSat" << endl; + //qDebug() << "SetupPageSats::createNewSat" << endl; selectedSat = -1; //newSat->clear(); newSat->setEditing(false); @@ -121,14 +121,14 @@ void SetupPageSats::createNewSat() void SetupPageSats::slotNewButtonClicked() { - //qDebug() << "SetupPageSats::slotNewButtonClicked" << endl; + //qDebug() << "SetupPageSats::slotNewButtonClicked" << endl; createNewSat(); } void SetupPageSats::slotEditButtonClicked() { - //qDebug() << "SetupPageSats::slotEditButtonClicked" << endl; + //qDebug) << "SetupPageSats::slotEditButtonClicked" << endl; //QSqlQuery query; //int nameCol = -1; @@ -150,20 +150,20 @@ void SetupPageSats::slotEditButtonClicked() //newSat->setTypeN(dataProxy->getSatTypeNFromSat(selectedSat).toInt()); /* - //qDebug() << "SetupPageSats::slotEditButtonClicked-1 (selectedlog: " << QString::number(selectedLog) << ")" << endl; + //qDebug() << "SetupPageSats::slotEditButtonClicked-1 (selectedlog: " << QString::number(selectedLog) << ")" << endl; QString stringQuery = QString("SELECT * FROM logs WHERE id='%1'").arg(selectedLog); - //qDebug() << "SetupPageSats::slotEditButtonClicked -2" << endl; + //qDebug() << "SetupPageSats::slotEditButtonClicked -2" << endl; bool sqlOk = query.exec(stringQuery); QSqlRecord rec = query.record(); if (sqlOk) { - //qDebug() << "SetupPageSats::slotEditButtonClicked Query OK" << endl; + //qDebug() << "SetupPageSats::slotEditButtonClicked Query OK" << endl; QSqlRecord rec = query.record(); if ( (query.next()) && (query.isValid()) ) {//id/ /stationcall/comment/logtype/logtypeid - //qDebug() << "SetupPageSats::slotEditButtonClicked Query Valid" << endl; + //qDebug() << "SetupPageSats::slotEditButtonClicked Query Valid" << endl; @@ -182,7 +182,7 @@ void SetupPageSats::slotEditButtonClicked() //newLog->setDateString((query.value(nameCol)).toString()); //nameCol = rec.indexOf("logtypen"); - //qDebug() << "SetupPageSats::slotEditButtonClicked -3" << endl; + //qDebug() << "SetupPageSats::slotEditButtonClicked -3" << endl; //newLog->setTypeN((query.value(nameCol)).toInt()); newLog->exec(); @@ -205,60 +205,60 @@ void SetupPageSats::slotSatsCancelled(const bool _q) void SetupPageSats::slotRemoveButtonClicked() { - //qDebug() << "SetupPageSats::slotRemoveButtonClicked" << endl; + //qDebug() << "SetupPageSats::slotRemoveButtonClicked" << endl; int selectedSat = getSelectedSat(); QMessageBox::StandardButton ret; ret = QMessageBox::warning(this, tr("KLog"), tr("Do you really want to remove this satellite?") + "\n" + - tr("This satellite will no be longer available to be selected ..."), + tr("This satellite will not be longer available to be selected ..."), QMessageBox::Yes | QMessageBox::No); if (ret == QMessageBox::Yes) { - + //qDebug() << "SetupPageSats::slotRemoveButtonClicked (selected log to remove: " << QString::number(selectedLog) << ")" << endl; QString stringQuery = QString("DELETE FROM satellites WHERE id='%1'").arg(selectedSat); QSqlQuery query(stringQuery); bool sqlOk = query.exec(); if (sqlOk) { - + //qDebug() << "SetupPageSats::slotRemoveButtonClicked (REMOVED: " << QString::number(selectedLog) << ")" << endl; satsModel->select(); updateSelectedSats(); stringQuery = QString("DELETE FROM log WHERE lognumber='%1'").arg(selectedSat); query.exec(stringQuery); sqlOk = query.exec(); - //qDebug() << "SetupPageSats::slotRemoveButtonClicked: LastQuery: " << query.lastQuery() << endl; + //qDebug() << "SetupPageSats::slotRemoveButtonClicked: LastQuery: " << query.lastQuery() << endl; if (sqlOk) { - + //qDebug() << "SetupPageSats::slotRemoveButtonClicked (QSOS REMOVED: " << QString::number(selectedLog) << ")" << endl; stringQuery = QString("DELETE FROM awarddxcc WHERE lognumber='%2'").arg(selectedSat); query.exec(stringQuery); sqlOk = query.exec(); - //qDebug() << "SetupPageSats::slotRemoveButtonClicked: LastQuery: " << query.lastQuery() << endl; + //qDebug() << "SetupPageSats::slotRemoveButtonClicked: LastQuery: " << query.lastQuery() << endl; if (sqlOk) { - //qDebug() << "SetupPageSats::slotRemoveButtonClicked (AWARDDXCC REMOVED: " << QString::number(selectedSat) << ")" << endl; + //qDebug() << "SetupPageSats::slotRemoveButtonClicked (AWARDDXCC REMOVED: " << QString::number(selectedSat) << ")" << endl; } else { emit queryError(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); showError(tr("Sat has not been removed. (#3)")); - //qDebug() << "SetupPageSats::slotRemoveButtonClicked (AWARDDXCC NOT REMOVED: " << QString::number(selectedSat) << ")" << endl; + //qDebug() << "SetupPageSats::slotRemoveButtonClicked (AWARDDXCC NOT REMOVED: " << QString::number(selectedSat) << ")" << endl; } } else { showError(tr("Sat has not been removed. (#2)")); - //qDebug() << "SetupPageSats::slotRemoveButtonClicked (QSOS NOT REMOVED: " << QString::number(selectedSat) << ")" << endl; + //qDebug() << "SetupPageSats::slotRemoveButtonClicked (QSOS NOT REMOVED: " << QString::number(selectedSat) << ")" << endl; } } else { emit queryError(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); showError(tr("Sat has not been removed. (#1)")); - //qDebug() << "SetupPageSats::slotRemoveButtonClicked (NOT REMOVED: " << QString::number(selectedSat) << ")" << endl; + //qDebug() << "SetupPageSats::slotRemoveButtonClicked (NOT REMOVED: " << QString::number(selectedSat) << ")" << endl; } } @@ -270,7 +270,7 @@ void SetupPageSats::slotRemoveButtonClicked() void SetupPageSats::createSatsPanel() { - //qDebug() << "SetupPageSats::createSatsPanel" << endl; + //qDebug() << "SetupPageSats::createSatsPanel" << endl; satsView->setModel(satsModel); QString stringQuery = QString("SELECT * FROM satellites"); QSqlQuery query(stringQuery); @@ -304,7 +304,7 @@ void SetupPageSats::createSatsPanel() void SetupPageSats::createSatsModel() { - //qDebug() << "SetupPageSats::createsatsModel" << endl; + //qDebug) << "SetupPageSats::createsatsModel" << endl; QString stringQuery = QString("SELECT * FROM satellites"); QSqlQuery q(stringQuery); @@ -339,7 +339,7 @@ void SetupPageSats::createSatsModel() void SetupPageSats::slotSatselected(const QModelIndex & index) { - //qDebug() << "SetupPageSats::slotSatselected" << endl; + //qDebug) << "SetupPageSats::slotSatselected" << endl; int row = index.row(); setSelectedSat((satsModel->index(row, 0)).data(0).toInt()); @@ -347,7 +347,7 @@ void SetupPageSats::slotSatselected(const QModelIndex & index) void SetupPageSats::slotSatDoubleClicked(const QModelIndex & index) { - //qDebug() << "SetupPageSats::slotSatDoubleClicked" << endl; + //qDebug() << "SetupPageSats::slotSatDoubleClicked" << endl; int row = index.row(); setSelectedSat((satsModel->index(row, 0)).data(0).toInt()); @@ -361,7 +361,7 @@ void SetupPageSats::slotAnalyzeNewSatData(const QStringList _qs) void SetupPageSats::createActions() { - //qDebug() << "SetupPageSats::createActions" << endl; + //qDebug() << "SetupPageSats::createActions" << endl; connect(importPushButton, SIGNAL(clicked ( )), this, SLOT(slotImportButtonClicked() ) ); connect(exportPushButton, SIGNAL(clicked ( )), this, SLOT(slotExportButtonClicked() ) ); connect(newSatPushButton, SIGNAL(clicked ( )), this, SLOT(slotNewButtonClicked() ) ); @@ -381,7 +381,7 @@ void SetupPageSats::createActions() /* bool SetupPageSats::addNewSat(const QStringList _qs) { - //qDebug() << "SetupPageSats::addNewSat: " << _qs.at(2) << endl; + //qDebug() << "SetupPageSats::addNewSat: " << _qs.at(2) << endl; QString aux = QString(); int nameCol = -1; @@ -395,7 +395,7 @@ bool SetupPageSats::addNewSat(const QStringList _qs) QString queryString = QString("SELECT * FROM logs WHERE logdate='%1' AND stationcall='%2' AND logtype='%3' AND logtypen='%4'").arg(_dateString).arg(_stationCallsign).arg(_typeContest).arg(_typeContestN); //"logs" //"id, logdate, stationcall, comment, logtype" - //qDebug() << "SetupPageSats::addNewLog query1: " << queryString << endl; + //qDebug() << "SetupPageSats::addNewLog query1: " << queryString << endl; QSqlQuery query; bool sqlOK = query.exec(queryString); @@ -405,16 +405,16 @@ bool SetupPageSats::addNewSat(const QStringList _qs) { nameCol = rec.indexOf("id"); aux = (query.value(nameCol)).toString(); - //qDebug() << "SetupPageSats::addNewLog: id = " << aux << endl; + //qDebug() << "SetupPageSats::addNewLog: id = " << aux << endl; return false; } queryString = QString("INSERT INTO logs (logdate, stationcall, comment, logtype, logtypen) values('%1','%2','%3','%4', '%5')").arg(_dateString).arg(_stationCallsign).arg(_comment).arg(_typeContest).arg(_typeContestN); - //qDebug() << "SetupPageSats::addNewSat query1: " << queryString << endl; + //qDebug() << "SetupPageSats::addNewSat query1: " << queryString << endl; sqlOK = query.exec(queryString); if (sqlOK) { - //qDebug() << "SetupPageSats::addNewSat ADDED! id = " << endl; + //qDebug() << "SetupPageSats::addNewSat ADDED! id = " << endl; satsModel->select(); updateSelectedSats(); return true; @@ -429,7 +429,7 @@ bool SetupPageSats::addNewSat(const QStringList _qs) void SetupPageSats::updateSelectedSats() { - //qDebug() << "SetupPageSats::updateSelectedSats" << endl; + //qDebug) << "SetupPageSats::updateSelectedSats" << endl; satsAvailable = readSats(); satsModel->select(); @@ -440,14 +440,14 @@ void SetupPageSats::updateSelectedSats() } else { - //qDebug() << "SetupPageSats::updateSelectedSats Not selected (less than 1)" << endl; + //qDebug) << "SetupPageSats::updateSelectedSats Not selected (less than 1)" << endl; currentSats->clear(); } } QStringList SetupPageSats::readSats() { - //qDebug() << "SetupPageSats::readSats" << endl; + //qDebug() << "SetupPageSats::readSats" << endl; QString aux, aux2; QStringList _sats; @@ -507,14 +507,14 @@ QStringList SetupPageSats::readSats() //_sats.clear(); - //qDebug() << "SetupPageSats::readSats: " << QString::number(_sats.size())<< endl; + //qDebug() << "SetupPageSats::readSats: " << QString::number(_sats.size())<< endl; //return _sats; } int SetupPageSats::getSelectedSat() { - //qDebug() << "SetupPageSats::getSelectedSat: " << currentSats->currentText() << endl; + //qDebug) << "SetupPageSats::getSelectedSat: " << currentSats->currentText() << endl; QString selectedSat = currentSats->currentText(); int i = 0; QStringList qs; @@ -534,18 +534,18 @@ int SetupPageSats::getSelectedSat() void SetupPageSats::setSelectedSat(const int _i) { - //qDebug() << "SetupPageSats::SetupPageSats::setSelectedSat: " << QString::number(_i) << endl; + //qDebug) << "SetupPageSats::SetupPageSats::setSelectedSat: " << QString::number(_i) << endl; QString n = QString::number(_i) + "-"; int selected = currentSats->findText(n, Qt::MatchStartsWith); if (selected >= 0) { - //qDebug() << "SetupPageSats::SetupPageSats::setSelectedSat selected>0: " << QString::number(selected) << endl; + //qDebug) << "SetupPageSats::SetupPageSats::setSelectedSat selected>0: " << QString::number(selected) << endl; currentSats->setCurrentIndex(selected); } else { - //qDebug() << "SetupPageSats::SetupPageSats::setSelectedSat not selected" << endl; + //qDebug) << "SetupPageSats::SetupPageSats::setSelectedSat not selected" << endl; return; } } @@ -555,7 +555,7 @@ void SetupPageSats::setSelectedSat(const int _i) //} -void SetupPageSats::showError(const QString &_errorC) +void SetupPageSats::showError(const QString _errorC) { QString text = QString(tr("An error has occurred showing the following error code:") + "\n'%1'").arg(_errorC); @@ -568,7 +568,7 @@ void SetupPageSats::showError(const QString &_errorC) void SetupPageSats::slotImportButtonClicked() { - //qDebug() << "SetupPageSats::slotImportButtonClicked" << endl; + //qDebug) << "SetupPageSats::slotImportButtonClicked" << endl; QString fileName = QFileDialog::getOpenFileName(this, tr("Open Satellites File"), util->getHomeDir(), @@ -582,11 +582,11 @@ void SetupPageSats::slotImportButtonClicked() if (updateSat->satDataFileRead(fileName)) { - //qDebug() << "SetupPageSats::slotImportButtonClicked IMPORTED OK" << endl; + //qDebug) << "SetupPageSats::slotImportButtonClicked IMPORTED OK" << endl; } else { - //qDebug() << "SetupPageSats::slotImportButtonClicked IMPORTED NOK" << endl; + //qDebug) << "SetupPageSats::slotImportButtonClicked IMPORTED NOK" << endl; QMessageBox msgBox; msgBox.setIcon(QMessageBox::Warning); msgBox.setWindowTitle(tr("KLog warning")); @@ -615,7 +615,7 @@ void SetupPageSats::slotImportButtonClicked() void SetupPageSats::slotExportButtonClicked() { - //qDebug() << "SetupPageSats::slotExportButtonClicked" << endl; + //qDebug) << "SetupPageSats::slotExportButtonClicked" << endl; int nameCol = -1; QString queryString, aux; @@ -634,7 +634,7 @@ void SetupPageSats::slotExportButtonClicked() if (query.isValid()) { satsN = (query.value(0)).toInt(); - //qDebug() << "SetupPageSats::slotExportButtonClicked: Sats: " << QString::number(satsN) << endl; + //qDebug) << "SetupPageSats::slotExportButtonClicked: Sats: " << QString::number(satsN) << endl; } else { @@ -710,5 +710,5 @@ void SetupPageSats::slotExportButtonClicked() } - //qDebug() << "SetupPageSats::slotExportButtonClicked END" << endl; + //qDebug) << "SetupPageSats::slotExportButtonClicked END" << endl; } diff --git a/setuppages/setuppagesats.h b/setuppagesats.h similarity index 92% rename from setuppages/setuppagesats.h rename to setuppagesats.h index 3fcf0730..ce784d56 100644 --- a/setuppages/setuppagesats.h +++ b/setuppagesats.h @@ -22,7 +22,7 @@ * 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 . * + * along with KLog. If not, see . * * * *****************************************************************************/ @@ -33,7 +33,7 @@ #include "updatesatsdata.h" #include "dataproxy_sqlite.h" #include "utilities.h" -#include "setuppages/setuppagesatsnew.h" +#include "setuppagesatsnew.h" @@ -41,7 +41,7 @@ class SetupPageSats : public QWidget { Q_OBJECT public: - SetupPageSats(DataProxy_SQLite *dp, QWidget *parent=nullptr); + SetupPageSats(DataProxy_SQLite *dp, QWidget *parent=0); ~SetupPageSats(); int getSelectedSat(); void setSelectedSat(const int _i); @@ -78,7 +78,7 @@ private: //bool addNewSat(const QStringList _qs); void updateSelectedSats(); //void readSelectedSat(const int _i); - void showError(const QString &_errorC); + void showError(const QString _errorC); /* Wizard to create a new Sat*/ diff --git a/setuppages/setuppagesatseditor.cpp b/setuppagesatseditor.cpp similarity index 100% rename from setuppages/setuppagesatseditor.cpp rename to setuppagesatseditor.cpp diff --git a/setuppages/setuppagesatseditor.h b/setuppagesatseditor.h similarity index 100% rename from setuppages/setuppagesatseditor.h rename to setuppagesatseditor.h diff --git a/setuppages/setuppagesatsnew.cpp b/setuppagesatsnew.cpp similarity index 81% rename from setuppages/setuppagesatsnew.cpp rename to setuppagesatsnew.cpp index 0d82f235..9a1f8f75 100644 --- a/setuppages/setuppagesatsnew.cpp +++ b/setuppagesatsnew.cpp @@ -20,19 +20,19 @@ * 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 . * + * along with KLog. If not, see . * * * *****************************************************************************/ // // This class implements the Dialog to add a new log // -#include "setuppages/setuppagesatsnew.h" +#include "setuppagesatsnew.h" SetupPageSatsNew::SetupPageSatsNew(DataProxy_SQLite *dp, QWidget *parent) { - //qDebug() << "SetupPageSatsNew::SetupPageSatsNew" << endl; + //qDebug() << "SetupPageSatsNew::SetupPageSatsNew" << endl; dataProxy = dp; editing = false; //checking = false; @@ -59,7 +59,7 @@ SetupPageSatsNew::SetupPageSatsNew(DataProxy_SQLite *dp, QWidget *parent) okButton->setEnabled(true); - //qDebug() << "SetupPageSatsNew::SetupPageSatsNew - END" << endl; + //qDebug() << "SetupPageSatsNew::SetupPageSatsNew - END" << endl; } void SetupPageSatsNew::clear() @@ -86,7 +86,7 @@ void SetupPageSatsNew::clear() void SetupPageSatsNew::createUI() { - //qDebug() << "SetupPageSatsNew::createWidget" << endl; + //qDebug() << "SetupPageSatsNew::createWidget" << endl; shortNameLabel->setWordWrap(true); nameLabel->setWordWrap(true); @@ -182,7 +182,7 @@ void SetupPageSatsNew::slotUpLinkTextChanged() Range: 145.600-145.700 Two freqs or ranges: 145.600,145.650 or 145.600,145.600-145.700 */ - //qDebug() << "SetupPageSatsNew::slotUpLinkTextChanged:" << uplinkLineEdit->text() << endl; + //qDebug() << "SetupPageSatsNew::slotUpLinkTextChanged:" << uplinkLineEdit->text() << endl; if ((uplinkLineEdit->text()).length()<2) { @@ -200,7 +200,7 @@ void SetupPageSatsNew::slotUpLinkTextChanged() { if (aux.contains('-')) { // It is a range - //qDebug() << "SetupPageSatsNew::slotUpLinkTextChanged: It is a range: " << aux << endl; + //qDebug() << "SetupPageSatsNew::slotUpLinkTextChanged: It is a range: " << aux << endl; } else { //It is just one freq @@ -218,7 +218,7 @@ void SetupPageSatsNew::slotUpLinkTextChanged() bool SetupPageSatsNew::isItAFreq(const QString _st) { - //qDebug() << "SetupPageSatsNew::isItAFreq: It is one freq: " << _st << endl; + //qDebug() << "SetupPageSatsNew::isItAFreq: It is one freq: " << _st << endl; bool ok = false; double freq;// = 0.0; @@ -249,7 +249,7 @@ void SetupPageSatsNew::slotDownLinkTextChanged() { if (aux.contains('-')) { // It is a range - //qDebug() << "SetupPageSatsNew::slotUpLinkTextChanged: It is a range: " << aux << endl; + //qDebug() << "SetupPageSatsNew::slotUpLinkTextChanged: It is a range: " << aux << endl; } else { //It is just one freq @@ -273,7 +273,7 @@ void SetupPageSatsNew::slotModesTextChanged() Two modes: USB,LSB One mode per up/down USB/LSB */ - //qDebug() << "SetupPageSatsNew::slotModesTextChanged: " << modesLineEdit->text() << endl; + //qDebug() << "SetupPageSatsNew::slotModesTextChanged: " << modesLineEdit->text() << endl; int cursorP = modesLineEdit->cursorPosition(); modesLineEdit->setText((modesLineEdit->text()).toUpper()); @@ -285,15 +285,15 @@ void SetupPageSatsNew::slotModesTextChanged() return; } - //qDebug() << "SetupPageSatsNew::slotModesTextChanged: length >=2" << endl; + //qDebug() << "SetupPageSatsNew::slotModesTextChanged: length >=2" << endl; QStringList _modes; _modes.clear(); - _modes = (modesLineEdit->text()).split(','); + _modes << (modesLineEdit->text()).split(','); - //qDebug() << "SetupPageSatsNew::slotModesTextChanged: Starting to process the list" << endl; + //qDebug() << "SetupPageSatsNew::slotModesTextChanged: Starting to process the list" << endl; foreach (aux, _modes) { - //qDebug() << "SetupPageSatsNew::slotModesTextChanged: Processing: " << aux << endl; + //qDebug() << "SetupPageSatsNew::slotModesTextChanged: Processing: " << aux << endl; if (aux.contains('/')) {// It s a pair of modes (up and down link) QStringList _pair; @@ -301,16 +301,16 @@ void SetupPageSatsNew::slotModesTextChanged() _pair << aux.split('/'); foreach (aux2, _pair) { - //qDebug() << "SetupPageSatsNew::slotModesTextChanged: Processing aux2: " << aux2 << endl; + //qDebug() << "SetupPageSatsNew::slotModesTextChanged: Processing aux2: " << aux2 << endl; if (dataProxy->getIdFromModeName(aux2)>0) { - //qDebug() << "SetupPageSatsNew::slotModesTextChanged: Checking2: true: " << aux2 << endl; + //qDebug() << "SetupPageSatsNew::slotModesTextChanged: Checking2: true: " << aux2 << endl; hasModes = true; } else { - //qDebug() << "SetupPageSatsNew::slotModesTextChanged: Checking2: false: " << aux2 << endl; + //qDebug() << "SetupPageSatsNew::slotModesTextChanged: Checking2: false: " << aux2 << endl; hasModes = false; } } @@ -318,16 +318,16 @@ void SetupPageSatsNew::slotModesTextChanged() } else { - //qDebug() << "SetupPageSatsNew::slotModesTextChanged: Checking: " << aux << endl; + //qDebug() << "SetupPageSatsNew::slotModesTextChanged: Checking: " << aux << endl; if (dataProxy->getSubModeIdFromSubMode(aux)>0) { - //qDebug() << "SetupPageSatsNew::slotModesTextChanged: Checking: true: " << aux << endl; + //qDebug() << "SetupPageSatsNew::slotModesTextChanged: Checking: true: " << aux << endl; hasModes = true; } else { - //qDebug() << "SetupPageSatsNew::slotModesTextChanged: Checking: false: " << aux << endl; + //qDebug() << "SetupPageSatsNew::slotModesTextChanged: Checking: false: " << aux << endl; hasModes = false; } } @@ -364,7 +364,7 @@ void SetupPageSatsNew::setModes(const QString st) void SetupPageSatsNew::slotOKButtonClicked() { - //qDebug() << "SetupPageSatsNew::slotOkButtonClicked" << endl; + //qDebug() << "SetupPageSatsNew::slotOkButtonClicked" << endl; shortName = shortNameLineEdit->text(); name = nameLineEdit->text(); uplink = uplinkLineEdit->text(); @@ -382,28 +382,28 @@ void SetupPageSatsNew::slotOKButtonClicked() { QMessageBox msgBox; msgBox.setIcon(QMessageBox::Information); - msgBox.setText(tr("Some of the data you have entered is not correct; the satellite can't be added.")); + msgBox.setText(tr("Some of the data you have entered is not correct, the satellite can't be added.")); msgBox.exec(); if (!hasShortName) { - //qDebug() << "SetupPageSatsNew::slotOkButtonClicked hasShortName is FALSE" << endl; + //qDebug() << "SetupPageSatsNew::slotOkButtonClicked hasShortName is FALSE" << endl; } else if (!hasName) { - //qDebug() << "SetupPageSatsNew::slotOkButtonClicked hasName is FALSE" << endl; + //qDebug() << "SetupPageSatsNew::slotOkButtonClicked hasName is FALSE" << endl; } else if (!hasUplink) { - //qDebug() << "SetupPageSatsNew::slotOkButtonClicked hasUpLink is FALSE" << endl; + //qDebug() << "SetupPageSatsNew::slotOkButtonClicked hasUpLink is FALSE" << endl; } else if (!hasDownlink) { - //qDebug() << "SetupPageSatsNew::slotOkButtonClicked hasDownLink is FALSE" << endl; + //qDebug() << "SetupPageSatsNew::slotOkButtonClicked hasDownLink is FALSE" << endl; } else if (!hasModes) { - //qDebug() << "SetupPageSatsNew::slotOkButtonClicked hasModes is FALSE" << endl; + //qDebug() << "SetupPageSatsNew::slotOkButtonClicked hasModes is FALSE" << endl; } } //close(); @@ -411,7 +411,7 @@ void SetupPageSatsNew::slotOKButtonClicked() void SetupPageSatsNew::gatherAndSend() { - //qDebug() << "SetupPageSatsNew::gatherAndSend: " << endl; + //qDebug() << "SetupPageSatsNew::gatherAndSend: " << endl; // The previous lines will be removed once more contest types have been added @@ -421,7 +421,7 @@ void SetupPageSatsNew::gatherAndSend() uplinkLineEdit->text() << modesLineEdit->text(); int satId = dataProxy->getDBSatId(shortNameLineEdit->text()); - //qDebug() << "SetupPageSatsNew::gatherAndSend: satId: " << QString::number(satId) << endl; + //qDebug() << "SetupPageSatsNew::gatherAndSend: satId: " << QString::number(satId) << endl; if ((editing) && (satId>0)) { satData << "1"; @@ -434,7 +434,7 @@ void SetupPageSatsNew::gatherAndSend() dataProxy->addSatellite(shortNameLineEdit->text(), nameLineEdit->text(), downlinkLineEdit->text(), uplinkLineEdit->text(), modesLineEdit->text()); } - //qDebug() << "SetupPageSatsNew::gatherAndSend: EMITED" << endl; + //qDebug() << "SetupPageSatsNew::gatherAndSend: EMITED" << endl; emit newSatData(satData); @@ -443,7 +443,7 @@ void SetupPageSatsNew::gatherAndSend() void SetupPageSatsNew::slotCancelButtonClicked() { - //qDebug() << "SetupPageSatsNew::slotCancelButtonClicked" << endl; + //qDebug() << "SetupPageSatsNew::slotCancelButtonClicked" << endl; satData.clear(); clear(); emit cancelled(true); diff --git a/setuppages/setuppagesatsnew.h b/setuppagesatsnew.h similarity index 97% rename from setuppages/setuppagesatsnew.h rename to setuppagesatsnew.h index ebd00173..81932a4a 100644 --- a/setuppages/setuppagesatsnew.h +++ b/setuppagesatsnew.h @@ -22,7 +22,7 @@ * 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 . * + * along with KLog. If not, see . * * * *****************************************************************************/ // diff --git a/setuppages/setuppageudp.cpp b/setuppageudp.cpp similarity index 88% rename from setuppages/setuppageudp.cpp rename to setuppageudp.cpp index 73a4afc3..19400489 100644 --- a/setuppages/setuppageudp.cpp +++ b/setuppageudp.cpp @@ -1,4 +1,4 @@ -#include "setuppages/setuppageudp.h" +#include "setuppageudp.h" SetupPageUDP::SetupPageUDP(QWidget *parent) : QWidget(parent) { @@ -25,20 +25,20 @@ SetupPageUDP::SetupPageUDP(QWidget *parent) : QWidget(parent) } SetupPageUDP::~SetupPageUDP(){ - //qDebug() << "SetupPageUDP::~SetupPageUDP" << endl; + //qDebug() << "SetupPageUDP::~SetupPageUDP" << endl; } void SetupPageUDP::createUI() { - QString msgAuto = QString(tr("Automatically log QSOs from WSJT-X")); - logFromWSJTXCheckbox->setText(tr("Allow WSJT-X to send logged QSOs to KLog")); - logFromWSJTXCheckbox->setToolTip(tr("QSOs logged in WSJT-X will be sent to KLog and KLog will ask before logging into KLog unless \"%1\" is selected").arg(msgAuto)); + QString msgAuto = QString(tr("Log automatically QSOs from WSJT-X")); + logFromWSJTXCheckbox->setText(tr("Allow WSJT-X to send logged QSO to KLog")); + logFromWSJTXCheckbox->setToolTip(tr("QSO logged in WSJT-X will be sent to KLog and KLog will ask before logging into KLog unless \"%1\" is selected").arg(msgAuto)); logAutomaticallyWSJTXCheckbox->setText(msgAuto); - logAutomaticallyWSJTXCheckbox->setToolTip(tr("KLog will automatically log any QSO coming from WSJT-X without any manual confirmation.")); + logAutomaticallyWSJTXCheckbox->setToolTip(tr("KLog will log automatically any QSO coming from WSJT-X without any manual confirmation.")); - realDataFromWSJTXCheckbox->setText(tr("Receive QSOs data and update to KLog")); + realDataFromWSJTXCheckbox->setText(tr("Receive and Update QSO data to KLog")); realDataFromWSJTXCheckbox->setToolTip(tr("KLog will automatically show and update data coming from WSJT-X (DX callsign, locator, RPT, ...)")); UDPServerCheckBox->setChecked(false); @@ -55,7 +55,7 @@ void SetupPageUDP::createUI() checkLayout->addWidget(logAutomaticallyWSJTXCheckbox); checkLayout->addWidget(realDataFromWSJTXCheckbox); - QString labelTip = tr("UDP port number where the UDP Server will listen for packets.") + "\n" + tr("Make sure it is the same port that the other programs are sending the data to. Default port is 2237."); + QString labelTip = tr("UDP port number where the UDP Server will listen for packets.") + "\n" + tr("Make sure it is the same port where the other programs are sending the data to. Default port is 2237."); UDPServerCheckBox->setToolTip(tr("UDP Server will receive QSOs sent from other programs like WSJT-X allowing you to log in KLog automatically from those programs.")); UDPServerPortSpinBox->setToolTip(labelTip); @@ -75,8 +75,8 @@ void SetupPageUDP::createUI() miliSecsSpinBox->setMinimum(0); miliSecsSpinBox->setMaximum(30000); miliSecsSpinBox->setValue(defaultTimer); - QLabel *miliSecsSpinBoxLabel = new QLabel(tr("QSOs notification timeout (milisecs)")); - miliSecsSpinBox->setToolTip(tr("Miliseconds that the notification of QSOs received from WSJTX will be shown.")); + QLabel *miliSecsSpinBoxLabel = new QLabel(tr("QSO notification timeout (milisecs)")); + miliSecsSpinBox->setToolTip(tr("Milliseconds that the notification of QSO received from WSJTX will be shown.")); miliSecsSpinBoxLabel->setAlignment(Qt::AlignVCenter| Qt::AlignCenter); miliSecsSpinBoxLabel->setEnabled(true); miliSecsSpinBox->setEnabled(false); @@ -123,7 +123,7 @@ void SetupPageUDP::createActions() void SetupPageUDP::slotUDPServerCheckBoxClicked() { - //qDebug() << "SetupPageUDP::slotUDPServerCheckBoxClicked" << endl; + //qDebug() << "SetupPageUDP::slotUDPServerCheckBoxClicked" << endl; if (UDPServerCheckBox->isChecked()) { @@ -147,7 +147,7 @@ void SetupPageUDP::slotUDPServerCheckBoxClicked() void SetupPageUDP::slotLogFromWSJTCheckBoxClicked() { - //qDebug() << "SetupPageUDP::slotLogFromWSJTCheckBoxClicked" << endl; + //qDebug() << "SetupPageUDP::slotLogFromWSJTCheckBoxClicked" << endl; if (logFromWSJTXCheckbox->isChecked()) { logAutomaticallyWSJTXCheckbox->setEnabled(true); @@ -174,7 +174,7 @@ QString SetupPageUDP::getUDPServer() void SetupPageUDP::setUDPServer(const QString t) { - //qDebug() << "SetupPageUDP::setUDPServer: " << t << endl; + //qDebug() << "SetupPageUDP::setUDPServer: " << t << endl; if ( (t.toUpper()) == "FALSE") { UDPServerCheckBox->setChecked(false); diff --git a/setuppages/setuppageudp.h b/setuppageudp.h similarity index 97% rename from setuppages/setuppageudp.h rename to setuppageudp.h index 491f38c4..eca1e8c4 100644 --- a/setuppages/setuppageudp.h +++ b/setuppageudp.h @@ -22,7 +22,7 @@ * 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 . * + * along with KLog. If not, see . * * * *****************************************************************************/ diff --git a/setuppages/setuppageuserdata.cpp b/setuppageuserdata.cpp similarity index 83% rename from setuppages/setuppageuserdata.cpp rename to setuppageuserdata.cpp index 2f3e5fbc..1f2e53fe 100644 --- a/setuppages/setuppageuserdata.cpp +++ b/setuppageuserdata.cpp @@ -20,14 +20,14 @@ * 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 . * + * along with KLog. If not, see . * * * *****************************************************************************/ -#include "setuppages/setuppageuserdata.h" +#include "setuppageuserdata.h" SetupPageUserDataPage::SetupPageUserDataPage(DataProxy_SQLite *dp, QWidget *parent) : QWidget(parent){ - //qDebug() << "SetupPageUserDataPage::SetupPageUserDataPage" << endl; + //qDebug() << "SetupPageUserDataPage::SetupPageUserDataPage" << endl; locator = new Locator(); dataProxy = dp; world = new World(dataProxy, Q_FUNC_INFO); @@ -272,13 +272,13 @@ SetupPageUserDataPage::SetupPageUserDataPage(DataProxy_SQLite *dp, QWidget *pare setLayout(mainLayout); qrzLineEdit->setFocus(); - //qDebug() << "SetupPageUserDataPage::SetupPageUserDataPage - END" << endl; + //qDebug() << "SetupPageUserDataPage::SetupPageUserDataPage - END" << endl; } SetupPageUserDataPage::~SetupPageUserDataPage() { - //qDebug() << "SetupPageUserDataPage::~SetupPageUserDataPage" << endl; + //qDebug() << "SetupPageUserDataPage::~SetupPageUserDataPage" << endl; } QString SetupPageUserDataPage::getStationQrz() @@ -303,7 +303,7 @@ void SetupPageUserDataPage::slotEnterKeyPressed() void SetupPageUserDataPage::slotQRZTextChanged() { - //qDebug() << "SetupPageUserDataPage::slotQRZTextChanged: " << qrzLineEdit->text() << " / Length: " << QString::number((qrzLineEdit->text()).size()) << endl; + //qDebug() << "SetupPageUserDataPage::slotQRZTextChanged: " << qrzLineEdit->text() << " / Length: " << QString::number((qrzLineEdit->text()).size()) << endl; int i = qrzLineEdit->cursorPosition(); QString _a = qrzLineEdit->text(); @@ -346,7 +346,7 @@ int SetupPageUserDataPage::getITUz(){ return (ituzLineEdit->text()).toInt(); } -bool SetupPageUserDataPage::setStationQrz(const QString &_qrz){ +bool SetupPageUserDataPage::setStationQrz(const QString _qrz){ qrzLineEdit->setText((_qrz).toUpper()); return true; } @@ -363,7 +363,7 @@ bool SetupPageUserDataPage::setITUz(const int _ituz){ void SetupPageUserDataPage::slotMyLocatorTextChanged() { - //qDebug() << "SetupPageUserDataPage::slotMyLocatorTextChanged: " << myLocatorLineEdit->text() << endl; + //qDebug() << "SetupPageUserDataPage::slotMyLocatorTextChanged: " << myLocatorLineEdit->text() << endl; //int i; myLocatorLineEdit->setText(((myLocatorLineEdit->text())).simplified()); @@ -396,7 +396,7 @@ QString SetupPageUserDataPage::getStationLocator() } -bool SetupPageUserDataPage::setStationLocator(const QString &_loc) +bool SetupPageUserDataPage::setStationLocator(const QString _loc) { if (!(locator->isValidLocator(_loc) )) @@ -495,7 +495,7 @@ QString SetupPageUserDataPage::getCountry() return countryLineEdit->text(); } -bool SetupPageUserDataPage::setName (const QString &_aux) +bool SetupPageUserDataPage::setName (const QString _aux) { nameLineEdit->setText(_aux); return true; @@ -511,47 +511,47 @@ bool SetupPageUserDataPage::setAddress (const QStringList _aux) } -bool SetupPageUserDataPage::setAddress1 (const QString &_aux) +bool SetupPageUserDataPage::setAddress1 (const QString _aux) { address1LineEdit->setText(_aux); return true; } -bool SetupPageUserDataPage::setAddress2 (const QString &_aux) +bool SetupPageUserDataPage::setAddress2 (const QString _aux) { address2LineEdit->setText(_aux); return true; } -bool SetupPageUserDataPage::setAddress3 (const QString &_aux) +bool SetupPageUserDataPage::setAddress3 (const QString _aux) { address3LineEdit->setText(_aux); return true; } -bool SetupPageUserDataPage::setAddress4 (const QString &_aux) +bool SetupPageUserDataPage::setAddress4 (const QString _aux) { address4LineEdit->setText(_aux); return true; } -bool SetupPageUserDataPage::setCity (const QString &_aux) +bool SetupPageUserDataPage::setCity (const QString _aux) { cityLineEdit->setText(_aux); return true; } -bool SetupPageUserDataPage::setZipCode(const QString &_aux) +bool SetupPageUserDataPage::setZipCode(const QString _aux) { zipLineEdit->setText(_aux); return true; } -bool SetupPageUserDataPage::setProvince (const QString &_aux) +bool SetupPageUserDataPage::setProvince (const QString _aux) { provinceLineEdit->setText(_aux); return true; } -bool SetupPageUserDataPage::setCountry (const QString &_aux) +bool SetupPageUserDataPage::setCountry (const QString _aux) { countryLineEdit->setText(_aux); return true; @@ -579,48 +579,48 @@ QString SetupPageUserDataPage::getPower() } -bool SetupPageUserDataPage::setPower(const QString &_aux) +bool SetupPageUserDataPage::setPower(const QString _aux) { myPowerSpinBox->setValue(_aux.toFloat()); return true; } -bool SetupPageUserDataPage::setRig1 (const QString &_aux) +bool SetupPageUserDataPage::setRig1 (const QString _aux) { rig1LineEdit->setText(_aux); return true; } -bool SetupPageUserDataPage::setRig2 (const QString &_aux) +bool SetupPageUserDataPage::setRig2 (const QString _aux) { rig2LineEdit->setText(_aux); return true; } -bool SetupPageUserDataPage::setRig3 (const QString &_aux) +bool SetupPageUserDataPage::setRig3 (const QString _aux) { rig3LineEdit->setText(_aux); return true; } -bool SetupPageUserDataPage::setAntenna1 (const QString &_aux) +bool SetupPageUserDataPage::setAntenna1 (const QString _aux) { ant1LineEdit->setText(_aux); return true; } -bool SetupPageUserDataPage::setAntenna2 (const QString &_aux) +bool SetupPageUserDataPage::setAntenna2 (const QString _aux) { ant2LineEdit->setText(_aux); return true; } -bool SetupPageUserDataPage::setAntenna3 (const QString &_aux) +bool SetupPageUserDataPage::setAntenna3 (const QString _aux) { ant3LineEdit->setText(_aux); return true; @@ -628,7 +628,7 @@ bool SetupPageUserDataPage::setAntenna3 (const QString &_aux) void SetupPageUserDataPage::slotOperatorsChanged() { - //qDebug() << "SetupPageUserDataPage::slotOperatorsChanged" << endl; + //qDebug() << "SetupPageUserDataPage::slotOperatorsChanged" << endl; //QString _operators = operatorsLineEdit->text(); if (operatorsLineEdit->text().length() < 1) return; @@ -637,7 +637,7 @@ void SetupPageUserDataPage::slotOperatorsChanged() //int ent = -1; - //qDebug() << "SetupPageUserDataPage::slotOperatorsChanged-00" << endl; + //qDebug() << "SetupPageUserDataPage::slotOperatorsChanged-00" << endl; QString _a = operatorsLineEdit->text(); if ((_a.at(i-1)).isSpace()) @@ -645,7 +645,7 @@ void SetupPageUserDataPage::slotOperatorsChanged() operatorsLineEdit->setText(_a.remove(i-1, 1)); } - //qDebug() << "SetupPageUserDataPage::slotOperatorsChanged-01" << endl; + //qDebug() << "SetupPageUserDataPage::slotOperatorsChanged-01" << endl; //operatorsLineEdit->setText(((operatorsLineEdit->text())).simplified()); //operatorsLineEdit->setText((operatorsLineEdit->text()).toUpper()); @@ -654,12 +654,12 @@ void SetupPageUserDataPage::slotOperatorsChanged() QStringList operators = _a.split(",", QString::SkipEmptyParts); - //qDebug() << "SetupPageUserDataPage::slotOperatorsChanged-02" << endl; - //qDebug() << "SetupPageUserDataPage::slotOperatorsChanged-02.5 Size: " << QString::number(operators.size()) << endl; + //qDebug() << "SetupPageUserDataPage::slotOperatorsChanged-02" << endl; + //qDebug() << "SetupPageUserDataPage::slotOperatorsChanged-02.5 Size: " << QString::number(operators.size()) << endl; for (int ii = 0; ii < operators.size(); ++ii) { - //qDebug() << "SetupPageUserDataPage::slotOperatorsChanged-03 - " << QString::number(ii) << endl; + //qDebug() << "SetupPageUserDataPage::slotOperatorsChanged-03 - " << QString::number(ii) << endl; operatorsOK = world->checkQRZValidFormat(operators.at(ii)); @@ -667,20 +667,20 @@ void SetupPageUserDataPage::slotOperatorsChanged() if (operatorsOK) { - //qDebug() << "SetupPageUserDataPage::slotOperatorsChanged: NO VALID CALL: " << operators.at(ii) << endl; + //qDebug() << "SetupPageUserDataPage::slotOperatorsChanged: NO VALID CALL: " << operators.at(ii) << endl; } else { - //qDebug() << "SetupPageUserDataPage::slotOperatorsChanged: VALID CALL: " << operators.at(ii) << endl; + //qDebug() << "SetupPageUserDataPage::slotOperatorsChanged: VALID CALL: " << operators.at(ii) << endl; } } // cout << fonts.at(i).toLocal8Bit().constData() << endl; - //qDebug() << "SetupPageUserDataPage::slotOperatorsChanged-04" << endl; + //qDebug() << "SetupPageUserDataPage::slotOperatorsChanged-04" << endl; if (operatorsOK) { - //qDebug() << "SetupPageUserDataPage::slotOperatorsChanged: VALID FORMAT" << endl; + //qDebug() << "SetupPageUserDataPage::slotOperatorsChanged: VALID FORMAT" << endl; //QColor defaultColor = (operatorsLineEdit->palette()).color(QPalette::WindowText); operatorsLineEdit->setPalette(*defaultPalette); @@ -691,9 +691,9 @@ void SetupPageUserDataPage::slotOperatorsChanged() else { operatorsLineEdit->setPalette(*wrongPalette); - //qDebug() << "SetupPageUserDataPage::slotOperatorsChanged: NOT VALID FORMAT" << endl; + //qDebug() << "SetupPageUserDataPage::slotOperatorsChanged: NOT VALID FORMAT" << endl; } - //qDebug() << "SetupPageUserDataPage::slotOperatorsChanged-05" << endl; + //qDebug() << "SetupPageUserDataPage::slotOperatorsChanged-05" << endl; /* cqzLineEdit->setText(QString::number(world->getQRZCqz(qrzLineEdit->text()))); @@ -704,7 +704,7 @@ void SetupPageUserDataPage::slotOperatorsChanged() */ //operatorsLineEdit->setText(_a); operatorsLineEdit->setCursorPosition(i); - //qDebug() << "SetupPageUserDataPage::slotOperatorsChanged-END" << endl; + //qDebug() << "SetupPageUserDataPage::slotOperatorsChanged-END" << endl; } QString SetupPageUserDataPage::getOperators() @@ -719,7 +719,7 @@ QString SetupPageUserDataPage::getOperators() } } -bool SetupPageUserDataPage::setOperators(const QString &_aux) +bool SetupPageUserDataPage::setOperators(const QString _aux) { if (checkOperatorsLineQString(_aux)) { @@ -731,7 +731,7 @@ bool SetupPageUserDataPage::setOperators(const QString &_aux) } -bool SetupPageUserDataPage::checkOperatorsLineQString(const QString &_auxLine) +bool SetupPageUserDataPage::checkOperatorsLineQString(const QString _auxLine) { QStringList _aux = _auxLine.split(','); for (int ii = 0; ii < _aux.size(); ++ii) @@ -743,8 +743,3 @@ bool SetupPageUserDataPage::checkOperatorsLineQString(const QString &_auxLine) } return true; } -void SetupPageUserDataPage::setStationFocus() -{ - //qDebug() << "SetupPageUserDataPage::setStationFocus" << endl; - qrzLineEdit->setFocus(); -} diff --git a/setuppages/setuppageuserdata.h b/setuppageuserdata.h similarity index 76% rename from setuppages/setuppageuserdata.h rename to setuppageuserdata.h index be5aaa02..0c9f6bb6 100644 --- a/setuppages/setuppageuserdata.h +++ b/setuppageuserdata.h @@ -23,7 +23,7 @@ * 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 . * + * along with KLog. If not, see . * * * *****************************************************************************/ @@ -38,7 +38,7 @@ class SetupPageUserDataPage : public QWidget { Q_OBJECT public: - SetupPageUserDataPage(DataProxy_SQLite *dp, QWidget *parent=nullptr); + SetupPageUserDataPage(DataProxy_SQLite *dp, QWidget *parent=0); ~SetupPageUserDataPage(); QString getStationQrz(); @@ -59,22 +59,22 @@ public: QString getProvince(); QString getCountry(); - bool setName (const QString &_aux); - bool setAddress1 (const QString &_aux); - bool setAddress2 (const QString &_aux); - bool setAddress3 (const QString &_aux); - bool setAddress4 (const QString &_aux); + bool setName (const QString _aux); + bool setAddress1 (const QString _aux); + bool setAddress2 (const QString _aux); + bool setAddress3 (const QString _aux); + bool setAddress4 (const QString _aux); bool setAddress (const QStringList _aux); - bool setCity (const QString &_aux); - bool setZipCode (const QString &_aux); - bool setProvince (const QString &_aux); - bool setCountry (const QString &_aux); + bool setCity (const QString _aux); + bool setZipCode (const QString _aux); + bool setProvince (const QString _aux); + bool setCountry (const QString _aux); - bool setStationQrz(const QString &_qrz); - bool setOperators(const QString &_aux); + bool setStationQrz(const QString _qrz); + bool setOperators(const QString _aux); - bool setStationLocator(const QString &_loc); + bool setStationLocator(const QString _loc); bool setCQz(const int _cqz); bool setITUz(const int _ituz); @@ -90,19 +90,18 @@ public: bool setRigs(const QStringList _aux); bool setAntennas(const QStringList _aux); - bool setPower(const QString &_aux); - bool setRig1 (const QString &_aux); - bool setRig2 (const QString &_aux); - bool setRig3 (const QString &_aux); + bool setPower(const QString _aux); + bool setRig1 (const QString _aux); + bool setRig2 (const QString _aux); + bool setRig3 (const QString _aux); - bool setAntenna1 (const QString &_aux); - bool setAntenna2 (const QString &_aux); - bool setAntenna3 (const QString &_aux); - void setStationFocus(); + bool setAntenna1 (const QString _aux); + bool setAntenna2 (const QString _aux); + bool setAntenna3 (const QString _aux); signals: - void stationCallSignal (const QString &_p); - void operatorsSignal (const QString &_p); + void stationCallSignal (const QString _p); + void operatorsSignal (const QString _p); void enterKey(); private slots: @@ -116,7 +115,7 @@ private slots: // void slotContestOverLayChanged(int i); private: - bool checkOperatorsLineQString(const QString &_auxLine); + bool checkOperatorsLineQString(const QString _auxLine); QTabWidget *tabWidget; diff --git a/setuppages/setuppageworldeditor.cpp b/setuppageworldeditor.cpp similarity index 87% rename from setuppages/setuppageworldeditor.cpp rename to setuppageworldeditor.cpp index dd7759b7..119c0689 100644 --- a/setuppages/setuppageworldeditor.cpp +++ b/setuppageworldeditor.cpp @@ -1,10 +1,10 @@ -#include "setuppages/setuppageworldeditor.h" +#include "setuppageworldeditor.h" SetupPageWorldEditor::SetupPageWorldEditor(DataProxy_SQLite *dp, QWidget *parent) : QWidget(parent) { - //qDebug() << "SetupPageWorldEditor::SetupPageWorldEditor" << endl; + //qDebug() << "SetupPageWorldEditor::SetupPageWorldEditor" << endl; //worldPanel = new QWidget; dataProxy = dp; world = new World(dataProxy, Q_FUNC_INFO); @@ -17,6 +17,7 @@ SetupPageWorldEditor::SetupPageWorldEditor(DataProxy_SQLite *dp, QWidget *parent worldView->setContextMenuPolicy(Qt::CustomContextMenu); worldView->setSortingEnabled(true); + createWorldModel(); createWorldPanel(); @@ -99,12 +100,12 @@ SetupPageWorldEditor::SetupPageWorldEditor(DataProxy_SQLite *dp, QWidget *parent } } - //qDebug() << "SetupPageWorldEditor::SetupPageWorldEditor - END" << endl; + //qDebug() << "SetupPageWorldEditor::SetupPageWorldEditor - END" << endl; } SetupPageWorldEditor::~SetupPageWorldEditor() { - //qDebug() << "SetupPageWorldEditor::~SetupPageWorldEditor" << endl; + //qDebug() << "SetupPageWorldEditor::~SetupPageWorldEditor" << endl; } @@ -211,7 +212,7 @@ void SetupPageWorldEditor::createWorldModel() void SetupPageWorldEditor::createActions() { - //qDebug() << "SetupPageWorldEditor::createActions" << endl; + //qDebug() << "SetupPageWorldEditor::createActions" << endl; connect(addEntityPushButton, SIGNAL(clicked()), this, SLOT(slotAddButtonClicked()) ); connect(delEntityPushButton, SIGNAL(clicked()), this, SLOT(slotDelButtonClicked()) ); connect(editEntityPushButton, SIGNAL(clicked()), this, SLOT(slotEditButtonClicked()) ); @@ -232,7 +233,7 @@ void SetupPageWorldEditor::createActions() void SetupPageWorldEditor::slotAnalyzeEntityAddedSignal(const QStringList _qs) { /* - //qDebug() << "SetupPageWorldEditor::slotAnalyzeEntityAddedSignal\n" << + //qDebug() << "SetupPageWorldEditor::slotAnalyzeEntityAddedSignal\n" << _qs.at(0) << "\n" << _qs.at(1) << "\n" << _qs.at(2) << "\n" << @@ -263,27 +264,27 @@ bool SetupPageWorldEditor::isWorldEmpty() void SetupPageWorldEditor::slotAddButtonClicked() { - //qDebug() << "SetupPageWorldEditor::slotAddButtonClicked" << endl; + //qDebug() << "SetupPageWorldEditor::slotAddButtonClicked" << endl; setupEntityDialog->exec(); //TODO } void SetupPageWorldEditor::slotDelButtonClicked() { - //qDebug() << "SetupPageWorldEditor::slotDelButtonClicked" << endl; + //qDebug() << "SetupPageWorldEditor::slotDelButtonClicked" << endl; //TODO } void SetupPageWorldEditor::slotEditButtonClicked() { - //qDebug() << "SetupPageWorldEditor::slotEditButtonClicked" << endl; + //qDebug() << "SetupPageWorldEditor::slotEditButtonClicked" << endl; //TODO } /* void SetupPageWorldEditor::slotDoubleClickEntity( const QModelIndex & index) { - //qDebug() << "SetupPageWorldEditor::slotDoubleClickEntity" << endl; + //qDebug() << "SetupPageWorldEditor::slotDoubleClickEntity" << endl; //TODO //QSqlQuery query; @@ -295,7 +296,7 @@ void SetupPageWorldEditor::slotDoubleClickEntity( const QModelIndex & index) void SetupPageWorldEditor::slotImportWorldButtonClicked() { - //qDebug() << "SetupPageWorldEditor::slotImportWorldButtonClicked" << endl; + //qDebug() << "SetupPageWorldEditor::slotImportWorldButtonClicked" << endl; QString klogDir; klogDir = util->getHomeDir(); QString worldFile; @@ -303,7 +304,7 @@ void SetupPageWorldEditor::slotImportWorldButtonClicked() worldFile = QFileDialog::getOpenFileName(this, tr("Open File"), klogDir, tr("BigCTY (*.csv)")); QMessageBox msgBox; - //qDebug() << "SetupPageWorldEditor::slotImportWorldButtonClicked: " << worldFile << endl; + //qDebug() << "SetupPageWorldEditor::slotImportWorldButtonClicked: " << worldFile << endl; if (world->recreate(worldFile) ) { @@ -320,7 +321,7 @@ void SetupPageWorldEditor::slotImportWorldButtonClicked() msgBox.exec(); - //qDebug() << "SetupPageWorldEditor::slotImportWorldButtonClicked - END" << endl; + //qDebug() << "SetupPageWorldEditor::slotImportWorldButtonClicked - END" << endl; } diff --git a/setuppages/setuppageworldeditor.h b/setuppageworldeditor.h similarity index 91% rename from setuppages/setuppageworldeditor.h rename to setuppageworldeditor.h index 0c9275a5..0ac2453c 100644 --- a/setuppages/setuppageworldeditor.h +++ b/setuppageworldeditor.h @@ -23,7 +23,7 @@ * 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 . * + * along with KLog. If not, see . * * * *****************************************************************************/ @@ -33,7 +33,7 @@ #include #include "world.h" #include "dataproxy_sqlite.h" -#include "setuppages/setupentitydialog.h" +#include "setupentitydialog.h" #include "utilities.h" enum @@ -50,7 +50,7 @@ class SetupPageWorldEditor : public QWidget { Q_OBJECT public: - SetupPageWorldEditor(DataProxy_SQLite *dp, QWidget *parent=nullptr); + SetupPageWorldEditor(DataProxy_SQLite *dp, QWidget *parent=0); ~SetupPageWorldEditor(); private slots: diff --git a/showerrordialog.cpp b/showerrordialog.cpp index fa5c86a2..c7f3c2c0 100644 --- a/showerrordialog.cpp +++ b/showerrordialog.cpp @@ -2,7 +2,7 @@ ShowErrorDialog::ShowErrorDialog() { - //qDebug() << "ShowErrorDialog::ShowErrorDialog" << endl; + //qDebug() << "ShowErrorDialog::ShowErrorDialog" << endl; text.clear(); @@ -35,12 +35,12 @@ ShowErrorDialog::ShowErrorDialog() layout->addLayout(buttonsLayout); setLayout(layout); - //qDebug() << "ShowErrorDialog::ShowErrorDialog - END" << endl; + //qDebug() << "ShowErrorDialog::ShowErrorDialog - END" << endl; } void ShowErrorDialog::setText(const QString txt) { - //qDebug() << "ShowErrorDialog::setVersion: " << txt << endl; + //qDebug() << "ShowErrorDialog::setVersion: " << txt << endl; text = txt; txtLabel->setText(txt); @@ -50,12 +50,12 @@ void ShowErrorDialog::setText(const QString txt) ShowErrorDialog::~ShowErrorDialog() { - //qDebug() << "ShowErrorDialog::~ShowErrorDialog" << endl; + //qDebug() << "ShowErrorDialog::~ShowErrorDialog" << endl; } void ShowErrorDialog::slotAcceptButtonClicked() { - //qDebug() << "ShowErrorDialog::slotAcceptButtonClicked" << endl; + //qDebug() << "ShowErrorDialog::slotAcceptButtonClicked" << endl; accept(); } diff --git a/showerrordialog.h b/showerrordialog.h index fd214502..3250015d 100644 --- a/showerrordialog.h +++ b/showerrordialog.h @@ -23,7 +23,7 @@ * 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 . * + * along with KLog. If not, see . * * * *****************************************************************************/ #include diff --git a/softwareupdate.cpp b/softwareupdate.cpp index 143fa94d..93e36a94 100644 --- a/softwareupdate.cpp +++ b/softwareupdate.cpp @@ -3,7 +3,7 @@ SoftwareUpdate::SoftwareUpdate(const QString &_klogVersion) : QObject(nullptr) { - //qDebug() << "SoftwareUpdate::SoftwareUpdate(): " << _klogVersion << endl; + //qDebug() << "SoftwareUpdate::SoftwareUpdate(): " << _klogVersion << endl; util = new Utilities; updateDialog = new SoftwareUpdateDialog(); @@ -29,37 +29,37 @@ SoftwareUpdate::SoftwareUpdate(const QString &_klogVersion) : QObject(nullptr) //request.setUrl(QUrl("http://download.klog.xyz")); messageShown = false; OSVersion = QOperatingSystemVersion::currentType(); - //qDebug() << "SoftwareUpdate::SoftwareUpdate OSVersion:: " << QString::number(OSVersion) << endl; + //qDebug() << "SoftwareUpdate::SoftwareUpdate OSVersion:: " << QString::number(OSVersion) << endl; findOS(QOperatingSystemVersion::currentType()); setHeader(); - //qDebug() << "SoftwareUpdate::SoftwareUpdate(): - END" << endl; + //qDebug() << "SoftwareUpdate::SoftwareUpdate(): - END" << endl; } void SoftwareUpdate::findOS(const int _os) { - //qDebug() << "SoftwareUpdate::findOS(): " << QString::number(_os) << endl; + //qDebug() << "SoftwareUpdate::findOS(): " << QString::number(_os) << endl; switch (_os) { case QOperatingSystemVersion::MacOS: OSString = QString("osx"); - //qDebug() << "SoftwareUpdate::findOS(): macOS" << endl; + //qDebug() << "SoftwareUpdate::findOS(): macOS" << endl; break; case QOperatingSystemVersion::Windows: - //qDebug() << "SoftwareUpdate::findOS(): Windows" << endl; + //qDebug() << "SoftwareUpdate::findOS(): Windows" << endl; OSString = QString("win"); break; case QOperatingSystemVersion::Unknown: - //qDebug() << "SoftwareUpdate::findOS(): Unknown" << endl; + //qDebug() << "SoftwareUpdate::findOS(): Unknown" << endl; OSString = QString(); break; - //qDebug() << "SoftwareUpdate::findOS(): OTHER" << endl; + //qDebug() << "SoftwareUpdate::findOS(): OTHER" << endl; default: // should never be reached break; } - //qDebug() << "SoftwareUpdate::findOS() - END" << endl; + //qDebug() << "SoftwareUpdate::findOS() - END" << endl; } SoftwareUpdate::~SoftwareUpdate() @@ -69,39 +69,39 @@ SoftwareUpdate::~SoftwareUpdate() /* void SoftwareUpdate::setTheURL(QString _url) { - //qDebug() << "SoftwareUpdate::setTheURL: " << _url << endl; + //qDebug() << "SoftwareUpdate::setTheURL: " << _url << endl; // request.setUrl(QUrl(_url)); } */ void SoftwareUpdate::setVersion(const QString &_klogVersion) { - //qDebug() << "SoftwareUpdate::setVersion: " << _klogVersion << endl; + //qDebug() << "SoftwareUpdate::setVersion: " << _klogVersion << endl; klogVersion = _klogVersion; latestVersion = klogVersion; setHeader(); - //qDebug() << "SoftwareUpdate::setVersion: END " << endl; + //qDebug() << "SoftwareUpdate::setVersion: END " << endl; } void SoftwareUpdate::slotReadyRead() { - //qDebug() << "SoftwareUpdate::slotReadyRead: " << endl; + //qDebug() << "SoftwareUpdate::slotReadyRead: " << endl; } void SoftwareUpdate::slotError(int _p) { - //qDebug() << "SoftwareUpdate::slotError: " << endl; + //qDebug() << "SoftwareUpdate::slotError: " << endl; } void SoftwareUpdate::slotDownloadFinished(QNetworkReply *reply) { - //qDebug() << "SoftwareUpdate::slotDownloadFinished" << endl; + //qDebug() << "SoftwareUpdate::slotDownloadFinished" << endl; QUrl url = reply->url(); - //qDebug() << "SoftwareUpdate::slotDownloadFinished - URL: " << url.toString() << endl; - if (url.toString().length()< QString("https://download.klog.xyz").length()) + //qDebug() << "SoftwareUpdate::slotDownloadFinished - URL: " << url.toString() << endl; + if (url.toString().length()< QString("http://download.klog.xyz").length()) { - //qDebug() << "SoftwareUpdate::slotDownloadFinished - URL: URL too short" << endl; + //qDebug() << "SoftwareUpdate::slotDownloadFinished - URL: URL too short" << endl; return; } @@ -112,33 +112,33 @@ void SoftwareUpdate::slotDownloadFinished(QNetworkReply *reply) if (reply->error()) { - //qDebug() << "SoftwareUpdate::slotDownloadFinished: reply error: " << QString::number(reply->error()) << endl; + //qDebug() << "SoftwareUpdate::slotDownloadFinished: reply error: " << QString::number(reply->error()) << endl; } else if (!redirectionTarget.isNull()) { repositoryFound = false; QUrl newUrl = url.resolved(redirectionTarget.toUrl()); - //qDebug() << "SoftwareUpdate::slotDownloadFinished: Redirect: " << newUrl.toString() << endl; + //qDebug() << "SoftwareUpdate::slotDownloadFinished: Redirect: " << newUrl.toString() << endl; url = newUrl; reply->deleteLater(); //request.setUrl(QUrl(url.toString())); //setTheURL(url.toString()); connectToURL(url.toString()); - //qDebug() << "SoftwareUpdate::slotDownloadFinished - end After connect" << endl; + //qDebug() << "SoftwareUpdate::slotDownloadFinished - end After connect" << endl; return; } else { - //qDebug() << "SoftwareUpdate::slotDownloadFinished: no redirection" << endl; + //qDebug() << "SoftwareUpdate::slotDownloadFinished: no redirection" << endl; if (checkUpdates(reply)) { - //qDebug() << "SoftwareUpdate::slotDownloadFinished checkupdates true" << endl; + //qDebug() << "SoftwareUpdate::slotDownloadFinished checkupdates true" << endl; if (repositoryFound) { - //qDebug() << "SoftwareUpdate::slotDownloadFinished repository found" << endl; + //qDebug() << "SoftwareUpdate::slotDownloadFinished repository found" << endl; if(latestVersion>klogVersion) { - //qDebug() << "SoftwareUpdate::slotDownloadFinished checkupdates should update!" << endl; + //qDebug() << "SoftwareUpdate::slotDownloadFinished checkupdates should update!" << endl; updateDialog->setVersion(latestVersion, true); } updateDialog->show(); @@ -150,26 +150,26 @@ void SoftwareUpdate::slotDownloadFinished(QNetworkReply *reply) { if (repositoryFound && messageShown) { - //qDebug() << "SoftwareUpdate::slotDownloadFinished checkupdates false!" << endl; + //qDebug() << "SoftwareUpdate::slotDownloadFinished checkupdates false!" << endl; updateDialog->setVersion(latestVersion, false); updateDialog->show(); } - //qDebug() << "SoftwareUpdate::slotDownloadFinished: checkupdates false" << endl; + //qDebug() << "SoftwareUpdate::slotDownloadFinished: checkupdates false" << endl; } } reply->deleteLater(); //manager->deleteLater(); - //qDebug() << "SoftwareUpdate::slotDownloadFinished end" << endl; + //qDebug() << "SoftwareUpdate::slotDownloadFinished end" << endl; } bool SoftwareUpdate::checkUpdates(QIODevice *data) { // Checks if there is a new version in the repository - //qDebug() << "SoftwareUpdate::checkUpdates: " << QString::number(data->size()) << endl; + //qDebug() << "SoftwareUpdate::checkUpdates: " << QString::number(data->size()) << endl; QString line, release; QStringList stringList, klogStringList; @@ -180,13 +180,13 @@ bool SoftwareUpdate::checkUpdates(QIODevice *data) switch (OSVersion) { case QOperatingSystemVersion::Unknown: - //qDebug() << "MainWindow::checkUpdates - Unknown" << endl; + //qDebug() << "MainWindow::checkUpdates - Unknown" << endl; rx.setPattern("klog-(\\d+)(\\.\\d+)?(\\.\\d+)?(\\.\\d+)?(-RC\\d+)?.tar.gz"); filterString = QString("klog"); fileExtension = QString(".tar.gz"); break; case QOperatingSystemVersion::Windows: - //qDebug() << "MainWindow::checkUpdates - Windows" << endl; + //qDebug() << "MainWindow::checkUpdates - Windows" << endl; // rx.setPattern("KLog-(\\d+\\.)?(\\d+\\.)?(\\d+)?(-\\d+)?(\\.)?-windows-installer.exe"); rx.setPattern("KLog-(\\d+)(\\.\\d+)?(\\.\\d+)?(\\.\\d+)?(-RC\\d+)?-windows-installer.exe"); filterString = QString("KLog"); @@ -197,7 +197,7 @@ bool SoftwareUpdate::checkUpdates(QIODevice *data) rx.setPattern("KLog-(\\d+)(\\.\\d+)?(\\.\\d+)?(\\.\\d+)?(-RC\\d+)?.dmg"); filterString = QString("KLog"); fileExtension = QString(".dmg"); - //qDebug() << "MainWindow::checkUpdates - macOS" << endl; + //qDebug() << "MainWindow::checkUpdates - macOS" << endl; break; default: rx.setPattern("klog-(\\d+)(\\.\\d+)?(\\.\\d+)?(\\.\\d+)?(-RC\\d+)?.tar.gz"); @@ -207,31 +207,31 @@ bool SoftwareUpdate::checkUpdates(QIODevice *data) break; } - //qDebug() << "SoftwareUpdate::checkUpdates: Before entering the while"<< endl; + //qDebug() << "SoftwareUpdate::checkUpdates: Before entering the while"<< endl; while (!data->atEnd()) { - //qDebug() << "SoftwareUpdate::checkUpdates: In the while"<< endl; + //qDebug() << "SoftwareUpdate::checkUpdates: In the while"<< endl; stringList.clear(); klogStringList.clear(); line.clear(); line = data->readLine(); - //qDebug() << "SoftwareUpdate::checkUpdates: line: " << line << endl; + //qDebug() << "SoftwareUpdate::checkUpdates: line: " << line << endl; if ((line.contains("KLog-")) || (line.contains("klog-"))) { - //qDebug() << "SoftwareUpdate::checkUpdates: line contains KLog- or klog- " << endl; + //qDebug() << "SoftwareUpdate::checkUpdates: line contains KLog- or klog- " << endl; repositoryFound = true; stringList << line.split(">", QString::SkipEmptyParts); klogStringList << stringList.filter(filterString); foreach (QString str, klogStringList) { - //qDebug() << "SoftwareUpdate::checkUpdates klog: " << str << endl; + //qDebug() << "SoftwareUpdate::checkUpdates klog: " << str << endl; //str = str.chopped(3); - //qDebug() << "SoftwareUpdate::checkUpdates klog - chopped: " << str << endl; + //qDebug() << "SoftwareUpdate::checkUpdates klog - chopped: " << str << endl; if (rx.match(str).hasMatch()) { - //qDebug() << "SoftwareUpdate::checkUpdates: MATCH: " << str << endl; + //qDebug() << "SoftwareUpdate::checkUpdates: MATCH: " << str << endl; release = str.section("-",1); //release = release.section(".tar.gz", 0, 0); release = release.section(fileExtension, 0, 0); @@ -241,35 +241,35 @@ bool SoftwareUpdate::checkUpdates(QIODevice *data) } else { - //qDebug() << "SoftwareUpdate::checkUpdates: DOES NOT MATCH: " << str << endl; + //qDebug() << "SoftwareUpdate::checkUpdates: DOES NOT MATCH: " << str << endl; } } - //qDebug() << "SoftwareUpdate::checkUpdates: " << line << endl; + //qDebug() << "SoftwareUpdate::checkUpdates: " << line << endl; } } - //qDebug() << "SoftwareUpdate::checkUpdates:Latest/Actual: " << latestVersion << "/" << klogVersion << endl; + //qDebug() << "SoftwareUpdate::checkUpdates:Latest/Actual: " << latestVersion << "/" << klogVersion << endl; if (latestVersion > klogVersion) { emit updateNeededSignal (true); - //qDebug() << "SoftwareUpdate::checkUpdates: signal true" << endl; + //qDebug() << "SoftwareUpdate::checkUpdates: signal true" << endl; return true; } else { //emit updateNeededSignal (false); - //qDebug() << "SoftwareUpdate::checkUpdates: signal alse 1" << endl; + //qDebug() << "SoftwareUpdate::checkUpdates: signal alse 1" << endl; return false; } //emit updateNeededSignal (false); - //qDebug() << "SoftwareUpdate::checkUpdates: signal false 2" << endl; + //qDebug() << "SoftwareUpdate::checkUpdates: signal false 2" << endl; //return false; } -void SoftwareUpdate::updateNeeded(QString &_newVer) +void SoftwareUpdate::updateNeeded(const QString &_newVer) { - //qDebug() << "SoftwareUpdate::updateNeeded: new: " << _newVer << endl; - //qDebug() << "SoftwareUpdate::updateNeeded: cur: " << latestVersion << endl; + //qDebug() << "SoftwareUpdate::updateNeeded: new: " << _newVer << endl; + //qDebug() << "SoftwareUpdate::updateNeeded: cur: " << latestVersion << endl; if (latestVersion< _newVer) { @@ -278,17 +278,17 @@ void SoftwareUpdate::updateNeeded(QString &_newVer) /* if (klogVersion < _newVer) { - //qDebug() << "SoftwareUpdate::updateNeeded TRUE: " << _newVer << endl; + //qDebug() << "SoftwareUpdate::updateNeeded TRUE: " << _newVer << endl; if } else { - //qDebug() << "SoftwareUpdate::updateNeeded - FALSE " << _newVer << endl; + //qDebug() << "SoftwareUpdate::updateNeeded - FALSE " << _newVer << endl; } */ - //qDebug() << "SoftwareUpdate::updateNeeded - KLogVersion/latestVersion/newver: "<< klogVersion <<"/"<< latestVersion << "/"<<_newVer << endl; + //qDebug() << "SoftwareUpdate::updateNeeded - KLogVersion/latestVersion/newver: "<< klogVersion <<"/"<< latestVersion << "/"<<_newVer << endl; } void SoftwareUpdate::needToUpdate(bool _showWithoutVersion) @@ -296,19 +296,19 @@ void SoftwareUpdate::needToUpdate(bool _showWithoutVersion) // If _showWithoutVersion is false: We are checking for new versions at KLog start: No message should be shown if no new version is found. // If _showWithoutVersion is true: The user is manually asking to check. A message should is shown if no new version is found. - //qDebug() << "SoftwareUpdate::needToUpdate (current version: " << klogVersion << ")" << endl; + //qDebug() << "SoftwareUpdate::needToUpdate (current version: " << klogVersion << ")" << endl; messageShown = _showWithoutVersion; setVersion(klogVersion); //setTheURL("http://download.klog.xyz"); - connectToURL("https://download.klog.xyz/" + OSString); - //qDebug() << "SoftwareUpdate::neededToUpdate - END" << endl; + connectToURL("http://download.klog.xyz/" + OSString); + //qDebug() << "SoftwareUpdate::neededToUpdate - END" << endl; } void SoftwareUpdate::connectToURL(const QString &_url) { // This is where the connection takes place.... so first connection may be the main URL but it launches connection after redirections - //qDebug() << "SoftwareUpdate::connectToURL: " << _url << endl; + //qDebug() << "SoftwareUpdate::connectToURL: " << _url << endl; QNetworkAccessManager *manager = new QNetworkAccessManager(this); //connect(manager, SIGNAL(finished(QNetworkReply*)), this, SLOT(replyFinished(QNetworkReply*))); @@ -320,14 +320,14 @@ void SoftwareUpdate::connectToURL(const QString &_url) connect(reply, SIGNAL(readyRead()), this, SLOT(slotReadyRead())); connect(manager, SIGNAL(finished(QNetworkReply*)),this, SLOT(slotDownloadFinished(QNetworkReply*))); - //qDebug() << "SoftwareUpdate::conectToURL - END" << endl; + //qDebug() << "SoftwareUpdate::conectToURL - END" << endl; } void SoftwareUpdate::setHeader() { - //qDebug() << "SoftwareUpdate::setHeader" << endl; + //qDebug() << "SoftwareUpdate::setHeader" << endl; QString ver = util->getAgent(klogVersion); - //qDebug() << "SoftwareUpdate::setHeader - ver: " << ver << endl; + //qDebug() << "SoftwareUpdate::setHeader - ver: " << ver << endl; if (callsign.length()>2) { ver = ver + "-" + callsign; @@ -336,19 +336,19 @@ void SoftwareUpdate::setHeader() str.clear(); str.append(ver); - //qDebug() << "SoftwareUpdate::setHeader: " << str << endl; + //qDebug() << "SoftwareUpdate::setHeader: " << str << endl; request.setRawHeader("User-Agent", str); - //qDebug() << "SoftwareUpdate::setHeader - END" << endl; + //qDebug() << "SoftwareUpdate::setHeader - END" << endl; } void SoftwareUpdate::addCall(const QString &_call) { - //qDebug() << "SoftwareUpdate::addCall: " << _call << endl; + //qDebug() << "SoftwareUpdate::addCall: " << _call << endl; if (_call.length()>2) { callsign = _call; setHeader(); } - //qDebug() << "SoftwareUpdate::addCall - END" << endl; + //qDebug() << "SoftwareUpdate::addCall - END" << endl; } diff --git a/softwareupdate.h b/softwareupdate.h index 84db5bba..6989168e 100644 --- a/softwareupdate.h +++ b/softwareupdate.h @@ -22,7 +22,7 @@ * 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 . * + * along with KLog. If not, see . * * * *****************************************************************************/ #include @@ -69,7 +69,7 @@ signals: private: void connectToURL(const QString &_url); bool checkUpdates(QIODevice *data); - void updateNeeded(QString &_newVer); + void updateNeeded(const QString &_newVer); //void setTheURL(QString _url); void setHeader(); void findOS(const int _os); diff --git a/softwareupdatedialog.cpp b/softwareupdatedialog.cpp index 8d0d059e..608dc8f6 100644 --- a/softwareupdatedialog.cpp +++ b/softwareupdatedialog.cpp @@ -5,7 +5,7 @@ SoftwareUpdateDialog::SoftwareUpdateDialog() { - //qDebug() << "SoftwareUpdateDialog::SoftwareUpdateDialog" << endl; + //qDebug) << "SoftwareUpdateDialog::SoftwareUpdateDialog" << endl; textBrowser = new QTextBrowser; textBrowser->setOpenLinks(true); @@ -37,12 +37,12 @@ SoftwareUpdateDialog::SoftwareUpdateDialog() /// connect(acceptButton, SIGNAL(clicked()), this, SLOT(slotAcceptButtonClicked())); - //qDebug() << "SoftwareUpdateDialog::SoftwareUpdateDialog - END" << endl; + //qDebug) << "SoftwareUpdateDialog::SoftwareUpdateDialog - END" << endl; } void SoftwareUpdateDialog::setVersion(const QString tversion, const bool updateNeeded) { - //qDebug() << "SoftwareUpdateDialog::setVersion: " << tversion << endl; + //qDebug) << "SoftwareUpdateDialog::setVersion: " << tversion << endl; _version = tversion; if (updateNeeded) { @@ -54,26 +54,26 @@ void SoftwareUpdateDialog::setVersion(const QString tversion, const bool updateN } textBrowser->setHtml(text); - //qDebug() << "SoftwareUpdateDialog::setVersion: END"<< endl; + //qDebug) << "SoftwareUpdateDialog::setVersion: END"<< endl; } SoftwareUpdateDialog::~SoftwareUpdateDialog() { - //qDebug() << "SoftwareUpdateDialog::~SoftwareUpdateDialog" << endl; + //qDebug) << "SoftwareUpdateDialog::~SoftwareUpdateDialog" << endl; } void SoftwareUpdateDialog::slotAcceptButtonClicked() { - //qDebug() << "SoftwareUpdateDialog::slotAcceptButtonClicked" << endl; + //qDebug) << "SoftwareUpdateDialog::slotAcceptButtonClicked" << endl; accept(); - //qDebug() << "SoftwareUpdateDialog::slotAcceptButtonClicked END" << endl; + //qDebug) << "SoftwareUpdateDialog::slotAcceptButtonClicked END" << endl; } void SoftwareUpdateDialog::keyPressEvent(QKeyEvent *event) { - //qDebug() << "SoftwareUpdateDialog::keyPressEvent" << endl; + //qDebug) << "SoftwareUpdateDialog::keyPressEvent" << endl; switch (event->key()) { break; @@ -83,5 +83,5 @@ void SoftwareUpdateDialog::keyPressEvent(QKeyEvent *event) slotAcceptButtonClicked(); } - //qDebug() << "SoftwareUpdateDialog::keyPressEvent END" << endl; + //qDebug) << "SoftwareUpdateDialog::keyPressEvent END" << endl; } diff --git a/softwareupdatedialog.h b/softwareupdatedialog.h index b3dfa330..9c6c34fb 100644 --- a/softwareupdatedialog.h +++ b/softwareupdatedialog.h @@ -22,7 +22,7 @@ * 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 . * + * along with KLog. If not, see . * * * *****************************************************************************/ #include diff --git a/startwizard.cpp b/startwizard.cpp index ac115510..3fa2269d 100644 --- a/startwizard.cpp +++ b/startwizard.cpp @@ -1,10 +1,10 @@ #include "startwizard.h" //#include - StartWizard::StartWizard(const QString &_klogDir, const QString &_softVersion, QWidget *parent) + StartWizard::StartWizard(const QString _klogDir, const QString _softVersion, QWidget *parent) : QWizard(parent) { - //qDebug() << "StartWizard::StartWizard: v=" << _softVersion << endl; + //qDebug() << "StartWizard::StartWizard: v=" << _softVersion << endl; //licAcepted = false; version = _softVersion; klogDir = _klogDir; @@ -41,25 +41,25 @@ setWindowTitle(tr("KLog - The free hamradio logging program")); - //qDebug() << "StartWizard::StartWizard: - END" << endl; + //qDebug() << "StartWizard::StartWizard: - END" << endl; } - void StartWizard::setVersion(const QString &tversion) + void StartWizard::setVersion(QString tversion) { version = tversion; } /*void StartWizard::slotUpdateDownloadProgress(qint64 received, qint64 total) { - //qDebug() << "StartWizard::slotUpdateDownloadProgress: " << QString::number(received) << "/" << QString::number(total) << endl; + //qDebug() << "StartWizard::slotUpdateDownloadProgress: " << QString::number(received) << "/" << QString::number(total) << endl; ctyPage->updateProgress(received, total); } */ /* void StartWizard::slotDownloadFinished() { - //qDebug() << "StartWizard::slotDownloadFinished" << endl; + //qDebug() << "StartWizard::slotDownloadFinished" << endl; //close(); } */ @@ -86,16 +86,16 @@ void StartWizard::slotButtonFinishedClicked() { - //qDebug() << "StartWizard::slotButtonFinishedClicked " << endl; + //qDebug() << "StartWizard::slotButtonFinishedClicked " << endl; if (inMemory) { setResult(1); - //qDebug() << "StartWizard::slotButtonFinishedClicked: done 1 " << endl; + //qDebug() << "StartWizard::slotButtonFinishedClicked: done 1 " << endl; } else { - //qDebug() << "StartWizard::slotButtonFinishedClicked: done 2 " << endl; + //qDebug() << "StartWizard::slotButtonFinishedClicked: done 2 " << endl; setResult(2); } @@ -105,7 +105,7 @@ bool StartWizard::doTheDownload() { - //qDebug() << "StartWizard::doTheDownload" << endl; + //qDebug() << "StartWizard::doTheDownload" << endl; int downloading = 1; int i = 0; int ret; @@ -128,7 +128,7 @@ void StartWizard::slotValueReturnedFromDownload(int value) { - //qDebug() << "StartWizard::slotValueReturnedFromDownload: " << QString::number(value) << endl; + //qDebug() << "StartWizard::slotValueReturnedFromDownload: " << QString::number(value) << endl; downloadValueResult = value; //close(); } @@ -150,8 +150,8 @@ QString welcometxt = "" + tr("Welcome to KLog") + "" + "

" + tr("This looks like it's the first time you've run KLog on this computer.") + "

" + - "

" + tr("KLog is a free hamradio logging program that can run on Linux, macOS, and Windows.") + - tr("It is designed to provide general purpose DX, and contest logging.") + "

" + + "

" + tr("KLog is a free hamradio logging program that can run on Linux macOS and Windows.") + + tr("It is designed to provide general purpose, DX and contest logging.") + "

" + "

" + tr("It supports QSL management, import and export of ADIF ") + tr("and Cabrillo file formats and many other features...") + "

" + tr("Before you can start using KLog, you will be asked to:") + "

    " + @@ -902,15 +902,14 @@ int FileOrMemoryPage::nextId() const } */ -CTYPage::CTYPage(const QString &_klogDir, const QString &_version, QWidget *parent) : QWizardPage(parent) +CTYPage::CTYPage(const QString _klogDir, const QString _version, QWidget *parent) : QWizardPage(parent) { //completed = false; dl = new DownLoadCTY(_klogDir, _version); - connect(dl, SIGNAL(actionReturnDownload(int)), this, SLOT(slotDownloadFinished(int))); - connect(dl, SIGNAL(actionShowProgres(qint64,qint64)), this, SLOT(slotUpdateDownloadProgress(qint64,qint64))); - connect(dl, SIGNAL(actionError(int)), this, SLOT(slotDownloadError(int))); - connect(dl, SIGNAL(downloadStopped()), this, SLOT(slotStopProgressBar())); + QObject::connect(dl, SIGNAL(actionReturnDownload(int)), this, SLOT(slotDownloadFinished(int))); + QObject::connect(dl, SIGNAL(actionShowProgres(qint64,qint64)), this, SLOT(slotUpdateDownloadProgress(qint64,qint64))); + QObject::connect(dl, SIGNAL(actionError(int)), this, SLOT(slotDownloadError(int))); setTitle(tr("Country data download")); @@ -920,7 +919,6 @@ CTYPage::CTYPage(const QString &_klogDir, const QString &_version, QWidget *pare progressBar = new QProgressBar; progressBar->setEnabled(false); - downloadButton = new QPushButton(tr("&Download")); ignoreDownloadButton = new QPushButton(tr("&Ignore")); @@ -944,9 +942,9 @@ CTYPage::CTYPage(const QString &_klogDir, const QString &_version, QWidget *pare QString st = tr("Country data needed"); QString gplLic = ""; gplLic = gplLic+st+"

    "; - st = tr("KLog uses the cty.csv file from https://www.country-files.com/ to get DXCC information."); + st = tr("KLog uses the cty.csv file from http://www.country-files.com/ to get DXCC information."); gplLic = gplLic + st + "

    "; - st = tr("You need to download the cty.csv file if you want KLog to show you the countries, locator, etc. of the QSOs you do."); + st = tr("You need to download the cty.csv file if you want KLog to show you the countries, locator, ... of the QSOs you do."); gplLic = gplLic + st + "

    "; st = tr("Click on Download to download now."); gplLic = gplLic+st+"

    "; @@ -963,26 +961,22 @@ CTYPage::CTYPage(const QString &_klogDir, const QString &_version, QWidget *pare void CTYPage::slotUpdateDownloadProgress(qint64 received, qint64 total) { - //qDebug() << "CTYPage::slotUpdateDownloadProgress: " << QString::number(received) << "/" << QString::number(total) << endl; - + //qDebug() << "CTYPage::slotUpdateDownloadProgress: " << QString::number(received) << "/" << QString::number(total) << endl; + progressBar->setMaximum(total); progressBar->setValue(received); - } void CTYPage::slotDownloadButtonClicked() { - //qDebug() << "CTYPage::slotDownloadButtonClicked" << endl; + //qDebug() << "CTYPage::slotDownloadButtonClicked" << endl; progressBar->setEnabled(true); - progressBar->reset(); - progressBar->setRange(0, 0); dl->download(); //completed = true; } void CTYPage::slotIgnoreDownloadButtonClicked() { - //qDebug() << "CTYPage::slotIgnoreDownloadButtonClicked" << endl; + //qDebug() << "CTYPage::slotIgnoreDownloadButtonClicked" << endl; //ignoreDownloadButton->setChecked(true); - slotStopProgressBar(); hiddenCheckBox->setChecked(true); progressBar->setEnabled(false); @@ -992,23 +986,22 @@ void CTYPage::slotIgnoreDownloadButtonClicked() void CTYPage::slotDownloadFinished(const int ret) { - //qDebug() << "CTYPage::slotDownloadFinished: " << QString::number(ret) << endl; - slotStopProgressBar(); + //qDebug() << "CTYPage::slotDownloadFinished: " << QString::number(ret) << endl; if (ret == QNetworkReply::NoError) // No error { - hiddenCheckBox->setChecked(true); - progressBar->setEnabled(false); - //progressBar->setValue(progressBar->maximum()); - //hiddenCheckBox->setChecked(true); - //qDebug() << "CTYPage::slotDownloadFinished: (no error): " << QString::number(ret) << endl; + hiddenCheckBox->setChecked(true); + progressBar->setEnabled(false); + progressBar->setValue(progressBar->maximum()); + //hiddenCheckBox->setChecked(true); + //qDebug() << "CTYPage::slotDownloadFinished: (no error): " << QString::number(ret) << endl; } else if (ret == -1) // File could not be created! { - //qDebug() << "CTYPage::slotDownloadFinished: (file could not be created): " << QString::number(ret) << endl; + //qDebug() << "CTYPage::slotDownloadFinished: (file could not be created): " << QString::number(ret) << endl; } else { - //qDebug() << "CTYPage::slotDownloadFinished: (another result): " << QString::number(ret) << endl; + //qDebug() << "CTYPage::slotDownloadFinished: (another result): " << QString::number(ret) << endl; } @@ -1016,10 +1009,10 @@ void CTYPage::slotDownloadFinished(const int ret) void CTYPage::slotDownloadError(const int ret) { - //qDebug() << "CTYPage::slotDownloadError: " << QString::number(ret) << endl; + //qDebug() << "CTYPage::slotDownloadError: " << QString::number(ret) << endl; int errorCode = ret; int i; - slotStopProgressBar(); + progressBar->setValue(0); progressBar->setEnabled(false); if(errorCode == QNetworkReply::NoError) @@ -1046,12 +1039,6 @@ void CTYPage::slotDownloadError(const int ret) { //TODO: Add a message showing the error that has occur. errorString()? } + } -void CTYPage::slotStopProgressBar() -{ - //qDebug() << "CTYPage::slotStopProgressBar" << endl; - progressBar->reset(); - progressBar->setRange(0,1); - progressBar->setValue(1); -} diff --git a/startwizard.h b/startwizard.h index 10826c61..cfa5ae19 100644 --- a/startwizard.h +++ b/startwizard.h @@ -22,7 +22,7 @@ * 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 . * + * along with KLog. If not, see . * * * *****************************************************************************/ @@ -48,8 +48,8 @@ class CTYPage; public: enum { Page_Intro, Page_Lic, Page_Mem, Page_CTY }; - StartWizard(const QString &_klogDir, const QString &_softVersion, QWidget *parent = nullptr); - void setVersion(const QString &tversion); + StartWizard(const QString _klogDir, const QString _softVersion, QWidget *parent = 0); + void setVersion(QString tversion); //~StartWizard(); protected: @@ -74,7 +74,7 @@ class CTYPage; { Q_OBJECT public: - IntroPage(QWidget *parent = nullptr); + IntroPage(QWidget *parent = 0); int nextId() const; private: QLabel *topLabel; @@ -86,7 +86,7 @@ class LicPage : public QWizardPage { Q_OBJECT public: - LicPage(QWidget *parent = nullptr); + LicPage(QWidget *parent = 0); //void setNextButtonActive(const bool _active); int nextId() const; @@ -131,7 +131,7 @@ class CTYPage : public QWizardPage { Q_OBJECT public: - CTYPage(const QString &_klogDir, const QString &_version, QWidget *parent = nullptr); + CTYPage(const QString _klogDir, const QString _version, QWidget *parent = 0); void updateProgress (qint64 v,qint64 t); private slots: @@ -148,12 +148,10 @@ private slots: void slotIgnoreDownloadButtonClicked(); void slotDownloadFinished(const int ret); void slotDownloadError(const int ret); - void slotStopProgressBar(); signals: void downloadTheFileSignal(const bool mem); - private: bool prepareTheDownload(); bool doTheDownload(); diff --git a/statisticswidget.cpp b/statisticswidget.cpp index 93d26f69..bff45f9f 100644 --- a/statisticswidget.cpp +++ b/statisticswidget.cpp @@ -30,19 +30,19 @@ StatisticsWidget::~StatisticsWidget() void StatisticsWidget::clear() { - //qDebug() << "StatisticsWidget::clear()" << endl; + //qDebug() << "StatisticsWidget::clear()" << endl; } void StatisticsWidget::closeEvent(QCloseEvent *event) { - //qDebug() << "StatisticsWidget::closeEvent" << endl; + //qDebug() << "StatisticsWidget::closeEvent" << endl; //barChartStats->clear(); event->accept(); } void StatisticsWidget::showEvent(QShowEvent *event) { - //qDebug() << "StatisticsWidget::showEvent" << endl; + //qDebug() << "StatisticsWidget::showEvent" << endl; barChartStats->clear(); fillLogCombo(); event->accept(); @@ -50,10 +50,10 @@ void StatisticsWidget::showEvent(QShowEvent *event) void StatisticsWidget::slotChartComboBoxChanged() { - //qDebug() << "StatisticsWidget::slotChartComboBoxChanged: " << statisticToShowComboBox->currentText() << endl; + //qDebug() << "StatisticsWidget::slotChartComboBoxChanged: " << statisticToShowComboBox->currentText() << endl; //QString text = statisticToShowComboBox->currentText(); //text.truncate(2); - + //qDebug() << "StatisticsWidget::slotChartComboBoxChanged: SelectedGrapth: " << text << endl; //barChartStats->prepareChart(text.toInt()); updateChart(); diff --git a/tipsdialog.cpp b/tipsdialog.cpp index 05f188fe..d467f1b6 100644 --- a/tipsdialog.cpp +++ b/tipsdialog.cpp @@ -9,7 +9,7 @@ TipsDialog::TipsDialog(QWidget *parent): QDialog(parent) { - //qDebug() << "TipsDialog::TipsDialog" << endl; + //qDebug() << "TipsDialog::TipsDialog" << endl; logSeverity = 7; //7 Debug /0=emergency or no debug emit debugLog (Q_FUNC_INFO, "Start", logSeverity); tipTextQLabel = new QLabel; @@ -17,7 +17,7 @@ TipsDialog::TipsDialog(QWidget *parent): QDialog(parent) //tipTextEdit->setReadOnly(true); //tipTextEdit->setWordWrapMode(QTextOption::WordWrap); tipId = 1; - tipMax = 20; + tipMax = 17; //QPixmap pixmap(":/img/klog_256x256.png"); @@ -68,7 +68,7 @@ TipsDialog::TipsDialog(QWidget *parent): QDialog(parent) setLayout(layout); - //qDebug() << "TipsDialog::TipsDialog - END" << endl; + //qDebug() << "TipsDialog::TipsDialog - END" << endl; emit debugLog (Q_FUNC_INFO, "End", logSeverity); } @@ -115,7 +115,7 @@ void TipsDialog::setSeverity(const int _sev) void TipsDialog::setTip(const int _t) { //QSize _size = tipTextQLabel->sizeHint(); - //qDebug() << "TipsDialog::setTip: Height: " << QString::number(_t) <Tip #4:
    Do you know...
    You can export your QSO marked as QSL requested with File->Export Requested QSL to ADIF... to create an ADIF file that you will be able to import into a QSL tag creation program to print tags for your QSL cards?"); break; case 5: - description = tr("Tip #5:
    Do you know...
    You can enter a '*' in the search box, in the search window to search for all the QSOs done with one specific station callsign?"); + //: Translator: Please make sure that the name of the link is coherent with the menu File->Export ADIF for LoTW... + description = tr("Tip #5:
    Do you know...
    You can export your QSO marked as requested, via LoTW, in your log with File->Export ADIF for LoTW... to create an ADIF file that you will be able to import in TQSL to be signed and uploaded to LoTW?

    You have to mark as Q-Queued all the QSOs you want to be exported to be sent to LoTW."); break; case 6: //: Translator: Please make sure that the name of the link is coherent with the menu File->KLog folder @@ -162,7 +163,7 @@ void TipsDialog::setTip(const int _t) description = tr("Tip #11:
    Do you know...
    You can subscribe to the Spanish Telegram group to discuss about KLog in Spanish?"); break; case 12: - description = tr("Tip #12:
    Do you know...
    You can subscribe to KLog-users mailing list to discuss via email about KLog in English?"); + description = tr("Tip #12:
    Do you know...
    You can subscribe to KLog-users mailing list to discuss via email about KLog in English?"); break; case 13: description = tr("Tip #13:
    Do you know...
    You can follow EA4K on twitter to get updates about KLog?"); @@ -179,19 +180,6 @@ void TipsDialog::setTip(const int _t) case 17: description = tr("Tip #17:
    Do you know...
    You can support translating KLog into your language? Please check KLog Translations page."); break; - case 18: - description = tr("Tip #18:
    Do you know...
    You can double-click on an entity name in the DXCC table and all the QSOs with that DXCC Entity will be shown in the search box?"); - break; - case 19: - description = tr("Tip #19:
    Do you know...
    You can right-click on a QSO and select Check in QRZ.com to check that callsign in QRZ.com?"); - break; - case 20: - description = tr("Tip #20:
    Do you know...
    You can see the QSO that confirms one specific DXCC entity in one specific band by poiting your mouse over that band in the DXCC widget?"); - break; - case 21: - //: Translator: Please make sure that the name of the link is coherent with the menu File->Export ADIF for LoTW... - description = tr("Tip #21:
    Do you know...
    You can upload your QSO marked as queued to LoTW via TQSL with Tools->Upload to LoTW... ?

    You have to configure TQSL in the preferences to be able to use this functionality."); - break; default: description = tr("TIP-Default: Text"); break; @@ -200,12 +188,12 @@ void TipsDialog::setTip(const int _t) tipTextQLabel->setText(description); - //qDebug() << "TipsDialog::setTip: END" << endl; + //qDebug() << "TipsDialog::setTip: 2 Height: " << QString::number(_size.height()) << " / Width: " << QString::number(_size.width()) << endl; } void TipsDialog::slotLinkActivated(const QString &_link) { - //qDebug() << "TipsDialog::slotLinkActivated: " << _link << endl; + //qDebug() << "TipsDialog::slotLinkActivated: " << _link << endl; //Comprobar el enalce y activar el menu correspondiente if (_link == "#ToolsFillInQSO") { @@ -225,7 +213,7 @@ void TipsDialog::slotLinkActivated(const QString &_link) } else if (_link == "#FileExportLoTWADIF") { - //emit fileExportForLoTWSignal(); + emit fileExportForLoTWSignal(); } else if (_link == "#FileOpenKLogFolder") { @@ -243,9 +231,5 @@ void TipsDialog::slotLinkActivated(const QString &_link) { emit toolRecRecPendingQSLSignal(); } - else if (_link == "#ToolsUploadLoTW") - { - emit toolsUploadLoTWSignal(); - } } diff --git a/tipsdialog.h b/tipsdialog.h index 62f6c837..82c0dc33 100644 --- a/tipsdialog.h +++ b/tipsdialog.h @@ -24,7 +24,7 @@ * 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 . * + * along with KLog. If not, see . * * * *****************************************************************************/ @@ -52,12 +52,11 @@ signals: void fillInDXCCSignal(); void findQSL2QSOSignal(); void fileExportToPrintSignal(); - //void fileExportForLoTWSignal(); + void fileExportForLoTWSignal(); void fileOpenKLogFolderSignal(); void toolSendPendingQSLSignal(); void toolRecPendingQSLSignal(); void toolRecRecPendingQSLSignal(); - void toolsUploadLoTWSignal(); private slots: void slotPrevButtonClicked(); diff --git a/translations/klog_ca.ts b/translations/klog_ca.ts index 8762aa4f..d44f5c7c 100644 --- a/translations/klog_ca.ts +++ b/translations/klog_ca.ts @@ -29,21 +29,26 @@ By Per + + + Please know that this is an BETA release and it may contain many bugs.<br>Backup your data before using this software! + Tingueu present que aquesta és un llançament BETA i podria contenir algun error.<br>Feu una còpia de seguretat abans d'usar aquest programari! + Author Autor + + + KLog has been fully rewritten from the 0.6.2 to be able to provide a cross-platform application that runs in the main operating systems (Linux, macOS & Windows) and provide new functionalities that KLog was not providing. + El KLog s'ha reescrit completament a partir de la 0.6.2 per ser capaç de proporcionar una aplicació multiplataforma que s'executa en els sistemes operatius principals (Linux, macOS i Windows) i proporciona funcionalitats noves que el KLog no feia. + KLog is a free logbook for hamradio operators. El KLog és un registre lliure per a operadors de radioafició. - - - Since 0.6.2, KLog has been fully rewritten to provide a cross-platform application that runs on all major operating systems (Linux, macOS and Windows) and to support new functionality. - A partir de la versió 0.6.2, el KLog s'ha reescrit completament per proporcionar una aplicació multiplataforma que s'executa a tots els principals sistemes operatius (Linux, macOS i Windows) i per implementar funcionalitats noves. - Please provide your review in KLog's eHam review page: @@ -70,15 +75,18 @@ Si el KLog encara no està en el vostre idioma i voleu ajudar-nos, us donem la benvinguda per a posar-vos en contacte amb la <a href="https://lists.nongnu.org/mailman/listinfo/klog-devel">llista de desenvolupament del KLog</a>! - - KLog developers have included a feature that reports some user data to the KLog server with the sole purpose of identifying the number of installed versions, to focus development in one direction or another taking into account users' needs. - Els desenvolupadors del KLog han inclòs una funcionalitat que informa de diverses dades de l'usuari al servidor del KLog amb l'únic propòsit d'identificar el nombre de versions instal·lades, per tal d'enfocar el desenvolupament en una direcció o una altra tenint en compte les necessitats dels usuaris. + KLog developers have included a feature that reports some user data to the KLog server with the sole purpose of identifying the number of installed versions, to focus development in one direction or another taking into account user's needs + Els desenvolupadors del KLog han inclòs una funcionalitat que informa de vàries dades d'usuari al servidor del KLog amb l'únic propòsit d'identificat el nombre de versions instal·lades, per enfocar el desenvolupament cap a una direcció o una altre tenint en compte les necessitats dels usuaris At present, the data that is provided is the following: Actualment, les dades proporcionades són les següents: + + Be aware that you can enable/disable this feature from the Misc tab in the Setup page + Tingueu present que podeu activar/desactivar aquesta funcionalitat des de la pestanya Varis a la pestanya de configuració + Translators bring KLog into your language. They are really an important part of the KLog development team. @@ -89,11 +97,6 @@ Find more information and the latest release at Podeu trobar més informació i l'últim llançament a - - - Please be aware that this is a development release and it may contain many bugs.<br>Backup your data before using this software! - Tingueu en compte que aquest és un llançament de desenvolupament i pot contenir molts errors.<br>Feu una còpia de seguretat de les dades abans d'usar aquest programari! - @@ -105,6 +108,11 @@ Privacy advisory Avís de privadesa + + + KLog developers have included a feature that reports some user data to the KLog server with the sole purpose of identifying the number of installed versions, to focus development in one direction or another taking into account user's needs. + + Callsign @@ -123,7 +131,7 @@ Be aware that you can enable/disable this feature from the Misc tab in the Setup page. - Tingueu en compte que podeu activar/desactivar aquesta funcionalitat des de la pestanya Varis de la pàgina de Configuració. + @@ -136,94 +144,6 @@ Privadesa - - AdifLoTWExportWidget - - - Select the Station Callsign that you want to use to upload the log. - Seleccioneu l'indicatiu de l'estació de la qual voleu usar per pujar el registre. - - - - Select the start date to export the QSOs. The default date is the date of the first QSO with this station callsign. - Seleccioneu la data d'inici a exportar els QSO. La data predeterminada és la data del primer QSO amb aquest indicatiu d'estació. - - - - Select the end date to export the QSOs. The default date is the date of the last QSO with this station callsign. - Seleccioneu la data de fi a exportar els QSO. La data predeterminada és la data del darrer QSO amb aquest indicatiu d'estació. - - - - Station callsign - Indicatiu de l'estació - - - - Start date - Data d'inici - - - - End date - Data fi - - - - Ok - D'acord - - - - Cancel - Cancel·la - - - - DX - DX - - - - Date/Time - Data/hora - - - - Band - Banda - - - - Mode - Mode - - - - Not defined - No s'ha definit - - - - All - Tot - - - - QSOs: - QSO: - - - - This table shows the QSOs that will be sent to LoTW. - Aquesta taula mostra els QSO que s'enviaran al LoTW. - - - - This table shows the QSOs that will be exported to ADIF. - Aquesta taula mostra els QSO que s'exportaran a ADIF. - - AwardsWidget @@ -322,22 +242,22 @@ - Number of QSOs worked in the selected year. + Number of QSOs worked on the selected year. Nombre de QSO treballats durant l'any seleccionat. - Number of DXCCs worked in the selected year. - Nombre de DXCC treballades durant l'any seleccionat. + Number of DXCC worked on the selected year. + Nombre de DXCC treballats durant l'any seleccionat. - Number of CQ Zones worked in the selected year. + Number of CQ Zones worked on the selected year. Nombre de zones CQ treballades durant l'any seleccionat. - Score for the DXMarathon in the selected year. + Score for the DXMarathon on the selected year. Puntuació per al DXMarathon a l'any seleccionat. @@ -349,52 +269,52 @@ CTYPage - + Country data download Baixa les dades de països - + KLog needs country data... El KLog necessita dades de països... - + &Download &Baixa - + &Ignore &Ignora - + Country data needed Cal les dades de països + + + KLog uses the cty.csv file from http://www.country-files.com/ to get DXCC information. + El KLog usa el fitxer «cty.csv» de http://www.country-files.com/ per obtenir la informació DXCC. + - KLog uses the cty.csv file from https://www.country-files.com/ to get DXCC information. - El KLog usa el fitxer «cty.csv» de https://www.country-files.com/ per aconseguir la informació de les DXCC. + You need to download the cty.csv file if you want KLog to show you the countries, locator, ... of the QSOs you do. + Cal baixar el fitxer «cty.csv» si voleu que el KLog mostri els països, localitzadors, ... dels QSO que feu. - You need to download the cty.csv file if you want KLog to show you the countries, locator, etc. of the QSOs you do. - Cal baixar el fitxer «cty.csv» si voleu que el KLog mostri els països, el localitzador, etc. dels QSO que feu. - - - Click on Download to download now. Cliqueu a Baixa per baixar ara. - + KLog KLog - + I can't find the host. Please check your network and try again Do you want to try again? No s'ha pogut trobar la màquina. Reviseu la configuració de xarxa i proveu de nou @@ -409,27 +329,27 @@ Voleu tornar-ho a intentar? Actualitza - + + ID + ID + + + Entity Entitat - - Prefix - Prefix - - - + Pref: Pref: - + CQ: CQ: - + ITU: ITU: @@ -439,7 +359,7 @@ Voleu tornar-ho a intentar? Raig: - + Entity not worked in this band. L'entitat no ha treballat en aquesta banda. @@ -447,127 +367,118 @@ Voleu tornar-ho a intentar? DXClusterWidget - - + + Connect Connecta - - - - + + + + Clear Neteja - + Click on connect to connect to the DX-Cluster Cliqueu a Connecta per connectar al DX-Cluster - + + - KLog DXCluster Kontest DXCluster DXCluster del KLog - + Click on Connect to connect to the DX-Cluster server Cliqueu a Connecta per connectar al servidor de DX-Cluster - + Trying to connect to the server S'intenta connectar amb el servidor - + The connection was refused by the peer. Make sure the DXCluster server is running, and check that the host name and port settings are correct. La connexió ha estat rebutjada pel servidor. Assegureu-vos que el servidor de DXCluster està executant-se i comproveu que el nom de la màquina i el port siguin correctes. - + The following error occurred: %1. Ha ocorregut el següent error: %1. - + Connected to server Connectat al servidor - - - + + + KLog message Kontest message Missatge del KLog - - + + Enter your callsign to connect to the cluster: Introduïu el vostre indicatiu per connectar al clúster: - + Enter your password to connect to the cluster: (Just hit enter for no password) Introduïu la contrasenya per connectar al clúster: (premeu retorn si no hi ha contrasenya) - + Not logged on, you may need to enter your callsign again. No esteu connectat, cal tornar a introduir el vostre indicatiu un altre cop. - + Enter here the commands to be sent to the DX-Cluster server. Introduïu aquí les ordres a enviar al servidor DX-Cluster. - - It was not possible to open the file to save the DX-Spots for writing. DX-Cluster activity will not be saved! - - - - It was not possible to open the file to save the DX-Spots for writting. DX-Cluster activity will not be saved! - No s'ha pogut obrir un fitxer per escriptura a on desar els avisos DX. No es desarà l'activitat del DX-Cluster! - - - - + + Disconnect Desconnecta - + The host was not found. Please check: No s'ha trobat la màquina. Comproveu: - + - your network connection; - the host name and port settings. - la connexió de xarxa; - la configuració del nom de màquina i el port. - + Connection closed by the server Connexió tancada pel servidor - + Click on Connect to connect to the DX-Cluster server. Feu clic a Connecta per connectar al servidor DX-Cluster. - + Send Envia @@ -580,177 +491,177 @@ Voleu tornar-ho a intentar? La versió del programari a la BD és nul - + + No query failed + No ha fallat cap consulta + + + Aircraft Scatter Common term in hamradio, do not translate if not sure Aircraft Scatter - + Aurora Aurora - + Aurora-E Aurora-E - + Back scatter Common term in hamradio, do not translate if not sure Back scatter - + Earth-Moon-Earth Terra-Lluna-Terra - + Sporadic E Sporadic E - + Internet-assisted Assistit per Internet - + Ionoscatter Common term in hamradio, do not translate if not sure Ionoscatter - + Meteor scatter Common term in hamradio, do not translate if not sure Meteor scatter - + Terrestrial or atmospheric repeater or transponder Repetidor o transponedor terrestre o atmosfèric - + Rain scatter Common term in hamradio, do not translate if not sure Rain scatter - + Satellite Satèl·lit - + Bureau Common term in hamradio, do not translate if not sure Bureau - + Manager Common term in hamradio, do not translate if not sure Manager - + All QSOs have been updated with a DXCC and the Continent. S'han actualitzat tots els QSO amb un DXCC i el continent. - + Field Aligned Irregularities Common term in hamradio, do not translate if not sure Field Aligned Irregularities - - Query didn't failed - No ha fallat la consulta - - - + F2 Reflection Common term in hamradio, do not translate if not sure F2 Reflection - + Trans-equatorial Common term in hamradio, do not translate if not sure Trans-equatorial - + Tropospheric ducting Common term in hamradio, do not translate if not sure Tropospheric ducting - - + + Yes - - + + No No - - + + Requested Sol·licitat - - + + Ignore/Invalid Ignora/No vàlid - + Validated Validat - + Queued En cua - + Uploaded Pujat - + Do not upload No pujat - + Modified Modificat - + Direct Directe - + Electronic Electrònic - + KLog DXCC DXCC del KLog @@ -758,22 +669,22 @@ Voleu tornar-ho a intentar? DownLoadCTY - + Download of cty.csv failed with the following error code: - La baixada del «cty.csv» ha fallat amb el codi d'error següent: + La baixada del «cty.csv» ha fallat amb el codi d'error següent: - + Download of cty.csv done. La baixada de «cty.csv» ha finalitzat. - + There is already a cty.csv file in the folder but it will be replaced with the new one. Ja hi ha un fitxer «cty.csv» a la carpeta, però se substituirà pel nou. - + Could not open %1 for writing No s'ha pogut obrir %1 per a escriptura @@ -781,356 +692,242 @@ Voleu tornar-ho a intentar? FileManager - + Reading ADIF file... S'està llegint el fitxer ADIF... - - + + Abort reading Interromp la lectura - - - + + The log that you have selected contains more than just one station callsign. + El registre que heu seleccionat conté més d'un indicatiu d'estació. + + + + Station Callsign: + Indicatiu d'estació: + + + + Define Station Callsign + Defineix l'indicatiu d'estació + + + + You have selected no callsign. KLog will export QSOs without a station callsign defined and those with the call you are entering here. + No heu seleccionat cap indicatiu. El KLog exportarà els QSO sense cap indicatiu d'estació definit i aquells amb l'indicatiu que introduïu aquí. + + + + Enter the station callsign to use for this log or leave it empty for QSO without station callsign defined: + Introduïu l'indicatiu emprat en aquest registre o deixeu-ho buit pels QSO sense indicatiu d'estació definit: + + + + Writing ADIF file... Escrivint el fitxer ADIF... - - - - + + + Abort writing Interromp l'escriptura - - - - - KLog - Invalid call detected - KLog - S'ha detectat un indicatiu no vàlid - - - - - - - An invalid callsign has been detected %1. Do you want to export this callsign anyway (click on Yes) or remove the call from the exported log file? - S'ha detectat un indicatiu no vàlid %1. Voleu exportar igualment aquest indicatiu (clic a Sí) o eliminar l'indicatiu del fitxer de registre exportat? - - - - - - - Exporting wrong calls may create problems in the applications you are potentially importing this logfile to. It may, however, be a good callsign that is wrongly identified by KLog as not valid. You can, however, edit the ADIF file once the export process is finished. - L'exportació d'indicatius incorrectes pot crear problemes potencials a les aplicacions a les quals s'importa aquest fitxer de registre. Tanmateix, podria ser un indicatiu correcte que el KLog ha identificat incorrectament com a no vàlid. En qualsevol cas podreu editar el fitxer ADIF una vegada acabi el procés d'exportació. - - - + Exporting LoTW ADIF file... - S'està exportant el fitxer ADIF del LoTW... + S'està exportant el fitxer LoTW ADIF... - - The selected callsign (%1) is not valid, please check it again to export the log. - L'indicatiu (%1) seleccionat no és vàlid, comproveu-ho de nou per a exportar el registre. - - - - Exporting ADIF file... - S'està exportant el fitxer ADIF... - - - + Writing ADIF file... QSO: S'està escrivint el fitxer ADIF... QSO: - + Reading LoTW file... - S'està llegint el fitxer del LoTW... + S'està llegint el fitxer LoTW... - - - You have canceled the file import. The file will be removed and no data will be imported. - Heu cancel·lat la importació del fitxer. El fitxer s'eliminarà i no s'importarà cap dada. - - - This QSO is not including the minimum data to consider a QSO as valid! - Aquest QSO no inclou les dades mínimes per a considerar-se un QSO vàlid! + Aquest QSO no inclou les dades mínimes per a considerar-se un QSO vàlid! - + Do you want to continue with the current file? Voleu continuar amb el fitxer actual? - + This log seems to lack of RST-TX information. + Sembla que aquest registre li manca informació de RST-TX. + + + + Click on Yes to add a default 59 to all QSO with a similar problem. Cliqueu a Sí per afegir un 59 per defecte a tots els QSO amb un problema semblant. - + + If you select NO, the QSO may not be imported. Si seleccioneu No, el QSO pot no importar-se. - - KLog has found one QSO without the Station Callsign defined. - -Enter the Station Callsign that was used to do this QSO on %1: - + This log seems to lack of RST-RX information. + Sembla que aquest registre li manca informació de RST-RX. - + - The band missing and the following call: - Manca la banda i l'indicatiu següent: - + + - The call missing but was done at this time: + - Manca l'indicatiu però s'ha fet a hores d'ara: + + + - The mode missing and the following call: - Manca el mode i l'indicatiu següent: - + - The date missing and the following call: - Manca la data i l'indicatiu següent: - + - The time missing and the following call: - Manca l'hora i l'indicatiu següent: - - - + You have canceled the file export. The file will be removed and no data will be exported. Heu cancel·lat l'exportació del fitxer. El fitxer s'eliminarà i no s'exportarà cap dada. - - KLog - Error - KLog - Error - - - - - The selected log does not exist, please check it again. - El registre seleccionat no existeix, comproveu-ho de nou. - - - - The selected callsign (%1) is not valid, please check it again. - L'indicatiu (%1) seleccionat no és vàlid, comproveu-ho de nou. - - - - - The file %1 can't be opened. - El fitxer «%1» no s'ha pogut obrir. - - - - - There are no QSOs pending to be uploaded with that station callsign. - No hi ha cap QSO pendent de pujar amb aquest indicatiu d'estació. - - - - - - - - KLog - User cancelled - KLog - L'usuari ha cancel·lat - - - - - - - + + Do you still want to cancel? Encara voleu cancel·lar? - - - - + + QSO: QSO: - + + Please select the station callsign you want to export the log from: + Seleccioneu l'indicatiu de l'estació de la qual voleu exportar el registre: + + + + No station callsign has been selected and therefore no log will be exported + No s'ha seleccionat cap indicatiu, i per tant no s'exportarà cap registre + + + Writing Cabrillo file... S'està escrivint el fitxer Cabrillo... - + KLog: Cabrillo Log Export not implemented Kontest: Cabrillo Log Export not implemented KLog: L'exportació del registre en format Cabrillo no està implementada - + I am sorry but the Cabrillo Export To File feature has still not been implemented. Ho sentim però la funció d'exportar Cabrillo encara no està implementada. - - KLog - File not opened - KLog - Fitxer no obert - - - - It was not possible to open the file %1 for reading. - No ha estat possible obrir el fitxer %1 per a lectura. - - - - KLog was not able to read the LoTW file - El KLog no ha pogut llegir el fitxer del LoTW - - - - Importing LoTW ADIF file... - S'està important el fitxer ADIF del LoTW... - - - - KLog - Log selection - KLog - Selecció de registre - - - + There is more than one log in this logfile. Hi ha més d'un registre en aquest fitxer de registre. - + All logs will be imported into the current log. S'importaran tots els registres al registre actual. - + Do you want to continue? Voleu continuar? - + Importing ADIF file... S'està important el fitxer ADIF... - - KLog - Duplicated QSOs - KLog - QSO duplicats - - - + It seems that there are some duplicated QSOs in the ADIF file you are importing. Do you want to continue? (Duped QSOs will not be imported) Sembla que hi ha diversos QSO duplicats al fitxer ADIF que s'està important. Voleu continuar? (Els QSO duplicats no s'importaran) - KLog has found one QSO without the Station Callsign defined. - -Enter the Station Callsign that was used to do this QSO with %1%2: - El KLog ha trobat un QSO sense un identificador definit d'estació. - -Introduïu l'identificador d'estació que es va usar per fer aquest QSO amb %1%2: + + You have cancelled the file import. The file will be removed and no data will be imported. + Heu cancel·lat la importació del fitxer. El fitxer s'eliminarà i no s'importarà cap dada. - KLog has found one QSO without the Station Callsign defined. - -Enter the Station Callsign that was used to do this QSO%1: - El KLog ha trobat un QSO sense un identificador definit d'estació. - -Introduïu l'identificador d'estació que es va usar per fer aquest QSO%1: + + This QSO is not including the minimum data to consider a QSO as valid!. + Aquest QSO no inclou les dades mínimes per a considerar-se un QSO vàlid! - - Some QSOs of this log, (i.e.: %1) seems to lack RST-TX information. - Sembla que manca la informació RST-TX a diversos QSO d'aquest registre (p. ex.: %1). - - - - Click on Yes to add a default 59 to all QSOs with a similar problem. - Feu clic a Sí per afegir un 59 predeterminat a tots els QSO amb un problema semblant. - - - - If you select NO, maybe the QSO will not be imported. - Si seleccioneu No, potser no s'importaran els QSO. - - - - Some QSOs of this log, (i.e.: %1) seems to lack RST-RX information. - Sembla que manca la informació RST-RX a diversos QSO d'aquest registre (p. ex.: %1). - - - - KLog - Apply to all QSOs in this log? - KLog - Aplico a totes els QSO d'aquest registre? - - - + Please edit the ADIF file and make sure that it include at least: Editeu el fitxer ADIF i assegureu-vos que inclou, com a mínim: - + and i - + This QSO had: Aquest QSO té: - + KLog: Not all required data found! KLog: No s'han trobat totes les dades necessàries! - + + Some QSO of this log, (i.e.: %1) seems to lack of RST-TX information. + + + + KLog: No RST TX found! KLog: No s'ha trobat RST TX! - - KLog: No RST RX found! - KLog: No s'ha trobat RST RX! - - - - - KLog - No Station callsign entered. - KLog - No s'ha introduït l'identificador de l'estació. - - - - KLog has found one QSO without the Station Callsign defined. - -Enter the Station Callsign that was used to do this QSO with %1 on %2: + + Some QSO of this log, (i.e.: %1) seems to lack of RST-RX information. - - - KLog - QSO without Station Callsign - KLog - QSO sense identificador de l'estació + + KLog: No RST RX found! + KLog: No s'ha trobat RST RX! @@ -1269,18 +1066,18 @@ Enter the Station Callsign that was used to do this QSO with %1 on %2: - KLog is a free hamradio logging program that can run on Linux, macOS, and Windows. - El KLog és un programa lliure d'enregistrament de radioafició que es pot executar al Linux, macOS, i Windows. + KLog is a free hamradio logging program that can run on Linux macOS and Windows. + El KLog és un programa lliure d'enregistrament de radioafició que es pot executar en el Linux, MacOS i Windows. - It is designed to provide general purpose DX, and contest logging. - Està dissenyat per proporcionar un enregistrament de caràcter general de DX i per a concursos. + It is designed to provide general purpose, DX and contest logging. + Està dissenyat per proporcionar enregistrament de propòsit general, DX i concurs. It supports QSL management, import and export of ADIF - Permet la gestió de QSL, importació i exportació de formats + Permet la gestió de QSL, importació i exportació d'ADIF @@ -1336,182 +1133,6 @@ Enter the Station Callsign that was used to do this QSO with %1 on %2: Tingueu present que el KLog és programari lliure. - - LoTWUtilities - - - KLog - LoTW password needed - KLog - Cal la contrasenya del LoTW - - - - Please enter your LoTW password: - Introduïu la contrasenya del LoTW: - - - - KLog - File exist - KLog - El fitxer existeix - - - - There is a file already existing with the name that will be used. - Ja hi ha un fitxer existent amb el nom que s'usarà. - - - - The file %1 already exist. Do you want to overwrite? - El fitxer %1 ja existeix. Voleu sobreescriure'l? - - - - KLog - Can't write the file - KLog - No s'ha pogut escriure el fitxer - - - - KLog was not able to save the file %1. -Error returned: %2 - El KLog no ha pogut desar el fitxer %1. -Error retornat: %2 - - - - The file already %1 exist. - El fitxer %1 ja existeix. - - - - Downloading data to file: %1. - S'estan baixant les dades al fitxer: %1. - - - - - KLog - LoTW download - KLog - Baixada del LoTW - - - - KLog - Download error - KLog - Error de baixada - - - - The downloading error is: %1 - L'error de la baixada és: %1 - - - - There was an error while downloading the file from LoTW. - S'ha produït un error en baixar el fitxer des del LoTW. - - - - KLog - Redirection found - KLog - S'ha trobat una redirecció - - - - The remote server redirected our connection to %1 - El el servidor remot ha redireccionat la connexió a %1 - - - - Do you want to follow the redirection? - - - - - It was not possible for find the file %1 that has been just downloaded. - - - - - It seems that LoTW has no QSO with the Station Callsign you are using (%1). - - - - - Try again and send the downloaded file (%1) to the KLog developer for analysis. - - - - - KLog downloaded %1 QSOs successfully. Do you want to update your log with the downloaded data? - - - - Do you want to follow the redirection) - Voleu seguir la redirecció? - - - - KLog - File not found - KLog - No s'ha trobat el fitxer - - - - KLog can't find the downloaded file. - No s'ha pogut trobar el fitxer baixat. - - - It was not possible for find the file %1 that has been just downloaded - No ha estat possible trobar el fitxer %1 que s'acaba de baixar - - - - KLog - LoTW user/password error - KLog - Error d'usuari/contrasenya del LoTW - - - - LoTW server did not recognized your user/password - El servidor LoTW no ha reconegut l'usuari/contrasenya - - - - Check your user and password and ensure your are using the right one before trying again. - Verifiqueu l'usuari i la contrasenya i assegureu-vos que esteu usant els correctes abans de tornar a provar-ho. - - - - KLog - LoTW No QSOs - KLog - LoTW no QSO - - - - LoTW sent no QSOs - El LoTW no ha enviat cap QSO - - - It seems that LoTW has no QSO with the Station Callsign you are using (%1) - Sembla que el LoTW no té cap QSO amb l'indicatiu d'estació que esteu usant (%1) - - - - KLog - LoTW Unknown error - KLog - Error desconegut del LoTW - - - - KLog can't recognize the file that has been downloaded from LoTW. - El KLog no ha pogut reconèixer el fitxer que s'ha baixat des del LoTW. - - - Try again and send the downloaded file (%1) to the KLog developer for analysis - Torneu a intentar-ho i envieu el fitxer baixat (%1) al desenvolupador del KLog per a la seva anàlisi - - - KLog downloaded %1 QSOs suscessfully. Do you want to update your log with the downloaded data? - El KLog ha baixat correctament %1 QSO. Voleu actualitzar el registre amb les dades baixades? - - - - Now KLog will process the downloaded QSO and update your local log. - Ara el KLog processarà els QSO baixats i actualitzarà el registre local. - - LogModel @@ -1558,189 +1179,125 @@ Error retornat: %2 LogWindow - + QSL Send QSL enviada - + QSL Rcvd QSL rebuda - + &Delete &Suprimeix - + Delete a QSO Suprimeix un QSO - + &Edit QSO &Edita QSO - + Edit this QSO Edita aquest QSO - + Via &bureau Via &bureau - + Send this QSL via bureau Envia aquesta QSL via bureau - + D&irect D&irecta - + Send this QSL via direct Envia aquesta QSL via directa - + Via bureau Via bureau - + QSL &received via bureau QSL &rebuda via bureau - + Direct Directa - + QSL received via direc&t QSL rebuda via direc&ta - - Check in QRZ.com - Comprova a QRZ.com - - - - Check this callsign in QRZ.com - Comprova aquest identificador a QRZ.com - - - - Check in DXHeat.com - Comprova a DXHeat.com - - - - Check this callsign in DXHeat.com - Comprova aquest identificador a DXHeat.com - - - + You have requested to delete this QSO. Heu sol·licitat suprimir aquest QSO. - + Are you sure? Esteu segur? - - MainQSOEntryWidget - - - - - &Add - &Afegeix - - - - &Clear - &Neteja - - - - QRZ of the QSO. - QRZ del QSO. - - - - Band of the QSO. - Banda del QSO. - - - - Mode of the QSO. - Mode del QSO. - - - - Date of the QSO. - Data del QSO. - - - - Time of the QSO. - Hora del QSO. - - - - Add the QSO to the log. - Afegeix el QSO al registre. - - - - Clears the QSO entry. - Neteja l'entrada QSO. - - - - KLog will show real time if enabled. - El KLog mostrarà l'hora real si està activada. - - - - QRZ - QRZ - - - - &Modify - &Modifica - - MainWindow - + Starting KLog S'està iniciant el KLog - - + + + + + &Add + &Afegeix + + + + &Clear + &Neteja + + + + Status bar... + Barra d'estat... + + + DX Entity Entitat DX - + &Log Window &Finestra del registre + + &Score Window + Fine&stra de puntuació + Watts @@ -1753,595 +1310,715 @@ Error retornat: %2 MHz - - + + KLog KLog - + It seems that you have never done a backup or exported your log to ADIF. - Sembla que mai s'ha fet una còpia de seguretat o s'ha exportat el registre a ADIF. + - + It seems that the latest backup you did is older than one month. - Sembla que la darrera còpia de seguretat que s'ha fet és anterior a un mes. + - + Log backup recommended! - Es recomana una còpia de seguretat del registre! + - + It is a good practice to backup your full log regularly to avoid loosing data in case of a problem. Once you export your log to an ADIF file, you should copy that file to a safe place, like an USB drive, cloud drive, another computer, ... KLog will remind you to backup on a monthly basis. - És una bona pràctica fer regularment una còpia de seguretat del registre complet per a evitar perdre dades en cas d'algun problema. -Un cop feta l'exportació del registre a una fitxer ADIF, caldria copiar aquest fitxer en un lloc segur, com una unitat USB, una unitat al núvol, un altre ordinador,... - -El KLog us recordarà que feu una còpia de seguretat mensualment. - - + - + Ready Llest - + An unexpected error ocurred when trying to add the QSO to your log. If the problem persists, please contact the developer for analysis: S'ha produït un error inesperat en intentar afegir el QSO al registre. Si el problema persisteix, contacteu amb el desenvolupador per a una anàlisi: - - + + You have selected an entity: Heu seleccionat una entitat: - - + + that is different from the KLog proposed entity: que és diferent de l'entitat proposada pel KLog: - + Click on the prefix of the correct entity or Cancel to edit the QSO again. Feu clic al prefix de l'entitat correcta o Cancel·la per tornar a editar el QSO. - + Click on the prefix of the right entity or Cancel to correct. Feu clic al prefix de l'entitat correcta o Cancel·la per corregir. - + + + QRZ of the QSO. + QRZ del QSO. + + + + TX RST. TX RST. - + + RX RST. RX RST. - + + + TX Exchange. + Intercanvi TX. + + + + + Band of the QSO. + Banda del QSO. + + + + + Mode of the QSO. + Mode del QSO. + + + + + Date of the QSO. + Data del QSO. + + + + + Time of the QSO. + Hora del QSO. + + + + + Add the QSO to the log. + Afegeix el QSO al registre. + + + + Clear the box. + Neteja el quadre. + + + + Input + Entrada + + + + RSTrx RSTrx - + + RSTtx RSTtx - KLog - Select the Station Callsign - KLog - Selecció de l'indicatiu d'estació - - - - Select the Station Callsign to use when quering LoTW: - Seleccioneu l'indicatiu d'estació a usar per consultar el LoTW: - - - - Please check the LoTW setup - Comproveu la configuració del LoTW - - - - You have not defined a LoTW user or a proper Station Callsign. -Open the LoTW tab in the Setup and configure your LoTW connection. - No s'ha definit cap usuari del LoTW o un indicatiu d'estació adequat. -Obriu la pestanya del LoTW a l'arranjament i configureu la connexió del LoTW. - - - + + + QRZ QRZ - + + STX + STX + + + + SRX + SRX + + + Do you really want to exit KLog? Esteu segur que voleu sortir del KLog? - + NEW MULT + NEW MULT + + + + Invalid characters used in the QRZ + Caràcters no vàlids usats al QRZ + + + Ready... + Llest... + + + &File &Fitxer - + &New... + &Nou... + + + &Open... + &Obre... + + + &Import from ADIF... &Importa des d'ADIF... - + Import an ADIF file into the current log. Importa un fitxer ADIF al registre actual. - + &Save As... + &Desa com a... + + + Export to ADIF... Exporta a ADIF... - + Export the current log to an ADIF logfile. Exporta el registre actual a un fitxer ADIF. - + Export all logs to ADIF... Exporta tots els registres a ADIF... - + Export ALL the QSOs into one ADIF file, merging QSOs from all the logs. Exporta tots els QSO a un fitxer ADIF, fusionant els QSO de tots els registres. - + + Export Requested QSL to ADIF... + Exporta les QSL sol·licitades a ADIF... + + + + Export all QSOs requesting QSLs to an ADIF file (e.g. to import it into a QSL tag printing program). + Exporta tots els QSO que sol·licitin QSL a un fitxer ADIF (p. ex. en importar-los a un programa d'impressió d'etiquetes QSL). + + + + Export ADIF for LoTW... + Exporta l'ADIF per a LoTW... + + + + Export an ADIF file to be sent to LoTW. Remember to sign it with TQSL before uploading to LoTW! + Exporta un fitxer ADIF per enviar a LoTW. Recordeu signar-lo amb TQSL abans de pujar-lo a LoTW! + + + &Print Log... Im&primeix el registre... - + Print your log. Imprimeix el registre. - + KLog folder Carpeta del KLog - + Opens the data folder of KLog. Obre la carpeta de dades del KLog. - + E&xit S&urt - + &Tools &Eines - + Fill in QSO data Omple les dades QSO - + Go through the log reusing previous QSOs to fill missing information in other QSOs. Recorre el registre reutilitzant els QSO anteriors per omplir informació que manqui en altres QSO. - + + Fill in DXCC data + Omple les dades DXCC + + + + Go through the log filling QSOs without a DXCC defined. + Recorre el registre omplint els QSO sense cap DXCC definit. + + + QSL tools... Eines QSL... - + &Find QSO to QSL &Cerca QSO a les QSL - + Shows QSOs for which you should send your QSL and request the DX QSL. Mostra els QSO pels quals cal enviar la vostra QSL i sol·licitar la DX QSL. - + Find My-QSLs pending to send Cerca les meves QSL pendents d'enviar - + Shows the QSOs with pending requests to send QSLs. You should keep this queue empty! Mostra els QSO amb sol·licituds pendents d'enviar les QSL. Cal mantenir buida aquesta cua! - + &Find DX-QSLs pending to receive &Cerca les DX-QSL pendents de rebre - + + Shows the DX-QSL that has been requested or QSLs has been sent with no answer. + Mostra les DX-QSL que s'han sol·licitat o les QSL que s'han enviat sense resposta. + + + &Find requested pending to receive &Cerca sol·licituds pendents de rebre - + + Shows the DX-QSL that has been requested. + Mostra les DX-QSL que s'han sol·licitat. + + + LoTW tools... Eines LoTW... - + + Queue all QSL to be sent of this log + Posa a la cua totes les QSL a enviar d'aquest registre + + + + Mark all non sent QSOs in this log as queued to be uploaded. + Marca tots els QSO no enviats en aquest registre com a posats en cua per a ser pujats. + + + + Queue all QSL to be sent + Posa a la cua totes les QSL a enviar + + + + Mark all non sent QSOs as queued to be uploaded. + Marca tots els QSO no enviats com a posats en cua per a ser pujats. + + + + Mark as sent all queued QSO of this log + Marca com a enviats tots els QSO d'aquest registre + + + Mark all queued QSOs in this log as sent to LoTW. Marca tots els QSO posats en cua d'aquest registre com a enviats al LoTW. - + + Mark all queued QSO as sent + Marca tots els QSO posats en cua com a enviats + + + Mark all queued QSOs as sent to LoTW. Marca tots els QSO posats en cua com a enviats al LoTW. - - Upload to LoTW - Puja al LoTW - - - - Sends the log to LoTW calling TQSL. - Envia el registre al LoTW cridant el TQSL. - - - + &Update cty.csv &Actualitza el «cty.csv» - - + + For updated DX-Entity data, update cty.csv. Per a dades DX-Entity actualitzades, actualitzeu el «cty.csv». - + &Update Satellite Data Act&ualitza les dades dels satèl·lits - + Stats Estadístiques - + Show the statistics of your radio activity. Mostra les estadístiques de la vostra activitat de ràdio. - + &Setup &Configuració - + &Setup... &Configuració... - + &Help &Ajuda - + Check updates... Comprova les actualitzacions... - + &About... &Quant a... - + &Tips... &Consells... - + About Qt... Quant a les Qt... - - - - - - - - - - - - + + + + + + + + KLog LoTW KLog LoTW - - + + All pending QSO of this log has been marked as queued for LoTW! + Tots els QSO pendents d'aquest registre s'han marcat com a posats en cua pel LoTW! + + + + Now you can go to the File menu to export the LoTW ADIF file and upload it to LoTW. - Ara podeu anar al menú Fitxer per exportar el fitxer ADIF del LoTW i pujar-lo al LoTW. + Ara podeu anar al menú Fitxer per exportar el fitxer LoTW ADIF i pujar-lo a LoTW. - - KLog - TQSL - KLog - TQSL + + + There was a problem to mark all pending QSO of this log as queued for LoTW! + Hi ha hagut un problema en marcar tots els QSO pendents d'aquest registre com a posats en cua pel LoTW! - - TQSL is not installed or KLog can't find it. Please check the configuration. - El TQSL no està instal·lat o el KLog no l'ha pogut trobar. Comproveu la configuració. + + All pending QSO has been marked as queued for LoTW! + Tots els QSO pendents s'han marcat com a posats en cua pel LoTW! - - Error #1: The process was cancelled by the user or TQSL was not configured. No QSOs were uploaded. - Error núm. 1: L'usuari ha cancel·lat el procés o el TQSL no estava configurat. No s'ha pujat cap QSO. - - - - Error #2: Upload was rejected by LoTW, please check your data. - Error núm. 2: El LoTW ha rebutjat la pujada, comproveu les dades. - - - - Error #3: The TQSL server returned an unexpected response. - Error núm. 3: El servidor TQSL ha retornat una resposta inesperada. - - - - Error #4: There was a TQSL error. - Error núm. 4: Hi ha hagut un error del TQSL. - - - - Error #5: There was a TQSLLib error. - Error núm. 5: Hi ha hagut un error del TQSLLib. - - - - Error #6: It was not possible to open the input file. - Error núm. 6: No ha estat possible obrir el fitxer d'entrada. - - - - Error #7: It was not possible to open the ouput file. - Error núm. 7: No ha estat possible obrir el fitxer de sortida. - - - - Error #8: No QSOs were processed since some QSOs were duplicates or out of date range. - Error núm. 8: No s'ha processat cap QSO ja que alguns QSO estaven duplicats o fora de l'interval de dates. - - - - Error #9: Some QSOs were processed, and some QSOs were ignored because they were duplicates or out of date range. - Error núm. 9: S'han processat alguns QSO, i alguns QSO s'han ignorat perquè estaven duplicats o fora de l'interval de dates. - - - - Error #10: Command syntax error. KLog sent a bad syntax command. - Error núm. 10: Error de sintaxi de l'ordre. El KLog ha enviat una ordre amb sintaxi incorrecta. - - - - Error #11: LoTW Connection error (no network or LoTW is unreachable). - Error núm. 11: Error de connexió al LoTW (no hi ha xarxa o el LoTW no és accessible). - - - - Error #00: Unexpected error. Please contact the development team. - Error núm. 00: Error inesperat. Contacteu amb l'equip de desenvolupament. - - - + The log that you have selected contains more than just one station callsign. El registre que heu seleccionat conté més d'un indicatiu d'estació. - + Please select the station callsign you want to mark as sent to LoTW: - Seleccioneu l'indicatiu d'estació que voleu marcar com enviat al LoTW: + Seleccioneu l'indicatiu d'estació que voleu marcar com enviat a LoTW: - + Station Callsign: Indicatiu d'estació: - + Define Station Callsign Defineix l'indicatiu d'estació - + You have selected no callsign. KLog will mark QSOs without a station callsign defined and those with the call you are entering here. No heu seleccionat cap indicatiu. El KLog marcarà els QSO sense cap indicatiu d'estació definit i aquells amb l'indicatiu que introduïu aquí. - + Enter the station callsign to use for this log or leave it empty for QSO without station callsign defined: Introduïu l'indicatiu d'estació emprat en aquest registre o deixeu-ho buit pels QSO sense indicatiu d'estació definit: - - KLog - No station selected - KLog - No s'ha seleccionat cap estació - - - + No station callsign has been selected and therefore no log will be marked No s'ha seleccionat cap indicatiu, i per tant no es marcarà cap registre - + + All queued QSO of this log has been marked as sent for LoTW! + Tots els QSO posats en cua d'aquest registre s'han marcat com a enviats pel LoTW! + + + + There was a problem to mark all queued QSO of this log as sent for LoTW! + Hi ha hagut un problema en marcar tots els QSO posats en cua d'aquest registre com a enviats pel LoTW! + + + + All queued QSO has been marked as sent to LoTW! + Tots els QSO posats en cua s'han marcat com a enviats al LoTW! + + + + There was a problem to mark all queued QSO of this log as sent to LoTW! + Hi ha hagut un problema en marcar tots els QSO posats en cua d'aquest registre com a enviats al LoTW! + + + About... Quant a... - + KLog update checking result Resultat de la comprovació d'actualitzacions del KLog - + Congratulations! Enhorabona! - + You already have the latest version. Ja teniu la versió més recent. - - You can find the KLog data folder here: - Podeu trobar la carpeta de dades del KLog aquí: + Nothing has been saved. You have to select a valid file type. + No s'ha guardat res. Cal seleccionar un tipus de fitxer vàlid. - + Save File + Desa el fitxer + + + ADIF file + Fitxer ADIF + + + Cabrillo files + Fitxers Cabrillo + + + Any file + Qualsevol fitxer + + + + You can find the KLog data folder here: + Podeu trobar la carpeta de dades del KLog aquí: + + + DUPE + DUPLICAT + + + start començar - + stop aturar - + + It seems that there are no QSO in the database. + Sembla que no hi ha cap QSO a la base de dades. + + + If you are sure that the database contains QSOs and KLog is not able to find them, please contact the developers (see About KLog) for help. Si esteu segur que la base de dades conté QSO i el KLog no és capaç de trobar-los, contacteu amb els desenvolupadors (vegeu Quant al KLog) per sol·licitar ajuda. - - + + TX Frequency in MHz. Freqüència de TX en MHz. - - + + RX Frequency in MHz. Freqüència de RX en MHz. - + Power used by the DX. Potència usada pel DX. - + Logging operator's callsign. Indicatiu de l'operador del registre. - + Callsign used over the air. Indicatiu usat a l'aire. - + My QTH locator. El meu localitzador QTH. - + Name of the DX. Nom del DX. - + QTH of the DX. QTH del DX. - + Locator of the DX. Localitzador del DX. - + DX Locator Localitzador DX - + TX Frequency in MHz. Frequency is not in a hamradio band! Freqüència TX en MHz. -La freqüència no es en cap banda de radioafició! +La freqüència no es en una banda de radioafició! - + RX Frequency in MHz. Frequency is not in a hamradio band! Freqüència RX en MHz. La freqüència no es en una banda de radioafició! - + QSO logged from WSJT-X: QSO enregistrat des del WSJT-X: - It was not possible to open the debug file for writting. No debug log will be saved! - No s'ha pogut obrir el fitxer de depuració per escriptura. No es desarà cap registre de depuració! + + + RX Exchange. + Intercanvi RX. - + + It was not possible to open the debug file for writting. No debug log will be saved! + No s'ha pogut obrir el fitxer de depuració per escriptura. No es desarà cap registre de depuració! + + + KLog new version detected! S'ha detectat una versió nova del KLog! - + It seems that you are running this version of KLog for the first time. Sembla que esteu executant aquesta versió del KLog per primera vegada. - + The setup will be open to allow you to do any new setup you may need. S'obrirà la configuració per permetre establir qualsevol paràmetre nou que calgui. - + The logfile has been modified. El fitxer de registre s'ha modificat. - + Do you want to save your changes? Voleu desar els canvis? - - + + UDP Server error The UDP server failed to %1. start or stop @@ -2349,605 +2026,407 @@ The UDP server failed to %1. El servidor UDP ha fallat en %1. - + + Clears the QSO entry. + Neteja l'entrada QSO. + + + Status of the DX entity. Estat de l'entitat DX. - + Name of the DX entity. Nom de l'entitat DX. - - + + Name Nom - + QTH QTH - + Locator + Localitzador + + + Power(rx) Potència (rx) - + RST(tx) RST (tx) - + RST(rx) RST(rx) - + Freq TX Freq TX - + Freq RX Freq RX - + QSO QSO - + QSL QSL - + eQSL eQSL - - + + Comment Comentari - + Others Altres - + My Data Les meves dades - + Satellite Satèl·lit - + DXCC DXCC - + Info Informació - - KLog - File not open - KLog - Fitxer no obert - - - - Status bar ... - Barra d'estat... - - - - KLog - Unexpected error - KLog - Error inesperat - - - - - KLog - Not valid call - KLog - Indicatiu no vàlid - - - - - The call %1 is not a valid call. Do you really want to add this call to the log? - L'indicatiu %1 no és un indicatiu vàlid. Esteu segur que voleu afegir aquest indicatiu al registre? - - - Adding non-valid calls to the log may create problems when appliting for awards, exporting ADIF files to other systems or applications. - Afegir indicatiu no vàlids al registre pot crear problemes en sol·licitar diplomes, exportar a fitxers ADIF o a altres sistemes o aplicacions. - - - - - KLog - Select correct entity - KLog - Seleccioneu l'entitat correcta - - - - It was not possible to open the debug file for writing. No debug log will be saved! - - - - - - Adding non-valid calls to the log may create problems when applying for awards, exporting ADIF files to other systems or applications. - - - - - - No DXCC - Sense DXCC - - - - - None - Sense - - - - KLog - Exit - KLog - Sortida - - - - Shows DX-QSLs for which requests or QSLs have been sent with no answer. - Mostra les DX-QSL que s'han sol·licitat o els QSL enviats que no tenen resposta. - - - - Shows the DX-QSLs that have been requested. - Mostra les DX-QSL que s'han sol·licitat. - - - - Queue all QSLs from this log to be sent - Posa a la cua per a enviar tots els QSL d'aquest registre - - - - Mark all non-sent QSOs in this log as queued to be uploaded. - Marca tots els QSO no enviats en aquest registre com a posats en cua per pujar. - - - - Queue all QSLs to be sent - Posa a la cua per a enviar tots els QSL - - - - Put all the non-sent QSOs in the queue to be uploaded. - Posa tots els QSO no enviats a la cua per pujar. - - - - Mark as sent all queued QSOs of this log - Marca com a enviats tots els QSO posats en cua d'aquest registre - - - - Mark all queued QSOs as sent - Marca tots els QSO posats en cua com a enviats - - - - Download from LoTW - Baixa des del LoTW - - - - All pending QSOs of this log has been marked as queued for LoTW! - Tots els QSO pendents d'aquest registre s'han marcat com a posats en cua per al LoTW! - - - - - There was a problem to mark all pending QSOs of this log as queued for LoTW! - Hi ha hagut un problema en marcar tots els QSO pendents d'aquest registre com a posats en cua per al LoTW! - - - Your log has been updated with the LoTW downloaded QSOs - El registre s'ha actualitzat amb els QSO baixats del LoTW - - - KLog has updated %1 QSOs from LoTW - El KLog ha actualitzat %1 QSO des del LoTW - - - - Your log has not been updated. - El regsitre no s'ha actualitzat. - - - - No QSO was updated with the data coming from LoTW. This may be because of errors in the logfile or simply because your log was already updated. - No s'ha actualitzat cap QSO amb les dades provinents del LoTW. Això pot passar per errors al fitxer de registre o senzillament perquè el registre ja estava actualitzat. - - - - All pending QSOs has been marked as queued for LoTW! - Tots els QSO pendents s'han marcat com a posats en cua per al LoTW! - - - - TQSL finished with no error. - El TQSL ha finalitzat sense cap error. - - - - All queued QSOs of this log has been marked as sent for LoTW! - Tots els QSO posats en cua d'aquest registre s'han marcat com a enviats per al LoTW! - - - - There was a problem to mark all queued QSOs of this log as sent for LoTW! - Hi ha hagut un problema en marcar tots els QSO posats en cua d'aquest registre com a enviats per al LoTW! - - - - All queued QSOs has been marked as sent to LoTW! - Tots els QSO posats en cua s'han marcat com a enviats al LoTW! - - - - There was a problem to mark all queued QSOs of this log as sent to LoTW! - Hi ha hagut un problema en marcar tots els QSO posats en cua d'aquest registre com a enviats al LoTW! - - - - It seems that there are no QSOs in the database. - Sembla que no hi ha cap QSO a la base de dades. - - - - This function is disabled. Go to the Setup->LoTW tab to enable it. - Aquesta funció està desactivada. Aneu a la Configuració -> Pestanya LoTW per activar-la. - - - + Awards Diplomes - + Search Cerca - + Log Registre - + DX-Cluster DX-Cluster - - KLog ADIF export - Exportació ADIF del KLog - - - - No QSOs have been exported to ADIF. - No s'ha exportat cap QSO a ADIF. - - - - KLog has exported %1 QSOs to the ADIF file: %2 - El KLog ha exportat %1 QSO al fitxer ADIF: %2 - - - - - + + + + Save ADIF File Desa el fitxer ADIF - - If you uploaded any QSO to LoTW while you were using TQSL you can now mark them as sent in KLog. - -Do you want to mark as Sent all the QSOs uploaded to LoTW? - Si s'ha pujat algun QSO al LoTW mentre estàveu usant el TQSL ara els podreu marcar com a enviats al KLog. - -Voleu marcar com a enviats tots els QSO pujats al LoTW? + + LoTW logfile has been properly exported! + El fitxer de registre LoTW s'ha exportat adequadament! - - There was an error while updating to Yes the LoTW QSL sent information. - Hi ha hagut un error en actualitzar a Sí la informació d'enviament QSL al LoTW. + + Remember to: + Recordeu: - - The LoTW upload process has finished and KLog created a file (%1) in your KLog folder. - -Do you want KLog to remove that file? - El procés de pujada al LoTW ha finalitzat i el KLog ha creat un fitxer (%1) a la carpeta del KLog. - -Voleu que el KLog elimini aquest fitxer? + + Before uploading: sign the LoTW log; and + Abans de la pujada: signeu el registre LoTW; i - - The file has been removed. - El fitxer s'ha eliminat. + + After uploading: mark as sent all the queued QSO (LoTW Tools). + Després de la pujada: marca com a enviats tots els QSO en la cau (eines LoTW). - - KLog - Non-supported mode - KLog - Mode no implementat + + There was no QSO to be exported. + No hi ha cap QSO a exportar. - - A new mode not supported by KLog has been received from an external program or radio: - El KLog ha rebut un mode nou no admès des d'un programa extern o ràdio: + + If you think that some QSO should have been exported, please look for them and ensure that the eQSL LoTW QSL sent box is marked as: + Si penseu que s'haurien d'haver exportat alguns QSO, cerqueu-los i assegureu-vos que la casella d'enviament eQSL LoTW QSL està marcada amb: - - Do you want to keep receiving these alerts? (disabling these alerts will prevent non-valid modes being detected) - Voleu mantenir la recepció d'aquestes alertes? (la desactivació d'aquestes alertes evitarà que es detectin els modes no vàlids) + + Q - Queued + Q - A la cua - - Recommendation: - Recomanació: + + There was an error while exporting the LoTW. The log has not been exported! + S'ha produït un error en exportar el LoTW. No s'ha exportat el registre! - - Periodically export your data to ADIF to prevent a potential data loss. - Exporteu periòdicament les dades a ADIF per a evitar la pèrdua potencial de les dades. + Save Cabrillo File + Desa el fitxer Cabrillo - - - KLog - LoTW - KLog - LoTW - - - - Your log has been updated with the LoTW downloaded QSOs. - - - - - KLog has updated %1 QSOs from LoTW. - - - - - KLog - Select the Station Callsign. - - - - + + Open File Obre un fitxer - - My QTH locator. Format should be Maidenhead like IN70AA up to 10 characters. - El meu localitzador QTH. El format hauria de ser «Maidenhead» (p. ex. IN70AA) de fins a 10 caràcters. + + &Modify + &Modifica - + + My QTH locator. Format should be Maidenhead like IN70AA up to 10 characters. + + + + - Needed for DXMarathon - Necessari per DXMarathon - + Filling QSOs... Omplint els QSO... - + Abort filling Interromp l'ompliment - + Filling DXCC, CQz, ITUz, Continent in QSOs... QSO: S'està omplint DXCC, CQz, ITUz, continent al QSO... QSO: - + Number Número - + Date Data - + Time Hora - + Band Banda - - + + Mode Mode - + Print Log Imprimeix el registre - + Printing the log... S'està imprimint el registre... - + Abort printing Interromp la impressió - - + + Printing the log... QSO: S'està imprimint el registre... QSO: - + KLog QSO received S'ha rebut un QSO al KLog - + The following QSO data has been received from WSJT-X to be logged: S'han rebut les dades QSO següents des del WSJT-X per a enregistrar: - + Call Trucada - + Freq Freq. - + Time On Hora d'inici - + Time Off Hora final - + RST TX RST TX - + RST RX RST RX - + DX-Grid DX-Grid - + Comments Comentaris - + TX Pwr TX Pwr - + Operator Operador - + Local-Grid Local-Grid - + If the received mode is correct, please contact KLog development team and request support for that mode Si el mode rebut és correcte, contacteu amb l'equip de desenvolupament del KLog i sol·liciteu la implementació d'aquest mode - - KLog - Duplicated satellite - KLog - Satèl·lit duplicat + + Do you want to keep receiving this alerts? (disabling this alerts will prevent that non-valid modes are detected) + Voleu continuar rebent aquestes alertes? (la desactivació d'aquestes alertes evitarà que es detectin modes no vàlids) - + + A new mode not supported by KLog has been received from an external software or radio: + S'ha rebut un mode nou des de programari extern o ràdio no suportat pel KLog: + + + A duplicated satellite has been detected in the file and will not be imported. S'ha detectat un satèl·lit duplicat al fitxer i no s'importarà. - + Please check the satellite information file and ensure it is properly populated. Comproveu el fitxer d'informació del satèl·lit i assegureu que estigui correctament omplert. - + Now you will see a more detailed error that can be used for debugging... Ara veureu un error més detallat que es pot usar per a la depuració... - + An unexpected error ocurred!! Hi ha hagut un error inesperat!! - + If the problem persists, please contact the developers Si el problema persisteix, contacteu amb els desenvolupadors - + for analysis: per a l'anàlisi: - + Error in function Error a la funció - + Error code Codi d'error - + Error text Text de l'error - + Failed query Ha fallat la consulta - - KLog - Show errors - KLog - Mostra els errors + + Recomendation: + Recomanació: - + + Export, periodically, your data to ADIF to prevent a potential data loss. + Periódicament exporteu les dades a l'ADIF per evitar una pèrdua potencial de dades. + + + Do you want to keep showing errors? Voleu mantenir la visualització dels errors? @@ -2963,77 +2442,77 @@ Voleu que el KLog elimini aquest fitxer? MainWindowInputEQSL - + Date of the ClubLog upload. Data de la pujada al ClubLog. - + Date of the eQSL sending. Data de l'enviament de la eQSL. - + Date of the eQSL reception. Data de la recepció de la eQSL. - + Date of the LoTW sending. Data de l'enviament del LoTW. - + Date of the LoTW reception. Data de la recepció del LoTW. - + Status of the LoTW sending. Estat de l'enviament del LoTW. - + Status of the LoTW reception. Estat de la recepció del LoTW. - + LoTW Sent LoTW enviat - + LoTW Rec LoTW rebut - + Status on ClubLog. Estat al ClubLog. - + Status of the eQSL sending. Estat de l'enviament de la eQSL. - + Status of the eQSL reception. Estat de la recepció de la eQSL. - + ClubLog ClubLog - + eQSL Sent eQSL enviada - + eQSL Rec eQSL rebuda @@ -3173,66 +2652,66 @@ Voleu que el KLog elimini aquest fitxer? MainWindowMyDataTab - - Watts - Watts + + Watt + Watt - + Keep this data Mantén aquestes dades - - + + Data entered in this tab will be copied into the next QSO. Les dades introduïdes en aquesta pestanya es copiaran en el QSO següent. - + Power used for the QSO in watts. Potència usada pel QSO, en watts. - + Logging operator's callsign. Indicatiu de l'operador del registre. - + Callsign used over the air. Indicatiu usat a l'aire. - - + + My QTH locator. El meu localitzador QTH. - + Power Potència - + Operator Operador - + Station Callsign Indicatiu de l'estació - + My Locator El meu localitzador - + My QTH locator. Format should be Maidenhead like IN70AA up to 10 characters. - El meu localitzador QTH. El format hauria de ser «Maidenhead» (p. ex. IN70AA) de fins a 10 caràcters. + @@ -3269,7 +2748,7 @@ Voleu que el KLog elimini aquest fitxer? - + Locator of the DX station. This box is synchronized with the Locator box in the QSO tab. Localitzador de l'estació DX. Aquest quadre està sincronitzat amb el quadre Localitzador de la pestanya QSO. @@ -3310,52 +2789,52 @@ Voleu que el KLog elimini aquest fitxer? MHz - + Locator of the DX station. Format should be Maidenhead like IN70AA up to 10 characters. - Localitzador de l'estació DX. El format hauria de ser «Maidenhead» (p. ex. IN70AA) de fins a 10 caràcters. + - + Not Sat QSO QSO sense satèl·lit - + KLog has detected a satellite name that it does not recognise. If it should use one of the names of known satellites instead, please select it from the list. Alternatively, please contact the development team to add the new satellite name. El KLog ha detectat un nom de satèl·lit que no reconeix. En el seu lloc, caldria usar un dels noms coneguts de satèl·lit. Seleccioneu-lo de la llista. Alternativament, contacteu amb l'equip de desenvolupament per afegir el nom nou de satèl·lit. - - Please be aware that the satellite name will not be saved if it is not in the list, so that information may be lost! - Tingueu en compte que el nom del satèl·lit no es desarà si no és a la llista, i per tant, aquesta informació es podria perdre! + + Please know that the satellite name will not be saved if it is not in the list so that information may be lost! + Sapigueu que el nom del satèl·lit no es desarà si no és a la llista, per tant, aquesta informació es podria perdre! - + RX Frequency in MHz. Frequency is not in a hamradio band! Freqüència RX en MHz. La freqüència no es en una banda de radioafició! - + RX Frequency in MHz. Freqüència de RX en MHz. - + TX Frequency in MHz. Frequency is not in a hamradio band! Freqüència TX en MHz. La freqüència no es en una banda de radioafició! - + TX Frequency in MHz. Freqüència de TX en MHz. - + Other - Sat not in the list Altres - El satèl·lit no és a la llista @@ -3366,7 +2845,7 @@ La freqüència no es en una banda de radioafició! Les dades introduïdes en aquesta pestanya es copiaran en el QSO següent. - + The satellite you have in your QSO is: El satèl·lit que hi ha al QSO és: @@ -3374,544 +2853,489 @@ La freqüència no es en una banda de radioafició! QObject - - + + Database Error Error de base de dades - + KLog DB needs to be upgraded. La BD del KLog necessita actualitzar-se. - + Do you want to upgrade it now? La voleu actualitzar ara? - + If DB is not upgraded KLog may not work properly. Si la BD no s'actualitza, el KLog podria no funcionar adequadament. - - - - - - KLog - DB update - KLog - Actualitza la BD - - - + KLog has detected a previous log in the DB. All data will be migrated to a newly created DX type log for you. El KLog ha detectat un registre anterior a la BD. Es migraran totes les dades a un registre de tipus DX creat de nou. - + KLog: Enter Station callsign KLog: Introduïu l'indicatiu de l'estació - + Enter the station callsign used in this log Introduïu l'indicatiu emprat en aquest registre - + Station Callsign Indicatiu de l'estació - - - - - + + All the data was migrated correctly. You should now go to Setup->Preferences->Logs to check that everything is OK. + Totes les dades s'han migrat correctament. Ara hauríeu d'anar a Configuració->Preferències->Registres per comprovar que tot és correcte. + + + + + + + QSO: QSO: - - - - + + + + Canceling this update will cause data inconsistencies and possibly data loss. Do you still want to cancel? La cancel·lació d'aquesta actualització provocarà inconsistència de dades i possiblement pèrdua de dades. Encara voleu cancel·lar? - - + + Progress: Progrés: - + Updating DXCC award information... S'està actualitzant la informació dels diplomes DXCC... - + Updating DXCC Award information... S'està actualitzant la informació dels diplomes DXCC... - + Updating WAZ award information... S'està actualitzant la informació dels diplomes WAZ... - + Updating WAZ Award information... S'està actualitzant la informació dels diplomes WAZ... - - + + Updating mode information... Actualitzant informació del mode... - - All the data was migrated correctly. You should now go to Setup->Preferences->Logs to check that everything is okay. - Totes les dades s'han migrat correctament. Ara cal anar a Configuració -> Preferències -> Registres per a comprovar que tot és correcte. - - - - - - - - - + + + + + + + Abort updating Interromp l'actualització - - - - + + + + Updating bands information... Actualitzant informació de bandes... - + Updating bands information in %1 status... Actualitzant informació de bandes en %1... - + Updating mode information in %1 status... Actualitzant informació dels modes en %1... - + New One, work it! nNew One, work it! Un de nou, treballeu-ho! + + + + + + + - - - - - - - Needed, work it! Necessari, treballeu-ho! - - - - + + + + Worked but not confirmed Treballat però no confirmat - + Confirmed Confirmat - + Not identified No identificat - + Install wizard was canceled before completing... L'assistent d'instal·lació s'ha cancel·lat abans de finalitzar... - + Do you want to remove the KLog dir from your disk? Voleu eliminar el directori del KLog del disc? - + Your KLog dir has been removed S'ha eliminat el directori del KLog - + I could not remove your KLog dir. You should do it manually if you want it removed from your hard disk. No s'ha pogut eliminar el directori del KLog. Caldria fer-ho manualment si el voleu eliminar del disc dur. - + Your KLog dir could not be removed. You should do it manually if you want it removed from your hard disk. No s'ha pogut eliminar el directori del KLog. Caldria fer-ho manualment si el voleu eliminar del disc dur. - + Remember that your KLog dir is on your system... Recordeu que el directori del KLog és al vostre sistema... + - + - Thank you for running KLog! Moltes gràcies per usar el KLog! - - Updating information... - S'està actualitzant la informació... + Urt information... + Informació URT... - + + Updating information... + + + + Updating DXCC and Continent information... S'està actualitzant la informació dels DXCC i del continent... - - - A wrong call has been found: %1. Please enter a new call or confirm that the current one is a good call. - S'ha trobat un indicatiu incorrecte: %1. Introduïu un indicatiu nou o confirmeu que l'actual és un indicatiu correcte. - - - - An empty callsign has been detected. If it is possible, please enter the right call. - S'ha detectat un indicatiu buit. Introduïu l'indicatiu correcte, si és possible. - - - - KLog - Not valid callsign found - KLog - S'ha trobat un indicatiu no vàlid - - - - RotatorWidget - - - Rotator - Rotor - SearchWidget - + &Clear &Neteja - - - + + + &Select All &Selecciona-ho tot - + &Search &Cerca - + + All + Tot + + + &Export Highlighted &Exporta els ressaltats - - All logs - Tots els registres - - - + Clear the searches. Neteja les cerques. - + Export the search result to an ADIF file. Exporta el resultat de la cerca a un fitxer ADIF. - + Select/Unselect all the QSOs shown. Selecciona/Desselecciona tots els QSO mostrats. - + Search in the log. Cerca al registre. - + Search in all logs. Cerca a tots els registres. - - Enter the QRZ to search for. Enter '*' to show all the QSOs... it may be slow in big logs! - Introduïu el QRZ a cercar. Introduïu «*» per a mostrar tots els QSO... pot ser lent als registres grans! + + Enter the QRZ to search for. + Introduïu el QRZ a cercar. - + Search results. Resultats de la cerca. - - Select the Station Callsign used to do this QSO. - Seleccioneu l'indicatiu d'estació usat per fer aquest QSO. - - - - + + QRZ QRZ - - + + Date/Time Data/hora - - + + Band Banda - - + + Mode Mode - - + + QSL Sent QSL enviada - - - + + + QSL Rcvd QSL rebuda - + Station Callsign Indicatiu d'estació - - + + ID ID - - All in log - A tot el registre - - - - Not defined - No s'ha definit - - - - Searching for the QSOs... -(It may take long in big logs.) - S'estan cercant els QSO... -(Pot trigar en els registres grans). - - - - KLog - Search - KLog - Cerca - - - - + + &Clear selection &Neteja la selecció - + Save File Desa fitxer - + QSL Send QSL enviada - + &Delete &Suprimeix - + Delete a QSO Suprimeix un QSO - + &Edit QSO &Edita QSO - + Edit this QSO Edita aquest QSO - + Via &bureau Via &bureau - + Send this QSL via bureau Envia aquesta QSL via bureau - + D&irect D&irecta - + Send this QSL via direct Envia aquesta QSL via directa - + &Request my QSL &Sol·licita la meva QSL - + Mark my QSL as requested Marca la meva QSL com a sol·licitada - - Via Direct and mark DX QSL as requested - Via directa i marca la DX QSL com a sol·licitada + + Via Direct && mark DX QSL as requested + Via directa i marca la QSL DX com a sol·licitada - - Send this QSL via direct and mark DX QSL as requested - Envia aquesta QSL via directa i marca la DX QSL com a sol·licitada + + Send this QSL via direct & mark DX QSL as requested + Envia aquesta QSL via directa i marca la QSL DX com sol·licitada - - Via Bureau and mark DX QSL as requested - Via bureau i marca la DX QSL com a sol·licitada + + Via Bureau && mark DX QSL as requested + Via bureau i marca la QSL DX com a sol·licitada - - Send this QSL via bureau and mark DX QSL as requested - Envia aquesta QSL via bureau i marca la DX QSL com a sol·licitada + + Send this QSL via bureau & mark DX QSL as requested + Envia aquesta QSL via bureau i marca la QSL DX com a sol·licitada - - Via bureau and mark my QSL as requested - Via bureau i marca la meva QSL com a sol·licitada - - - - QSL received via bureau and mark my QSL as requested - QSL rebuda via bureau i marca la meva QSL com a sol·licitada - - - - Direc&t and mark as my QSL requested - Direc&ta i marca la meva QSL com a sol·licitada - - - - QSL received via direct and mark my QSL as requested - QSL rebuda via directa i marca la meva QSL com a sol·licitada - - - + &Request the QSL &Sol·licita la QSL - + Mark the QSL as requested Marca la QSL com a sol·licitada - + + Via bureau && mark my QSL as requested + Via bureau i marcar la meva QSL com a sol·licitada + + + + QSL received via bureau & mark my QSL as requested + QSL rebuda via bureau i marca la meva QSL com a sol·licitada + + + Via bureau Via bureau - + QSL received via bureau QSL rebuda via bureau - + + Direc&t && mark as my QSL requested + Direc&ta i marca-la com a QSL sol·licitada + + + + QSL received via direct & mark my QSL as requested + QSL rebuda via directa i marca la meva QSL com a sol·licitada + + + Direc&t Direc&ta - + QSL received via direct QSL rebuda via directa - + You have requested to delete the QSO with: %1 Heu demanat suprimir el QSO amb: %1 - + Are you sure? Esteu segur? - + Needed QSO to send the QSL QSO necessari per enviar la QSL - + My QSL requested to be sent La meva QSL sol·licitada per enviar - - + + DX QSL pending to be received QSL del DX pendent de rebre @@ -3919,122 +3343,108 @@ La freqüència no es en una banda de radioafició! SetupDialog - - + + User data Dades de l'usuari - - - + + + Bands/Modes Bandes/modes - + My Data Les meves dades - - + + DX-Cluster DX-Cluster - - - + + + Colors Colors - - - + + + Misc Varis - - + + World Editor Editor mundial - + ClubLog ClubLog - + Go to the Misc tab and click on Move DB or the DB will not be moved to the new location. Aneu a la pestanya Varis i feu clic a Mou la BD - o la BD no es mourà a la ubicació nova. + o la BD no es mourà a la ubicació nova. - - + + Cancel Cancel·la - - + + Satellites Satèl·lits - - + + HamLib HamLib - - Interfaces - Interfícies - - - + + OK D'acord - - + + Config Dialog Diàleg de configuració - - Ok - D'acord - - - + D&X-Cluster D&X-Cluster - - LoTW - LoTW - - - + WSJT-X WSJT-X - + You need to enter at least one log in the Logs tab. Com a mínim cal introduir un registre a la pestanya Registres. - + Do you want to add one log in the Logs tab or exit KLog? (Click Yes to add a log or No to exit KLog) Voleu afegir un registre a la pestanya de Registres o sortir del KLog? @@ -4042,44 +3452,40 @@ La freqüència no es en una banda de radioafició! - DB has not been moved to new path. - - - - You need to enter at least a valid QRZ. Com a mínim cal introduir un QRZ vàlid. - + Go to the User tab and enter valid QRZ. Aneu a la pestanya Usuari i introduïu un QRZ vàlid. - + You will be redirected to the Log tab. Please add and select the kind of log you want to use. Sereu redirigit a la pestanya Registre. Afegiu i seleccioneu la classe de registre que voleu usar. + DB has not been moved to new path - La BD no s'ha mogut al camí nou + La BD no s'ha mogut al camí nou - + You have not selected the kind of log you want. No heu seleccionat la classe de registre que voleu. - - - + + + Logs Registres - + World Mundial @@ -4087,113 +3493,113 @@ Afegiu i seleccioneu la classe de registre que voleu usar. SetupEntityDialog - + Entity Entitat - + CQ CQ - + ITU ITU - + Latitude Latitud - + Longitude Longitud - + UTC UTC - + Main prefix Prefix principal - + ARRL ID ARRL ID - + Comma separated possible prefixes, e.g. EA1, EA2, ... Prefixos possibles separats per comes, p. ex. EA1, EA2, ... - + Prefixes Prefixos - + Name of the Entity. Nom de l'entitat. - + CQ zone. Zona CQ. - + ITU zone. Zona ITU. - - + + Longitude of the Entity. Longitud de l'entitat. - + Local time difference to UTC. Diferència de l'hora local respecte a UTC. - + Main prefix of the entity. Prefix principal de l'entitat. - + ARRL ID. ARRL ID. - + Date of the deletion. Data de la supressió. - + Deleted Suprimit - + Cancel Cancel·la - - Ok + + OK D'acord - + Entity Dialog Diàleg d'entitat @@ -4201,12 +3607,12 @@ Afegiu i seleccioneu la classe de registre que voleu usar. SetupPageBandMode - + Bands Bandes - + Modes Modes @@ -4214,62 +3620,62 @@ Afegiu i seleccioneu la classe de registre que voleu usar. SetupPageClubLog - + &Callsign Indi&catiu - + ClubLog &password Contra&senya del ClubLog - + ClubLog &email Corr&eu electrònic del ClubLog - + Enter the email you used to register in ClubLog. Introduïu el correu electrònic usat per registrar-se al ClubLog. - + Enter the callsign you used to register in ClubLog. Introduïu l'indicatiu usat per registrar-se al ClubLog. - + Enter your password in ClubLog. Introduïu la vostra contrasenya al ClubLog. - + &Send QSOs in real time &Envia els QSO en temps real - + &Activate ClubLog &Activa el ClubLog - + Use QSO Station &Callsign Usar indi&catiu de l'estació del QSO - + Send each QSO to ClubLog in real time, as they are added (or modified) in KLog. Envia cada QSO al ClubLog en temps real, quan s'afegeixin (o es modifiquin) en el KLog. - + Starts the ClubLog support in KLog. Inicia l'admissió del ClubLog al KLog. - + Use the Station Callsign defined in each QSO instead of the one defined here. Usa l'indicatiu d'estació definit en cada QSO en lloc del que s'ha definit aquí. @@ -4277,78 +3683,98 @@ Afegiu i seleccioneu la classe de registre que voleu usar. SetupPageColors - + New One Un de nou - + Needed in this band Necessari en aquesta banda - + Worked in this band Treballat en aquesta banda - + Confirmed in this band Confirmed Confirmat en aquesta banda - + Default Predeterminat - + WSJT-X palette Paleta WSJT-X - + Default palette Paleta predeterminada - + Color when the DXCC is an ATNO (All Time New One). - Color quan el DXCC és un ATNO («All Time New One», Un de nou de tots els temps ). + - + DXCC is confirmed in this band. - El DXCC està confirmat en aquesta banda. + - + Default color. - Color predeterminat. + - + Sets a palette of colors similar to the one used in WSJT-X. - Estableix una paleta de colors semblant a la usada al WSJT-X. + - + Sets the default palette. - Estableix la paleta predeterminada. + - + Color when the DXCC is an ATNO (All Time New One) + Color quan el DXCC és un ATNO («All Time New One», Un de nou de tots els temps ) + + + This DXCC was worked before in another band but not in the selected band. It may be needed due to the CQ, ITU, Grid, ... Aquest DXCC va funcionar abans en una altra banda però no en la banda seleccionada. Pot haver estat necessari pel CQ, ITU, Grid, ... - + Worked DXCC, but not confirmed in this band. DXCC treballat, però no confirmat en aquesta banda. - + DXCC is confirmed in this band + El DXCC està confirmat en aquesta banda + + + Default color + Color predeterminat + + + Sets a palette of colors similar to the one used in WSJT-X + Estableix una paleta de colors similar a la usada al WSJT-X + + + Sets the default palette + Estableix la paleta predeterminada + + + Choose a color Escolliu un color @@ -4356,96 +3782,81 @@ Afegiu i seleccioneu la classe de registre que voleu usar. SetupPageDxCluster - + Add Afegeix - + Delete Suprimeix - + Show &HF spots Show HF spots Mostra els avisos en &HF - + Show V/&UHF spots Show V/UHF spots Mostra els avisos en V/&UHF - + Show W&ARC spots Show WARC spots Mostra els avisos en W&ARC - + Show &worked spots Show worked spots Mostra els a&visos treballats - + Show &confirmed spots Show confirmed spots Mostra els avisos &confirmats - + Show ANN/&FULL messages Show ANN/FULL messages Mostra els missatges ANN/&FULL - + Show WW&V messages Show WWV messages Mostra els missatges WW&V - + Show WC&Y messages Show WCY messages Mostra els missatges WC&Y - - Save DX Cluster activity - Desa l'activitat del DX Cluster - - - - Saves all the DX-Cluster activity to a file in the KLog folder - Desa tota l'activitat del DX Cluster a un fitxer a la carpeta del KLog - - - + DX Spots Avisos DX - - Others - Altres - - - + Messages Missatges - + KLog: Add a DXCluster server Kontest: Add a DXCluster server KLog: Afegeix un servidor DXCluster - + Add the address followed by the :port Example: dxfun.com:8000 If no port is specified, 41112 will be used by default: @@ -4460,398 +3871,296 @@ Si no s'especifica port, s'usarà 41112 de forma predeterminada: SetupPageHamLib - + Activate HamLib Activa la HamLib - + Activates the hamlib support that will enable the connection to a radio. Activa la implementació de la «hamlib» que activarà la connexió a la ràdio. - + Read-Only mode - Mode de només lectura + - + If enabled, the KLog will read Freq/Mode from the radio but will never send any command to the radio. - Si està activat, el KLog llegirà la freqüència i el mode des de la ràdio però mai enviarà cap ordre a la ràdio. + - + Radio Ràdio - + Select your rig. Seleccioneu el vostre equip. - + Defines the interval to pool the radio in msecs. Defineix l'interval de disponibilitat de la ràdio in msecs. - + Pool interval Interval de disponibilitat - + Port Port - + Select the serial port. Only the serial ports that are detected are shown. Seleccioneu el port sèrie. Només es mostren els ports sèrie detectats. - + Scan Escaneja - + Click to identify the serial ports available in your computer. Feu clic per identificar els ports sèrie disponibles a l'ordinador. - + Bauds Bauds - + Select the serial port speed. Seleccioneu la velocitat del port sèrie. - + 5 bits 5 bits - + 6 bits 6 bits - + 7 bits 7 bits - + 8 bits 8 bits - + Data bits Bits de dades - + Select the serial data bits. Seleccioneu els bits de dades del sèrie. - + None Cap - + Hardware Maquinari - + Software XON/XOFF Programari XON/XOFF - + Flow control Control de flux - + Select the serial flow control Seleccioneu el control de flux del sèrie - + No parity Sense paritat - + Even Parells - + Odd Senars - + Space Espai - + Mark Marca - + Parity Paritat - + Select the serial parity. Seleccioneu la paritat del sèrie. - + 1 bit 1 bit - + 1.5 bits 1.5 bits - + 2 bits 2 bits - + Stop bits Bits de parada - + Select the serial stop bits. Seleccioneu els bits d'aturada del sèrie. - - SetupPageInterfacesWindows - - - UDP port number where the PSTRotator Server will listen for packets. - Número de port UDP a on el servidor PSTRotator escoltarà els paquets. - - - - Default port is 12040. - El port predeterminat és 12040. - - - - PST Rotator UDP Port - Port UDP del PST Rotator - - - - Hostname or IP address of the computer running PSTRotator. Leave it as localhost if you are running KLog and PSTRotator in the same computer. - Nom del servidor o adreça IP de l'ordinador que està executant el PSTRotator. Deixeu-ho com a «localhost» si executeu el KLog i el PSTRotator al mateix ordinador. - - - - PST Rotator host - Servidor del PST Rotator - - - - Send antenna bearing to PST Rotator - Envia l'orientació de l'antena al PST Rotator - - - - SetupPageLoTW - - - LoTW upload - Pujada al LoTW - - - - TQSL Path - Camí al TQSL - - - - Route to TQSL - Camí al TQSL - - - - Use TQSL - Usa el TQSL - - - - Path to the TQSL software. - Camí al programari del TQSL. - - - - Enable the LoTW integration with TQSL. You will need to have TQSL installed - Activa la integració LoTW amb el TQSL. Cal tenir instal·lat el TQSL - - - - User: - Usuari: - - - - Password: - Contrasenya: - - - - Enter your password LoTW here. Warning: The password will be save on clear in the KLog config file!! If you don't want to enter the password, KLog will ask you when it is needed. - - - - Enter your password LoTW here. Warning: The password will be save on clear in the KLog config file!! (If you don't want to enter the password, KLog will ask you when it is needed. - Introduïu aquí la contrasenya per al LoTW. Avís: La contrasenya es desarà tal qual al fitxer de configuració del KLog! Si no voleu introduir la contrasenya, el KLog la preguntarà quan sigui necessària. - - - - LoTW download - Baixada del LoTW - - - - - Enter your LoTW user - Introduïu l'usuari del LoTW - - - - - Enter your password LoTW here. Warning: The password will be save on clear in the KLog config file!! (If you don't want to enter the password, KLog will ask you when it is needed.) - Introduïu aquí la contrasenya per al LoTW. Avís: La contrasenya es desarà tal qual al fitxer de configuració del KLog! (Si no voleu introduir la contrasenya, el KLog la preguntarà quan sigui necessària) - - - - Select File - Selecció de fitxer - - SetupPageLogs - + + Type + Tipus + + + &New New &Nou - + &Edit &Edita - + &Remove &Elimina - + KLog KLog - + Do you really want to remove this log? Esteu segur que voleu eliminar aquest registre? - + + All the QSOs from this log will be also deleted... + També s'eliminaran tots els QSO d'aquest registre... + + + Operators Operadors - + An error has occurred showing the following error code: Hi ha hagut un error en mostrar el codi d'error següent: - + Log has not been removed. (#3) No s'ha eliminat el registre. (#3) - + Add a new log. Afegeix un registre nou. - + Edit the selected log. Edita el registre seleccionat. - + Remove the selected log. Elimina el registre seleccionat. - + Select the log you want to open. Seleccioneu el registre que voleu obrir. - - All the QSOs from this log will also be deleted... - Tots els QSO d'aquest registre també se suprimiran... - - - + Log has not been removed. (#2) No s'ha eliminat el registre. (#2) - + Log has not been removed. (#1) No s'ha eliminat el registre. (#1) - + KLog - SetupPageLogs KLog - SetupPageLogs - + ID ID - + Station Callsign Indicatiu de l'estació - + Comments Comentaris - + Date Data @@ -4859,57 +4168,138 @@ Si no s'especifica port, s'usarà 41112 de forma predeterminada: SetupPageLogsNew - + &Ok D'ac&ord - + &Cancel &Cancel·la - + + Select categories + Seleccioneu les categories + + + &Date &Data - + &Station Callsign Indicatiu d'e&stació - + &Operators &Operadors - + Comm&ent Com&entari - + Callsign used for this log. Indicatiu usat per aquest registre. - + Comma separated list of operators: callsign1, callsign2. Llista separada per comes dels operadors: indicatiu1, indicatiu2. - + Start date of this log. Data inicial d'aquest registre. - + Add a comment about this log. Afegiu un comentari quant a aquest registre. - + + &Type of Operation + &Tipus d'operació + + + + Select the kind of operation for this log. + Seleccioneu la classe d'operació per a aquest registre. + + + + &Mode Category + Categoria de &mode + + + + Select the mode category. + Seleccioneu la categoria del mode. + + + + O&perators Category + Categoria d'o&peradors + + + + Select the operators category. + Seleccioneu la categoria dels operadors. + + + + &Assisted Category + Categoria d'&assistit + + + + Select the assisted category. + Seleccioneu la categoria d'assistit. + + + + Po&wer Category + Categoria de &potència + + + + Select the power category. + Seleccioneu la categoria de la potència. + + + + &Bands Category + Categoria de &bandes + + + + Select the bands category. + Seleccioneu la categoria de les bandes. + + + + O&verlay + S&uperposició + + + + Select the Overlay category. + Seleccioneu la categoria de la superposició. + + + + + Categories not OK + Categories no correctes + + + You need to enter a valid QRZ in the Station Callsign box. The log will not be opened. You need to enter a valid QRZ in the Station Callsign box @@ -4917,252 +4307,242 @@ The log will not be opened. Cal introduir un QRZ vàlid a la casella d'indicatiu d'estació. El registre no s'obrirà. + + + You selected an invalid combination. +The log will not be opened. + You selected an invalid combination +The log will not be opened. + Heu seleccionat una combinació no vàlida. +El registre no s'obrirà. + + + + Categories OK + Categories correctes + SetupPageMisc - + &Imperial system Imperial system Sistema &imperial - + &Log in real time Log in real time &Registre en temps real - + &Time in UTC Time in UTC Hora en U&TC - + &Save ADIF on exit Save ADIF on exit De&sa l'ADIF en sortir - + Use this &default filename Use this default filename Usa aquest nom de fitxer pre&determinat - + Mark &QSO to send QSL when QSL is received Mark QSO to send QSL when QSL is received Marca el &QSO per enviar QSL quan es rebi la QSL - + Complete QSO with previous data Completa QSO amb dades prèvies + &Reset to My Data for all QSOs - &Restaura les meves dades a tots els QSO + &Restaura les meves dades a tots els QSO - + Manage DX-Marathon Gestiona una marató DX - + Activate the application debug log Activa el registre de depuració de l'aplicació - + + Sort log based in date & time + + + + Move DB Mou la BD - + + If new version checking is selected, KLog will send the developer your callsign, KLog version & Operating system to help in improving KLog. + Si s'ha seleccionat la comprovació de versió nova, el KLog enviarà al desenvolupador el vostre indicatiu, la versió del KLog i el sistema operatiu per ajudar a millorar el KLog. + + + Check it for Imperial system (Miles instead of Kilometers). Activeu-ho per al sistema imperial (milles en lloc de kilòmetres). - + Select to use the following name for the logfile without being asked for it again. Seleccioneu l'ús del nom següent com a fitxer de registre sense tornar-ho a preguntar. - + Select if you want to manage DX-Marathon. Seleccioneu si voleu gestionar la marató DX. - + This is the default file where ADIF data will be saved. Aquests és el fitxer predeterminat a on es desaran les dades ADIF. - + This is the directory where the database (logbook.dat) will be saved. Aquest és el directori a on es desarà la base de dades (logbook.dat). - + Click to change the path of the database. Cliqueu per canviar el camí a la base de dades. - + Activates the application debug log. This may be useful if something is not working as expected. A debug file will be created in the KLog directory. Activa el registre de depuració de l'aplicació. Això pot ser útil si hi ha quelcom que no funciona com s'espera. Es crearà un fitxer de depuració en el directori del KLog. - - Click to mark as Queued (to be sent) all the eQSL (LoTW and eQSL) in all the new QSO by default. - Cliqueu per canviar com a posat a la cua (per enviar) tots els eQSL (LoTW i eQSL) a tots els QSO nous de manera predeterminada. - - - + Please specify an existing directory where the database (logbook.dat) will be saved. Especifiqueu un directori existent a on es desarà la base de dades (logbook.dat). - + This is the directory where DB (logbook.dat) will be saved. Aquest és el directori a on es desarà la BD (logbook.dat). - - &Keep My Data for all QSOs - - - - - Mark sent eQSL && LoTW in new QSO as queued - Marca els eQSL enviats i LoTW als QSO nous com a posats a la cua - - - + Click to change the default ADIF file. Cliqueu per canviar el fitxer ADIF predeterminat. - + Click to move the DB to the new directory. Cliqueu per moure la BD a un directori nou. - + + Click to enable that log will be sorted based on date & time when clicking on the date column. It may be a little bit slower. + + + + Select Directory Selecció de directori - - KLog - Move DB - - - - + File moved S'ha mogut el fitxer - + File copied S'ha copiat el fitxer - - File already exist. - - - - - The destination file already exist and KLog will not replace it. Please remove the file from the destination folder before moving the file with KLog to make sure KLog can copy the file. - - - - + File NOT copied NO s'ha copiat el fitxer - - The file was not copied due to an unknown problem. - - - - + The target directory does not exist. Please select an existing directory. El directori de destinació no existeix. Seleccioneu un directori existent. - + + The search box will show also the callsign on the air to do the QSO. + El quadre de cerca mostrarà també l'indicatiu a l'aire emprat per fer el QSO. + + + Show the Station &Callsign used in the search box Mostra l'indi&catiu d'estació usat al quadre de cerca - + All the data from the My Data tab will be used or data from the previous QSO will be maintained. S'empraran totes les dades de la pestanya Les meves dades o bé es mantindran les dades del QSO anterior. - + &Check for new versions automatically &Comprova automàticament si hi ha versions noves - + QSOs will be marked as pending to send a QSL if you receive the DX QSL and have not sent yours. Els QSO es marcaran com a pendents d'enviar una QSL si rebeu el DX QSL i no heu enviat el vostre. - + Check if there is a new release of KLog available every time you start KLog. Comprova si hi ha un llançament nou disponible del KLog cada vegada que s'iniciï el KLog. - + &Provide Info for statistics &Proporciona informació per a estadístiques - - The search box will also show the callsign on the air to do the QSO. - El quadre de cerca també mostrà l'indicatiu a l'aire per fer el QSO. - - - - If new version checking is selected, KLog will send the developer your callsign, KLog version and Operating system to help in improving KLog. - Si s'ha seleccionat la comprovació de versió nova, el KLog enviarà al desenvolupador el vostre indicatiu, la versió del KLog i el sistema operatiu per ajudar a millorar el KLog. - - - + Select to use real time. Seleccioneu-ho per emprar temps real. - + Select to use UTC time. Seleccioneu-ho per emprar l'hora UTC. - + Select if you want to save to ADIF on exit. Seleccioneu si voleu desar a l'ADIF en sortir. - + Complete the current QSO with previous QSO data. Completa el QSO actual amb dades de QSO anteriors. - - + + Browse Explora - + Open File Obre fitxer @@ -5170,142 +4550,142 @@ El registre no s'obrirà. SetupPageSats - + &New &Nou - + &Edit &Edita - + &Remove &Elimina - + &Import &Importa - + E&xport E&xporta - + Add a new satellite. Afegeix un satèl·lit nou. - + Edit the selected satellite. Edita el satèl·lit seleccionat. - + Remove the selected satellite. Elimina el satèl·lit seleccionat. - + + Import a satellites file. It will replace the satellites you have now configured. + Importa un fitxers de satèl·lits. Substituirà els satèl·lits que tingueu configurats ara. + + + Export your current satellites to a file. Exporta els satèl·lits actuals a un fitxer. - + Select the sat you want to open. Seleccioneu el satèl·lit que voleu obrir. - + KLog KLog - + Do you really want to remove this satellite? Esteu segur que voleu eliminar aquest satèl·lit? - - Import a satellites file. It will replace the satellites you have in the current list. - Importa un fitxer de satèl·lits. Substituirà els satèl·lits que hi ha a la llista actual. + + This satellite will not be longer available to be selected ... + Aquest satèl·lit ja no estarà disponible per a sigui seleccionable... - - This satellite will no be longer available to be selected ... - Aquest satèl·lit ja no tornarà a estar disponible per a ser seleccionat... - - - + Sat has not been removed. (#3) No s'ha eliminat el satèl·lit. (#3) - + Sat has not been removed. (#2) No s'ha eliminat el satèl·lit. (#2) - + Sat has not been removed. (#1) No s'ha eliminat el satèl·lit. (#1) - + ID ID - + Short Curt - + Name Nom - + Uplink Pujada - + Downlink Baixada - + Modes Modes - + An error has occurred showing the following error code: Hi ha hagut un error en mostrar el codi d'error següent: - + KLog - SetupPageSats KLog - Pàgina de configuració de satèl·lits - + Open Satellites File Obre el fitxer de satèl·lits - + KLog warning Avís del KLog - + An unexpected error ocurred while importing the satellite data. It may be caused because the file you are trying to import does not have the right format. @@ -5314,12 +4694,12 @@ It may be caused because the file you are trying to import does not have the rig Pot ser degut a que el fitxer que esteu intentant importar no té el format correcte. - + Please check the format or contact the developer for analysis with the error code: - Verifiqueu el format o contacteu amb el desenvolupador per a una anàlisi amb el codi d'error: + Verifiqueu el format o contacteu amb el desenvolupador per a un anàlisi amb el codi d'error: - + Save Satellites File Desa el fitxer de satèl·lits @@ -5327,331 +4707,331 @@ Pot ser degut a que el fitxer que esteu intentant importar no té el format corr SetupPageSatsNew - + Short name Nom curt - + Sat name Nom del satèl·lit - + UpLink Pujada - + DownLink Baixada - + Modes Modes - + &Ok D'ac&ord - + &Cancel &Cancel·la - + Enter the short name. Try to use the LoTW short name so you can upload your QSO to LoTW afterwards. - Introduïu el nom curt. Intenteu usar el nom curt LoTW per a que pugueu pujar després el QSO al LoTW. + Introduïu el nom curt. Intenteu usar el nom curt LoTW per a que pugueu pujar després el QSO a LoTW. - + Enter the name of the satellite. Introduïu el nom del satèl·lit. - + Enter the uplink frequencies in this format: 144.300 Introduïu les freqüències de pujada en aquest format: 144.300 - + Enter the downlink frequencies in this format: 144.300 Introduïu les freqüències de baixada en aquest format: 144.300 - + Enter the modes in this format: USB Introduïu els modes aquest format: USB - - Some of the data you have entered is not correct; the satellite can't be added. - Alguna dada que heu introduït no és correcta; no s'ha pogut afegir el satèl·lit. + + Some of the data you have entered is not correct, the satellite can't be added. + Diverses dades que heu introduït no són correctes, no s'ha pogut afegir el satèl·lit. SetupPageUDP - + Start UDP Server Inicia el servidor UDP - - KLog will automatically show and update data coming from WSJT-X (DX callsign, locator, RPT, ...) - El KLog mostrarà i actualitzarà automàticament les dades provinents del WSJT-X (indicatiu DX, localitzador, RPT, ...) + + Log automatically QSOs from WSJT-X + Enregistra automàticament els QSO del WSJT-X - - Automatically log QSOs from WSJT-X - Registra automàticament els QSO des del WSJT-X - - - - Allow WSJT-X to send logged QSOs to KLog + + Allow WSJT-X to send logged QSO to KLog Permet que el WSJT-X enviï QSO enregistrats al KLog - - QSOs logged in WSJT-X will be sent to KLog and KLog will ask before logging into KLog unless "%1" is selected - Els QSO enregistrats al WSJT-X s'enviaran al KLog i el KLog preguntarà abans d'enregistrar al KLog a menys que se seleccioni «%1» + + KLog will log automatically any QSO coming from WSJT-X without any manual confirmation. + El KLog enregistrarà automàticament qualsevol QSO que vingui del WSJT-X sense cap confirmació manual. - - KLog will automatically log any QSO coming from WSJT-X without any manual confirmation. - El KLog enregistrarà automàticament qualsevol QSO provinent del WSJT-X sense cap confirmació manual. + + Receive and Update QSO data to KLog + Recepció i actualització de dades QSO al KLog - - Receive QSOs data and update to KLog - Rep les dades dels QSO i actualitza el KLog + + KLog will automatically show and update data coming from WSJT-X (DX callsign, locator, RPT, ...) + El KLog mostrarà i actualitzarà automàticament les dades provinents del WSJT-X (indicador DX, localitzador, RPT, ...) - + + QSO notification timeout (milisecs) + Temps excedit de la notificació QSO (mil·lisegons) + + + + Milliseconds that the notification of QSO received from WSJTX will be shown. + Mil·lisegons durant els que es mostrarà la notificació del QSO rebut des del WSJTX. + + + + Make sure it is the same port where the other programs are sending the data to. Default port is 2237. + Comproveu que sigui el mateix port a on els altres programes envien les dades. El port predeterminat és el 2237. + + + + QSO logged in WSJT-X will be sent to KLog and KLog will ask before logging into KLog unless "%1" is selected + Els QSO enregistrats al WSJT-X s'enviaran al KLog i el KLog preguntarà abans d'enregistrar-los al KLog a menys que se seleccioni «%1» + + + UDP port number where the UDP Server will listen for packets. Número de port UDP a on el servidor UDP escoltarà els paquets. - - Make sure it is the same port that the other programs are sending the data to. Default port is 2237. - Assegureu-vos que és el mateix port al qual els altres programes estan les dades. El port predeterminat és 2237. - - - + UDP Server will receive QSOs sent from other programs like WSJT-X allowing you to log in KLog automatically from those programs. El servidor UDP rebrà els QSO enviats des d'altres programes com el WSJT-X, permetent enregistrar-los automàticament al KLog des d'aquests programes. - + UDP Port Port UDP - - - QSOs notification timeout (milisecs) - Temps d'expiració de les notificacions dels QSO (mil·lisegons) - - - - Miliseconds that the notification of QSOs received from WSJTX will be shown. - Mil·lisegons en que es mostrarà la notificació dels QSO rebuts des del WSJTX. - SetupPageUserDataPage - + &Personal data Personal data Dades &personals - + Station &data Station data &Dades de l'estació - + &Name Name &Nom - + &Address Address &Adreça - + Cit&y City Ci&utat - + &Zip Code Zip Code Codi &postal - + Pro&v/State Prov/State Pro&v/Estat - + Countr&y Country Paí&s - - - + + + Enter your information for rig Introduïu la informació de l'equip - - - + + + Enter your information for antenna Introduïu la informació de l'antena - + Enter your name. Introduïu el vostre nom. - + Enter your address - 1st line. Introduïu l'adreça - 1a línia. - + Enter your address - 2nd line. Introduïu l'adreça - 2a línia. - + Enter your address - 3rd line. Introduïu l'adreça - 3a línia. - + Enter your address - 4th line. Introduïu l'adreça - 4a línia. - + Enter your city. Introduïu la ciutat. - + Enter your zip code. Introduïu el codi postal. - + Enter your province or state. Introduïu la província o l'estat. - + Enter your country. Introduïu el país. - + Enter your power information. Introduïu la informació de potència. - + &Rig 1 &Equip 1 - + R&ig 2 E&quip 2 - + Ri&g 3 Eq&uip 3 - + Antenna &1 Antena &1 - + Antenna &2 Antena &2 - + Antenna &3 Antena &3 - + Po&wer Po&tència - + Enter the station callsign that will be used for logging. Introduïu l'indicatiu de l'estació que s'usarà per l'enregistrament. - + Enter the locator of your station. Alternatively, KLog can use an approximate locator based on your callsign. Introduïu l'indicatiu de la vostra estació. Alternativament, el KLog pot usar un indicatiu aproximat a partir del vostre indicatiu. - + &QRZ &QRZ - + &Operators &Operadors - + &CQ Zone Zona &CQ - + &ITU Zone Zona &ITU - - + + &Locator &Localitzador - + &Locator (not valid) &Localitzador (no vàlid) - + Enter the operators (comma separated if more than one). Introduïu els operadors (separats per comes si hi ha més d'un). @@ -5659,176 +5039,139 @@ Pot ser degut a que el fitxer que esteu intentant importar no té el format corr SetupPageWorldEditor - + KLog will not be able to show entities information. El KLog no serà capaç de mostra la informació de les entitats. - + Prefix Prefix - + Entity Entitat - + An entities information file (cty.csv) has been detected in your KLog folder and will be loaded. S'ha detectat un fitxer d'informació d'entitats (cty.csv) a la carpeta del KLog i es carregarà. - + Add Afegeix - + Delete Suprimeix - + Edit Edita - + Export World Exporta el món - + Import World Importa el món - - - - + + + + Still not implemented. Encara no està implementat. - + Import a new cty.csv file Importa un fitxer «cty.csv» nou - + No entities information file (cty.csv) has been detected in your KLog folder. No s'ha detectat cap fitxer d'informació d'entitats (cty.csv) a la carpeta del KLog. - + ARRL ID ARRL ID - + Continent Continent - + CQ Zone Zona CQ - + ITU Zone Zona ITU - + UTC UTC - + Latitude Latitud - + Longitude Longitud - + Deleted Suprimit - + Since Date Des de la data - + To Date Fins a la data - + Open File Obre fitxer - + BigCTY (*.csv) BigCTY (*.csv) - + Entities information has been updated. S'ha actualitzat la informació de les entitats. - + Entities information has not been updated. No s'ha actualitzat la informació de les entitats. - - ShowAdifImportWidget - - The following QSO are those QSOs that you have received the LoTW confirmation. - Els QSO següents són aquells QSO pels que heu rebut la confirmació del LoTW. - - - - The following QSOs are those QSOs that you have received the LoTW confirmation. - - - - - Ok - D'acord - - - - DX - DX - - - - Date/Time - Data/hora - - - - Band - Banda - - - - Mode - Mode - - ShowErrorDialog @@ -5949,37 +5292,37 @@ Pot ser degut a que el fitxer que esteu intentant importar no té el format corr StatsCQZPerYearBarChartWidget - + CQ Zones per year Zones CQ per any - + Reading data ... S'estan llegint les dades... - + Abort reading Interromp la lectura - + CQ zones Zones CQ - + CQ zones per year Zones CQ per any - + Reading data ... S'estan llegint les dades... - + Years: %1/%2 Anys: %1/%2 @@ -6046,8 +5389,8 @@ Pot ser degut a que el fitxer que esteu intentant importar no té el format corr - QSOs per band distribution - QSO per distribució de banda + QSO per band distribution + QSO per distribució de bandes @@ -6195,8 +5538,8 @@ Pot ser degut a que el fitxer que esteu intentant importar no té el format corr - QSOs per mode distribution - QSO per distribució de mode + QSO per mode distribution + QSO per distribució de modes @@ -6401,11 +5744,24 @@ Pot ser degut a que el fitxer que esteu intentant importar no té el format corr Previous Anterior + + Tip #1: + Translator: Please make sure that the name of the link is coherent with the menu Tools->Fill in QSO data + Consell núm. 1: + + + Do you know... + Sabíeu que... + + + You can use <a href="#ToolsFillInQSO">Tools->Fill in QSO data</a> to automatically read the full log to fill the DXCC, CQ, ITU zones and continent? + podeu usar <a href="#ToolsFillInQSO">Eines->Omple les dades QSO</a> per a llegir automàticament el registre complet per omplir el DXCC, CQ, les zones ITU i el continent? + <b>Tip #1:</b><br>Do you know...<br>You can use <a href="#ToolsFillInQSO">Tools->Fill in QSO data</a> to automatically read the full log to fill the DXCC, CQ, ITU zones and continent? Translator: Please make sure that the name of the link is coherent with the menu Tools->Fill in QSO data - <b>Consell núm. 1:</b><br>Sabíeu que...<br>poseu usar <a href="#ToolsFillInQSO">Eines -> Omple les dades QSO</a> per llegir automàticament el registre complet per a omplir les zones DXCC, CQ, ITU i el continent? + @@ -6426,97 +5782,94 @@ Pot ser degut a que el fitxer que esteu intentant importar no té el format corr <b>Consell núm. 4:</b><br>Sabíeu que...<br>podeu exportar el vostre QSO marcat com a QSL sol·licitada amb <a href="#FileExportQSLADIFToPrint">Fitxer->Exporta les QSL sol·licitades a ADIF...</a> per a crear un fitxer ADIF que podreu importar a un programa de creació d'etiquetes QSL per a imprimir les etiquetes de les vostres targetes QSL? - - <b>Tip #5:</b><br>Do you know...<br>You can enter a '*' in the search box, in the search window to search for all the QSOs done with one specific station callsign? - <b>Consell núm. 5:</b><br>Sabíeu que...<br>podeu introduir un «*» al quadre de cerca de la finestra de cerca per a cercar tots els QSO efectuats amb un indicatiu d'estació específic? - - - - <b>Tip #12:</b><br>Do you know...<br>You can subscribe to <a href=https://lists.nongnu.org/mailman/listinfo/klog-users>KLog-users mailing list</a> to discuss via email about KLog in English? - <b>Consell núm. 12:</b><br>Sabíeu que...<br>podeu subscriure's a la <a href=https://lists.nongnu.org/mailman/listinfo/klog-users>llista de correu KLog-users</a> per comentar en anglès via correu electrònic quant al KLog? - - - - <b>Tip #13:</b><br>Do you know...<br>You can <a href=https://twitter.com/_ea4k>follow EA4K on twitter</a> to get updates about KLog? - <b>Consell núm. 13:</b><br>Sabíeu que...<br>podeu <a href=https://twitter.com/_ea4k>seguir a EA4K al Twitter</a> per aconseguir notícies quant al KLog? - - - - <b>Tip #18:</b><br>Do you know...<br>You can double-click on an entity name in the DXCC table and all the QSOs with that DXCC Entity will be shown in the search box? - <b>Consell núm. 18:</b><br>Sabíeu que...<br>podeu fer un clic doble a un nom d'entitat a la taula de DXCC i tots els QSO amb una entitat DXCC es mostraran al quadre de cerca? - - - - <b>Tip #19:</b><br>Do you know...<br>You can right-click on a QSO and select <i>Check in QRZ.com</i> to check that callsign in QRZ.com? - <b>Consell núm. 19:</b><br>Sabíeu que...<br>podeu fer clic amb el botó dret a un QSO i seleccionar <i>Comprova a QRZ.com</i> per comprovar aquest identificador a QRZ.com? - - - - <b>Tip #20:</b><br>Do you know...<br>You can see the QSO that confirms one specific DXCC entity in one specific band by poiting your mouse over that band in the DXCC widget? - <b>Consell núm. 20:</b><br>Sabíeu que...<br>podeu veure el QSO que confirma una entitat DXCC específica a una banda específica apuntant el ratolí sobre aquesta banda al giny del DXCC? - - - - <b>Tip #21:</b><br>Do you know...<br>You can upload your QSO marked as queued to LoTW via TQSL with <a href="#ToolsUploadLoTW">Tools->Upload to LoTW...</a> ?<br><br>You have to configure TQSL in the preferences to be able to use this functionality. + + <b>Tip #5:</b><br>Do you know...<br>You can export your QSO marked as requested, via LoTW, in your log with <a href="#FileExportLoTWADIF">File->Export ADIF for LoTW...</a> to create an ADIF file that you will be able to import in TQSL to be signed and uploaded to LoTW?<br><br>You have to mark as Q-Queued all the QSOs you want to be exported to be sent to LoTW. Translator: Please make sure that the name of the link is coherent with the menu File->Export ADIF for LoTW... - <b>Consell núm. 21:</b><br>Sabíeu que...<br>podeu pujar els vostres QSO marcats com a en cua al LoTW via el TQSL amb <a href="#ToolsUploadLoTW">Eines -> Puja al LoTW...</a>?<br><br>Cal configurar el TQSL a les preferències per a poder usar aquesta funcionalitat. + <b>Consell núm. 5:</b><br>Sabíeu que...<br>podeu exportar el vostre QSO marcat com a sol·licitat, via LoTW, en el registre amb <a href="#FileExportLoTWADIF">Fitxer->Exporta l'ADIF per a LoTW...</a> per crear un fitxer ADIF que podreu importar al TQSL per a signar i pujar al to LoTW?<br><br>Cal marcar tots els QSO que vulgueu que s'exportin com a enviats al LoTW com a Q-«En cua». - + + <b>Tip #13:</b><br>Do you know...<br>You can <a href=https://twitter.com/_ea4k>follow EA4K on twitter</a> to get updates about KLog? + + + + <b>Tip #6:</b><br>Do you know...<br>You can find the file containing all your log and other information in the logbook.dat file and the klogrc file, containing the KLog config file in the KLog folder by opening the <a href="#FileOpenKLogFolder">File->KLog folder</a> menu. + Translator: Please make sure that the name of the link is coherent with the menu File->KLog folder + <b>Consell núm. 6:</b><br>Sabíeu que...<br>podeu trobar el fitxer que conté tot el vostre registre i altra informació en el fitxer «logbook.dat» i el fitxer «klogrc», que conté el fitxer de configuració del KLog, a la carpeta del KLog obrint el menú <a href="#FileOpenKLogFolder">Fitxer->Carpeta del KLog</a>. + + + <b>Tip #6:</b><br>Do you know...<br>You can find the file containing all your log and other information in the logbook.dat file and the klogrc file, containing the KLog config file in the KLog folder by opening the <a href="#FileOpenKLogFolder">File->KLog folder</a> menu? Translator: Please make sure that the name of the link is coherent with the menu File->KLog folder - <b>Consell núm. 6:</b><br>Sabíeu que...<br>podeu trobar el fitxer que conté tot el vostre registre i altra informació al fitxer «logbook.dat», i al «klogrc» que conté el fitxer de configuració del KLog, a la carpeta del KLog obrint el menú <a href="#FileOpenKLogFolder">Fitxer->Carpeta del KLog</a>? + - + <b>Tip #7:</b><br>Do you know...<br>You can find the QSLs that you still need to send with <a href="#ToolsSendPendingQSL">Tools->QSL tools...->Find My-QSLs pending to send</a>.<bR>This tool will list you in the search box all the QSOs with the QSL-Sent marked as <i>Requested</i>. Translator: Please make sure that the name of the link is coherent with the menu QSL tools...->Find My-QSLs pending to send <b>Consell núm. 7:</b><br>Sabíeu que...<br>podeu trobar les QSL que encara cal enviar amb <a href="#ToolsSendPendingQSL">Eines->Eines QSL...->Cerca les meves QSL pendents d'enviar</a>.<bR>Aquesta eina llistarà al quadre de cerca tots els QSO amb la QSL-Sent marcada com a <i>Sol·licitada</i>. - + <b>Tip #8:</b><br>Do you know...<br>You can find the QSLs that you are still waiting for with <a href="#ToolsReceivePendingQSL">Tools->QSL tools...->Find DX-QSLs pending to receive</a>.<bR>This tool will list you in the search box all the QSOs with the QSL-Sent marked as <i>Sent</i> but you have still not received the QSL card from the DX. Translator: Please make sure that the name of the link is coherent with the menu QSL tools...->Find DX-QSLs pending to receive <b>Consell núm. 8:</b><br>Sabíeu que...<br>podeu trobar les QSL que encara esteu esperant amb <a href="#ToolsReceivePendingQSL">Eines->Eines QSL...->Cerca les DX-QSL pendents de rebre</a>.<bR>Aquesta eina llistarà al quadre de cerca tots els QSO amb la QSL-Sent marcada com a <i>Enviada</i> però que encara no heu rebut la targeta QSL des del DX. - + <b>Tip #9:</b><br>Do you know...<br>You can find the QSLs that you are still waiting for with <a href="#ToolsReceiveRecPendingQSL">Tools->QSL tools...->Find requested pending to receive</a>.<bR>This tool will list you in the search box all the QSOs with the QSL-Rec marked as <i>Requested</i> but you have still not received the QSL card from the DX. Translator: Please make sure that the name of the link is coherent with the menu QSL tools...->Find requested pending to receive <b>Consell núm. 9:</b><br>Sabíeu que...<br>podeu trobar les QSL que encara esteu esperant amb <a href="#ToolsReceiveRecPendingQSL">Eines->Eines QSL...->Cerca sol·licituds pendents de rebre</a>.<bR>Aquesta eina llistarà al quadre de cerca tots els QSO amb la QSL-Rec marcada com a <i>Sol·licitada</i> però que encara no heu rebut la targeta QSL des del DX. - + <b>Tip #10:</b><br>Do you know...<br>You can subscribe to the <a href=https://t.me/klogchat>English KLog Telegram group</a> to discuss about KLog in English? <b>Consell núm. 10:</b><br>Sabíeu que...<br>podeu subscriure's al <a href=https://t.me/klogchat>grup de Telegram del KLog en anglès</a> per conversar en anglès quant al KLog? - - <b>Tip #11:</b><br>Do you know...<br>You can subscribe to the <a href=https://t.me/KLogES>Spanish Telegram group</a> to discuss about KLog in Spanish? - <b>Consell núm. 11:</b><br>Sabíeu que...<br>podeu subscriure's al <a href=//https://t.me/KLogES>grup de Telegram en castellà</a> per conversar en castellà quant al KLog? + <b>Tip #11:</b><br>Do you know...<br>You can subscribe to the <a href=//https://t.me/KLogES>Spanish Telegram group</a> to discuss about KLog in Spanish? + <b>Consell núm. 11:</b><br>Sabíeu que...<br>podeu subscriure's al <a href=//https://t.me/KLogES>grup de Telegram en castellà</a> per conversar en castellà quant al KLog? - + + <b>Tip #11:</b><br>Do you know...<br>You can subscribe to the <a href=https://t.me/KLogES>Spanish Telegram group</a> to discuss about KLog in Spanish? + + + + + <b>Tip #12:</b><br>Do you know...<br>You can subscribe to <a href=http://lists.nongnu.org/mailman/listinfo/klog-users>KLog-users mailing list</a> to discuss via email about KLog in English? + <b>Consell núm. 12:</b><br>Sabíeu que...<br>podeu subscriure's a la <a href=http://lists.nongnu.org/mailman/listinfo/klog-users>llista de correu KLog-users</a> per comentar en anglès via correu electrònic quant al KLog? + + + <b>Tip #13:</b><br>Do you know...<br>You can <a href=https://twitter.com/ea4tv>follow EA4TV on twitter</a> to get updates about KLog? + <b>Consell núm. 13:</b><br>Sabíeu que...<br>podeu <a href=https://twitter.com/ea4tv>seguir a EA4TV al Twitter</a> per aconseguir notícies quant al KLog? + + + <b>Tip #14:</b><br>Do you know...<br>You can write your own <a href=https://www.eham.net/reviews/detail/3118>review in eHam.net about KLog</a> to help other users to decide to use KLog? <b>Consell núm. 14:</b><br>Sabíeu que...<br>podeu escriure els vostres propis <a href=https://www.eham.net/reviews/detail/3118>comentaris a eHam.net quant al KLog</a> per ajudar als altres a decidir-se a usar el KLog? - + <b>Tip #15:</b><br>Do you know...<br>You can join the development team by simply <a href=https://www.klog.xyz/contact>Contacting us</a>? <b>Consell núm. 15:</b><br>Sabíeu que...<br>podeu unir-vos a l'equip de desenvolupament senzillament <a href=https://www.klog.xyz/contact>contactant-nos</a>? - + <b>Tip #16:</b><br>Do you know...<br>That there are many ways to contribute to KLog and some of them are listed in the <a href=https://www.klog.xyz/contrib>KLog Contribute</a> page? <b>Consell núm. 16:</b><br>Sabíeu que...<br>hi ha moltes maneres de col·laborar amb el KLog i varies estan llistades a la pàgina de <a href=https://www.klog.xyz/contrib>col·laboració del KLog</a>? - + <b>Tip #17:</b><br>Do you know...<br>You can support translating KLog into your language? Please check <a href=https://www.klog.xyz/contrib/translations>KLog Translations</a> page. - <b>Consell núm. 17:</b><br>Sabíeu que...<br>podeu ajudar a traduir el KLog al vostre idioma? Si us plau, reviseu la pàgina de <a href=https://www.klog.xyz/contrib/translations>traduccions del KLog</a>. + - + <b>Tip #17:</b><br>Do you know...<br>You can support translating KLog into your language? Please check <a href=https://www.klog.xyz/contrib/translations>KLog Translations</a> page? + <b>Consell núm. 17:</b><br>Sabíeu que...<br>podeu ajudar a traduir el KLog al vostre idioma? Si us plau, reviseu la pàgina de <a href=https://www.klog.xyz/contrib/translations>traduccions del KLog</a>. + + + TIP-Default: Text Consell predeterminat: Text @@ -6562,12 +5915,12 @@ Pot ser degut a que el fitxer que esteu intentant importar no té el format corr Continent - + Abort reading Interromp la lectura - + Reading cty.csv... S'està llegint el «cty.csv»... diff --git a/translations/klog_da.ts b/translations/klog_da.ts index f03a3e65..825881d2 100644 --- a/translations/klog_da.ts +++ b/translations/klog_da.ts @@ -18,18 +18,15 @@ KLog is a free logbook for hamradio operators. KLog er en fri logbog for operatører af amatørradio. - - Please know that this is an BETA release and it may contain many bugs.<br>Backup your data before using this software! - Vær opmærksom på, at dette er en BETA-udgivelse og den kan indeholde mange fejl.<br>Lav en sikkerhedskopi af dine data før du bruger dette program! - - - KLog has been fully rewritten from the 0.6.2 to be able to provide a cross-platform application that runs in the main operating systems (Linux, macOS & Windows) and provide new functionalities that KLog was not providing. - KLog er blevet skrevet helt om fra version 0.6.2 for ata kunne tilbyde et program for flere platforme, som kan afvikles i de vigtigst operativsystemer (Linux, macOS og Windows) og tilbyde nye funktioner, som KLog ikke tilbød tidligere. - - Please be aware that this is a development release and it may contain many bugs.<br>Backup your data before using this software! - + Please know that this is an BETA release and it may contain many bugs.<br>Backup your data before using this software! + Vær opmærksom på, at dette er en BETA-udgivelse og den kan indeholde mange fejl.<br>Lav en sikkerhedskopi af dine data før du bruger dette program! + + + + KLog has been fully rewritten from the 0.6.2 to be able to provide a cross-platform application that runs in the main operating systems (Linux, macOS & Windows) and provide new functionalities that KLog was not providing. + KLog er blevet skrevet helt om fra version 0.6.2 for ata kunne tilbyde et program for flere platforme, som kan afvikles i de vigtigst operativsystemer (Linux, macOS og Windows) og tilbyde nye funktioner, som KLog ikke tilbød tidligere. @@ -66,6 +63,11 @@ If KLog is still not in your language and you want to help us, you are welcome to contact us through the <a href="https://lists.nongnu.org/mailman/listinfo/klog-devel">KLog development mailing list</a>! Hvis KLog ikke er oversat til dit sprog og du ønsker at hjælpe os, så er velkommen til at kontakte os via <a href="https://lists.nongnu.org/mailman/listinfo/klog-devel">KLog-udviklernes postliste</a>! + + + KLog developers have included a feature that reports some user data to the KLog server with the sole purpose of identifying the number of installed versions, to focus development in one direction or another taking into account user's needs. + + Be aware that you can enable/disable this feature from the Misc tab in the Setup page. @@ -76,11 +78,6 @@ You can also help us by sending bug reports or small code contributions, ideas or whatever you think may improve KLog. Du kan også hjælpe os ved at sende fejlrapporter eller små kodebidrag, ideer eller andet som kan forbedre KLog. - - - Since 0.6.2, KLog has been fully rewritten to provide a cross-platform application that runs on all major operating systems (Linux, macOS and Windows) and to support new functionality. - - If you want to provide support you are welcome to join the <a href="https://lists.nongnu.org/mailman/listinfo/klog-devel">KLog development mailing list</a>! @@ -108,11 +105,6 @@ Privacy advisory Privatlivsråd - - - KLog developers have included a feature that reports some user data to the KLog server with the sole purpose of identifying the number of installed versions, to focus development in one direction or another taking into account users' needs. - - KLog developers have included a feature that reports some user data to the KLog server with the sole purpose of identifying the number of installed versions, to focus development in one direction or another taking into account user's needs KLog-udviklere har inkluderet en funktion, som rapporterer nogle brugerdata til KLog-serveren med det formål at identificere antallet af installerede versionre, for at fokusere udviklingen i en retning eller en anden alt efter brugernes behov @@ -152,94 +144,6 @@ Privatliv - - AdifLoTWExportWidget - - - Select the Station Callsign that you want to use to upload the log. - - - - - Select the start date to export the QSOs. The default date is the date of the first QSO with this station callsign. - - - - - Select the end date to export the QSOs. The default date is the date of the last QSO with this station callsign. - - - - - Station callsign - - - - - Start date - - - - - End date - - - - - Ok - O.k. - - - - Cancel - Afbryd - - - - DX - - - - - Date/Time - Dato/tid - - - - Band - Bånd - - - - Mode - Tilstand - - - - Not defined - - - - - All - Alle - - - - QSOs: - - - - - This table shows the QSOs that will be sent to LoTW. - - - - - This table shows the QSOs that will be exported to ADIF. - - - AwardsWidget @@ -338,39 +242,23 @@ - Number of QSOs worked in the selected year. - + Number of QSOs worked on the selected year. + Antallet af QSO'er bearbejdet for det valgte år. - Number of DXCCs worked in the selected year. - + Number of DXCC worked on the selected year. + Antallet af DXCC bearbejdet for det valgte år. - Number of CQ Zones worked in the selected year. - + Number of CQ Zones worked on the selected year. + Antallet af CQ-zoner bearbejdet for det valgte år. - Score for the DXMarathon in the selected year. - - - - Number of QSOs worked on the selected year. - Antallet af QSO'er bearbejdet for det valgte år. - - - Number of DXCC worked on the selected year. - Antallet af DXCC bearbejdet for det valgte år. - - - Number of CQ Zones worked on the selected year. - Antallet af CQ-zoner bearbejdet for det valgte år. - - Score for the DXMarathon on the selected year. - Bedømmelse for DXMarthonen for det valgte år. + Bedømmelse for DXMarthonen for det valgte år. @@ -381,60 +269,52 @@ CTYPage - + Country data download Overførsel af landedata - + KLog needs country data... KLog skal bruge landedata ... - + &Download &Hent - + &Ignore &Ignorer - + Country data needed Landedata krævet + + + KLog uses the cty.csv file from http://www.country-files.com/ to get DXCC information. + KLog bruger cty.csv-filen fra http://www.country-files.com/ til at hente DXCC-information. + - KLog uses the cty.csv file from https://www.country-files.com/ to get DXCC information. - + You need to download the cty.csv file if you want KLog to show you the countries, locator, ... of the QSOs you do. + Du skal hente cty.csv-filen, hvis du ønsker at KLog skal vise dig landene, locator, ... af QSO'erne du bruger. - You need to download the cty.csv file if you want KLog to show you the countries, locator, etc. of the QSOs you do. - - - - KLog uses the cty.csv file from http://www.country-files.com/ to get DXCC information. - KLog bruger cty.csv-filen fra http://www.country-files.com/ til at hente DXCC-information. - - - You need to download the cty.csv file if you want KLog to show you the countries, locator, ... of the QSOs you do. - Du skal hente cty.csv-filen, hvis du ønsker at KLog skal vise dig landene, locator, ... af QSO'erne du bruger. - - - Click on Download to download now. Klik på Hent for at hente nu. - + KLog KLog - + I can't find the host. Please check your network and try again Do you want to try again? Jeg kan ikke finde værten. Kontroller dit netværk og prøv @@ -449,31 +329,27 @@ igen. Ønsker du at prøve igen? Opdater + ID - Id + Id - + Entity Entitet - - Prefix - Præfiks - - - + Pref: - + CQ: - + ITU: @@ -483,7 +359,7 @@ igen. Ønsker du at prøve igen? - + Entity not worked in this band. Entitet fungerede ikke i dette bånd. @@ -491,124 +367,119 @@ igen. Ønsker du at prøve igen? DXClusterWidget - + Click on Connect to connect to the DX-Cluster server Klik på Forbind for at forbinde til DX-Cluster-serveren - - + + Connect Forbind - - - - + + + + Clear Ryd - + Click on connect to connect to the DX-Cluster Klik på forbind for at forbinde til DX-Cluster - + Trying to connect to the server Forsøger at forbinde til serveren - + + - KLog DXCluster KLog DXCluster - + The host was not found. Please check: Værten blev ikke fundet. Kontroller venligst: - + - your network connection; - the host name and port settings. - din netværksforbindelse; - værtsnavnet og portindstillinger. - + The connection was refused by the peer. Make sure the DXCluster server is running, and check that the host name and port settings are correct. Forbindelsen blev nægtet af modparten. Sikr dig, at DXCluster-serveren kører og kontroller at værtsnavnet og portindstillinger er korrekte. - + The following error occurred: %1. Den følgende fejl opstod: %1. - + Connected to server Forbundet med serveren - - - + + + KLog message KLog-besked - - + + Enter your callsign to connect to the cluster: Indtast dit kaldesignal for at forbinde til klyngen: - + Enter your password to connect to the cluster: (Just hit enter for no password) Indtast din adgangskode for at forbinde til klyngen: (Tryk på retur for at undlade adgangskode) - - + + Disconnect Afbryd - + Not logged on, you may need to enter your callsign again. Ikke logget ind, du skal eventuelt indtaste dit kaldesignal igen. - + Enter here the commands to be sent to the DX-Cluster server. Indtast kommandoerne, der skal sendes til DX-Cluster-serveren, her. - + Connection closed by the server Forbindelse afbrudt af serveren - + Click on Connect to connect to the DX-Cluster server. Klik på Forbind for at forbinde til DX-Cluster-serveren. - + Send Send - - - It was not possible to open the file to save the DX-Spots for writing. DX-Cluster activity will not be saved! - - DataProxy_SQLite @@ -617,182 +488,178 @@ igen. Ønsker du at prøve igen? Software version in DB is null Programversion i DB er nul - - No query failed - Ingen forespørgsel mislykkedes - - Query didn't failed - + No query failed + Ingen forespørgsel mislykkedes - + Aircraft Scatter Common term in hamradio, do not translate if not sure Flystøj - + Aurora Aurora - + Aurora-E Aurora-E - + Back scatter Common term in hamradio, do not translate if not sure Baggrundsstøj - + Earth-Moon-Earth Jorden-månen-jorden - + Sporadic E Sporadisk E - + Field Aligned Irregularities Common term in hamradio, do not translate if not sure Feltjusterede uregelmæssigheder - + F2 Reflection Common term in hamradio, do not translate if not sure F2-reflektion - + Internet-assisted Internetassisteret - + Ionoscatter Common term in hamradio, do not translate if not sure Ionostøj - + Meteor scatter Common term in hamradio, do not translate if not sure Meteorstøj - + Terrestrial or atmospheric repeater or transponder Terrestrisk eller atmosfærisk repeater eller transponder - + Rain scatter Common term in hamradio, do not translate if not sure Regnstøj - + Satellite Satellit - + Trans-equatorial Common term in hamradio, do not translate if not sure Trans-ækvatoriale - + Tropospheric ducting Common term in hamradio, do not translate if not sure Troposfærisk kanalisering - - + + Yes Ja - - + + No Nej - - + + Requested Anmodt - - + + Ignore/Invalid ignorer/ugyldig - + Validated Valideret - + Queued I kø - + Uploaded Overført - + Do not upload Overfør ikke - + Modified Ændret - + Bureau Common term in hamradio, do not translate if not sure Bureau - + Direct Direkte - + Electronic Elektronisk - + Manager Common term in hamradio, do not translate if not sure Manager - + KLog DXCC KLog-DXCC - + All QSOs have been updated with a DXCC and the Continent. Alle QSO'er er blevet opdateret med en DXCC og kontinentet. @@ -800,22 +667,22 @@ igen. Ønsker du at prøve igen? DownLoadCTY - + Download of cty.csv failed with the following error code: Overførsel af cty.csv mislykkedes med den følgende fejlkode: - + Download of cty.csv done. Overførsel af cty.csv udført. - + There is already a cty.csv file in the folder but it will be replaced with the new one. Der er allerede en cty.csv-fil i mappen, men den vil blive erstattet med den nye. - + Could not open %1 for writing Kunne ikke åbne %1 for at skrive @@ -823,357 +690,200 @@ igen. Ønsker du at prøve igen? FileManager + The log that you have selected contains more than just one station callsign. - Loggen du har valgt indeholder mere end bare et stationskaldesignal. + Loggen du har valgt indeholder mere end bare et stationskaldesignal. + Station Callsign: - Stationskaldesignal: + Stationskaldesignal: + Define Station Callsign - Definer stationskaldesignal + Definer stationskaldesignal + You have selected no callsign. KLog will export QSOs without a station callsign defined and those with the call you are entering here. - Du har ikke valgt et kaldesignal. KLog vil eksportere QSO'er uden et stationskaldesignal defineret og dem med kaldet du indtaster her. + Du har ikke valgt et kaldesignal. KLog vil eksportere QSO'er uden et stationskaldesignal defineret og dem med kaldet du indtaster her. + Enter the station callsign to use for this log or leave it empty for QSO without station callsign defined: - Indtast stationskaldesignalet at bruge for denne log eller efterlad den tom for QSO uden stationskaldesignale defineret: + Indtast stationskaldesignalet at bruge for denne log eller efterlad den tom for QSO uden stationskaldesignale defineret: - - - + + Writing ADIF file... Skriver ADIF-fil ... - - - - + + + Abort writing Afbryd skrivning - + Exporting LoTW ADIF file... Eksporterer LoTW ADI-fil ... - + Writing ADIF file... QSO: Skriver ADIF-fil ... QSO: - - - + You have canceled the file export. The file will be removed and no data will be exported. Du har afbrudt fileksporten. Filen vil blive fjernet og ingen data vil blive eksporteret. - - KLog - Error - - - - - - The selected log does not exist, please check it again. - - - - - The selected callsign (%1) is not valid, please check it again. - - - - - - The file %1 can't be opened. - - - - - - There are no QSOs pending to be uploaded with that station callsign. - - - - - - - - KLog - Invalid call detected - - - - - - - - An invalid callsign has been detected %1. Do you want to export this callsign anyway (click on Yes) or remove the call from the exported log file? - - - - - - - - Exporting wrong calls may create problems in the applications you are potentially importing this logfile to. It may, however, be a good callsign that is wrongly identified by KLog as not valid. You can, however, edit the ADIF file once the export process is finished. - - - - - - - - - KLog - User cancelled - - - - - - - - + + Do you still want to cancel? Ønsker du stadig at afbryde? - - The selected callsign (%1) is not valid, please check it again to export the log. - - - - - Exporting ADIF file... - - - - + Writing Cabrillo file... Skriver Cabrillo-fil ... - + KLog: Cabrillo Log Export not implemented KLog: Cabrillo-logeksport er ikke implementeret - + I am sorry but the Cabrillo Export To File feature has still not been implemented. Jeg beklager, men Cabrillo eksport til fil-funktionen er endnu ikke implementeret. - - KLog - File not opened - - - - - It was not possible to open the file %1 for reading. - - - - - KLog was not able to read the LoTW file - - - - + Reading LoTW file... Læser LotW-fil ... - - Importing LoTW ADIF file... - - - - - KLog - Log selection - - - - - KLog - Duplicated QSOs - - - - - KLog has found one QSO without the Station Callsign defined. - -Enter the Station Callsign that was used to do this QSO on %1: - - - - - - You have canceled the file import. The file will be removed and no data will be imported. - - - - - This QSO is not including the minimum data to consider a QSO as valid! - - - - + - The band missing and the following call: - Båndet mangler og det følgende kald: + - The call missing but was done at this time: - - Kaldet mangler men blev udført på dette tidspunkt: + - Kaldet mangler men blev udført på dette tidspunkt: - + - The mode missing and the following call: - Tilstanden mangler og det følgende kald: - + - The date missing and the following call: - Datoen mangler og det følgende kald: - + - The time missing and the following call: - Tidspunktet mangler og det følgende kald: - - Some QSOs of this log, (i.e.: %1) seems to lack RST-TX information. + + Some QSO of this log, (i.e.: %1) seems to lack of RST-RX information. - - Click on Yes to add a default 59 to all QSOs with a similar problem. - - - - - If you select NO, maybe the QSO will not be imported. - - - - - Some QSOs of this log, (i.e.: %1) seems to lack RST-RX information. - - - - - KLog - Apply to all QSOs in this log? - - - - - - KLog - No Station callsign entered. - - - - - KLog has found one QSO without the Station Callsign defined. - -Enter the Station Callsign that was used to do this QSO with %1 on %2: - - - - - - KLog - QSO without Station Callsign - - - - + Reading ADIF file... Læser ADIF-fil ... - - + + Abort reading Om læsning - - - - + + QSO: QSO: + Please select the station callsign you want to export the log from: - Vælg venligst stationskaldesignalet du ønsker at eksportere loggen fra: + Vælg venligst stationskaldesignalet du ønsker at eksportere loggen fra: + No station callsign has been selected and therefore no log will be exported - Intet stationskaldesignal er valgt og derfor vil ingen log blive eksporteret + Intet stationskaldesignal er valgt og derfor vil ingen log blive eksporteret - + There is more than one log in this logfile. Der er mere end en log i denne logfil. - + All logs will be imported into the current log. Alle logge vil blive importeret i den nuværende log. - + Do you want to continue? Ønsker du at fortsætte? - + Importing ADIF file... Importerer ADIF-fil ... - + It seems that there are some duplicated QSOs in the ADIF file you are importing. Do you want to continue? (Duped QSOs will not be imported) Der ser ud til at der er nogle dublette QSO'er i ADIF-filen, du importerer. Ønsker du at fortsætte? (dublette QSO'er vil ikke blive importeret) + You have cancelled the file import. The file will be removed and no data will be imported. - Du har afbrudt filimporten. Filen vil blive fjernet og ingen data vil blive importeret. + Du har afbrudt filimporten. Filen vil blive fjernet og ingen data vil blive importeret. + This QSO is not including the minimum data to consider a QSO as valid!. - Denne QSO inkluderer ikke de minimumsdata der er krævet for at en QSO er gyldig!. + Denne QSO inkluderer ikke de minimumsdata der er krævet for at en QSO er gyldig!. - + Please edit the ADIF file and make sure that it include at least: Rediger din ADI-fil og sikr dig at den som minimum indeholder: - + and og - + This QSO had: Denne QSO havde: - + Do you want to continue with the current file? Ønsker du at fortsætte med den nuværende fil? - + KLog: Not all required data found! KLog: Ikke alle krævede data blev fundet! @@ -1182,17 +892,24 @@ Enter the Station Callsign that was used to do this QSO with %1 on %2: Denne log ser ud til at mangle RST-TX-information. - + + Click on Yes to add a default 59 to all QSO with a similar problem. Klik på Ja for at tilføje en standard 59 til alle QSO med et tilsvarende problem. - + + If you select NO, the QSO may not be imported. Hvis du vælger Nej, så bliver QSO'en måske ikke importeret. - + + Some QSO of this log, (i.e.: %1) seems to lack of RST-TX information. + + + + KLog: No RST TX found! KLog: Ingen RST TX blev fundet! @@ -1201,7 +918,7 @@ Enter the Station Callsign that was used to do this QSO with %1 on %2: Denne log ser ud til at mangle RST-RX-information. - + KLog: No RST RX found! KLog: Ingen RST RX fundet! @@ -1339,23 +1056,15 @@ Enter the Station Callsign that was used to do this QSO with %1 on %2: This looks like it's the first time you've run KLog on this computer. Dette ser ud til, at det er første gang du afvikler KLog på denne computer. - - KLog is a free hamradio logging program that can run on Linux macOS and Windows. - KLog er et frit logningsprogram for amatørradio, som kan afvikles på Linux, macOS and Windows. - - - It is designed to provide general purpose, DX and contest logging. - Det er designet til at tilbyde almen, DX- og konkurrencelogning. - - KLog is a free hamradio logging program that can run on Linux, macOS, and Windows. - + KLog is a free hamradio logging program that can run on Linux macOS and Windows. + KLog er et frit logningsprogram for amatørradio, som kan afvikles på Linux, macOS and Windows. - It is designed to provide general purpose DX, and contest logging. - + It is designed to provide general purpose, DX and contest logging. + Det er designet til at tilbyde almen, DX- og konkurrencelogning. @@ -1416,161 +1125,6 @@ Enter the Station Callsign that was used to do this QSO with %1 on %2: Vær opmærksom på at KLog er et frit program. - - LoTWUtilities - - - KLog - LoTW password needed - - - - - Please enter your LoTW password: - - - - - KLog - File exist - - - - - There is a file already existing with the name that will be used. - - - - - The file %1 already exist. Do you want to overwrite? - - - - - KLog - Can't write the file - - - - - KLog was not able to save the file %1. -Error returned: %2 - - - - - The file already %1 exist. - - - - - Downloading data to file: %1. - - - - - - KLog - LoTW download - - - - - KLog - Download error - - - - - The downloading error is: %1 - - - - - There was an error while downloading the file from LoTW. - - - - - KLog - Redirection found - - - - - The remote server redirected our connection to %1 - - - - - Do you want to follow the redirection? - - - - - It was not possible for find the file %1 that has been just downloaded. - - - - - It seems that LoTW has no QSO with the Station Callsign you are using (%1). - - - - - Try again and send the downloaded file (%1) to the KLog developer for analysis. - - - - - KLog downloaded %1 QSOs successfully. Do you want to update your log with the downloaded data? - - - - - KLog - File not found - - - - - KLog can't find the downloaded file. - - - - - KLog - LoTW user/password error - - - - - LoTW server did not recognized your user/password - - - - - Check your user and password and ensure your are using the right one before trying again. - - - - - KLog - LoTW No QSOs - - - - - LoTW sent no QSOs - - - - - KLog - LoTW Unknown error - - - - - KLog can't recognize the file that has been downloaded from LoTW. - - - - - Now KLog will process the downloaded QSO and update your local log. - - - LogModel @@ -1617,175 +1171,86 @@ Error returned: %2 LogWindow - + QSL Send QSL send - + QSL Rcvd QSL modt - + &Delete &Slet - + Delete a QSO Slet en QSO - + &Edit QSO &Rediger QSO - + Edit this QSO Rediger denne QSO - + Via &bureau Via &bureau - + Send this QSL via bureau Send denne QSL via bureau - + D&irect D&irect - + Send this QSL via direct Send denne QSL via direct - + Via bureau Via bureau - + QSL &received via bureau QSL &modtaget via bureau - + Direct Direct - + QSL received via direc&t QSL modtaget via direc&t - - Check in QRZ.com - - - - - Check this callsign in QRZ.com - - - - - Check in DXHeat.com - - - - - Check this callsign in DXHeat.com - - - - + You have requested to delete this QSO. Du har anmodt om at slette denne QSO. - + Are you sure? Er du sikker? - - MainQSOEntryWidget - - - - - &Add - &Tilføj - - - - &Clear - &Ryd - - - - QRZ of the QSO. - QRZ for QSO'en. - - - - Band of the QSO. - Bånd for QSO'en. - - - - Mode of the QSO. - Tilstand for QSO'en. - - - - Date of the QSO. - Dato for QSO'en. - - - - Time of the QSO. - Tidspunkt for QSO'en. - - - - Add the QSO to the log. - Tilføj QSO'en til loggen. - - - - Clears the QSO entry. - Rydder QSO-elementet. - - - - KLog will show real time if enabled. - - - - - QRZ - QRZ - - - Invalid characters used in the QRZ - Ugyldige tegn brugt i QRZ'en - - - - &Modify - &Ændr - - MainWindow @@ -1793,30 +1258,35 @@ Error returned: %2 Genberegn - + Starting KLog Starter KLog + + + + &Add - &Tilføj + &Tilføj + &Clear - &Ryd + &Ryd + Status bar... - Statuslinje ... + Statuslinje ... - - + DX Entity DX-entitet - + &Log Window &Logvindue @@ -1836,33 +1306,28 @@ Error returned: %2 MHz - - + + KLog Klog - + It seems that you have never done a backup or exported your log to ADIF. - - It was not possible to open the debug file for writing. No debug log will be saved! - - - - + It seems that the latest backup you did is older than one month. - + Log backup recommended! - + It is a good practice to backup your full log regularly to avoid loosing data in case of a problem. Once you export your log to an ADIF file, you should copy that file to a safe place, like an USB drive, cloud drive, another computer, ... @@ -1872,111 +1337,88 @@ KLog will remind you to backup on a monthly basis. - + KLog new version detected! - + It seems that you are running this version of KLog for the first time. - + The setup will be open to allow you to do any new setup you may need. - + Ready Klar - + An unexpected error ocurred when trying to add the QSO to your log. If the problem persists, please contact the developer for analysis: Der opstod en uventet fejl under tilføjelse af QSO'en til din log. Hvis problemet består, så kontakt udvikleren for fejlsøgning: - - - KLog - Not valid call - - - - - - The call %1 is not a valid call. Do you really want to add this call to the log? - - - - - - Adding non-valid calls to the log may create problems when applying for awards, exporting ADIF files to other systems or applications. - - - - - + + You have selected an entity: Du har valgt en entitet: - - + + that is different from the KLog proposed entity: som er anderledes fra den af KLog foreslåede entitet: - + Click on the prefix of the correct entity or Cancel to edit the QSO again. Klik på præfikset for den korrekte entitet eller Afbryd for at redigere QSO'en igen. - - - No DXCC - - - - - - None - Ingen - - - + Click on the prefix of the right entity or Cancel to correct. Klik på præfikset på den højre entitet eller Afbryd for at rette. + Input - Inddata + Inddata - + + RSTrx RSTrx - + + RSTtx RSTtx - + + + QRZ QRZ + STX - STX + STX + SRX - SRX + SRX - + Do you really want to exit KLog? @@ -1985,15 +1427,16 @@ KLog will remind you to backup on a monthly basis. NEW MULT + Invalid characters used in the QRZ - Ugyldige tegn brugt i QRZ'en + Ugyldige tegn brugt i QRZ'en Ready... Klar ... - + &File &Fil @@ -2006,7 +1449,7 @@ KLog will remind you to backup on a monthly basis. &Åbn ... - + &Import from ADIF... &Importer fra ADIF ... @@ -2015,552 +1458,347 @@ KLog will remind you to backup on a monthly basis. &Gem som ... - + Export ALL the QSOs into one ADIF file, merging QSOs from all the logs. Eksporter ALLE QSO'erne til en ADIF-fil, sammenføj QSO'erne fra alle loggene. + Export an ADIF file to be sent to LoTW. Remember to sign it with TQSL before uploading to LoTW! - Eksporter en ADIF-fil som skal sendes til LoTW. Husk at underskrive den med TQSL før overførsel til LoTW! + Eksporter en ADIF-fil som skal sendes til LoTW. Husk at underskrive den med TQSL før overførsel til LoTW! - + &Print Log... &Udskriv log ... - + KLog folder KLog-mappe - + E&xit &Afslut - + &Tools &Værktøjer - + Fill in QSO data Udfyld QSO-data - + QSL tools... QSL-værktøjer ... - + &Find QSO to QSL &Find QSO til QSL - + Find My-QSLs pending to send Find My-QSL'er under afsendelse - + Shows the QSOs with pending requests to send QSLs. You should keep this queue empty! Viser QSO'erne med afventende forespørgsler for at sende QSL'er. Du bør holde denne kø tom! - + &Find DX-QSLs pending to receive &Find DX-QSL'er under modtagelse - - Shows DX-QSLs for which requests or QSLs have been sent with no answer. - - - - + &Find requested pending to receive &Find anmodte under modtagelse - + Import an ADIF file into the current log. Importer en ADIF-fil ind i den aktuelle log. - + Export the current log to an ADIF logfile. Eksporter den aktuelle log til en ADIF-logfil. + Export all QSOs requesting QSLs to an ADIF file (e.g. to import it into a QSL tag printing program). - Eksporter alle QSO'er der anmoder om QSL'er til en ADIF-fil (f.eks. for at importere den i et udskrivningsprogram for QSL-mærker). + Eksporter alle QSO'er der anmoder om QSL'er til en ADIF-fil (f.eks. for at importere den i et udskrivningsprogram for QSL-mærker). - + Print your log. Udskriv din log. - + Opens the data folder of KLog. Åbner datamappen for KLog. - + Go through the log reusing previous QSOs to fill missing information in other QSOs. Gå igennem loggen der genbruger tidligere QSO'er for at udfylde manglende information i andre QSO'er. + Fill in DXCC data - Udfyld DXCC-data + Udfyld DXCC-data + Go through the log filling QSOs without a DXCC defined. - Gå igennem de logudfyldnede QSO'er uden en DXCC defineret. + Gå igennem de logudfyldnede QSO'er uden en DXCC defineret. - + Shows QSOs for which you should send your QSL and request the DX QSL. Viser QSO'er som du bør sende din QSL og forespørge på DX QSL'en. + Shows the DX-QSL that has been requested or QSLs has been sent with no answer. - Viser den anmodte DX-QSL eller QSL'er sendt uden noget svar. + Viser den anmodte DX-QSL eller QSL'er sendt uden noget svar. + Shows the DX-QSL that has been requested. - Viser DX-QSL'en som er blevet forespurgt. + Viser DX-QSL'en som er blevet forespurgt. - + LoTW tools... LoTW-værktøjer ... + Mark all non sent QSOs in this log as queued to be uploaded. - Marker alle ikke sendte QSO'er i denne log som er lagt i kø til overførsel. + Marker alle ikke sendte QSO'er i denne log som er lagt i kø til overførsel. + Queue all QSL to be sent of this log - Sæt hele QSL'en i kø til afsendelse for denne log - - - - KLog - File not open - - - - - Status bar ... - - - - - KLog - Unexpected error - - - - - - KLog - Select correct entity - - - - - KLog - Exit - + Sæt hele QSL'en i kø til afsendelse for denne log + Queue all QSL to be sent - Sæt hele QSL'en i kø til afsendelse + Sæt hele QSL'en i kø til afsendelse + Mark all non sent QSOs as queued to be uploaded. - Marker alle ikke sendte QSO'er som i kø til overførsel. + Marker alle ikke sendte QSO'er som i kø til overførsel. + Mark as sent all queued QSO of this log - Marker som sendt alle QSO'er i kø for denne log + Marker som sendt alle QSO'er i kø for denne log - + Mark all queued QSOs in this log as sent to LoTW. Marker alle QSO'er i kø i denne log som sendt til LoTW. + Mark all queued QSO as sent - Marker alle QSO'er i kø som sendt + Marker alle QSO'er i kø som sendt - + Mark all queued QSOs as sent to LoTW. Marker alle QSO'er i kø som sendt til LoTW. - - Upload to LoTW - - - - - Sends the log to LoTW calling TQSL. - - - - + &Update cty.csv &Opdaater cty.csv - - + + For updated DX-Entity data, update cty.csv. For opdaterede DX-Entity-data, opdater cty.csv. - + &Setup &Opsætning - + &Setup... &Opsætning ... - + &Help &Hjælp - + Check updates... Kontroller opdateringer ... - + &About... &Om ... - + About Qt... Om Qt ... - - - - - - - - - - - - + + + + + + + + KLog LoTW KLog-LoTW + All pending QSO of this log has been marked as queued for LoTW! - Al QSO i kø for denne log er blevet markeret som sat i kø for LoTW! + Al QSO i kø for denne log er blevet markeret som sat i kø for LoTW! + + There was a problem to mark all pending QSO of this log as queued for LoTW! - Der opstod et problem under markering af al igangværende QSO for denne log som sat i kø for LoTW! + Der opstod et problem under markering af al igangværende QSO for denne log som sat i kø for LoTW! + All pending QSO has been marked as queued for LoTW! - Al igangværende QSO er blevet markeret som sat i kø for LoTW! + Al igangværende QSO er blevet markeret som sat i kø for LoTW! - - KLog - TQSL - - - - - TQSL is not installed or KLog can't find it. Please check the configuration. - - - - - Error #1: The process was cancelled by the user or TQSL was not configured. No QSOs were uploaded. - - - - - Error #2: Upload was rejected by LoTW, please check your data. - - - - - Error #3: The TQSL server returned an unexpected response. - - - - - Error #4: There was a TQSL error. - - - - - Error #5: There was a TQSLLib error. - - - - - Error #6: It was not possible to open the input file. - - - - - Error #7: It was not possible to open the ouput file. - - - - - Error #8: No QSOs were processed since some QSOs were duplicates or out of date range. - - - - - Error #9: Some QSOs were processed, and some QSOs were ignored because they were duplicates or out of date range. - - - - - Error #10: Command syntax error. KLog sent a bad syntax command. - - - - - Error #11: LoTW Connection error (no network or LoTW is unreachable). - - - - - Error #00: Unexpected error. Please contact the development team. - - - - + Please select the station callsign you want to mark as sent to LoTW: Vælg venligst stationskaldesignalet du ønsker at markere som sendt til LoTW: - - KLog - No station selected - - - + All queued QSO of this log has been marked as sent for LoTW! - Al QSO sat i kø for denne log er blevet markeret som sendt for LoTW! + Al QSO sat i kø for denne log er blevet markeret som sendt for LoTW! + There was a problem to mark all queued QSO of this log as sent for LoTW! - Der opstod et problem under markering af al QSO sat i kø for denne log som sendt for LoTW! + Der opstod et problem under markering af al QSO sat i kø for denne log som sendt for LoTW! - + The log that you have selected contains more than just one station callsign. Loggen du har valgt indeholder mere end bare et stationskaldesignal. - + + It was not possible to open the debug file for writting. No debug log will be saved! + + + + Export to ADIF... Eksporter til ADIF ... - + Export all logs to ADIF... Eksporter alle logge til ADIF ... + Export Requested QSL to ADIF... - Eksporter valgt QSL til ADIF ... + Eksporter valgt QSL til ADIF ... + Export ADIF for LoTW... - Eksporter ADIF for LoTW ... + Eksporter ADIF for LoTW ... - - Shows the DX-QSLs that have been requested. - - - - - Queue all QSLs from this log to be sent - - - - - Mark all non-sent QSOs in this log as queued to be uploaded. - - - - - Queue all QSLs to be sent - - - - - Put all the non-sent QSOs in the queue to be uploaded. - - - - - Mark as sent all queued QSOs of this log - - - - - Mark all queued QSOs as sent - - - - - Download from LoTW - - - - + &Tips... - - + + Now you can go to the File menu to export the LoTW ADIF file and upload it to LoTW. Nu kan du gå til filmenuen for at eksportere LoTW ADIF-filen og overføre den til LoTW. - - All pending QSOs of this log has been marked as queued for LoTW! - - - - - - There was a problem to mark all pending QSOs of this log as queued for LoTW! - - - - - Your log has not been updated. - - - - - No QSO was updated with the data coming from LoTW. This may be because of errors in the logfile or simply because your log was already updated. - - - - - All pending QSOs has been marked as queued for LoTW! - - - - - TQSL finished with no error. - - - - + Station Callsign: Stationskaldesignal: - + Define Station Callsign Definer stationskaldesignal - + You have selected no callsign. KLog will mark QSOs without a station callsign defined and those with the call you are entering here. Du har ikke valgt et kaldesignal. KLog vil markere QSO'er uden et stationskaldesignal defineret og dem med kaldet du indtaster her. - + Enter the station callsign to use for this log or leave it empty for QSO without station callsign defined: Indtast stationskaldesignalet at bruge for denne log eller efterlad den tom for QSO uden stationskaldesignal defineret: - + No station callsign has been selected and therefore no log will be marked Intet stationskaldesignal er blevet valgt og derfor vil ingen log blive markeret - - Select the Station Callsign to use when quering LoTW: - - - - - Please check the LoTW setup - - - - - You have not defined a LoTW user or a proper Station Callsign. -Open the LoTW tab in the Setup and configure your LoTW connection. - - - - - KLog - Non-supported mode - - - - - A new mode not supported by KLog has been received from an external program or radio: - - - - - Do you want to keep receiving these alerts? (disabling these alerts will prevent non-valid modes being detected) - - - - - Recommendation: - - - - - Periodically export your data to ADIF to prevent a potential data loss. - - - + All queued QSO has been marked as sent to LoTW! - Al QSO sat i kø er blevet markeret som sendt til LoTW! + Al QSO sat i kø er blevet markeret som sendt til LoTW! + There was a problem to mark all queued QSO of this log as sent to LoTW! - Der opstod et problem under markering af al QSO sat i kø for denne log som sendt til LoTW! + Der opstod et problem under markering af al QSO sat i kø for denne log som sendt til LoTW! - + About... Om ... - + KLog update checking result Kontrolresultat for KLog-opdatering - + Congratulations! Tillykke! - + You already have the latest version. Du har allerede den seneste version. @@ -2585,7 +1823,7 @@ Open the LoTW tab in the Setup and configure your LoTW connection. Enhver fil - + You can find the KLog data folder here: Du kan finde KLog-datamappen her: @@ -2594,116 +1832,77 @@ Open the LoTW tab in the Setup and configure your LoTW connection. DUPE - + start start - + stop stop + It seems that there are no QSO in the database. - Der ser ud til, at der ikke er QSO i databasen. + Der ser ud til, at der ikke er QSO i databasen. - + If you are sure that the database contains QSOs and KLog is not able to find them, please contact the developers (see About KLog) for help. Hvis du er sikker på, at databasen indeholder QSO'er og KLog ikke kan finde dem, så kontakt udviklerne (se Om KLog) for hjælp. - - It seems that there are no QSOs in the database. - - - - - This function is disabled. Go to the Setup->LoTW tab to enable it. - - - - - + + TX Frequency in MHz. TX-frekvens i MHz. - - + + RX Frequency in MHz. RX-frekvens i MHz. - + Power used by the DX. Strøm brugt af DX'en. - + Logging operator's callsign. Logningsoperatørs kaldesignal. - + Callsign used over the air. Kaldesignal brugt over radioen. - - KLog ADIF export - - - - - No QSOs have been exported to ADIF. - - - - - KLog has exported %1 QSOs to the ADIF file: %2 - - - - - If you uploaded any QSO to LoTW while you were using TQSL you can now mark them as sent in KLog. - -Do you want to mark as Sent all the QSOs uploaded to LoTW? - - - - - There was an error while updating to Yes the LoTW QSL sent information. - - - - - KLog - Select the Station Callsign. - - - - + My QTH locator. Min QTH-locator. - + Name of the DX. Navn på DX'en. - + QTH of the DX. QTH for DX'en. - + Locator of the DX. Locator for DX'en. + + QRZ of the QSO. - QRZ for QSO'en. + QRZ for QSO'en. Click to recalculate the award status. @@ -2714,105 +1913,92 @@ Do you want to mark as Sent all the QSOs uploaded to LoTW? Årlig - + + TX RST. TX RST. - + + RX RST. RX RST. + + TX Exchange. - TX Exchange. + TX Exchange. + + RX Exchange. - RX Exchange. + RX Exchange. + + Band of the QSO. - Bånd for QSO'en. + Bånd for QSO'en. + + Mode of the QSO. - Tilstand for QSO'en. + Tilstand for QSO'en. + + Date of the QSO. - Dato for QSO'en. + Dato for QSO'en. + + Time of the QSO. - Tidspunkt for QSO'en. + Tidspunkt for QSO'en. + + Add the QSO to the log. - Tilføj QSO'en til loggen. + Tilføj QSO'en til loggen. + Clear the box. - Ryd boksen. + Ryd boksen. - + The logfile has been modified. Logfilen er blevet ændret. - + Do you want to save your changes? Ønsker du at gemme dine ændringer? - + &Update Satellite Data &Updater satellitdata - + Stats Stat - + Show the statistics of your radio activity. Vi statistik over din radioaktivitet. - - Your log has been updated with the LoTW downloaded QSOs. - - - - - KLog has updated %1 QSOs from LoTW. - - - - - All queued QSOs of this log has been marked as sent for LoTW! - - - - - There was a problem to mark all queued QSOs of this log as sent for LoTW! - - - - - All queued QSOs has been marked as sent to LoTW! - - - - - There was a problem to mark all queued QSOs of this log as sent to LoTW! - - - - - + + UDP Server error The UDP server failed to %1. start or stop @@ -2820,8 +2006,9 @@ The UDP server failed to %1. UDP-serveren mislykkedes i at %1. + Clears the QSO entry. - Rydder QSO-elementet. + Rydder QSO-elementet. Number of confirmed DXCC entities. @@ -2876,23 +2063,23 @@ UDP-serveren mislykkedes i at %1. Vælg året du ønsker at kontrollere. - + Status of the DX entity. Status på DX-entitet. - + Name of the DX entity. Navn på DX-entitet. - - + + Name Navn - + QTH QTK @@ -2901,63 +2088,63 @@ UDP-serveren mislykkedes i at %1. Locator - + Power(rx) Power(rx) - + RST(tx) RST(tx) - + RST(rx) RST(rx) - + Freq TX Freq TX - + Freq RX Freq RX - + QSO QSO - + QSL QSL - + eQSL eQSL - - + + Comment Kommentar - + Others Andre - + My Data Mine data - + Satellite Satellit @@ -2966,7 +2153,7 @@ UDP-serveren mislykkedes i at %1. QSO'er - + DXCC DXCC @@ -2983,7 +2170,7 @@ UDP-serveren mislykkedes i at %1. DX-Marathon - + Info Info @@ -3008,85 +2195,72 @@ UDP-serveren mislykkedes i at %1. Lokal - + Awards Præmier - + Search Søg - + Log Log - + DX-Cluster DX-Cluster - - - + + + + Save ADIF File Gem ADIF-fil - - The LoTW upload process has finished and KLog created a file (%1) in your KLog folder. - -Do you want KLog to remove that file? - - - - - The file has been removed. - - - - Please select the station callsign you want to export the log from: - Vælg venligst stationskaldesignalet du ønsker at eksportere loggen fra: - - - - - KLog - LoTW - - - + LoTW logfile has been properly exported! - LoTW-logfil er blevet korrekt eksporteret! + LoTW-logfil er blevet korrekt eksporteret! + Remember to: - Husk at: + Husk at: + Before uploading: sign the LoTW log; and - Før overførsel: underskriv LoTW-loggen; og + Før overførsel: underskriv LoTW-loggen; og + After uploading: mark as sent all the queued QSO (LoTW Tools). - Efter overførsel: marker hele QSO-køen som sendt (LoTW-værktøjer). + Efter overførsel: marker hele QSO-køen som sendt (LoTW-værktøjer). + There was no QSO to be exported. - Der var ingen QSO at eksportere. + Der var ingen QSO at eksportere. + If you think that some QSO should have been exported, please look for them and ensure that the eQSL LoTW QSL sent box is marked as: - Hvis du mener at QSO skulle være eksporteret, så kig efter dem og sikr dig at send-bakken for eQSL LoTW QSL'en er markeret som: + Hvis du mener at QSO skulle være eksporteret, så kig efter dem og sikr dig at send-bakken for eQSL LoTW QSL'en er markeret som: + Q - Queued - Q - sat i kø + Q - sat i kø + There was an error while exporting the LoTW. The log has not been exported! - Der opstod en fejl under eksport af LoTW'en. Loggen er ikke blevet eksporteret! + Der opstod en fejl under eksport af LoTW'en. Loggen er ikke blevet eksporteret! Save Cabrillo File @@ -3099,261 +2273,257 @@ Do you want KLog to remove that file? QSO: - + TX Frequency in MHz. Frequency is not in a hamradio band! TX-frekvens i MHz. Frekvens er ikke i et amatørradiobånd! - + RX Frequency in MHz. Frequency is not in a hamradio band! RX-frekvens i MHz. Frekvens er ikke i et amatørradiobånd! - + Call Call - + Freq Frek - + Time On Tid på - + Time Off Tid væk - + RST TX RST TX - + RST RX RST RX - + DX-Grid DX-Grid - + Comments Kommentarer - + TX Pwr TX Pwr - + Operator Operatør - + Local-Grid Lokalt-Net - + QSO logged from WSJT-X: QSO logget fra WSJT-X: - + + Open File Åbn fil - + DX Locator DX-lokalisering + &Modify - &Ændr + &Ændr - + My QTH locator. Format should be Maidenhead like IN70AA up to 10 characters. - + - Needed for DXMarathon - Krævet for DXMarathon - + Filling QSOs... Udfylder QSO'er ... - + Abort filling Afbryd udfyldning - + Filling DXCC, CQz, ITUz, Continent in QSOs... QSO: - + Number Nummer - + Date Dato - + Time Tidspunkt - + Band Bånd - - + + Mode Tilstand - + Print Log Udskrivningslog - + Printing the log... Udskriver loggen ... - + Abort printing Om udskrivning - - + + Printing the log... QSO: Udskrivning af loggen ... QSO: - + KLog QSO received KLog QSO modtog - + The following QSO data has been received from WSJT-X to be logged: De følgende QSO-data er blevet modtaget fra WSJT-X for at blive logget: + Do you want to keep receiving this alerts? (disabling this alerts will prevent that non-valid modes are detected) - Ønsker du at fortsætte med at modtage alarmer? (deaktivering af disse alarmer vil forhindre at ikke-gyldige tilstande registreres) + Ønsker du at fortsætte med at modtage alarmer? (deaktivering af disse alarmer vil forhindre at ikke-gyldige tilstande registreres) - + If the received mode is correct, please contact KLog development team and request support for that mode Hvis den modtagne tilstand er korrekt, så kontakt venligst KLog-udviklingsholdet og anmod om understøttelse for den tilstand + A new mode not supported by KLog has been received from an external software or radio: - En ny tilstand ikke understøttet af KLog er blevet modtaget fra et eksternt program eller radio: + En ny tilstand ikke understøttet af KLog er blevet modtaget fra et eksternt program eller radio: - - KLog - Duplicated satellite - - - - + A duplicated satellite has been detected in the file and will not be imported. En dubletsatellit er blevet registreret i filen og vil ikke blive importeret. - + Please check the satellite information file and ensure it is properly populated. Kontroller venligst satellitinformationsfilen og sikr dig at den er korrekt udfyldt. - + Now you will see a more detailed error that can be used for debugging... Nu vil du se en mere detaljeret fejl, som kan bruges til fejlsøgning ... - + An unexpected error ocurred!! Der opstod en uventet fejl! - + If the problem persists, please contact the developers Hvis problemet består, så kontakt udviklerne - + for analysis: for analyse: - + Error in function Fejl i funktion - + Error code Fejlkode - + Error text Fejltekst - + Failed query Mislykket forespørgsel + Recomendation: - Anbefaling: + Anbefaling: + Export, periodically, your data to ADIF to prevent a potential data loss. - Eksporter, periodisk, dine data til ADIF for at forhindre et potentielt datatab. + Eksporter, periodisk, dine data til ADIF for at forhindre et potentielt datatab. - - KLog - Show errors - - - - + Do you want to keep showing errors? Ønsker du fortsat at vise fejl? @@ -3369,77 +2539,77 @@ Frekvens er ikke i et amatørradiobånd! MainWindowInputEQSL - + Date of the ClubLog upload. Dato for ClubLog-overførslen. - + Date of the eQSL sending. Dato for eQSL-afsendelsen. - + Date of the eQSL reception. Dato for eQSL-modtagelsen. - + Date of the LoTW sending. Dato for LoTW-afsendelsen. - + Date of the LoTW reception. Dato for LoTW-modtagelsen. - + Status of the LoTW sending. Status for LoTW-afsendelsen. - + Status of the LoTW reception. Status for LoTW-modtagelsen. - + LoTW Sent LoTW sendt - + LoTW Rec LoTW modt - + Status on ClubLog. Status for ClubLog. - + Status of the eQSL sending. Status for eQSL-afsendelsen. - + Status of the eQSL reception. Status for eQSL-modtagelsen. - + ClubLog ClubLog - + eQSL Sent eQSL sendt - + eQSL Rec eQSL modt @@ -3579,68 +2749,64 @@ Frekvens er ikke i et amatørradiobånd! MainWindowMyDataTab + Watt - Watt + Watt - - Watts - Watt - - - + Keep this data Behold disse data - - + + Data entered in this tab will be copied into the next QSO. Data indtastet i dette faneblad vil blive kopieret til den næste QSO. - + Power used for the QSO in watts. Strøm brugt for QSO'en i watt. - + Logging operator's callsign. Logningsoperatørs kaldesignal. - + Callsign used over the air. Kaldesignal brugt over radioen. - - + + My QTH locator. Min QTH-locator. - + Power Strøm - + Operator Operatør - + Station Callsign Stationkaldesignal - + My Locator Min locator - + My QTH locator. Format should be Maidenhead like IN70AA up to 10 characters. @@ -3654,7 +2820,7 @@ Frekvens er ikke i et amatørradiobånd! - + Other - Sat not in the list Andre - sat er ikke i listen @@ -3691,7 +2857,7 @@ Frekvens er ikke i et amatørradiobånd! - + Locator of the DX station. This box is synchronized with the Locator box in the QSO tab. Lokalisering af DX-stationen. Denne boks er synkroniseret med lokaliseringsboksen i QSO-fanebladet. @@ -3732,55 +2898,51 @@ Frekvens er ikke i et amatørradiobånd! MHz - + Locator of the DX station. Format should be Maidenhead like IN70AA up to 10 characters. - + Not Sat QSO Ikke sat QSO - + KLog has detected a satellite name that it does not recognise. If it should use one of the names of known satellites instead, please select it from the list. Alternatively, please contact the development team to add the new satellite name. KLog har registreret et satellitnavn, som det ikke genkender. Hvis det skal bruge et af navnene på kendte satellitter i stedet for, vælg det fra listen. Alternativt så kontakt udviklingsholdet for at tilføje det nye satellitnavn. - + The satellite you have in your QSO is: Satellitten du har i din QSO er: - - Please be aware that the satellite name will not be saved if it is not in the list, so that information may be lost! - - - + Please know that the satellite name will not be saved if it is not in the list so that information may be lost! - Husk at satellitnavnet ikke vil blive gemt, hvis det ikke er i listen, så den information kan gå tabt! + Husk at satellitnavnet ikke vil blive gemt, hvis det ikke er i listen, så den information kan gå tabt! - + RX Frequency in MHz. Frequency is not in a hamradio band! RX-frekvens i MHz. Frekvens er ikke i et amatørradiobånd! - + RX Frequency in MHz. RX-frekvens i MHz. - + TX Frequency in MHz. Frequency is not in a hamradio band! TX-frekvens i MHz. Frekvens er ikke i et amatørradiobånd! - + TX Frequency in MHz. TX-frekvens i MHz. @@ -3788,586 +2950,484 @@ Frekvens er ikke i et amatørradiobånd! QObject - + New One, work it! Ny, bearbejd den! + + + + + + + - - - - - - - Needed, work it! Krævet, bearbejd den! - - - - + + + + Worked but not confirmed Bearbejdet men ikke bekræftet - + Confirmed Bekræftet - + Not identified Ikke identficeret - - + + Database Error Databasefejl - + KLog DB needs to be upgraded. KLog-databasen skal opgraderes. - + Do you want to upgrade it now? Ønsker du at opgradere den nu? - + If DB is not upgraded KLog may not work properly. Hvis databasen ikke bliver opgraderet så fungerer KLog måske ikke korrekt. - - - - - - KLog - DB update - - - - + KLog has detected a previous log in the DB. All data will be migrated to a newly created DX type log for you. KLog har registreret en tidligere log i databasen. Alle data vil blive migreret til en ny DX-typelog. - + KLog: Enter Station callsign KLog: Indtast stationskaldesignal - + Enter the station callsign used in this log Indtast stationskaldesignalet brugt i denne log - + Station Callsign Stationskaldesignal + All the data was migrated correctly. You should now go to Setup->Preferences->Logs to check that everything is OK. - Alle dataene blev migreret korrekt. Du skal nu gå til Opsætning->Præferencer->Logge for at kontrollere at alt er o.k. + Alle dataene blev migreret korrekt. Du skal nu gå til Opsætning->Præferencer->Logge for at kontrollere at alt er o.k. - - All the data was migrated correctly. You should now go to Setup->Preferences->Logs to check that everything is okay. - - - - - + + Updating mode information... Opdaterer tilstandsinformation ... - - - - - - - + + + + + + + Abort updating Afbryd opdatering - - - - - + + + + + QSO: QSO: - - - - + + + + Canceling this update will cause data inconsistencies and possibly data loss. Do you still want to cancel? Afbrydelse af denne opdatering vil medføre datauoverensstemmelser og muligvis datatab. Ønsker du stadig at afbryde? - - - - + + + + Updating bands information... Opdaterer båndinformation ... - + Updating bands information in %1 status... Opdaterer båndinformation i %1 status ... - - + + Progress: Status: - + Updating mode information in %1 status... Opdaterer tilstandsinformation i %1 status ... - + Updating DXCC award information... Opdaterer DXCC-præmieinformation ... - + Updating DXCC Award information... Opdaterer DXCC-præmieinformation ... - + Updating WAZ award information... Opdaterer WAZ-præmieinformation ... - + Updating WAZ Award information... Opdaterer WAZ Award-information ... - + Install wizard was canceled before completing... Installationsguide blev afbrudt før fuldførelse ... - + Do you want to remove the KLog dir from your disk? Ønsker du at fjerne KLog-mappen fra din disk? - + Your KLog dir has been removed Din KLog-mappe er blevet fjernet + - + - Thank you for running KLog! Tak fordi du bruger KLog! - + I could not remove your KLog dir. You should do it manually if you want it removed from your hard disk. Jeg kunne ikke fjerne din KLog-mappe. Du bør gøre det manuelt, hvis du ønsker at den fjernes fra din harddisk. - + Your KLog dir could not be removed. You should do it manually if you want it removed from your hard disk. Din KLog-mappe kan ikke fjernes. Du skal gøre det manuelt, hvis du ønsker den fjernet fra din harddisk. - + Remember that your KLog dir is on your system... Husk at din KLog-mappe er på dit system ... - + Updating information... - + Updating DXCC and Continent information... Opdaterer DSCC- og kontinentinformation ... - - - A wrong call has been found: %1. Please enter a new call or confirm that the current one is a good call. - - - - - An empty callsign has been detected. If it is possible, please enter the right call. - - - - - KLog - Not valid callsign found - - - - - RotatorWidget - - - Rotator - - SearchWidget - + &Clear &Ryd - + &Export Highlighted &Eksporter markering - - - + + + &Select All &Vælg alle - + &Search &Søg + All - Alle + Alle - + Clear the searches. Ryd søgninger. - + Export the search result to an ADIF file. Eksporter søgeresutlatet til en ADIF-fil. - + Select/Unselect all the QSOs shown. Vælg/fravælg alle viste QSO'ere. - + Search in the log. Søg i loggen. - + Search in all logs. Søg i alle logge. + Enter the QRZ to search for. - Indtast QRZ'en at søge efter. + Indtast QRZ'en at søge efter. - - All logs - - - - - Enter the QRZ to search for. Enter '*' to show all the QSOs... it may be slow in big logs! - - - - + Search results. Søgeresultater. - - Select the Station Callsign used to do this QSO. - - - - - + + QRZ QRZ - - + + Date/Time Dato/tid - - + + Band Bånd - - + + Mode Tilstand - - + + QSL Sent QSL sendt - - - + + + QSL Rcvd QSL modt - + Station Callsign Stationskaldesignal - - + + ID Id - - All in log - - - - - Not defined - - - - - Searching for the QSOs... -(It may take long in big logs.) - - - - - KLog - Search - - - - - + + &Clear selection &Ryd markering - + Save File Gem fil - + QSL Send QSL send - + &Delete &Slet - + Delete a QSO Slet en QSO - + &Edit QSO &Rediger QSO - + Edit this QSO Rediger denne QSO - + Via &bureau Via &bureau - + Send this QSL via bureau Send denne QSL via bureau - + D&irect D&irect - + Send this QSL via direct Send denne QSL via direct - + &Request my QSL &Anmod om min QSL - + Mark my QSL as requested Marker min QSL som anmodt om - - Via Direct and mark DX QSL as requested - - - - - Send this QSL via direct and mark DX QSL as requested - - - - - Via Bureau and mark DX QSL as requested - - - - - Send this QSL via bureau and mark DX QSL as requested - - - - - Via bureau and mark my QSL as requested - - - - - QSL received via bureau and mark my QSL as requested - - - - - Direc&t and mark as my QSL requested - - - - - QSL received via direct and mark my QSL as requested - - - + Via Direct && mark DX QSL as requested - Via Direct && marker DX QSL som anmodt om + Via Direct && marker DX QSL som anmodt om + Send this QSL via direct & mark DX QSL as requested - Send denne QSL viar direct & marker DX QSL som anmodt om + Send denne QSL viar direct & marker DX QSL som anmodt om + Via Bureau && mark DX QSL as requested - Via Bureau && marker DX QSL som anmodt om + Via Bureau && marker DX QSL som anmodt om + Send this QSL via bureau & mark DX QSL as requested - Send denne QSL via bureau & marker DX QSL som anmodt om + Send denne QSL via bureau & marker DX QSL som anmodt om - + &Request the QSL &Anmod om QSL'en - + Mark the QSL as requested Marker QSL'en som anmodt om + Via bureau && mark my QSL as requested - Via bureau && marker min QSL som anmodt om + Via bureau && marker min QSL som anmodt om + QSL received via bureau & mark my QSL as requested - QSL modtaget via bureau & marker min QSL som anmodt om + QSL modtaget via bureau & marker min QSL som anmodt om - + Via bureau Via bureau - + QSL received via bureau QSL modtaget via bureau + Direc&t && mark as my QSL requested - Direc&t && marker som min anmodte QSL + Direc&t && marker som min anmodte QSL + QSL received via direct & mark my QSL as requested - QSL modtaget via direct & marker min QSL som anmodt om + QSL modtaget via direct & marker min QSL som anmodt om - + Direc&t Direc&t - + QSL received via direct QSL modtaget via direct - + You have requested to delete the QSO with: %1 Du har anmodt om at slette QSO'en med: %1 - + Are you sure? Er du sikker? - + Needed QSO to send the QSL Krævet QSO til at sende QSL'en - + My QSL requested to be sent Min QSL anmodt om at blive sendt - - + + DX QSL pending to be received DX QSL igangværende til modtagelse @@ -4375,164 +3435,146 @@ Frekvens er ikke i et amatørradiobånd! SetupDialog - + My Data Mine data - - - + + + Bands/Modes Bånd/tilstande - - + + DX-Cluster DX-Cluster - - - + + + Colors Farver - - - + + + Misc Diverse - - + + World Editor Verdensredigeringsprogram - - - + + + Logs Logge - - + + Satellites Sattelitter - + ClubLog ClubLog - - + + Cancel Afbryd - - + + HamLib HamLib - - Interfaces - - - - + + OK O.k. - - + + Config Dialog Konfigurationsdialog - - Ok - O.k. - - - - + + User data Brugerdata - + D&X-Cluster D&X-Cluster - - LoTW - - - - + WSJT-X WSJT-X - + You need to enter at least one log in the Logs tab. Du skal indtaste mindst en log i fanebladet for logge. - + Do you want to add one log in the Logs tab or exit KLog? (Click Yes to add a log or No to exit KLog) - + World Verden + DB has not been moved to new path - Databasen er ikke flyttet til ny sti + Databasen er ikke flyttet til ny sti - + Go to the Misc tab and click on Move DB or the DB will not be moved to the new location. Gå til diversefanebladet og klik på flyt db ellers vil databasen ikke blive flyttet til den nye placering. - + Go to the User tab and enter valid QRZ. Gå til brugerfanebladet og indtast gyldig QRZ. - + You need to enter at least a valid QRZ. Du skal indtaste mindst en gyldig QRZ. - - DB has not been moved to new path. - - - - + You have not selected the kind of log you want. Du har valgt den slags log du ønsker. - + You will be redirected to the Log tab. Please add and select the kind of log you want to use. Du vil blive dirigeret til log-fanebladet. @@ -4542,117 +3584,113 @@ Tilføj og vælg den slags log du ønsker at bruge. SetupEntityDialog - + Entity Entitet - + CQ CQ - + ITU ITU - + Latitude Breddegrad - + Longitude Længdegrad - + UTC UTC - + Main prefix Hovedpræfiks - + ARRL ID ARRL ID - + Prefixes Præfiks - + Comma separated possible prefixes, e.g. EA1, EA2, ... Kommaadskilt mulige præfiks, f.eks. EA1, EA2, ... - - Ok - O.k. - - - + Name of the Entity. Navn på element. - + CQ zone. CQ-zone. - + ITU zone. ITU-zone. - - + + Longitude of the Entity. Længdegrad for entitet. - + Local time difference to UTC. Lokal forskel i tid til UTC. - + Main prefix of the entity. Hovedpræfiks for entitet. - + ARRL ID. ARRL-Id. - + Date of the deletion. Sletningsdato. - + Deleted Slettet - + Cancel Afbryd + OK - O.k. + O.k. - + Entity Dialog Entitetdialog @@ -4660,12 +3698,12 @@ Tilføj og vælg den slags log du ønsker at bruge. SetupPageBandMode - + Bands Bånd - + Modes Tilstande @@ -4673,62 +3711,62 @@ Tilføj og vælg den slags log du ønsker at bruge. SetupPageClubLog - + &Callsign &Kaldesignal - + ClubLog &password ClubLog-&adgangskode - + ClubLog &email ClubLog-&e-post - + Enter the email you used to register in ClubLog. Indtast e-posten du ønsker at registrere i ClubLog. - + Enter the callsign you used to register in ClubLog. Indtast kaldesignalet du ønsker at registrere i ClubLog. - + Enter your password in ClubLog. Indtast din adgangskode i ClubLog. - + &Send QSOs in real time &Send QSO'er i realtid - + &Activate ClubLog &Aktiver ClubLog - + Use QSO Station &Callsign Brug QSO-stations&kaldesignal - + Send each QSO to ClubLog in real time, as they are added (or modified) in KLog. Send hver QSO til ClubLog i realtid, efterhånden som de tilføjes (eller ændres) i KLog. - + Starts the ClubLog support in KLog. Starter ClubLog-understøttelse i KLog. - + Use the Station Callsign defined in each QSO instead of the one defined here. Brug stationskaldenavnet defineret i hver QSO i stedet for det defineret her. @@ -4736,77 +3774,77 @@ Tilføj og vælg den slags log du ønsker at bruge. SetupPageColors - + New One Ny - + Needed in this band Krævet i dette bånd - + Worked in this band Bearbejdet i dette bånd - + Confirmed in this band Bekræftet i dette bånd - + Default Standard - + WSJT-X palette - + Default palette - + Color when the DXCC is an ATNO (All Time New One). - + DXCC is confirmed in this band. - + Default color. - + Sets a palette of colors similar to the one used in WSJT-X. - + Sets the default palette. - + This DXCC was worked before in another band but not in the selected band. It may be needed due to the CQ, ITU, Grid, ... - + Worked DXCC, but not confirmed in this band. - + Choose a color Vælg en farve @@ -4814,87 +3852,72 @@ Tilføj og vælg den slags log du ønsker at bruge. SetupPageDxCluster - + Add Tilføj - + Delete Slet - + Show &HF spots Vis %HF-spot - + Show V/&UHF spots Vis V/&UHF-spot - + Show W&ARC spots Vis W&ARC-spot - + Show &worked spots Vis &bearbejdede spot - + Show &confirmed spots Vis &bekræftede spot - + Show ANN/&FULL messages Vis ANN/&FULL-beskeder - + Show WW&V messages Vis WW&V-beskeder - + Show WC&Y messages Vis WC&Y-beskeder - - Save DX Cluster activity - - - - - Saves all the DX-Cluster activity to a file in the KLog folder - - - - + DX Spots DX-spot - - Others - Andre - - - + Messages Beskeder - + KLog: Add a DXCluster server Klog: Tilføj en DXCluster-server - + Add the address followed by the :port Example: dxfun.com:8000 If no port is specified, 41112 will be used by default: @@ -4906,12 +3929,12 @@ Hvis ingen port er angivet, så vil 41112 blive brugt som standard: SetupPageHamLib - + Activate HamLib Aktiver HamLib - + Activates the hamlib support that will enable the connection to a radio. Aktiverer understøttelse af hamlib, der vil aktivere forbindelsen til en radio. @@ -4932,391 +3955,285 @@ Hvis ingen port er angivet, så vil 41112 blive brugt som standard:Angivelse af DTR kan være krævet for nogle serielle porte. - + Read-Only mode - + If enabled, the KLog will read Freq/Mode from the radio but will never send any command to the radio. - + Radio Radio - + Select your rig. Vælg din rig. - + Defines the interval to pool the radio in msecs. Definerer intervallet at samle radioen i msek. - + Pool interval Indsamlingsinterval - + Port Port - + Select the serial port. Only the serial ports that are detected are shown. Vælg den serielel port. Kun den serielle porter, der er registreret vises. - + Scan Skan - + Click to identify the serial ports available in your computer. Klik for at identificere de serielle porte tilgængelige i din computer. - + Bauds Bauds - + Select the serial port speed. Vælg den serielle porthastighed. - + 5 bits 5-bit - + 6 bits 6-bit - + 7 bits 7-bit - + 8 bits 8-bit - + Data bits Databit - + Select the serial data bits. Vælg den serielle databit. - + None Ingen - + Hardware Udstyr - + Software XON/XOFF Software XON/XOFF - + Flow control Flow-kontrol - + Select the serial flow control Vælg den serielle flow-kontrol - + No parity Ingen paritet - + Even Lige - + Odd Ulige - + Space Mellemrum - + Mark Mærke - + Parity Paritet - + Select the serial parity. Vælg den serielle paritet. - + 1 bit 1 bit - + 1.5 bits 1,5 bit - + 2 bits 2 bit - + Stop bits Stop-bit - + Select the serial stop bits. Vælg den serielle stop-bit. - - SetupPageInterfacesWindows - - - UDP port number where the PSTRotator Server will listen for packets. - - - - - Default port is 12040. - - - - - PST Rotator UDP Port - - - - - Hostname or IP address of the computer running PSTRotator. Leave it as localhost if you are running KLog and PSTRotator in the same computer. - - - - - PST Rotator host - - - - - Send antenna bearing to PST Rotator - - - - - SetupPageLoTW - - - LoTW upload - - - - - TQSL Path - - - - - Route to TQSL - - - - - Use TQSL - - - - - Path to the TQSL software. - - - - - Enable the LoTW integration with TQSL. You will need to have TQSL installed - - - - - User: - - - - - Password: - - - - - Enter your password LoTW here. Warning: The password will be save on clear in the KLog config file!! If you don't want to enter the password, KLog will ask you when it is needed. - - - - - LoTW download - - - - - - Enter your LoTW user - - - - - - Enter your password LoTW here. Warning: The password will be save on clear in the KLog config file!! (If you don't want to enter the password, KLog will ask you when it is needed.) - - - - - Select File - - - SetupPageLogs - + &New &Ny - + &Edit &Rediger - + &Remove &Fjern - + Add a new log. Tilføj en ny log. - + Edit the selected log. Rediger den valgte log. - + Remove the selected log. Fjern den valgte log. - + Select the log you want to open. Vælg loggen du ønsker at åbne. - + KLog KLog - + Do you really want to remove this log? Ønsker du at fjerne denne log? - - All the QSOs from this log will also be deleted... - - - + All the QSOs from this log will be also deleted... - Alle QSO'erne fra denne log vil også blive slettet ... + Alle QSO'erne fra denne log vil også blive slettet ... - + Log has not been removed. (#3) Log er ikke blevet fjernet. (#3) - + Log has not been removed. (#2) Log er ikke blevet fjernet. (#2) - + Log has not been removed. (#1) Log er ikke blevet fjernet. (#1) - + ID Id - + Date Dato - + Station Callsign Stationskaldesignal - + Operators Operatører - + Comments Kommentarer + Type - Type + Type - + An error has occurred showing the following error code: Der opstod en fejl med denne fejlkode: - + KLog - SetupPageLogs KLog - SetupPageLogs @@ -5324,384 +4241,371 @@ Hvis ingen port er angivet, så vil 41112 blive brugt som standard: SetupPageLogsNew - + &Date &Dato - + &Station Callsign &Stationskaldesignal - + &Operators &Operatører - + Comm&ent &Kommentar - + &Ok &O.k. - + &Cancel &Afbryd + Select categories - Vælg kategorier + Vælg kategorier - + Callsign used for this log. Kaldesignal brugt for denne log. - + Comma separated list of operators: callsign1, callsign2. Kommaadskilt liste over operatører: kaldesignal1, kaldesignal2. - + Start date of this log. Startdato for denne log. - + Add a comment about this log. Tilføj en kommentar om denne log. + Select the kind of operation for this log. - Vælg operationstypen for denne log. + Vælg operationstypen for denne log. + Select the mode category. - Vælg tilstandskategori. + Vælg tilstandskategori. + Select the operators category. - Vælg operatørens kategori. + Vælg operatørens kategori. + Select the assisted category. - Vælg den assisterede kategori. + Vælg den assisterede kategori. + Select the power category. - Vælg strømkategorien. + Vælg strømkategorien. + Select the bands category. - Vælg båndkategorien. + Vælg båndkategorien. + Select the Overlay category. - Vælg overlagskategorien. + Vælg overlagskategorien. + &Type of Operation - &Operatonstype + &Operatonstype + &Mode Category - &Tilstandskategori + &Tilstandskategori + O&perators Category - &Operatørkategori + &Operatørkategori + &Assisted Category - &Bistået kategori + &Bistået kategori + Po&wer Category - &Strømkategori + &Strømkategori + &Bands Category - &Båndkategori + &Båndkategori + O&verlay - &Overlag + &Overlag + + Categories not OK - Kategorier er ikke o.k. + Kategorier er ikke o.k. - + You need to enter a valid QRZ in the Station Callsign box. The log will not be opened. Du skal indtaste en gyldig QRZ i boksen for stationskaldesignal. Loggen vil ikke blive åbnet. + You selected an invalid combination. The log will not be opened. - Du valgte en ugyldig kombination. + Du valgte en ugyldig kombination. Loggen vil ikke blive åbnet. + Categories OK - Kategorier o.k. + Kategorier o.k. SetupPageMisc - + &Imperial system &Imperial-system - + &Log in real time &Log i realtid - + &Time in UTC &Tid i UTC - + &Save ADIF on exit &Gem ADIF ved afslut - + Use this &default filename Brug dette &filnavn som standard - + Mark &QSO to send QSL when QSL is received Marker &QSO til at sende QSL når OSL er modtaget - + Complete QSO with previous data Fuldfør QSO med tidligere data - + Show the Station &Callsign used in the search box Vis stations&kaldesignal brugt i søgeboksen + &Reset to My Data for all QSOs - &Nulstil til Mine data for alle QSO'er + &Nulstil til Mine data for alle QSO'er - + &Check for new versions automatically &Kontroller for nye versioner automatisk - + &Provide Info for statistics &Tilbyd information for statistik - + Manage DX-Marathon Håndter DX-Maraton - + Activate the application debug log - - Mark sent eQSL && LoTW in new QSO as queued + + Sort log based in date & time - - + + Browse Gennemse - + Move DB Flyt database - + QSOs will be marked as pending to send a QSL if you receive the DX QSL and have not sent yours. QSO'er vil blive markeret som afventende på at sende en QSL hvis du modtager DX QSL'en og ikke har sendt dine. - - The search box will also show the callsign on the air to do the QSO. - - - - - If new version checking is selected, KLog will send the developer your callsign, KLog version and Operating system to help in improving KLog. - - - - - Click to mark as Queued (to be sent) all the eQSL (LoTW and eQSL) in all the new QSO by default. - - - + The search box will show also the callsign on the air to do the QSO. - Søgeboksen vil også vise kaldesignalet på radioen til at udføre QSO'en. + Søgeboksen vil også vise kaldesignalet på radioen til at udføre QSO'en. - + All the data from the My Data tab will be used or data from the previous QSO will be maintained. Alle dataene fra fanebladet Mine data vil blive brugt eller data fra den forrige QSO vil blive vedligeholdt. - + Check if there is a new release of KLog available every time you start KLog. Kontroller om der er en ny version af KLog tilgængelig hver gang du starter KLog. + If new version checking is selected, KLog will send the developer your callsign, KLog version & Operating system to help in improving KLog. - Hvis kontrol af ny version er valgt så vil KLog sende udvikleren dit kaldesignal, KLog-version og operativsystem for at hjælpe med at forbedre KLog. + Hvis kontrol af ny version er valgt så vil KLog sende udvikleren dit kaldesignal, KLog-version og operativsystem for at hjælpe med at forbedre KLog. - - &Keep My Data for all QSOs - - - - + Check it for Imperial system (Miles instead of Kilometers). Kontroller for Imperial-system (mil i stedet for kilometer). - + Select to use real time. Vælg at bruge realtid. - + Select to use UTC time. Vælg at bruge UTC-tidspunkter. - + Select if you want to save to ADIF on exit. Vælg hvis du ønsker at gemme til ADIF ved afslut. - + Select to use the following name for the logfile without being asked for it again. Vælg at bruge det følgende navn for logfilen uden at blive spurgt om det igen. - + Complete the current QSO with previous QSO data. Fuldfør den nuværende QSO med tidligere QSO-data. - + Select if you want to manage DX-Marathon. Vælg om du ønsker at håndtere DX-Marathon. - + This is the default file where ADIF data will be saved. Dette er standardfilen hvor ADIF-data vil blive gemt. - + This is the directory where the database (logbook.dat) will be saved. Dette er mappen hvor databsen (logbook.dat) vil blive gemt. - + Click to change the default ADIF file. Klik for at ændre ADIF-standardfilen. - + Click to change the path of the database. Klik for at ændre stien for databasen. - + Click to move the DB to the new directory. Klik for at flytte databasen til den nye mappe. - + Activates the application debug log. This may be useful if something is not working as expected. A debug file will be created in the KLog directory. - + + Click to enable that log will be sorted based on date & time when clicking on the date column. It may be a little bit slower. + + + + Open File Åbn fil - + Select Directory Vælg mappe - + This is the directory where DB (logbook.dat) will be saved. Dette er mappen hvor DB (logbook.dat) vil blive gemt. - + Please specify an existing directory where the database (logbook.dat) will be saved. Angiv en eksisterende mappe hvor databasen (logbook.dat) vil blive gemt. - - KLog - Move DB - - - - + File moved Fil flyttet - + File copied Fil kopieret - - File already exist. - - - - - The destination file already exist and KLog will not replace it. Please remove the file from the destination folder before moving the file with KLog to make sure KLog can copy the file. - - - - + File NOT copied Filen blev IKKE kopieret - - The file was not copied due to an unknown problem. - - - - + The target directory does not exist. Please select an existing directory. Målmappen findes ikke. Vælg venligst en eksisterende mappe. @@ -5709,150 +4613,142 @@ Loggen vil ikke blive åbnet. SetupPageSats - + &New &Ny - + &Edit &Rediger - + &Remove &Fjern - + &Import &Import - + E&xport &Eksport - + Add a new satellite. Tilføj en ny satellit. - + Edit the selected satellite. Rediger den valgte satellit. - + Remove the selected satellite. Fjern den valgte satellit. + Import a satellites file. It will replace the satellites you have now configured. - Importer en satellitfil. Den vil erstatte de satellitter du har konfigureret. + Importer en satellitfil. Den vil erstatte de satellitter du har konfigureret. - + Export your current satellites to a file. Eksporter dine nuværende satellitter til en fil. - + Select the sat you want to open. Vælg satellitten du ønsker at åbne. - + KLog KLog - + Do you really want to remove this satellite? Ønsker du virkelig at fjerne denne satellit? + This satellite will not be longer available to be selected ... - Denne satellit vil ikke længere være tilgængelig ... + Denne satellit vil ikke længere være tilgængelig ... - - Import a satellites file. It will replace the satellites you have in the current list. - - - - - This satellite will no be longer available to be selected ... - - - - + Sat has not been removed. (#3) Sat. er ikke blevet fjernet. (#3) - + Sat has not been removed. (#2) Sat. er ikke blevet fjernet. (#2) - + Sat has not been removed. (#1) Sat. er ikke blevet fjernet. (#1) - + ID Id - + Short Kort - + Name Navn - + Uplink Uplink - + Downlink Downlink - + Modes Tilstande - + An error has occurred showing the following error code: Der opstod en fejl der viser den følgende fejlkode: - + KLog - SetupPageSats Klog - SetupPageSats - + Open Satellites File Åbn satellitfil - + KLog warning KLog-advarsel - + An unexpected error ocurred while importing the satellite data. It may be caused because the file you are trying to import does not have the right format. @@ -5861,12 +4757,12 @@ It may be caused because the file you are trying to import does not have the rig Det kan være fordi, at filen du forsøger at imporetere ikke har det korrekte format. - + Please check the format or contact the developer for analysis with the error code: Kontroller venligst formatet eller kontakt udvikleren for analyse med fejlkoden: - + Save Satellites File Gem satellitfil @@ -5874,359 +4770,323 @@ Det kan være fordi, at filen du forsøger at imporetere ikke har det korrekte f SetupPageSatsNew - + Short name Kort navn - + Sat name Sat.-navn - + UpLink UpLink - + DownLink DownLink - + Modes Tilstande - + &Ok &O.k. - + &Cancel &Afbryd - + Enter the short name. Try to use the LoTW short name so you can upload your QSO to LoTW afterwards. Indtast det korte navn. Prøv at bruge LoTW-kort navn, så du kan overføre din QSo til LoTW efterfølgende. - + Enter the name of the satellite. Indtast navnet på satellitten. - + Enter the uplink frequencies in this format: 144.300 Indtast uplink-frekvenser i dette format: 144.300 - + Enter the downlink frequencies in this format: 144.300 Indtast downlink-frekvenser i dette format: 144.300 - + Enter the modes in this format: USB Indtast tilstandene i dette format: USB - - Some of the data you have entered is not correct; the satellite can't be added. - - - + Some of the data you have entered is not correct, the satellite can't be added. - Nogle af dataene du har indtastet er ikke korrekte, satellitten kan ikke tilføjes. + Nogle af dataene du har indtastet er ikke korrekte, satellitten kan ikke tilføjes. SetupPageUDP - + Start UDP Server Start UDP-server + Log automatically QSOs from WSJT-X - Log automatisk QSO'er fra WSJT-X + Log automatisk QSO'er fra WSJT-X + Allow WSJT-X to send logged QSO to KLog - Tillad at WSJT-X sender logget QSO til KLog + Tillad at WSJT-X sender logget QSO til KLog + QSO logged in WSJT-X will be sent to KLog and KLog will ask before logging into KLog unless "%1" is selected - QSO logget i WSJT-X vil blive sendt til KLog og KLog vil spørge før der logges ind i KLog med mindre »%1« er valgt + QSO logget i WSJT-X vil blive sendt til KLog og KLog vil spørge før der logges ind i KLog med mindre »%1« er valgt + QSO notification timeout (milisecs) - QSO-påmindelsestidsudløb (milliesek.) + QSO-påmindelsestidsudløb (milliesek.) + Milliseconds that the notification of QSO received from WSJTX will be shown. - Millisekunder som påmindelsen for QSO modtog fra WSJTX vil blive vist. + Millisekunder som påmindelsen for QSO modtog fra WSJTX vil blive vist. + KLog will log automatically any QSO coming from WSJT-X without any manual confirmation. - KLog vil automatisk logge enhver QSO fra WSJT-X uden nogen manuel bekræftelse. + KLog vil automatisk logge enhver QSO fra WSJT-X uden nogen manuel bekræftelse. + Receive and Update QSO data to KLog - Modtag og opdater QSO-data til KLog + Modtag og opdater QSO-data til KLog - + KLog will automatically show and update data coming from WSJT-X (DX callsign, locator, RPT, ...) KLog vil automatisk vise og opdatere data fra WSJT-X (DX-kaldesignal, lokalisering, RPT, ...) + Make sure it is the same port where the other programs are sending the data to. Default port is 2237. - Sikr dig det er den samme port hvor de andre programmer sender dataene til Standardporten er 2237. + Sikr dig det er den samme port hvor de andre programmer sender dataene til Standardporten er 2237. - - Automatically log QSOs from WSJT-X - - - - - Allow WSJT-X to send logged QSOs to KLog - - - - - QSOs logged in WSJT-X will be sent to KLog and KLog will ask before logging into KLog unless "%1" is selected - - - - - KLog will automatically log any QSO coming from WSJT-X without any manual confirmation. - - - - - Receive QSOs data and update to KLog - - - - + UDP port number where the UDP Server will listen for packets. UDP-portnummer hvor UDP-serveren vil lytte efter pakker. - - Make sure it is the same port that the other programs are sending the data to. Default port is 2237. - - - - + UDP Server will receive QSOs sent from other programs like WSJT-X allowing you to log in KLog automatically from those programs. UDP-server vil modtage QSO'er sendt fra andre programmer såsom WSJT-X hvilket gør, at du kan logge ind i KLog automatisk fra disse programmer. - + UDP Port UDP-port - - - QSOs notification timeout (milisecs) - - - - - Miliseconds that the notification of QSOs received from WSJTX will be shown. - - SetupPageUserDataPage - + &Personal data &Personlige data - + Station &data Stations&data - + Enter your name. Indtast dit navn. - + Enter your address - 1st line. Indtast din adresse - 1. linje. - + Enter your address - 2nd line. Indtast din adresse - 2. linje. - + Enter your address - 3rd line. Indtast din adresse - 3. linje. - + Enter your address - 4th line. Indtast din adresse - 4. linje. - + Enter your city. Indtast din by. - + Enter your zip code. Indtast din zip-kode. - + Enter your province or state. Indtast din provins eller stat. - + Enter your country. Indtast dit land. - + &Name &Navn - + &Address &Adresse - + Cit&y &By - + &Zip Code &Zip-kode - + Pro&v/State &Prov/stat - + Countr&y &Land - - - + + + Enter your information for rig Indtast din information for rig - - - + + + Enter your information for antenna Indtast din information for antenne - + Enter your power information. Indtast din strøminformation. - + Enter the station callsign that will be used for logging. Indtast stationskaldesignalet som vil blive brugt til logning. - + &Rig 1 &Rig 1 - + R&ig 2 R&ig 2 - + Ri&g 3 Ri&g 3 - + Antenna &1 Antenne &1 - + Antenna &2 Antenne &2 - + Antenna &3 Antenne &3 - + Po&wer &Strøm - + Enter the operators (comma separated if more than one). Indtast operatørerne (kommaadskilt hvis mere end en). - + Enter the locator of your station. Alternatively, KLog can use an approximate locator based on your callsign. Indtast locatoren for din station. Alternativt kan KLog bruge en omtrentlig loacator baseret på dit kaldesignal. - + &QRZ &QRZ - + &Operators &Operatører - + &CQ Zone &CQ-zone - + &ITU Zone &ITU-zone - - + + &Locator &Locator - + &Locator (not valid) &Locator (ikke gyldig) @@ -6234,172 +5094,139 @@ Det kan være fordi, at filen du forsøger at imporetere ikke har det korrekte f SetupPageWorldEditor - + Add Tilføj - + Delete Slet - + Edit Rediger - + Export World Eksportverden - + Import World Importverden - - - - + + + + Still not implemented. Endnu ikke implementeret. - + Import a new cty.csv file Importer en ny cty.csv-fil - + An entities information file (cty.csv) has been detected in your KLog folder and will be loaded. En entitetsinformationsfil (cty.csv) er blevet registreret i din KLog-mappe og vil blive indlæst. - + No entities information file (cty.csv) has been detected in your KLog folder. Ingen entitetinformationsfil (cty.csv) er blevet registreret i din KLog-mappe. - + KLog will not be able to show entities information. KLog vil ikke kunne vise entitetinformation. - + Prefix Præfiks - + Entity Entitet - + ARRL ID ARRL-id - + Continent Kontinent - + CQ Zone CQ-zone - + ITU Zone ITU-zone - + UTC UTC - + Latitude Breddegrad - + Longitude Længdegrad - + Deleted Slettet - + Since Date Siden dato - + To Date Til dato - + Open File Åbn fil - + BigCTY (*.csv) BigCTY (*.csv) - + Entities information has been updated. Entitetinformation er blevet opdateret. - + Entities information has not been updated. Entitetinformatoin er ikke blevet opdateret. - - ShowAdifImportWidget - - - The following QSOs are those QSOs that you have received the LoTW confirmation. - - - - - Ok - O.k. - - - - DX - - - - - Date/Time - Dato/tid - - - - Band - Bånd - - - - Mode - Tilstand - - ShowErrorDialog @@ -6520,37 +5347,37 @@ Det kan være fordi, at filen du forsøger at imporetere ikke har det korrekte f StatsCQZPerYearBarChartWidget - + CQ Zones per year CQ-zoner per år - + Reading data ... Læser data ... - + Abort reading Afbryd læsning - + CQ zones CQ-zoner - + CQ zones per year CQ-zoner per år - + Reading data ... Læser data ... - + Years: %1/%2 År: %1/%2 @@ -6617,12 +5444,8 @@ Det kan være fordi, at filen du forsøger at imporetere ikke har det korrekte f - QSOs per band distribution - - - QSO per band distribution - QSO per bånddistribution + QSO per bånddistribution @@ -6770,12 +5593,8 @@ Det kan være fordi, at filen du forsøger at imporetere ikke har det korrekte f - QSOs per mode distribution - - - QSO per mode distribution - QSO per tilstandsdistribution + QSO per tilstandsdistribution @@ -7005,97 +5824,77 @@ Det kan være fordi, at filen du forsøger at imporetere ikke har det korrekte f - - <b>Tip #5:</b><br>Do you know...<br>You can enter a '*' in the search box, in the search window to search for all the QSOs done with one specific station callsign? + + <b>Tip #5:</b><br>Do you know...<br>You can export your QSO marked as requested, via LoTW, in your log with <a href="#FileExportLoTWADIF">File->Export ADIF for LoTW...</a> to create an ADIF file that you will be able to import in TQSL to be signed and uploaded to LoTW?<br><br>You have to mark as Q-Queued all the QSOs you want to be exported to be sent to LoTW. + Translator: Please make sure that the name of the link is coherent with the menu File->Export ADIF for LoTW... - + <b>Tip #6:</b><br>Do you know...<br>You can find the file containing all your log and other information in the logbook.dat file and the klogrc file, containing the KLog config file in the KLog folder by opening the <a href="#FileOpenKLogFolder">File->KLog folder</a> menu? Translator: Please make sure that the name of the link is coherent with the menu File->KLog folder - + <b>Tip #7:</b><br>Do you know...<br>You can find the QSLs that you still need to send with <a href="#ToolsSendPendingQSL">Tools->QSL tools...->Find My-QSLs pending to send</a>.<bR>This tool will list you in the search box all the QSOs with the QSL-Sent marked as <i>Requested</i>. Translator: Please make sure that the name of the link is coherent with the menu QSL tools...->Find My-QSLs pending to send - + <b>Tip #8:</b><br>Do you know...<br>You can find the QSLs that you are still waiting for with <a href="#ToolsReceivePendingQSL">Tools->QSL tools...->Find DX-QSLs pending to receive</a>.<bR>This tool will list you in the search box all the QSOs with the QSL-Sent marked as <i>Sent</i> but you have still not received the QSL card from the DX. Translator: Please make sure that the name of the link is coherent with the menu QSL tools...->Find DX-QSLs pending to receive - + <b>Tip #9:</b><br>Do you know...<br>You can find the QSLs that you are still waiting for with <a href="#ToolsReceiveRecPendingQSL">Tools->QSL tools...->Find requested pending to receive</a>.<bR>This tool will list you in the search box all the QSOs with the QSL-Rec marked as <i>Requested</i> but you have still not received the QSL card from the DX. Translator: Please make sure that the name of the link is coherent with the menu QSL tools...->Find requested pending to receive - + <b>Tip #10:</b><br>Do you know...<br>You can subscribe to the <a href=https://t.me/klogchat>English KLog Telegram group</a> to discuss about KLog in English? - + <b>Tip #11:</b><br>Do you know...<br>You can subscribe to the <a href=https://t.me/KLogES>Spanish Telegram group</a> to discuss about KLog in Spanish? - - <b>Tip #12:</b><br>Do you know...<br>You can subscribe to <a href=https://lists.nongnu.org/mailman/listinfo/klog-users>KLog-users mailing list</a> to discuss via email about KLog in English? + + <b>Tip #12:</b><br>Do you know...<br>You can subscribe to <a href=http://lists.nongnu.org/mailman/listinfo/klog-users>KLog-users mailing list</a> to discuss via email about KLog in English? - + <b>Tip #13:</b><br>Do you know...<br>You can <a href=https://twitter.com/_ea4k>follow EA4K on twitter</a> to get updates about KLog? - + <b>Tip #14:</b><br>Do you know...<br>You can write your own <a href=https://www.eham.net/reviews/detail/3118>review in eHam.net about KLog</a> to help other users to decide to use KLog? - + <b>Tip #15:</b><br>Do you know...<br>You can join the development team by simply <a href=https://www.klog.xyz/contact>Contacting us</a>? - + <b>Tip #16:</b><br>Do you know...<br>That there are many ways to contribute to KLog and some of them are listed in the <a href=https://www.klog.xyz/contrib>KLog Contribute</a> page? - + <b>Tip #17:</b><br>Do you know...<br>You can support translating KLog into your language? Please check <a href=https://www.klog.xyz/contrib/translations>KLog Translations</a> page. - - <b>Tip #18:</b><br>Do you know...<br>You can double-click on an entity name in the DXCC table and all the QSOs with that DXCC Entity will be shown in the search box? - - - - - <b>Tip #19:</b><br>Do you know...<br>You can right-click on a QSO and select <i>Check in QRZ.com</i> to check that callsign in QRZ.com? - - - - - <b>Tip #20:</b><br>Do you know...<br>You can see the QSO that confirms one specific DXCC entity in one specific band by poiting your mouse over that band in the DXCC widget? - - - - - <b>Tip #21:</b><br>Do you know...<br>You can upload your QSO marked as queued to LoTW via TQSL with <a href="#ToolsUploadLoTW">Tools->Upload to LoTW...</a> ?<br><br>You have to configure TQSL in the preferences to be able to use this functionality. - Translator: Please make sure that the name of the link is coherent with the menu File->Export ADIF for LoTW... - - - - + TIP-Default: Text @@ -7141,12 +5940,12 @@ Det kan være fordi, at filen du forsøger at imporetere ikke har det korrekte f Kontinent - + Reading cty.csv... Læser cty.csv ... - + Abort reading Afbryd læsning diff --git a/translations/klog_de.ts b/translations/klog_de.ts index 392f4d3f..eae6352a 100644 --- a/translations/klog_de.ts +++ b/translations/klog_de.ts @@ -18,18 +18,15 @@ KLog is a free logbook for hamradio operators. KLog ist ein freies Programm für Amateurradio-Operatoren. - - Please know that this is an BETA release and it may contain many bugs.<br>Backup your data before using this software! - Beachten Sie, dass dies eine Beta-Version ist und Fehler enthalten kann.<br>Sichern Sie Ihre Daten ehe Sie diese Software verwenden. - - - KLog has been fully rewritten from the 0.6.2 to be able to provide a cross-platform application that runs in the main operating systems (Linux, macOS & Windows) and provide new functionalities that KLog was not providing. - Beachten Sie, dass dies eine Beta-Version ist und Fehler enthalten kann.<br>Sichern Sie Ihre Daten ehe Sie diese Software verwenden. - - Please be aware that this is a development release and it may contain many bugs.<br>Backup your data before using this software! - + Please know that this is an BETA release and it may contain many bugs.<br>Backup your data before using this software! + Beachten Sie, dass dies eine Beta-Version ist und Fehler enthalten kann.<br>Sichern Sie Ihre Daten ehe Sie diese Software verwenden. + + + + KLog has been fully rewritten from the 0.6.2 to be able to provide a cross-platform application that runs in the main operating systems (Linux, macOS & Windows) and provide new functionalities that KLog was not providing. + Beachten Sie, dass dies eine Beta-Version ist und Fehler enthalten kann.<br>Sichern Sie Ihre Daten ehe Sie diese Software verwenden. @@ -66,6 +63,11 @@ If KLog is still not in your language and you want to help us, you are welcome to contact us through the <a href="https://lists.nongnu.org/mailman/listinfo/klog-devel">KLog development mailing list</a>! Ist KLog nicht in Ihre Sprache übersetzt und Sie möchten mithelfen, abonnieren Sie die <a href="https://lists.nongnu.org/mailman/listinfo/klog-devel">Entwicklermailingliste für KLog</a>. + + + KLog developers have included a feature that reports some user data to the KLog server with the sole purpose of identifying the number of installed versions, to focus development in one direction or another taking into account user's needs. + + Be aware that you can enable/disable this feature from the Misc tab in the Setup page. @@ -76,11 +78,6 @@ You can also help us by sending bug reports or small code contributions, ideas or whatever you think may improve KLog. .Senden Sie Fehlerberichte oder kleine Korrekturen des Quelltextes, Ideen oder alles, was KLog verbessern könnte. - - - Since 0.6.2, KLog has been fully rewritten to provide a cross-platform application that runs on all major operating systems (Linux, macOS and Windows) and to support new functionality. - - If you want to provide support you are welcome to join the <a href="https://lists.nongnu.org/mailman/listinfo/klog-devel">KLog development mailing list</a>! @@ -108,11 +105,6 @@ Privacy advisory Hinweis zur Privatsphäre - - - KLog developers have included a feature that reports some user data to the KLog server with the sole purpose of identifying the number of installed versions, to focus development in one direction or another taking into account users' needs. - - KLog developers have included a feature that reports some user data to the KLog server with the sole purpose of identifying the number of installed versions, to focus development in one direction or another taking into account user's needs KLog-Entwickler haben eine Funktion integriert, die einige Benutzerdaten an den KLog-Server sendet, um die Anzahl der installierten Versionen zu identifizieren, und um die Entwicklung entsprechend den Bedürfnissen der Benutzer weiterzuentwickeln. @@ -152,94 +144,6 @@ Privatsphäre - - AdifLoTWExportWidget - - - Select the Station Callsign that you want to use to upload the log. - - - - - Select the start date to export the QSOs. The default date is the date of the first QSO with this station callsign. - - - - - Select the end date to export the QSOs. The default date is the date of the last QSO with this station callsign. - - - - - Station callsign - - - - - Start date - - - - - End date - - - - - Ok - OK - - - - Cancel - Abbrechen - - - - DX - - - - - Date/Time - Datum/Zeit - - - - Band - Band - - - - Mode - Modus - - - - Not defined - - - - - All - Alle - - - - QSOs: - - - - - This table shows the QSOs that will be sent to LoTW. - - - - - This table shows the QSOs that will be exported to ADIF. - - - AwardsWidget @@ -338,39 +242,23 @@ - Number of QSOs worked in the selected year. - + Number of QSOs worked on the selected year. + Anzahl der im ausgewählten Jahr bearbeiteten QSOs. - Number of DXCCs worked in the selected year. - + Number of DXCC worked on the selected year. + Anzahl der im ausgewählten Jahr bearbeiteten DXCC. - Number of CQ Zones worked in the selected year. - + Number of CQ Zones worked on the selected year. + Anzahl der im ausgewählten Jahr bearbeiteten CQ-Zonen. - Score for the DXMarathon in the selected year. - - - - Number of QSOs worked on the selected year. - Anzahl der im ausgewählten Jahr bearbeiteten QSOs. - - - Number of DXCC worked on the selected year. - Anzahl der im ausgewählten Jahr bearbeiteten DXCC. - - - Number of CQ Zones worked on the selected year. - Anzahl der im ausgewählten Jahr bearbeiteten CQ-Zonen. - - Score for the DXMarathon on the selected year. - Bewertung für den DX-Marathon im ausgewählten Jahr. + Bewertung für den DX-Marathon im ausgewählten Jahr. @@ -381,60 +269,52 @@ CTYPage - + Country data download Länderdaten herunterladen - + KLog needs country data... KLog benötigt Länderdaten ... - + &Download &Herunterladen - + &Ignore &Ignorieren - + Country data needed Länderdaten erforderlich + + + KLog uses the cty.csv file from http://www.country-files.com/ to get DXCC information. + KLog verwendet die Datei „cty.csv“ von http://www.country-files.com/, um DXCC-Informationen zu erhalten.. + - KLog uses the cty.csv file from https://www.country-files.com/ to get DXCC information. - + You need to download the cty.csv file if you want KLog to show you the countries, locator, ... of the QSOs you do. + Sie müssen die Datei „cty.csv“ herunterladen, wenn Klog das Land, Locator, usw. des QSO-Eintrags anzeigen soll, den Sie bearbeiten. - You need to download the cty.csv file if you want KLog to show you the countries, locator, etc. of the QSOs you do. - - - - KLog uses the cty.csv file from http://www.country-files.com/ to get DXCC information. - KLog verwendet die Datei „cty.csv“ von http://www.country-files.com/, um DXCC-Informationen zu erhalten.. - - - You need to download the cty.csv file if you want KLog to show you the countries, locator, ... of the QSOs you do. - Sie müssen die Datei „cty.csv“ herunterladen, wenn Klog das Land, Locator, usw. des QSO-Eintrags anzeigen soll, den Sie bearbeiten. - - - Click on Download to download now. Klicken Sie zum Starten auf Herunterladen. - + KLog KLog - + I can't find the host. Please check your network and try again Do you want to try again? Der Rechner wurde nicht gefunden. Bitte überprüfen Sie Ihr Netzwerk und versuchen Sie es erneut @@ -449,31 +329,27 @@ Möchten Sie es erneut versuchen? Aktualisieren + ID - Kennung + Kennung - + Entity Eintrag - - Prefix - Präfix - - - + Pref: - + CQ: - + ITU: @@ -483,7 +359,7 @@ Möchten Sie es erneut versuchen? - + Entity not worked in this band. Eintrag in diesem Band nicht bearbeitet. @@ -491,124 +367,119 @@ Möchten Sie es erneut versuchen? DXClusterWidget - + Click on Connect to connect to the DX-Cluster server Klicken Sie auf „Verbinden“, um die Verbindung zum DX-Clusterserver herzustellen - - + + Connect Verbinden - - - - + + + + Clear Löschen - + Click on connect to connect to the DX-Cluster Klicken Sie auf „Verbinden“, um die Verbindung zum DX-Clusterserver herzustellen - + Trying to connect to the server Es wird versucht, mit dem Server zu verbinden - + + - KLog DXCluster KLog-DX-Cluster - + The host was not found. Please check: Der Rechner wurde nicht gefunden, bitte überprüfen Sie: - + - your network connection; - the host name and port settings. - ihre Netzwerkverbindung - den Rechnernamen und Port-Einstellungen. - + The connection was refused by the peer. Make sure the DXCluster server is running, and check that the host name and port settings are correct. Die Verbindung ist von der Gegenstelle abgelehnt worden. Überprüfen Sie, dass der DX-Clusterserver erreichbar ist und dass der Rechnername und Port korrekt sind. - + The following error occurred: %1. Der folgende Fehler ist aufgetreten: %1. - + Connected to server Mit Server verbunden - - - + + + KLog message KLog-Nachricht - - + + Enter your callsign to connect to the cluster: Geben Sie Ihr Rufzeichen für die Verbindung zum DX-Cluster ein: - + Enter your password to connect to the cluster: (Just hit enter for no password) Geben Sie Ihr Passwort für die Verbindung zum Cluster ein: Oder drücken Sie die Eingabetaste für ein leeres Passwort - - + + Disconnect Verbindung trennen - + Not logged on, you may need to enter your callsign again. Sie sind nicht angemeldet, bitte geben Sie Ihr Rufzeichen nochmal ein. - + Enter here the commands to be sent to the DX-Cluster server. Geben Sie hier die Befehle ein, die an den DX-Cluster-Server gesendet werden. - + Connection closed by the server Verbindung durch den Server beendet - + Click on Connect to connect to the DX-Cluster server. Klicken Sie auf „Verbinden“, um die Verbindung zum DX-Clusterserver herzustellen. - + Send Senden - - - It was not possible to open the file to save the DX-Spots for writing. DX-Cluster activity will not be saved! - - DataProxy_SQLite @@ -618,181 +489,177 @@ Oder drücken Sie die Eingabetaste für ein leeres Passwort Keine Softwareversion für die Datenbank vorhanden + No query failed - Alle Abfragen erfolgreich + Alle Abfragen erfolgreich - + Aircraft Scatter Common term in hamradio, do not translate if not sure Reflexion an Flugzeugen - + Aurora - + Aurora-E - + Back scatter Common term in hamradio, do not translate if not sure - + Earth-Moon-Earth Erde-Mond-Erde - + Sporadic E - + Internet-assisted - + Ionoscatter Common term in hamradio, do not translate if not sure - + Meteor scatter Common term in hamradio, do not translate if not sure Streuung durch Meteore - + Terrestrial or atmospheric repeater or transponder Terrestrische oder atmosphärische Reklektion oder Transponder - + Rain scatter Common term in hamradio, do not translate if not sure Streuung durch Regen - + Satellite Satellit - + Bureau Common term in hamradio, do not translate if not sure Büro - + Manager Common term in hamradio, do not translate if not sure Manager - + All QSOs have been updated with a DXCC and the Continent. - + Field Aligned Irregularities Common term in hamradio, do not translate if not sure - - Query didn't failed - - - - + F2 Reflection Common term in hamradio, do not translate if not sure F2-Reflexion - + Trans-equatorial Common term in hamradio, do not translate if not sure - + Tropospheric ducting Common term in hamradio, do not translate if not sure - - + + Yes Ja - - + + No Nein - - + + Requested Angefordert - - + + Ignore/Invalid Ignoriert/Ungültig - + Validated Geprüft - + Queued Eingereiht - + Uploaded Hochgeladen - + Do not upload Nicht hochladen - + Modified Geändert - + Direct Direkt - + Electronic Elektronik - + KLog DXCC KLog-DXCC @@ -800,22 +667,22 @@ Oder drücken Sie die Eingabetaste für ein leeres Passwort DownLoadCTY - + Download of cty.csv failed with the following error code: Das Herunterladen von cty.csv ist mit folgendem Fehler fehlgeschlagen: - + Download of cty.csv done. Das Herunterladen von cty.csv ist abgeschlossen. - + There is already a cty.csv file in the folder but it will be replaced with the new one. Es gibt bereits eine Datei cty.file im Ordner, sie wird durch die neue Datei ersetzt. - + Could not open %1 for writing %1 lässt sich nicht zum Schreiben öffnen @@ -823,358 +690,201 @@ Oder drücken Sie die Eingabetaste für ein leeres Passwort FileManager + The log that you have selected contains more than just one station callsign. - Das ausgewählte Protokoll enthält mehrere Stations-Rufzeichen. + Das ausgewählte Protokoll enthält mehrere Stations-Rufzeichen. + Please select the station callsign you want to export the log from: - Bitte wählen Sie das Stations-Rufzeichen, dessen Protokoll Sie exportieren möchten: + Bitte wählen Sie das Stations-Rufzeichen, dessen Protokoll Sie exportieren möchten: + Station Callsign: - Stations-Rufzeichen: + Stations-Rufzeichen: + Define Station Callsign - Stations-Rufzeichen eingeben + Stations-Rufzeichen eingeben + You have selected no callsign. KLog will export QSOs without a station callsign defined and those with the call you are entering here. - Sie haben kein Rufzeichen ausgewählt. Es werden QSOs ohne definiertes Stations-Rufzeichen und QSOs mit dem hier eingegebenen Rufzeichen exportiert. + Sie haben kein Rufzeichen ausgewählt. Es werden QSOs ohne definiertes Stations-Rufzeichen und QSOs mit dem hier eingegebenen Rufzeichen exportiert. + Enter the station callsign to use for this log or leave it empty for QSO without station callsign defined: - Geben Sie das Stations-Rufzeichen für dieses Protokoll ein oder lassen das Rufzeichen weg für QSOs ohne Stations-Rufzeichen: + Geben Sie das Stations-Rufzeichen für dieses Protokoll ein oder lassen das Rufzeichen weg für QSOs ohne Stations-Rufzeichen: + No station callsign has been selected and therefore no log will be exported - Es wurde kein Stations-Rufzeichen ausgewählt, daher wird kein Protokoll exportiert + Es wurde kein Stations-Rufzeichen ausgewählt, daher wird kein Protokoll exportiert - - - + + Writing ADIF file... ADIF-Datei wird geschrieben ... - - - - + + + Abort writing Schreiben abbrechen - + Exporting LoTW ADIF file... ADIF-Datei für LoTW wird exportiert ... - - - - + + QSO: QSO: - + Writing ADIF file... QSO: ADIF-Datei wird geschrieben ... QSO: - - - + You have canceled the file export. The file will be removed and no data will be exported. Sie haben der Export der Datei abgebrochen. Die Datei wird entfernt und es werden keine Daten exportiert. - - KLog - Error - - - - - - The selected log does not exist, please check it again. - - - - - The selected callsign (%1) is not valid, please check it again. - - - - - - The file %1 can't be opened. - - - - - - There are no QSOs pending to be uploaded with that station callsign. - - - - - - - - KLog - Invalid call detected - - - - - - - - An invalid callsign has been detected %1. Do you want to export this callsign anyway (click on Yes) or remove the call from the exported log file? - - - - - - - - Exporting wrong calls may create problems in the applications you are potentially importing this logfile to. It may, however, be a good callsign that is wrongly identified by KLog as not valid. You can, however, edit the ADIF file once the export process is finished. - - - - - - - - - KLog - User cancelled - - - - - - - - + + Do you still want to cancel? Möchten Sie immer noch abbrechen? - - The selected callsign (%1) is not valid, please check it again to export the log. - - - - - Exporting ADIF file... - - - - + Writing Cabrillo file... Cabrillo-Datei wird geschrieben ... - + KLog: Cabrillo Log Export not implemented KLog: Der Export in eine Cabrillo-Datei ist nicht implementiert - + I am sorry but the Cabrillo Export To File feature has still not been implemented. Leider wurde die Funktion zum Export in eine Cabrillo-Datei bisher noch nicht implementiert. - - KLog - File not opened - - - - - It was not possible to open the file %1 for reading. - - - - - KLog was not able to read the LoTW file - - - - + Reading LoTW file... LoTW-Datei wird gelesen ... - - + + Abort reading Lesen abbrechen - - Importing LoTW ADIF file... - - - - - KLog - Log selection - - - - + There is more than one log in this logfile. Es gibt mehrere Protokolle in dieser Protokolldatei. - + All logs will be imported into the current log. Alle Protokolle werden in die aktuelle Protokolldatei importiert. - + Do you want to continue? Möchten Sie fortfahren? - + Reading ADIF file... ADIF-Datei wird gelesen ... - + Importing ADIF file... ADIF-Datei wird importiert ... - - KLog - Duplicated QSOs - - - - + It seems that there are some duplicated QSOs in the ADIF file you are importing. Do you want to continue? (Duped QSOs will not be imported) Offensichtlich gibt es einige doppelte QSOs in der ADIF-Datei, die Sie importieren möchten. Möchten Sie fortfahren? (Duplikate von QSOs werden nicht importiert) - - KLog has found one QSO without the Station Callsign defined. - -Enter the Station Callsign that was used to do this QSO on %1: - - - - - - You have canceled the file import. The file will be removed and no data will be imported. - - - - - Some QSOs of this log, (i.e.: %1) seems to lack RST-TX information. - - - - - Click on Yes to add a default 59 to all QSOs with a similar problem. - - - - - If you select NO, maybe the QSO will not be imported. - - - - - Some QSOs of this log, (i.e.: %1) seems to lack RST-RX information. - - - - - KLog - Apply to all QSOs in this log? - - - + You have cancelled the file import. The file will be removed and no data will be imported. - Sie haben der Import der Datei abgebrochen. Die Datei wird entfernt und es werden keine Daten exportiert. + Sie haben der Import der Datei abgebrochen. Die Datei wird entfernt und es werden keine Daten exportiert. + This QSO is not including the minimum data to consider a QSO as valid!. - In diesem QS=-Eintrag fehlen Daten, er ist ungültig. + In diesem QS=-Eintrag fehlen Daten, er ist ungültig. - + Please edit the ADIF file and make sure that it include at least: Bearbeiten Sie die ADIF-Datei und überprüfen Sie, ob sie mindesten Folgendes enthält: - + and und - + This QSO had: In diesem QSO-Eintrag: - - This QSO is not including the minimum data to consider a QSO as valid! - - - - + - The band missing and the following call: - Das Band fehlt bei dem folgenden Rufzeichen: + - The call missing but was done at this time: - - Das Rufzeichen fehlt bei dem folgenden Datum: + - Das Rufzeichen fehlt bei dem folgenden Datum: - + - The mode missing and the following call: - Der Modus fehlt bei dem folgenden Rufzeichen: - + - The date missing and the following call: - Das Datum fehlt bei dem folgenden Rufzeichen: - + - The time missing and the following call: - Die Zeit fehlt bei dem folgenden Rufzeichen: - + Do you want to continue with the current file? Möchten Sie mit der aktuellen Datei fortfahren? - + KLog: Not all required data found! KLog: Es wurden nicht alle benötigten Daten gefunden - - - KLog - No Station callsign entered. - - - - - KLog has found one QSO without the Station Callsign defined. - -Enter the Station Callsign that was used to do this QSO with %1 on %2: - - - - - - KLog - QSO without Station Callsign + + Some QSO of this log, (i.e.: %1) seems to lack of RST-RX information. @@ -1182,17 +892,24 @@ Enter the Station Callsign that was used to do this QSO with %1 on %2: In diesem Protokoll fehlen RST-TX-Informationen. - + + Click on Yes to add a default 59 to all QSO with a similar problem. Klicken Sie auf „Ja“, um den Vorgabewert 59 zu allen QSOs mit dem gleichen Problem hinzuzufügen. - + + If you select NO, the QSO may not be imported. Wenn Sie Nein auswählen, werden die QSO-Daten nicht importiert. - + + Some QSO of this log, (i.e.: %1) seems to lack of RST-TX information. + + + + KLog: No RST TX found! KLog: Es wurden keine RST-TX-Daten gefunden @@ -1201,7 +918,7 @@ Enter the Station Callsign that was used to do this QSO with %1 on %2: In diesem Protokoll fehlen RST-RX-Informationen. - + KLog: No RST RX found! KLog: Es wurden keine RST-RX-Daten gefunden @@ -1339,23 +1056,15 @@ Enter the Station Callsign that was used to do this QSO with %1 on %2: This looks like it's the first time you've run KLog on this computer. Anscheinend führen Sie KLog zum ersten Mal auf diesem Rechner aus. - - KLog is a free hamradio logging program that can run on Linux macOS and Windows. - KLog ist ein freies Programm für Amateurradio-Protokolle für Linux, macOS und Windows. - - - It is designed to provide general purpose, DX and contest logging. - Entwickelt für den allgemeinen Gebrauch, DX und Contest-Protokolle. - - KLog is a free hamradio logging program that can run on Linux, macOS, and Windows. - + KLog is a free hamradio logging program that can run on Linux macOS and Windows. + KLog ist ein freies Programm für Amateurradio-Protokolle für Linux, macOS und Windows. - It is designed to provide general purpose DX, and contest logging. - + It is designed to provide general purpose, DX and contest logging. + Entwickelt für den allgemeinen Gebrauch, DX und Contest-Protokolle. @@ -1416,161 +1125,6 @@ Enter the Station Callsign that was used to do this QSO with %1 on %2: KLog ist freie Software. - - LoTWUtilities - - - KLog - LoTW password needed - - - - - Please enter your LoTW password: - - - - - KLog - File exist - - - - - There is a file already existing with the name that will be used. - - - - - The file %1 already exist. Do you want to overwrite? - - - - - KLog - Can't write the file - - - - - KLog was not able to save the file %1. -Error returned: %2 - - - - - The file already %1 exist. - - - - - Downloading data to file: %1. - - - - - - KLog - LoTW download - - - - - KLog - Download error - - - - - The downloading error is: %1 - - - - - There was an error while downloading the file from LoTW. - - - - - KLog - Redirection found - - - - - The remote server redirected our connection to %1 - - - - - Do you want to follow the redirection? - - - - - It was not possible for find the file %1 that has been just downloaded. - - - - - It seems that LoTW has no QSO with the Station Callsign you are using (%1). - - - - - Try again and send the downloaded file (%1) to the KLog developer for analysis. - - - - - KLog downloaded %1 QSOs successfully. Do you want to update your log with the downloaded data? - - - - - KLog - File not found - - - - - KLog can't find the downloaded file. - - - - - KLog - LoTW user/password error - - - - - LoTW server did not recognized your user/password - - - - - Check your user and password and ensure your are using the right one before trying again. - - - - - KLog - LoTW No QSOs - - - - - LoTW sent no QSOs - - - - - KLog - LoTW Unknown error - - - - - KLog can't recognize the file that has been downloaded from LoTW. - - - - - Now KLog will process the downloaded QSO and update your local log. - - - LogModel @@ -1617,175 +1171,86 @@ Error returned: %2 LogWindow - + QSL Send QSL gesendet - + QSL Rcvd QSL empfangen - + &Delete &Löschen - + Delete a QSO QSO löschen - + &Edit QSO OSO b&earbeiten - + Edit this QSO Diese QSO bearbeiten - + Via &bureau Über &Büro - + Send this QSL via bureau Diesen QSL-Eintrag über das Büro senden - + D&irect D&irekt - + Send this QSL via direct Diesen QSL-Eintrag direkt senden - + Via bureau Über Büro - + QSL &received via bureau Empfangene QSL über Büro - + Direct Direkt - + QSL received via direc&t Direk&t empfangene QSL - - Check in QRZ.com - - - - - Check this callsign in QRZ.com - - - - - Check in DXHeat.com - - - - - Check this callsign in DXHeat.com - - - - + You have requested to delete this QSO. Sie haben das Löschen dieser QSO angefordert. - + Are you sure? Sind Sie sicher? - - MainQSOEntryWidget - - - - - &Add - &Hinzufügen - - - - &Clear - &Löschen - - - - QRZ of the QSO. - QRZ des QSO-Eintrags. - - - - Band of the QSO. - Band des QSO-Eintrags. - - - - Mode of the QSO. - Modus des QSO-Eintrags. - - - - Date of the QSO. - Datum des QSO-Eintrags. - - - - Time of the QSO. - Zeit des QSO-Eintrags. - - - - Add the QSO to the log. - QSO zum Protokoll hinzufügen - - - - Clears the QSO entry. - Löscht den QSO-Eintrag. - - - - KLog will show real time if enabled. - - - - - QRZ - QRZ - - - Invalid characters used in the QRZ - Ungültige Zeichen in der QRZ - - - - &Modify - &Bearbeiten - - MainWindow @@ -1793,30 +1258,35 @@ Error returned: %2 Neu berechnen - + Starting KLog KLog wird gestartet + + + + &Add - &Hinzufügen + &Hinzufügen + &Clear - &Löschen + &Löschen + Status bar... - Statusleiste ... + Statusleiste ... - - + DX Entity DX-Eintrag - + &Log Window &Protokollfenster @@ -1836,38 +1306,33 @@ Error returned: %2 MHz - - + + KLog KLog - - KLog - File not open + + It was not possible to open the debug file for writting. No debug log will be saved! - - Status bar ... - - - - + It seems that you have never done a backup or exported your log to ADIF. - + It seems that the latest backup you did is older than one month. - + Log backup recommended! - + It is a good practice to backup your full log regularly to avoid loosing data in case of a problem. Once you export your log to an ADIF file, you should copy that file to a safe place, like an USB drive, cloud drive, another computer, ... @@ -1877,121 +1342,102 @@ KLog will remind you to backup on a monthly basis. - + KLog new version detected! - + It seems that you are running this version of KLog for the first time. - + The setup will be open to allow you to do any new setup you may need. - + Ready Bereit - - KLog - Unexpected error - - - - + An unexpected error ocurred when trying to add the QSO to your log. If the problem persists, please contact the developer for analysis: Es ist ein unerwarteter Fehler beim Hinzufügen der QSO-Daten zu Ihrer Protokolldatei aufgetreten. Bitte senden Sie einen Fehlerbericht an die Entwickler zur Analyse, falls das Problem weiterhin besteht. - - - KLog - Not valid call - - - - - - The call %1 is not a valid call. Do you really want to add this call to the log? - - - - - - KLog - Select correct entity - - - - - + + You have selected an entity: Sie haben folgenden Eintrag ausgewählt: - - + + that is different from the KLog proposed entity: Dieser Eintrag unterscheidet sich von dem durch KLog vorgeschlagenen Eintrag: - + Click on the prefix of the correct entity or Cancel to edit the QSO again. Klicken Sie auf das Präfix, um den Eintrag zu korrigieren oder drücken Sie Abbrechen, um den QSO-Eintrag erneut zu bearbeiten. - - - No DXCC - - - - - - None - - - - + Click on the prefix of the right entity or Cancel to correct. Klicken Sie auf das Präfix rechts vom Eintrag oder drücken Sie „Abbrechen“ zur Korrektur. + Input - Eingabe + Eingabe - + + RSTrx - + + RSTtx - + + + QRZ QRZ - + + STX + + + + + SRX + + + + Do you really want to exit KLog? + Invalid characters used in the QRZ - Ungültige Zeichen in der QRZ + Ungültige Zeichen in der QRZ Ready... Bereit ... - + &File &Datei @@ -2004,12 +1450,12 @@ KLog will remind you to backup on a monthly basis. Öff&nen ... - + &Import from ADIF... &Importieren aus ADIF ... - + Import an ADIF file into the current log. Importiert eine ADIF-Datei in das aktuelle Protokoll. @@ -2018,477 +1464,355 @@ KLog will remind you to backup on a monthly basis. Speichern &unter ... - + Export to ADIF... Exportieren zu ADIF ... - + Export the current log to an ADIF logfile. Exportiert das aktuelle Protokoll in eine ADIF-Protokolldatei. - + Export all logs to ADIF... Alle Protokolle zu ADIF exportieren ... - + Export ALL the QSOs into one ADIF file, merging QSOs from all the logs. Exportiert alle QSOs in eine ADIF-Datei, dabei werden QSOs aus allen Protokollen zusammengeführt. + Export Requested QSL to ADIF... - Angeforderte QSL in ADIF exportieren ... + Angeforderte QSL in ADIF exportieren ... + Export all QSOs requesting QSLs to an ADIF file (e.g. to import it into a QSL tag printing program). - Exportiert alle für QSLs angeforderten QSLs in eine ADIF-Datei, um sie zum Beispiel in ein Programm zum Drucken von QSL-Markierungen zu exportieren. + Exportiert alle für QSLs angeforderten QSLs in eine ADIF-Datei, um sie zum Beispiel in ein Programm zum Drucken von QSL-Markierungen zu exportieren. + Export ADIF for LoTW... - ADIF für LoTW exportieren ... + ADIF für LoTW exportieren ... + Export an ADIF file to be sent to LoTW. Remember to sign it with TQSL before uploading to LoTW! - Exportiert eine ADIF-Datei zum Versenden zu LoTW. Signieren Sie die Datei mit TQSL, bevor Sie sie zu LoTW hochladen. + Exportiert eine ADIF-Datei zum Versenden zu LoTW. Signieren Sie die Datei mit TQSL, bevor Sie sie zu LoTW hochladen. - + &Print Log... &Protokoll drucken ... - + Print your log. Druckt ein Protokoll. - + KLog folder KLog-Ordner - + Opens the data folder of KLog. Öffnen den Datenordner von KLog. - + E&xit &Beenden - + &Tools E&xtras - + Fill in QSO data QSO-Daten ausfüllen - + Go through the log reusing previous QSOs to fill missing information in other QSOs. Im Protokoll Daten früherer QSO-Einträge zum Ausfüllen fehlender Informationen in anderen QSO-Einträgen verwenden. + Fill in DXCC data - DXCC-Daten ausfüllen + DXCC-Daten ausfüllen + Go through the log filling QSOs without a DXCC defined. - QSOs im Protokoll ohne definierten DXCC-Eintrag ausfüllen. + QSOs im Protokoll ohne definierten DXCC-Eintrag ausfüllen. - + QSL tools... QSL-Werkzeuge ... - + &Find QSO to QSL &QSO-Einträge zu QSLs suchen - + Shows QSOs for which you should send your QSL and request the DX QSL. Anzeige von QSO-Einträgen, für die Sie Ihre QSLs versenden und die DX-QSL anfordern sollten. - + Find My-QSLs pending to send Ausstehende DX-QSLs zum Senden suchen - + Shows the QSOs with pending requests to send QSLs. You should keep this queue empty! Zeigt die QSL-Einträge mit ausstehenden Anforderungen zum Senden von QSLs. Diese Warteschlange sollten Sie bearbeiten. - + &Find DX-QSLs pending to receive &Ausstehende DX-QSLs zum Empfang suchen + Shows the DX-QSL that has been requested or QSLs has been sent with no answer. - Zeigt die DX-QSL-Einträge, die angefordert wurden oder QSL-Einträge die ohne Antwort versendet wurden. + Zeigt die DX-QSL-Einträge, die angefordert wurden oder QSL-Einträge die ohne Antwort versendet wurden. - + &Find requested pending to receive &Ausstehende Einträge, auf deren Empfang gewartet wird + Shows the DX-QSL that has been requested. - Zeigt die angeforderten DX-QSL-Einträge. + Zeigt die angeforderten DX-QSL-Einträge. - + LoTW tools... LoTW-Werkzeuge ... + Queue all QSL to be sent of this log - Alle QSL-Einträge in diesem Protokoll in die Sende-Warteschlange einreihen + Alle QSL-Einträge in diesem Protokoll in die Sende-Warteschlange einreihen + Mark all non sent QSOs in this log as queued to be uploaded. - Alle nicht gesendeten QSO-Einträge in diesem Protokoll als eingereiht zum Hochladen markieren. + Alle nicht gesendeten QSO-Einträge in diesem Protokoll als eingereiht zum Hochladen markieren. + Queue all QSL to be sent - Alle QSL-Einträge in die Sende-Warteschlange einreihen + Alle QSL-Einträge in die Sende-Warteschlange einreihen + Mark all non sent QSOs as queued to be uploaded. - Alle nicht gesendeten QSO-Einträge als eingereiht zum Hochladen markieren. + Alle nicht gesendeten QSO-Einträge als eingereiht zum Hochladen markieren. + Mark as sent all queued QSO of this log - Alle eingereihten QSO-Einträge in diesem Protokoll als gesendet markieren + Alle eingereihten QSO-Einträge in diesem Protokoll als gesendet markieren - + Mark all queued QSOs in this log as sent to LoTW. Alle eingereihten QSO-Einträge in diesem Protokoll als versendet zu LoTW markieren. + Mark all queued QSO as sent - Alle eingereihten QSO-Einträge als versendet markieren + Alle eingereihten QSO-Einträge als versendet markieren - + Mark all queued QSOs as sent to LoTW. Alle eingereihten QSO-Einträge als versendet zu LoTW markieren. - - Upload to LoTW - - - - - Sends the log to LoTW calling TQSL. - - - - + &Update cty.csv cty.csv &aktualisieren - - Shows DX-QSLs for which requests or QSLs have been sent with no answer. - - - - - Shows the DX-QSLs that have been requested. - - - - - Queue all QSLs from this log to be sent - - - - - Mark all non-sent QSOs in this log as queued to be uploaded. - - - - - Queue all QSLs to be sent - - - - - Put all the non-sent QSOs in the queue to be uploaded. - - - - - Mark as sent all queued QSOs of this log - - - - - Mark all queued QSOs as sent - - - - - Download from LoTW - - - - - + + For updated DX-Entity data, update cty.csv. Zur Aktualisierung der DX-Einträge laden Sie bitte die Datei „cty.csv“ erneut herunter. - + &Update Satellite Data &Satellitendaten aktualisieren - + Stats Statistik - + Show the statistics of your radio activity. Zeigt eine Statistik Ihrer Funkaktivitäten. - + &Setup &Einstellungen - + &Setup... &Einstellungen ... - + &Help &Hilfe - + Check updates... Nach Aktualisierungen suchen ... - + &About... &Über... - + &Tips... - + About Qt... Über Qt ... - - - - - - - - - - - - + + + + + + + + KLog LoTW KLog-LoTW + All pending QSO of this log has been marked as queued for LoTW! - Alle ausstehenden QSO-Einträge in diesem Protokoll wurden für die Warteschlange zu LoTW markiert. + Alle ausstehenden QSO-Einträge in diesem Protokoll wurden für die Warteschlange zu LoTW markiert. - - + + Now you can go to the File menu to export the LoTW ADIF file and upload it to LoTW. Jetzt können Sie im Menü „Datei“ die ADIF-Datei zu LoTW exportieren und hochladen. + + There was a problem to mark all pending QSO of this log as queued for LoTW! - Beim Markieren aller ausstehenden QSO-Einträge in diesem Protokoll für die Warteschlange zu LoTW ist ein Problem aufgetreten. + Beim Markieren aller ausstehenden QSO-Einträge in diesem Protokoll für die Warteschlange zu LoTW ist ein Problem aufgetreten. + All pending QSO has been marked as queued for LoTW! - Alle ausstehenden QSO-Einträge wurden für die Warteschlange zu LoTW markiert. + Alle ausstehenden QSO-Einträge wurden für die Warteschlange zu LoTW markiert. - - KLog - TQSL - - - - - TQSL is not installed or KLog can't find it. Please check the configuration. - - - - - Error #1: The process was cancelled by the user or TQSL was not configured. No QSOs were uploaded. - - - - - Error #2: Upload was rejected by LoTW, please check your data. - - - - - Error #3: The TQSL server returned an unexpected response. - - - - - Error #4: There was a TQSL error. - - - - - Error #5: There was a TQSLLib error. - - - - - Error #6: It was not possible to open the input file. - - - - - Error #7: It was not possible to open the ouput file. - - - - - Error #8: No QSOs were processed since some QSOs were duplicates or out of date range. - - - - - Error #9: Some QSOs were processed, and some QSOs were ignored because they were duplicates or out of date range. - - - - - Error #10: Command syntax error. KLog sent a bad syntax command. - - - - - Error #11: LoTW Connection error (no network or LoTW is unreachable). - - - - - Error #00: Unexpected error. Please contact the development team. - - - - + The log that you have selected contains more than just one station callsign. Das ausgewählte Protokoll enthält mehrere Stations-Rufzeichen. - + Please select the station callsign you want to mark as sent to LoTW: Bitte wählen Sie das Stations-Rufzeichen, dass Sie als versendet zu LoTW markieren möchten: - + Station Callsign: Stations-Rufzeichen: - + Define Station Callsign Stations-Rufzeichen eingeben - + You have selected no callsign. KLog will mark QSOs without a station callsign defined and those with the call you are entering here. Sie haben kein Rufzeichen ausgewählt. Es werden QSOs ohne definiertes Stations-Rufzeichen und QSOs mit dem hier eingegebenen Rufzeichen markiert. - + Enter the station callsign to use for this log or leave it empty for QSO without station callsign defined: Geben Sie das Stations-Rufzeichen für dieses Protokoll ein oder lassen das Rufzeichen weg für QSOs ohne Stations-Rufzeichen: - - KLog - No station selected - - - - + No station callsign has been selected and therefore no log will be marked Es wurde kein Stations-Rufzeichen ausgewählt, daher wird kein Protokoll markiert + All queued QSO of this log has been marked as sent for LoTW! - Alle eingereihten QSO-Einträge wurden als versendet zu LoTW markiert. + Alle eingereihten QSO-Einträge wurden als versendet zu LoTW markiert. + There was a problem to mark all queued QSO of this log as sent for LoTW! - Beim Markieren aller eingereihten QSO-Einträge in diesem Protokoll für das Senden zu LoTW ist ein Problem aufgetreten. + Beim Markieren aller eingereihten QSO-Einträge in diesem Protokoll für das Senden zu LoTW ist ein Problem aufgetreten. + All queued QSO has been marked as sent to LoTW! - Alle eingereihten QSO-Einträge wurden als versendet zu LoTW markiert. + Alle eingereihten QSO-Einträge wurden als versendet zu LoTW markiert. + There was a problem to mark all queued QSO of this log as sent to LoTW! - Beim Markieren aller eingereihten QSO-Einträge in diesem Protokoll für das Senden zu LoTW ist ein Problem aufgetreten. + Beim Markieren aller eingereihten QSO-Einträge in diesem Protokoll für das Senden zu LoTW ist ein Problem aufgetreten. - + About... Über ... - + KLog update checking result Überprüfung der KLog-Version - + Congratulations! Glückwunsch - + You already have the latest version. Sie haben bereits die neueste Version. - - - This function is disabled. Go to the Setup->LoTW tab to enable it. - - - - - There was an error while updating to Yes the LoTW QSL sent information. - - Nothing has been saved. You have to select a valid file type. Es wurden noch keine Daten gespeichert. Sie müssen einen gültigen Dateityp wählen. @@ -2510,7 +1834,7 @@ KLog will remind you to backup on a monthly basis. Beliebige Datei - + You can find the KLog data folder here: Hier finden Sie den KLog-Datenordner: @@ -2519,273 +1843,176 @@ KLog will remind you to backup on a monthly basis. Duplikat - + start Starten - + stop Anhalten + It seems that there are no QSO in the database. - Anscheinend gibt es keine QSO-Daten in der Datenbank. + Anscheinend gibt es keine QSO-Daten in der Datenbank. - + If you are sure that the database contains QSOs and KLog is not able to find them, please contact the developers (see About KLog) for help. Enthält die Datenbank tatsächlich QSOs, sie werden aber nicht gefunden, nehmen Sie mit den KLog.Entwicklern Kontakt auf, siehe Über KLog. - - + + TX Frequency in MHz. TX-Frequenz in MHz. - - + + RX Frequency in MHz. RX-Frequenz in MHz. - + Power used by the DX. Leistung für den DX-Eintrag. - + Logging operator's callsign. Rufzeichen des Protokoll-Operators - + Callsign used over the air. - - KLog ADIF export - - - - - No QSOs have been exported to ADIF. - - - - - KLog has exported %1 QSOs to the ADIF file: %2 - - - - - If you uploaded any QSO to LoTW while you were using TQSL you can now mark them as sent in KLog. - -Do you want to mark as Sent all the QSOs uploaded to LoTW? - - - - - Select the Station Callsign to use when quering LoTW: - - - - - Please check the LoTW setup - - - - - You have not defined a LoTW user or a proper Station Callsign. -Open the LoTW tab in the Setup and configure your LoTW connection. - - - - + My QTH locator. Mein QTH-Locator - + Name of the DX. Name des DX-Eintrags. - - It was not possible to open the debug file for writing. No debug log will be saved! - - - - - - Adding non-valid calls to the log may create problems when applying for awards, exporting ADIF files to other systems or applications. - - - - - KLog - Exit - - - - - All pending QSOs of this log has been marked as queued for LoTW! - - - - - - There was a problem to mark all pending QSOs of this log as queued for LoTW! - - - - - Your log has not been updated. - - - - - No QSO was updated with the data coming from LoTW. This may be because of errors in the logfile or simply because your log was already updated. - - - - - All pending QSOs has been marked as queued for LoTW! - - - - - TQSL finished with no error. - - - - - All queued QSOs of this log has been marked as sent for LoTW! - - - - - There was a problem to mark all queued QSOs of this log as sent for LoTW! - - - - - All queued QSOs has been marked as sent to LoTW! - - - - - There was a problem to mark all queued QSOs of this log as sent to LoTW! - - - - - It seems that there are no QSOs in the database. - - - - + QTH of the DX. QTH des DX-Eintrags. - + Locator of the DX. Locator des DX-Eintrags. - + DX Locator DX-Locator - - KLog - Select the Station Callsign. - - - - + TX Frequency in MHz. Frequency is not in a hamradio band! - + RX Frequency in MHz. Frequency is not in a hamradio band! - + QSO logged from WSJT-X: Protokollierte QSO von WSJT-X: + + QRZ of the QSO. - QRZ des QSO-Eintrags. + QRZ des QSO-Eintrags. Click to recalculate the award status. Klicken Sie, um den Diplom-Status neu zu berechnen. - + + TX RST. - + + RX RST. + + + TX Exchange. + + + + + + RX Exchange. + + + + + Band of the QSO. - Band des QSO-Eintrags. + Band des QSO-Eintrags. + + Mode of the QSO. - Modus des QSO-Eintrags. + Modus des QSO-Eintrags. + + Date of the QSO. - Datum des QSO-Eintrags. + Datum des QSO-Eintrags. + + Time of the QSO. - Zeit des QSO-Eintrags. + Zeit des QSO-Eintrags. + + Add the QSO to the log. - QSO zum Protokoll hinzufügen + QSO zum Protokoll hinzufügen + Clear the box. - Feld löschen. + Feld löschen. - + The logfile has been modified. Die Protokolldatei wurde verändert. - + Do you want to save your changes? Möchten Sie Ihre Änderungen speichern? - - Your log has been updated with the LoTW downloaded QSOs. - - - - - KLog has updated %1 QSOs from LoTW. - - - - - + + UDP Server error The UDP server failed to %1. start or stop @@ -2793,8 +2020,9 @@ The UDP server failed to %1. Der UDP-Server kann %1 nicht ausführen. + Clears the QSO entry. - Löscht den QSO-Eintrag. + Löscht den QSO-Eintrag. Number of confirmed DXCC entities. @@ -2849,23 +2077,23 @@ Der UDP-Server kann %1 nicht ausführen. Wählen Sie das Jahr, das Sie überprüfen möchten. - + Status of the DX entity. Status des DX-Eintrags. - + Name of the DX entity. Name des DX-Eintrags. - - + + Name Name - + QTH QTH @@ -2874,63 +2102,63 @@ Der UDP-Server kann %1 nicht ausführen. Locator - + Power(rx) Leistung (RX) - + RST(tx) - + RST(rx) - + Freq TX TX-Frequenz - + Freq RX RX-Frequenz - + QSO QSO - + QSL QSL - + eQSL eQSL - - + + Comment Kommentar - + Others Sonstige - + My Data Meine Daten - + Satellite Satellit @@ -2939,7 +2167,7 @@ Der UDP-Server kann %1 nicht ausführen. QSOs - + DXCC DXCC @@ -2956,7 +2184,7 @@ Der UDP-Server kann %1 nicht ausführen. DX-Marathon - + Info Information @@ -2981,339 +2209,309 @@ Der UDP-Server kann %1 nicht ausführen. Lokal - + Awards Diplome - + Search Suchen - + Log Protokoll - + DX-Cluster DX-Cluster - - - + + + + Save ADIF File ADIF-Datei speichern - - The LoTW upload process has finished and KLog created a file (%1) in your KLog folder. - -Do you want KLog to remove that file? - - - - - The file has been removed. - - - - Please select the station callsign you want to export the log from: - Bitte wählen Sie das Stations-Rufzeichen, dessen Protokoll Sie exportieren möchten: - - - - - KLog - LoTW - - - + LoTW logfile has been properly exported! - Die LoTW-Protokolldatei wurde erfolgreich exportiert. + Die LoTW-Protokolldatei wurde erfolgreich exportiert. + Remember to: - Bedenken Sie: + Bedenken Sie: + Before uploading: sign the LoTW log; and - Vor dem Hochladen: Signieren Sie das LoTW-Protokoll und + Vor dem Hochladen: Signieren Sie das LoTW-Protokoll und + After uploading: mark as sent all the queued QSO (LoTW Tools). - Nach dem Hochladen: Markieren Sie alle eingereihten QSOs im Menü Extras->LoTW als versendet. + Nach dem Hochladen: Markieren Sie alle eingereihten QSOs im Menü Extras->LoTW als versendet. + There was no QSO to be exported. - Kein QSO zum Export vorhanden + Kein QSO zum Export vorhanden + If you think that some QSO should have been exported, please look for them and ensure that the eQSL LoTW QSL sent box is marked as: - Wenn einige QSO-Einträge exportiert werden sollten, suchen Sie sie und überprüfen Sie, ob das Feld „eQSL/QSL an LoTW versendet“ wie folgt markiert ist: + Wenn einige QSO-Einträge exportiert werden sollten, suchen Sie sie und überprüfen Sie, ob das Feld „eQSL/QSL an LoTW versendet“ wie folgt markiert ist: + Q - Queued - E - Eingereiht + E - Eingereiht + There was an error while exporting the LoTW. The log has not been exported! - Fehler beim Exportieren zu LoTW. Das Protokoll wurde nicht exportiert. + Fehler beim Exportieren zu LoTW. Das Protokoll wurde nicht exportiert. Save Cabrillo File Cabrillo-Datei speichern - + + Open File Datei öffnen + &Modify - &Bearbeiten + &Bearbeiten - + My QTH locator. Format should be Maidenhead like IN70AA up to 10 characters. - + - Needed for DXMarathon - Erforderlich für den DX-Marathon - + Filling QSOs... QSOs werden ausgefüllt ... - + Abort filling Ausfüllen abbrechen - + Filling DXCC, CQz, ITUz, Continent in QSOs... QSO: - + Number Anzahl - + Date Datum - + Time Zeit - + Band Band - - + + Mode Modus - + Print Log Protokoll drucken - + Printing the log... Das Protokoll wird gedruckt ... - + Abort printing Drucken abbrechen - - + + Printing the log... QSO: Das Protokoll wird gedruckt ... QSO: - + KLog QSO received QSO-Daten empfangen - + The following QSO data has been received from WSJT-X to be logged: Die folgenden QSO-Daten wurden von WSJT-X zum protokollieren empfangen: - + Call Ruf - + Freq Frequenz - + Time On - + Time Off - + RST TX - + RST RX - + DX-Grid - + Comments Kommentare - + TX Pwr - + Operator Operator - + Local-Grid - - - KLog - Non-supported mode - - - - - A new mode not supported by KLog has been received from an external program or radio: - - - - - Do you want to keep receiving these alerts? (disabling these alerts will prevent non-valid modes being detected) - - - - - Recommendation: - - - - - Periodically export your data to ADIF to prevent a potential data loss. - - A new mode not supported by KLog has been received from an external software: Ein neuer Modus, der von KLog nicht unterstützt wird, wurde von einer externen Software empfangen: + Do you want to keep receiving this alerts? (disabling this alerts will prevent that non-valid modes are detected) - Möchten Sie diese Meldungen weiter angezeigt bekommen? Werden diese Meldungen abgeschaltet, verhindert das die Erkennung ungültiger Modi. + Möchten Sie diese Meldungen weiter angezeigt bekommen? Werden diese Meldungen abgeschaltet, verhindert das die Erkennung ungültiger Modi. - + If the received mode is correct, please contact KLog development team and request support for that mode Wenn der Empfangsmodus korrekt ist, nehmen Sie bitte Kontakt mit den KLog-Entwicklern auf und bitten Sie um Unterstützung für diesen Modus. - - KLog - Duplicated satellite + + A new mode not supported by KLog has been received from an external software or radio: - + A duplicated satellite has been detected in the file and will not be imported. In der Datei wurde ein doppelter Satellit gefunden, er wird nicht importiert. - + Please check the satellite information file and ensure it is properly populated. Bitte überprüfen Sie die Datei mit den Informationen über Satelliten. - + Now you will see a more detailed error that can be used for debugging... Jetzt wird eine ausführlichere Fehlermeldung angezeigt, die für die Fehlersuche verwendet werden kann .. - + An unexpected error ocurred!! Es ist ein unerwarteter Fehler aufgetreten. - + If the problem persists, please contact the developers Bitte senden Sie einen Fehlerbericht, falls das Problem weiterhin besteht - + for analysis: für die Analyse: - + Error in function Fehler in Funktion - + Error code Fehlernummer - + Error text Fehlertext - + Failed query Abfrage fehlgeschlagen - - KLog - Show errors + + Recomendation: - + + Export, periodically, your data to ADIF to prevent a potential data loss. + + + + Do you want to keep showing errors? Möchten Sie Fehler weiter anzeigen? @@ -3329,77 +2527,77 @@ Do you want KLog to remove that file? MainWindowInputEQSL - + Date of the ClubLog upload. Datum des Hochladens zu Club Log. - + Date of the eQSL sending. eQSL-Sendedatum - + Date of the eQSL reception. eQSL-Empfangsdatum - + Date of the LoTW sending. LoTW-Sendedatum - + Date of the LoTW reception. LoTW-Empfangsdatum - + Status on ClubLog. Status auf Club Log. - + Status of the eQSL sending. Status des eQSL-Versands. - + Status of the eQSL reception. Status des eQSL-Empfangs. - + Status of the LoTW sending. Status des LoTW-Versands. - + Status of the LoTW reception. Status des LoTW-Empfangs. - + ClubLog Club Log - + eQSL Sent eQSL gesendet - + eQSL Rec eQSL empfangen - + LoTW Sent LoTW versendet - + LoTW Rec LoTW empfangen @@ -3539,68 +2737,64 @@ Do you want KLog to remove that file? MainWindowMyDataTab + Watt - Watt + Watt - - Watts - Watt - - - + Keep this data Diese Daten behalten - - + + Data entered in this tab will be copied into the next QSO. Die auf dieser Karteikarte eingegebenen Daten werden in den nächsten QSO-Eintrag kopiert. - + Power used for the QSO in watts. Leistung für den QSO-Eintrag in Watt - + Logging operator's callsign. Rufzeichen des Protokoll-Operators - + Callsign used over the air. - - + + My QTH locator. Mein QTH-Locator - + Power Leistung - + Operator Operator - + Station Callsign Stations-Rufzeichen - + My Locator Mein Locator - + My QTH locator. Format should be Maidenhead like IN70AA up to 10 characters. @@ -3614,7 +2808,7 @@ Do you want KLog to remove that file? - + Other - Sat not in the list Sonstige - Satellit nicht in der Liste @@ -3651,7 +2845,7 @@ Do you want KLog to remove that file? - + Locator of the DX station. This box is synchronized with the Locator box in the QSO tab. @@ -3692,53 +2886,49 @@ Do you want KLog to remove that file? MHz - + Locator of the DX station. Format should be Maidenhead like IN70AA up to 10 characters. - + Not Sat QSO Kein Satellit zum QSO-Eintrag - + KLog has detected a satellite name that it does not recognise. If it should use one of the names of known satellites instead, please select it from the list. Alternatively, please contact the development team to add the new satellite name. KLog hat einen unbekannten Satellitennamen gefunden. Wenn stattdessen ein bekannter Satellitenname verwendet werden soll, wählen Sie ihn aus der Liste. Nehmen Sie alternativ Kontakt mit den Entwicklern auf, damit der neue Satellitenname in KLog aufgenommen werden kann. - + The satellite you have in your QSO is: Der Satellit in Ihren QSO-Daten: - - Please be aware that the satellite name will not be saved if it is not in the list, so that information may be lost! - - - + Please know that the satellite name will not be saved if it is not in the list so that information may be lost! - Beachten Sie, dass der Satellitenname nicht gespeichert wird, wenn er nicht in der Liste enthalten ist, daher können Informationen verloren gehen. + Beachten Sie, dass der Satellitenname nicht gespeichert wird, wenn er nicht in der Liste enthalten ist, daher können Informationen verloren gehen. - + RX Frequency in MHz. Frequency is not in a hamradio band! - + RX Frequency in MHz. RX-Frequenz in MHz. - + TX Frequency in MHz. Frequency is not in a hamradio band! - + TX Frequency in MHz. TX-Frequenz in MHz. @@ -3746,586 +2936,484 @@ Frequency is not in a hamradio band! QObject - + New One, work it! Neu, wird bearbeitet. + + + + + + + - - - - - - - Needed, work it! Benötigt, wird bearbeitet. - - - - + + + + Worked but not confirmed Bearbeitet aber nicht bestätigt - + Confirmed Bestätigt - + Not identified Nicht identifiziert - - + + Database Error Datenbankfehler - + KLog DB needs to be upgraded. Die KLog-Datenbank muss aktualisiert werden. - + Do you want to upgrade it now? Möchten Sie sie jetzt aktualisieren? - + If DB is not upgraded KLog may not work properly. Wenn die Datenbank nicht aktualisiert wird, kann KLog nicht richtig funktionieren. - - - - - - KLog - DB update - - - - + KLog has detected a previous log in the DB. All data will be migrated to a newly created DX type log for you. Es wurden vorherige Protokolle in der Datenbank gefunden. Alle Daten werden in den neu erstellten DX-Protokolltyp migriert. - + KLog: Enter Station callsign KLog: Stations-Rufzeichen eingeben - + Enter the station callsign used in this log Geben Sie das Stations-Rufzeichen ein, das in diesem Protokoll verwendet wird - + Station Callsign Stations-Rufzeichen + All the data was migrated correctly. You should now go to Setup->Preferences->Logs to check that everything is OK. - Alle Daten wurden richtig migriert. Überprüfen Sie jetzt auf der Seite Einstellungen->Protokolle, dass alle Daten in Ordnung sind. + Alle Daten wurden richtig migriert. Überprüfen Sie jetzt auf der Seite Einstellungen->Protokolle, dass alle Daten in Ordnung sind. - - All the data was migrated correctly. You should now go to Setup->Preferences->Logs to check that everything is okay. - - - - - + + Updating mode information... Modusinformation wird aktualisiert ... - - - - - - - + + + + + + + Abort updating Aktualisierung abbrechen - - - - - + + + + + QSO: QSO: - - - - + + + + Canceling this update will cause data inconsistencies and possibly data loss. Do you still want to cancel? Das Abbrechen dieser Aktualisierung führt zu inkonsistenten Daten und möglicherweise zu Datenverlust. Möchten Sie immer noch abbrechen? - - - - + + + + Updating bands information... Bandinformation wird aktualisiert ... - + Updating bands information in %1 status... Band-Information im Status %1 wird aktualisiert ... - - + + Progress: Fortschritt: - + Updating mode information in %1 status... Modus-Information im Status %1 wird aktualisiert ... - + Updating DXCC award information... DXCC-Diplom-Informationen werden aktualisiert ... - + Updating DXCC Award information... DXCC-Diplom-Informationen werden aktualisiert ... - + Updating WAZ award information... WAZ-Diplom-Informationen werden aktualisiert ... - + Updating WAZ Award information... WAZ-Diplom-Informationen werden aktualisiert ... - + Updating information... - + Updating DXCC and Continent information... DXCC- und Kontinent-Informationen werden aktualisiert ... - + Install wizard was canceled before completing... Der Installationsassistent wurde abgebrochen, bevor die Installation abgeschlossen wurde ... - + Do you want to remove the KLog dir from your disk? Möchten Sie den KLog-Ordner von Ihrer Festplatte löschen? - + Your KLog dir has been removed Ihr KLog-Ordner wurde gelöscht + - + - Thank you for running KLog! Vielen Dank für die Nutzung von KLog. - + I could not remove your KLog dir. You should do it manually if you want it removed from your hard disk. Ihr KLog-Ordner kann nicht entfernt werden. Sie müssen diesen Ordner manuell löschen. - + Your KLog dir could not be removed. You should do it manually if you want it removed from your hard disk. Ihr KLog-Ordner kann nicht entfernt werden. Sie müssen diesen Ordner manuell löschen. - + Remember that your KLog dir is on your system... Ihr KLog-Ordner ist immer noch auf Ihren System vorhanden ... - - - A wrong call has been found: %1. Please enter a new call or confirm that the current one is a good call. - - - - - An empty callsign has been detected. If it is possible, please enter the right call. - - - - - KLog - Not valid callsign found - - - - - RotatorWidget - - - Rotator - - SearchWidget - + &Clear &Löschen - + &Export Highlighted Hervorgehobene &Exportieren - - - + + + &Select All &Alles auswählen - + &Search &Suchen + All - Alle + Alle - + Clear the searches. Suchen löschen - + Export the search result to an ADIF file. Exportiert alle Suchergebnisse in eine ADIF-Datei. - + Select/Unselect all the QSOs shown. Alle angezeigten QSO-Daten aus- oder abwählen.- - + Search in the log. Suchen im Protokoll. - + Search in all logs. Suchen in allen Protokollen. + Enter the QRZ to search for. - Geben Sie die QRZ für die Suche ein. + Geben Sie die QRZ für die Suche ein. - - All logs - - - - - Enter the QRZ to search for. Enter '*' to show all the QSOs... it may be slow in big logs! - - - - + Search results. Suchergebnisse. - - Select the Station Callsign used to do this QSO. - - - - - + + QRZ QRZ - - + + Date/Time Datum/Zeit - - + + Band Band - - + + Mode Modus - - + + QSL Sent QSL gesendet - - - + + + QSL Rcvd QSL empfangen - + Station Callsign Stations-Rufzeichen - - + + ID Kennung - - All in log - - - - - Not defined - - - - - Searching for the QSOs... -(It may take long in big logs.) - - - - - KLog - Search - - - - - + + &Clear selection &Auswahl aufheben - + Save File Datei speichern - + QSL Send QSL gesendet - + &Delete &Löschen - + Delete a QSO QSO löschen - + &Edit QSO OSO b&earbeiten - + Edit this QSO Diese QSO bearbeiten - + Via &bureau Über &Büro - + Send this QSL via bureau Diesen QSL-Eintrag über das Büro senden - + D&irect D&irekt - + Send this QSL via direct Diesen QSL-Eintrag direkt senden - + &Request my QSL Meine QSL anfo&rdern - + Mark my QSL as requested Meine QSL als angefordert markieren - - Via Direct and mark DX QSL as requested - - - - - Send this QSL via direct and mark DX QSL as requested - - - - - Via Bureau and mark DX QSL as requested - - - - - Send this QSL via bureau and mark DX QSL as requested - - - - - Via bureau and mark my QSL as requested - - - - - QSL received via bureau and mark my QSL as requested - - - - - Direc&t and mark as my QSL requested - - - - - QSL received via direct and mark my QSL as requested - - - + Via Direct && mark DX QSL as requested - Direkt && DX-QSLs als angefordert markieren + Direkt && DX-QSLs als angefordert markieren + Send this QSL via direct & mark DX QSL as requested - Diese QSL direkt versenden & als angeforderte DX-QSL markieren. + Diese QSL direkt versenden & als angeforderte DX-QSL markieren. + Via Bureau && mark DX QSL as requested - Über Büro && DX-QSLs als angefordert markieren + Über Büro && DX-QSLs als angefordert markieren + Send this QSL via bureau & mark DX QSL as requested - Diese QSL über Büro versenden & als angeforderte DX-QSL markieren. + Diese QSL über Büro versenden & als angeforderte DX-QSL markieren. - + &Request the QSL QSL anfo&rdern - + Mark the QSL as requested QSL als angefordert markieren + Via bureau && mark my QSL as requested - Über Büro && DX-QSLs als angefordert markieren + Über Büro && DX-QSLs als angefordert markieren + QSL received via bureau & mark my QSL as requested - QSL über Büro empfangen & meine QSL als angefordert markieren + QSL über Büro empfangen & meine QSL als angefordert markieren - + Via bureau Über Büro - + QSL received via bureau Empfangene QSL über Büro + Direc&t && mark as my QSL requested - Direkt && mein QSL als angefordert markieren + Direkt && mein QSL als angefordert markieren + QSL received via direct & mark my QSL as requested - QSL direkt empfangen & meine QSL als angefordert markieren + QSL direkt empfangen & meine QSL als angefordert markieren - + Direc&t D&irekt - + QSL received via direct Direkt empfangene QSL - + You have requested to delete the QSO with: %1 Sie haben das Löschen dieser QSO mit %1angefordert - + Are you sure? Sind Sie sicher? - + Needed QSO to send the QSL Um die QSL zu senden, sind die QSO-Daten nötig. - + My QSL requested to be sent Meine QSL, die gesendet werden sollen - - + + DX QSL pending to be received Zum Empfang ausstehende DX-QSL @@ -4333,164 +3421,146 @@ Frequency is not in a hamradio band! SetupDialog - + My Data Meine Daten - - - + + + Bands/Modes Bänder/Modi - - + + DX-Cluster DX-Cluster - - - + + + Colors Farben - - - + + + Misc Verschiedenes - - + + World Editor World-Editor - - - + + + Logs Protokolle - - + + Satellites Satelliten - - + + HamLib - - Interfaces - - - - - + + Cancel Abbrechen - - Ok - OK - - - + + OK OK - - + + Config Dialog Einstellungsdialog - - + + User data Benutzerdaten - + D&X-Cluster D&X-Cluster - + ClubLog Club Log - - LoTW - - - - + WSJT-X WSJT-X - + You need to enter at least one log in the Logs tab. Sie müssen mindestens ein Protokoll auf der Karteikarte Protokolle eingeben. - + Do you want to add one log in the Logs tab or exit KLog? (Click Yes to add a log or No to exit KLog) - + World Welt + DB has not been moved to new path - Die Datenbank wurde zu einem neuen Pfad verschoben + Die Datenbank wurde zu einem neuen Pfad verschoben - + Go to the Misc tab and click on Move DB or the DB will not be moved to the new location. Wählen Sie auf der Karteikarte Verschiedenes „Datenbank verschieben„ oder die Datenbank wird nicht an den neuen Ort verschoben. - + Go to the User tab and enter valid QRZ. Geben Sie auf der Karteikarten „Benutzerdaten“ einen gültigen QRZ-Eintrag ein. - + You need to enter at least a valid QRZ. Sie müssen mindestens einen gültigen QRZ-Eintrag eingeben. - - DB has not been moved to new path. - - - - + You have not selected the kind of log you want. Sie haben die Art des Protokolls nicht ausgewählt. - + You will be redirected to the Log tab. Please add and select the kind of log you want to use. Sie werden zur Karteikarte Protokolle weitergeleitet. @@ -4500,117 +3570,113 @@ Geben Sie die Art des Protokolls an oder wählen Sie ein Protokoll aus. SetupEntityDialog - + Entity Eintrag - + CQ CQ - + ITU ITU - + Latitude Breitengrad - + Longitude Längengrad - + UTC UTC - + Main prefix Haupt-Präfix - + ARRL ID ARRL-Kennung - + Prefixes Präfixe - + Comma separated possible prefixes, e.g. EA1, EA2, ... Durch Komma getrennte mögliche Präfixe wie zum Beispiel EA1, EA2, ... - - Ok - OK - - - + Name of the Entity. Name des Eintrags. - + CQ zone. CQ-Zone - + ITU zone. ITU-Zone - - + + Longitude of the Entity. Längengrad des Eintrags. - + Local time difference to UTC. Lokale Zeitdifferenz zu UTC. - + Main prefix of the entity. Haupt-Präfix des Eintrags. - + ARRL ID. ARRL-Kennung. - + Date of the deletion. Datum der Löschung. - + Deleted Gelöscht - + Cancel Abbrechen + OK - OK + OK - + Entity Dialog Eintragsdialog @@ -4618,12 +3684,12 @@ Geben Sie die Art des Protokolls an oder wählen Sie ein Protokoll aus. SetupPageBandMode - + Bands Bänder - + Modes Modi @@ -4631,62 +3697,62 @@ Geben Sie die Art des Protokolls an oder wählen Sie ein Protokoll aus. SetupPageClubLog - + &Callsign &Rufzeichen - + ClubLog &password &Passwort für Club Log - + ClubLog &email &E-Mail-Adresse von Club Log - + Enter the email you used to register in ClubLog. Geben Sie Ihr Passwort ein, das Sie für die Registrierung bei Club Log verwendet haben. - + Enter the callsign you used to register in ClubLog. Geben Sie Ihr Rufzeichen ein, das Sie für die Registrierung bei Club Log verwendet haben. - + Enter your password in ClubLog. Geben Sie Ihr Passwort für Club Log ein. - + &Send QSOs in real time QSOs &sofort senden - + &Activate ClubLog Club Log &aktivieren - + Use QSO Station &Callsign &QSO-Stations-Rufzeichen verwenden - + Send each QSO to ClubLog in real time, as they are added (or modified) in KLog. Sendet jeden QSO-Eintrag direkt zu Club Log, wenn sie in KLog hinzugefügt oder geändert werden. - + Starts the ClubLog support in KLog. Startet die Unterstützung für Club Log in KLog. - + Use the Station Callsign defined in each QSO instead of the one defined here. Verwendet das in jedem QSO-Eintrag definierte Stations-Rufzeichen anstatt des hier definierten. @@ -4694,77 +3760,77 @@ Geben Sie die Art des Protokolls an oder wählen Sie ein Protokoll aus. SetupPageColors - + New One Neu - + Needed in this band In diesem Band erforderlich - + Worked in this band In diesem Band bearbeitet - + Confirmed in this band In diesem Band bestätigt - + Default Standard - + WSJT-X palette - + Default palette - + Color when the DXCC is an ATNO (All Time New One). - + DXCC is confirmed in this band. - + Default color. - + Sets a palette of colors similar to the one used in WSJT-X. - + Sets the default palette. - + This DXCC was worked before in another band but not in the selected band. It may be needed due to the CQ, ITU, Grid, ... - + Worked DXCC, but not confirmed in this band. - + Choose a color Wählen Sie eine Farbe @@ -4772,87 +3838,72 @@ Geben Sie die Art des Protokolls an oder wählen Sie ein Protokoll aus. SetupPageDxCluster - + Add Hinzufügen - + Delete Löschen - + Show &HF spots &HF-Spots anzeigen - + Show V/&UHF spots V/&UHF-Spots anzeigen - + Show W&ARC spots W&ARC-Spots anzeigen - + Show &worked spots &Bearbeitete Spots anzeigen - + Show &confirmed spots Bestätigte &Spots anzeigen - + Show ANN/&FULL messages - + Show WW&V messages WW&V-Meldungen anzeigen - + Show WC&Y messages WC&Y-Meldungen anzeigen - - Save DX Cluster activity - - - - - Saves all the DX-Cluster activity to a file in the KLog folder - - - - + DX Spots DX-Spots - - Others - Sonstige - - - + Messages Meldungen - + KLog: Add a DXCluster server KLog: DX-Clusterserver hinzufügen - + Add the address followed by the :port Example: dxfun.com:8000 If no port is specified, 41112 will be used by default: @@ -4864,401 +3915,295 @@ Ist kein Port angegeben, wird der Vorgabewert 41112 benutzt: SetupPageHamLib - + Activate HamLib - + Activates the hamlib support that will enable the connection to a radio. - + Read-Only mode - + If enabled, the KLog will read Freq/Mode from the radio but will never send any command to the radio. - + Radio - + Select your rig. - + Defines the interval to pool the radio in msecs. - + Pool interval - + Port - + Select the serial port. Only the serial ports that are detected are shown. - + Scan - + Click to identify the serial ports available in your computer. - + Bauds - + Select the serial port speed. - + 5 bits - + 6 bits - + 7 bits - + 8 bits - + Data bits - + Select the serial data bits. - + None - + Hardware - + Software XON/XOFF - + Flow control - + Select the serial flow control - + No parity - + Even - + Odd - + Space - + Mark - + Parity - + Select the serial parity. - + 1 bit - + 1.5 bits - + 2 bits - + Stop bits - + Select the serial stop bits. - - SetupPageInterfacesWindows - - - UDP port number where the PSTRotator Server will listen for packets. - - - - - Default port is 12040. - - - - - PST Rotator UDP Port - - - - - Hostname or IP address of the computer running PSTRotator. Leave it as localhost if you are running KLog and PSTRotator in the same computer. - - - - - PST Rotator host - - - - - Send antenna bearing to PST Rotator - - - - - SetupPageLoTW - - - LoTW upload - - - - - TQSL Path - - - - - Route to TQSL - - - - - Use TQSL - - - - - Path to the TQSL software. - - - - - Enable the LoTW integration with TQSL. You will need to have TQSL installed - - - - - User: - - - - - Password: - - - - - Enter your password LoTW here. Warning: The password will be save on clear in the KLog config file!! If you don't want to enter the password, KLog will ask you when it is needed. - - - - - LoTW download - - - - - - Enter your LoTW user - - - - - - Enter your password LoTW here. Warning: The password will be save on clear in the KLog config file!! (If you don't want to enter the password, KLog will ask you when it is needed.) - - - - - Select File - - - SetupPageLogs - + &New &Neu - + &Edit &Bearbeiten - + &Remove &Entfernen - + Add a new log. Fügt ein neues Protokoll hinzu. - + Edit the selected log. Bearbeitet das ausgewählte Protokoll. - + Remove the selected log. Entfernt das ausgewählte Protokoll. - + Select the log you want to open. Wählen Sie das gewünschte Protokoll, das Sie öffnen möchten. - + KLog KLog - + Do you really want to remove this log? Möchten Sie dieses Protokoll wirklich entfernen? - - All the QSOs from this log will also be deleted... - - - + All the QSOs from this log will be also deleted... - Alle QSOs aus diesem Protokoll werden ebenfalls gelöscht ... + Alle QSOs aus diesem Protokoll werden ebenfalls gelöscht ... - + Log has not been removed. (#3) Das Protokoll wurde nicht entfernt. (#3) - + Log has not been removed. (#2) Das Protokoll wurde nicht entfernt. (#2) - + Log has not been removed. (#1) Das Protokoll wurde nicht entfernt. (#1) - + ID Kennung - + Date Datum - + Station Callsign Stations-Rufzeichen - + Operators Operatoren - + Comments Kommentare + Type - Typ + Typ - + An error has occurred showing the following error code: Es ist ein Fehler mit folgendem Fehlercode aufgetreten: - + KLog - SetupPageLogs KLog - Einrichtung der Protokolle @@ -5266,364 +4211,371 @@ Ist kein Port angegeben, wird der Vorgabewert 41112 benutzt: SetupPageLogsNew - + &Date &Datum - + &Station Callsign &Stations-Rufzeichen - + &Operators &Operatoren - + Comm&ent Komm&entar - + &Ok &OK - + &Cancel &Abbrechen + Select categories - Kategorien auswählen + Kategorien auswählen - + Callsign used for this log. Rufzeichen für dieses Protokoll. - + Comma separated list of operators: callsign1, callsign2. Durch Komma getrennte Liste von Operatoren: rufzeichen1, rufzeichen2. - + Start date of this log. Anfangsdatum dieses Protokolls. - + Add a comment about this log. Kommentar über dieses Protokoll hinzufügen. + Select the kind of operation for this log. - Wählen Sie die Operation für diese Protokoll aus. + Wählen Sie die Operation für diese Protokoll aus. + Select the mode category. - Wählen Sie eine Kategorie für den Modus aus. + Wählen Sie eine Kategorie für den Modus aus. + Select the operators category. - Wählen Sie eine Kategorie für den Operator aus. + Wählen Sie eine Kategorie für den Operator aus. + + Select the assisted category. + + + + Select the power category. - Wählen Sie eine Kategorie für die Leistung aus. + Wählen Sie eine Kategorie für die Leistung aus. + Select the bands category. - Wählen Sie eine Kategorie für das Band aus. + Wählen Sie eine Kategorie für das Band aus. + + Select the Overlay category. + + + + &Type of Operation - &Art der Operation + &Art der Operation + &Mode Category - &Modus-Kategorie + &Modus-Kategorie + O&perators Category - O&perator-Kategorie + O&perator-Kategorie + + &Assisted Category + + + + Po&wer Category - &Leistungs-Kategorie + &Leistungs-Kategorie + &Bands Category - &Band-Kategorie + &Band-Kategorie + + O&verlay + + + + + Categories not OK - Kategorien sind fehlerhaft + Kategorien sind fehlerhaft - + You need to enter a valid QRZ in the Station Callsign box. The log will not be opened. Sie müssen mindestens gültigen QRZ-Eintrag für das Stations-Rufzeichen eingeben. Das Protokoll wird nicht geöffnet. + You selected an invalid combination. The log will not be opened. - Sie haben eine ungültige Kombination ausgewählt, + Sie haben eine ungültige Kombination ausgewählt, Das Protokoll wird nicht geöffnet. + Categories OK - Kategorien sind in Ordnung + Kategorien sind in Ordnung SetupPageMisc - + &Imperial system &Imperiales System - + &Log in real time Sofort protoko&llieren - + &Time in UTC &Zeit in UTC - + &Save ADIF on exit ADIF-Datei beim Beenden &speichern - + Use this &default filename &Standard-Dateinamen verwenden - + Mark &QSO to send QSL when QSL is received &QSO zum Senden der QSL markieren, wenn die QSL empfangen wird - + Complete QSO with previous data QSO mit vorherigen Daten vervollständigen - + Show the Station &Callsign used in the search box Stations-Rufzeichen für das Suchfeld anzeigen + &Reset to My Data for all QSOs - Auf „Meine Daten“ für alle QSOs zu&rücksetzen + Auf „Meine Daten“ für alle QSOs zu&rücksetzen - + &Check for new versions automatically Automatisch nach neuen Versionen su&chen - + &Provide Info for statistics &Statistik-Informationen bereitstellen - + Manage DX-Marathon - + Activate the application debug log - - Mark sent eQSL && LoTW in new QSO as queued + + Sort log based in date & time - - + + Browse Durchsuchen - + Move DB Datenbank verschieben - + QSOs will be marked as pending to send a QSL if you receive the DX QSL and have not sent yours. Die QSO-Einträge werden markiert, um eine QSL zu senden, wenn Sie eine DX-QSL empfangen und Ihre Daten nicht gesendet haben. - - The search box will also show the callsign on the air to do the QSO. + + The search box will show also the callsign on the air to do the QSO. - - If new version checking is selected, KLog will send the developer your callsign, KLog version and Operating system to help in improving KLog. - - - - - Click to mark as Queued (to be sent) all the eQSL (LoTW and eQSL) in all the new QSO by default. - - - - + All the data from the My Data tab will be used or data from the previous QSO will be maintained. Alle Daten von der Karteikarte „Meine Daten“ wird oder Daten des vorherigen QSO-Eintrags werden verwendet. - - &Keep My Data for all QSOs - - - - + Check if there is a new release of KLog available every time you start KLog. Überprüft beim Programmstart, ob eine neue Version von KLog veröffentlicht wurde. + If new version checking is selected, KLog will send the developer your callsign, KLog version & Operating system to help in improving KLog. - Wenn die Überprüfung auf eine neue Version aktiviert ist, werden Ihr Rufzeichen, die KLog-Version und das Betriebssystem an die Entwickler gesendet, um mit diesen Daten das Programm zu verbessern. + Wenn die Überprüfung auf eine neue Version aktiviert ist, werden Ihr Rufzeichen, die KLog-Version und das Betriebssystem an die Entwickler gesendet, um mit diesen Daten das Programm zu verbessern. - + Check it for Imperial system (Miles instead of Kilometers). Aktivieren Sie diese Einstellung, um das imperiale Maßsystem (Meilen statt Kilometer) zu verwenden. - + Select to use real time. Aktivieren Sie diese Einstellung, um die lokale Zeit zu benutzen. - + Select to use UTC time. Aktivieren Sie diese Einstellung, um die UTC-Zeit zu benutzen. - + Select if you want to save to ADIF on exit. Wählen Sie dies aus, wenn Sie die ADIF-Datei beim Beenden speichern möchten. - + Select to use the following name for the logfile without being asked for it again. Ist dies aktiviert, wird der Standard-Dateiname ohne weitere Nachfrage für die Protokolldatei verwendet. - + Complete the current QSO with previous QSO data. Der aktuelle QSO-Eintrag wird mit vorherigen QSO-Daten vervollständigt - + Select if you want to manage DX-Marathon. - + This is the default file where ADIF data will be saved. Dies ist die Standarddatei, in der ADIF-Daten gespeichert werden. - + This is the directory where the database (logbook.dat) will be saved. Dies ist der Ordner, in dem die Datenbank „logbook.dat“ gespeichert wird. - + Click to change the default ADIF file. Klicken Sie, um die Standard-ADIF-Datei zu ändern. - + Click to change the path of the database. Klicken Sie, um den Pfad zur Datenbank zu ändern. - + Click to move the DB to the new directory. Klicken Sie, um die Datenbank in den neuen Ordner zu verschieben. - + Activates the application debug log. This may be useful if something is not working as expected. A debug file will be created in the KLog directory. - + + Click to enable that log will be sorted based on date & time when clicking on the date column. It may be a little bit slower. + + + + Open File Datei öffnen - + Select Directory Ordner auswählen - + This is the directory where DB (logbook.dat) will be saved. Dies ist der Ordner, in dem die Datenbank „logbook.dat“ gespeichert wird. - + Please specify an existing directory where the database (logbook.dat) will be saved. Geben Sie bitte einen existierenden Ordner an, in dem die Datenbank „logbook.dat“ gespeichert wird. - - KLog - Move DB - - - - + File moved Datei verschoben - + File copied Datei kopiert - - File already exist. - - - - - The destination file already exist and KLog will not replace it. Please remove the file from the destination folder before moving the file with KLog to make sure KLog can copy the file. - - - - + File NOT copied Datei nicht kopiert - - The file was not copied due to an unknown problem. - - - - + The target directory does not exist. Please select an existing directory. Der Zielordner existiert nicht, bitte wählen Sie einen existierenden Ordner. @@ -5631,162 +4583,154 @@ Das Protokoll wird nicht geöffnet. SetupPageSats - + &New &Neu - + &Edit &Bearbeiten - + &Remove &Entfernen - + &Import &Importieren - + E&xport E&xportieren - + Add a new satellite. Fügt einen neuen Satelliten hinzu. - + Edit the selected satellite. Bearbeitet den ausgewählten Satelliten. - + Remove the selected satellite. Entfernt den ausgewählten Satelliten. + Import a satellites file. It will replace the satellites you have now configured. - Importiert eine Satellitendatei. Die eingerichteten Satellitendaten werden dadurch ersetzt. + Importiert eine Satellitendatei. Die eingerichteten Satellitendaten werden dadurch ersetzt. - + Export your current satellites to a file. Exportiert die aktuellen Satellitendaten in eine Datei. - + Select the sat you want to open. Wählen Sie die Satellitendaten, den Sie öffnen möchten. - + KLog KLog - + Do you really want to remove this satellite? Möchten Sie diese Satellitendaten wirklich entfernen? + This satellite will not be longer available to be selected ... - Dieser Satellit kann nicht mehr ausgewählt werden... + Dieser Satellit kann nicht mehr ausgewählt werden... - - Import a satellites file. It will replace the satellites you have in the current list. - - - - - This satellite will no be longer available to be selected ... - - - - + Sat has not been removed. (#3) Die Satellitendaten wurde nicht entfernt. (#3) - + Sat has not been removed. (#2) Die Satellitendaten wurde nicht entfernt. (#2) - + Sat has not been removed. (#1) Die Satellitendaten wurde nicht entfernt. (#1) - + ID Kennung - + Short Kurz - + Name Name - + Uplink - + Downlink - + Modes Modi - + An error has occurred showing the following error code: Es ist ein Fehler mit folgendem Fehlercode aufgetreten: - + KLog - SetupPageSats KLog - Einrichtungsseite Satelliten - + Open Satellites File Satellitendatei öffnen - + KLog warning KLog-Warnung - + An unexpected error ocurred while importing the satellite data. It may be caused because the file you are trying to import does not have the right format. - + Please check the format or contact the developer for analysis with the error code: - + Save Satellites File Satellitendatei speichern @@ -5794,351 +4738,323 @@ It may be caused because the file you are trying to import does not have the rig SetupPageSatsNew - + Short name Kurzname - + Sat name Satellitenname - + UpLink - + DownLink - + Modes Modi - + &Ok &OK - + &Cancel &Abbrechen - + Enter the short name. Try to use the LoTW short name so you can upload your QSO to LoTW afterwards. - + Enter the name of the satellite. Geben Sie den Namen des Satelliten ein. - + Enter the uplink frequencies in this format: 144.300 - + Enter the downlink frequencies in this format: 144.300 - + Enter the modes in this format: USB Geben Sie die Modi in diesem Format ein: USB - - Some of the data you have entered is not correct; the satellite can't be added. + + Some of the data you have entered is not correct, the satellite can't be added. SetupPageUDP - + Start UDP Server UDP-Server starten + Log automatically QSOs from WSJT-X - QSOs von WSJT-X automatisch protokollieren + QSOs von WSJT-X automatisch protokollieren + Allow WSJT-X to send logged QSO to KLog - QSOs von WSJT-X in KLog übernehmen + QSOs von WSJT-X in KLog übernehmen + QSO logged in WSJT-X will be sent to KLog and KLog will ask before logging into KLog unless "%1" is selected - QSOs von WSJT-X müssen vor der Übernahme in KLog angenommen werden, wenn Sie nicht „%1“ ausgewählt haben. + QSOs von WSJT-X müssen vor der Übernahme in KLog angenommen werden, wenn Sie nicht „%1“ ausgewählt haben. + KLog will log automatically any QSO coming from WSJT-X without any manual confirmation. - KLog protokolliert automatisch alle QSO von WSJT-X ohne weitere Bestätigung. + KLog protokolliert automatisch alle QSO von WSJT-X ohne weitere Bestätigung. + Receive and Update QSO data to KLog - QSO-Daten in KLog empfangen und aktualisieren + QSO-Daten in KLog empfangen und aktualisieren - + KLog will automatically show and update data coming from WSJT-X (DX callsign, locator, RPT, ...) In KLog werden Daten von WSJT-X wie DX-Rufzeichen, Locator, RPT usw. automatisch aktualisiert und angezeigt. + Make sure it is the same port where the other programs are sending the data to. Default port is 2237. - Wählen Sie den Port, den die anderen Programme zum Versand der Daten verwenden. Als Standard ist Port 2237 eingestellt. + Wählen Sie den Port, den die anderen Programme zum Versand der Daten verwenden. Als Standard ist Port 2237 eingestellt. - - Automatically log QSOs from WSJT-X - - - - - Allow WSJT-X to send logged QSOs to KLog - - - - - QSOs logged in WSJT-X will be sent to KLog and KLog will ask before logging into KLog unless "%1" is selected - - - - - KLog will automatically log any QSO coming from WSJT-X without any manual confirmation. - - - - - Receive QSOs data and update to KLog - - - - + UDP port number where the UDP Server will listen for packets. UDP-Portnummer, auf der der UDP-Server auf Pakete lauscht. - - Make sure it is the same port that the other programs are sending the data to. Default port is 2237. - - - - + UDP Server will receive QSOs sent from other programs like WSJT-X allowing you to log in KLog automatically from those programs. Der UDP-Server empfängt QSOs, die von anderen Programmen wie WSJT-X, die in KLog automatisch protokolliert werden können. - + UDP Port UDP-Port - - QSOs notification timeout (milisecs) - - - - - Miliseconds that the notification of QSOs received from WSJTX will be shown. - - - + QSO notification timeout (milisecs) - QSO-Benachrichtigungszeit in Millisekunden + QSO-Benachrichtigungszeit in Millisekunden + + + + Milliseconds that the notification of QSO received from WSJTX will be shown. + SetupPageUserDataPage - + &Personal data &Persönliche Daten - + Station &data Stations&daten - + Enter your name. Geben Sie ihren Namen ein. - + Enter your address - 1st line. Geben Sie ihre Adresse ein - 1. Zeile. - + Enter your address - 2nd line. Geben Sie ihre Adresse ein - 2. Zeile. - + Enter your address - 3rd line. Geben Sie ihre Adresse ein - 3. Zeile. - + Enter your address - 4th line. Geben Sie ihre Adresse ein - 4. Zeile. - + Enter your city. Geben Sie ihre Stadt ein. - + Enter your zip code. Geben Sie ihre Postleitzahl ein. - + Enter your province or state. Geben Sie das Bundesland oder den Staat ein. - + Enter your country. Geben Sie ihr Land ein. - + &Name &Name - + &Address &Adresse - + Cit&y &Stadt - + &Zip Code &Postleitzahl - + Pro&v/State &Bundesland/Staat - + Countr&y &Land - - - + + + Enter your information for rig Geben Sie Ihre Informationen über die Anlage (Rig) ein - - - + + + Enter your information for antenna Geben Sie Ihre Informationen über die Antenne ein - + Enter your power information. Geben Informationen über die Leistung ein. - + Enter the station callsign that will be used for logging. Geben Sie das Stations-Rufzeichen ein, das in den Protokollen verwendet wird. - + &Rig 1 &Rig 1 - + R&ig 2 R&ig 2 - + Ri&g 3 Ri&g 3 - + Antenna &1 Antenne &1 - + Antenna &2 Antenne &2 - + Antenna &3 Antenne &3 - + Po&wer &Leistung - + Enter the operators (comma separated if more than one). Geben Sie die Operatoren ein und verwenden Sie das Komma als Trennzeichen bei mehreren Operatoren. - + Enter the locator of your station. Alternatively, KLog can use an approximate locator based on your callsign. Geben Sie den Locator für Ihre Station ein. Alternativ kann in KLog ein geschätzter Locator auf der Basis Ihres Rufzeichens verwendet werden. - + &QRZ &QRZ - + &Operators &Operatoren - + &CQ Zone &CQ-Zone - + &ITU Zone &ITU-Zone - - + + &Locator &Locator - + &Locator (not valid) &Locator (ungültig) @@ -6146,172 +5062,139 @@ It may be caused because the file you are trying to import does not have the rig SetupPageWorldEditor - + Add Hinzufügen - + Delete Löschen - + Edit Bearbeiten - + Export World - + Import World - - - - + + + + Still not implemented. Noch nicht implementiert. - + Import a new cty.csv file Eine neue datei cty.csv importieren - + An entities information file (cty.csv) has been detected in your KLog folder and will be loaded. Eine Datei „cty.csv“ mit Einträgen wurde in Ihrem KLog-Ordner gefunden. - + No entities information file (cty.csv) has been detected in your KLog folder. Es wurde keine Datei „cty.csv“ mit Einträgen in Ihrem KLog-Ordner gefunden. - + KLog will not be able to show entities information. KLog kann keine Informationen über Einträge anzeigen. - + Prefix Präfix - + Entity Eintrag - + ARRL ID ARRL-Kennung - + Continent Kontinent - + CQ Zone CQ-Zone - + ITU Zone ITU-Zone - + UTC UTC - + Latitude Breitengrad - + Longitude Längengrad - + Deleted Gelöscht - + Since Date Seit Datum - + To Date Bis Datum - + Open File Datei öffnen - + BigCTY (*.csv) BigCTY (*.csv) - + Entities information has been updated. Die Informationen über Einträge wurden aktualisiert. - + Entities information has not been updated. Die Informationen über Einträge wurden nicht aktualisiert. - - ShowAdifImportWidget - - - The following QSOs are those QSOs that you have received the LoTW confirmation. - - - - - Ok - OK - - - - DX - - - - - Date/Time - Datum/Zeit - - - - Band - Band - - - - Mode - Modus - - ShowErrorDialog @@ -6432,37 +5315,37 @@ It may be caused because the file you are trying to import does not have the rig StatsCQZPerYearBarChartWidget - + CQ Zones per year CQ-Zonen pro Jahr - + Reading data ... Daten werden gelesen ... - + Abort reading Lesen abbrechen - + CQ zones CQ-Zonen - + CQ zones per year CQ-Zonen pro Jahr - + Reading data ... Daten werden gelesen ... - + Years: %1/%2 Jahre: %1/%2 @@ -6529,12 +5412,8 @@ It may be caused because the file you are trying to import does not have the rig - QSOs per band distribution - - - QSO per band distribution - QSO pro Frequenzbandverteilung + QSO pro Frequenzbandverteilung @@ -6682,12 +5561,8 @@ It may be caused because the file you are trying to import does not have the rig - QSOs per mode distribution - - - QSO per mode distribution - QSO pro Modusverteilung + QSO pro Modusverteilung @@ -6917,97 +5792,77 @@ It may be caused because the file you are trying to import does not have the rig - - <b>Tip #5:</b><br>Do you know...<br>You can enter a '*' in the search box, in the search window to search for all the QSOs done with one specific station callsign? + + <b>Tip #5:</b><br>Do you know...<br>You can export your QSO marked as requested, via LoTW, in your log with <a href="#FileExportLoTWADIF">File->Export ADIF for LoTW...</a> to create an ADIF file that you will be able to import in TQSL to be signed and uploaded to LoTW?<br><br>You have to mark as Q-Queued all the QSOs you want to be exported to be sent to LoTW. + Translator: Please make sure that the name of the link is coherent with the menu File->Export ADIF for LoTW... - + <b>Tip #6:</b><br>Do you know...<br>You can find the file containing all your log and other information in the logbook.dat file and the klogrc file, containing the KLog config file in the KLog folder by opening the <a href="#FileOpenKLogFolder">File->KLog folder</a> menu? Translator: Please make sure that the name of the link is coherent with the menu File->KLog folder - + <b>Tip #7:</b><br>Do you know...<br>You can find the QSLs that you still need to send with <a href="#ToolsSendPendingQSL">Tools->QSL tools...->Find My-QSLs pending to send</a>.<bR>This tool will list you in the search box all the QSOs with the QSL-Sent marked as <i>Requested</i>. Translator: Please make sure that the name of the link is coherent with the menu QSL tools...->Find My-QSLs pending to send - + <b>Tip #8:</b><br>Do you know...<br>You can find the QSLs that you are still waiting for with <a href="#ToolsReceivePendingQSL">Tools->QSL tools...->Find DX-QSLs pending to receive</a>.<bR>This tool will list you in the search box all the QSOs with the QSL-Sent marked as <i>Sent</i> but you have still not received the QSL card from the DX. Translator: Please make sure that the name of the link is coherent with the menu QSL tools...->Find DX-QSLs pending to receive - + <b>Tip #9:</b><br>Do you know...<br>You can find the QSLs that you are still waiting for with <a href="#ToolsReceiveRecPendingQSL">Tools->QSL tools...->Find requested pending to receive</a>.<bR>This tool will list you in the search box all the QSOs with the QSL-Rec marked as <i>Requested</i> but you have still not received the QSL card from the DX. Translator: Please make sure that the name of the link is coherent with the menu QSL tools...->Find requested pending to receive - + <b>Tip #10:</b><br>Do you know...<br>You can subscribe to the <a href=https://t.me/klogchat>English KLog Telegram group</a> to discuss about KLog in English? - + <b>Tip #11:</b><br>Do you know...<br>You can subscribe to the <a href=https://t.me/KLogES>Spanish Telegram group</a> to discuss about KLog in Spanish? - - <b>Tip #12:</b><br>Do you know...<br>You can subscribe to <a href=https://lists.nongnu.org/mailman/listinfo/klog-users>KLog-users mailing list</a> to discuss via email about KLog in English? + + <b>Tip #12:</b><br>Do you know...<br>You can subscribe to <a href=http://lists.nongnu.org/mailman/listinfo/klog-users>KLog-users mailing list</a> to discuss via email about KLog in English? - + <b>Tip #13:</b><br>Do you know...<br>You can <a href=https://twitter.com/_ea4k>follow EA4K on twitter</a> to get updates about KLog? - + <b>Tip #14:</b><br>Do you know...<br>You can write your own <a href=https://www.eham.net/reviews/detail/3118>review in eHam.net about KLog</a> to help other users to decide to use KLog? - + <b>Tip #15:</b><br>Do you know...<br>You can join the development team by simply <a href=https://www.klog.xyz/contact>Contacting us</a>? - + <b>Tip #16:</b><br>Do you know...<br>That there are many ways to contribute to KLog and some of them are listed in the <a href=https://www.klog.xyz/contrib>KLog Contribute</a> page? - + <b>Tip #17:</b><br>Do you know...<br>You can support translating KLog into your language? Please check <a href=https://www.klog.xyz/contrib/translations>KLog Translations</a> page. - - <b>Tip #18:</b><br>Do you know...<br>You can double-click on an entity name in the DXCC table and all the QSOs with that DXCC Entity will be shown in the search box? - - - - - <b>Tip #19:</b><br>Do you know...<br>You can right-click on a QSO and select <i>Check in QRZ.com</i> to check that callsign in QRZ.com? - - - - - <b>Tip #20:</b><br>Do you know...<br>You can see the QSO that confirms one specific DXCC entity in one specific band by poiting your mouse over that band in the DXCC widget? - - - - - <b>Tip #21:</b><br>Do you know...<br>You can upload your QSO marked as queued to LoTW via TQSL with <a href="#ToolsUploadLoTW">Tools->Upload to LoTW...</a> ?<br><br>You have to configure TQSL in the preferences to be able to use this functionality. - Translator: Please make sure that the name of the link is coherent with the menu File->Export ADIF for LoTW... - - - - + TIP-Default: Text @@ -7053,12 +5908,12 @@ It may be caused because the file you are trying to import does not have the rig Kontinent - + Reading cty.csv... Die Datei „“cty.csv wird gelesen ... - + Abort reading Lesen abbrechen diff --git a/translations/klog_es.ts b/translations/klog_es.ts index c548fb8e..8219de26 100644 --- a/translations/klog_es.ts +++ b/translations/klog_es.ts @@ -8,11 +8,6 @@ About KLog Acerca de KLog - - - Please be aware that this is a development release and it may contain many bugs.<br>Backup your data before using this software! - Por favor, tenga en cuenta que esta es una versión de desarrollo y puede tener muchos errores.<br>¡Haga copia de seguridad de sus datos antes de usar este programa! - @@ -25,8 +20,9 @@ Por + Please know that this is an BETA release and it may contain many bugs.<br>Backup your data before using this software! - Por favor, tenga en cuenta que esta es una versión BETA que puede tener muchos errores.<br>¡Haga copia de seguridad de sus datos antesde usar este programa! + Por favor, tenga en cuenta que esta es una versión BETA que puede tener muchos errores.<br>¡Haga copia de seguridad de sus datos antesde usar este programa! @@ -34,23 +30,15 @@ Autor + KLog has been fully rewritten from the 0.6.2 to be able to provide a cross-platform application that runs in the main operating systems (Linux, macOS & Windows) and provide new functionalities that KLog was not providing. - KLog fue reescrito completamente en su versión 0.6.2 para hacerlo multiplataforma de forma que pudiera ejecutarse en los sistemas operativos principales (Linux, macOS & Windows) y proveer funcionalidades nuevas que aun no se proveían. + KLog fue reescrito completamente en su versión 0.6.2 para hacerlo multiplataforma de forma que pudiera ejecutarse en los sistemas operativos principales (Linux, macOS & Windows) y proveer funcionalidades nuevas que aun no se proveían. KLog is a free logbook for hamradio operators. KLog es un software libre de log para radioaficionados. - - Please be aware that this is an BETA release and it may contain many bugs.<br>Backup your data before using this software! - Por favor, tenga en cuenta que esta es una versión BETA que puede tener muchos errores.<br>¡Haga copia de seguridad de sus datos antes de usar este programa! - - - - Since 0.6.2, KLog has been fully rewritten to provide a cross-platform application that runs on all major operating systems (Linux, macOS and Windows) and to support new functionality. - KLog fue reescrito completamente en su versión 0.6.2 para hacerlo multiplataforma de forma que pudiera ejecutarse en los sistemas operativos principales (Linux, macOS & Windows) y proveer funcionalidades nuevas que aun no se proveían. - Please provide your review in KLog's eHam review page: @@ -86,11 +74,6 @@ If you want to provide support you are welcome to join the <a href="https://lists.nongnu.org/mailman/listinfo/klog-devel">KLog development mailing list</a>! ¡Si quiere ayudar es bienvenido a unirse a la <a href="https://lists.nongnu.org/mailman/listinfo/klog-devel">lista de desarrollo de KLog</a>! - - - KLog developers have included a feature that reports some user data to the KLog server with the sole purpose of identifying the number of installed versions, to focus development in one direction or another taking into account users' needs. - Los desarrolladores de KLog han incluido una función que reporta algunos datos del usuario al servidor de KLog con el único objetivo de saber el número de versiones instaladas y poder centrar el desarrollo en una u otra dirección en función de las necesidades de los usuarios. - KLog developers have included a feature that reports some user data to the KLog server with the sole purpose of identifying the number of installed versions, to focus development in one direction or another taking into account user's needs Los desarrolladores de KLog han incluido una función que reporta algunos datos del usuario al servidor de KLog con el único objetivo de saber el número de versiones instaladas y poder centrar el desarrollo en una u otra dirección en función de las necesidades de los usuarios. @@ -126,8 +109,9 @@ Aviso de privacidad + KLog developers have included a feature that reports some user data to the KLog server with the sole purpose of identifying the number of installed versions, to focus development in one direction or another taking into account user's needs. - Los desarrolladores de KLog han incluido una función que reporta algunos datos del usuario al servidor de KLog con el único objetivo de saber el número de versiones instaladas y poder centrar el desarrollo en una u otra dirección en función de las necesidades de los usuarios. + Los desarrolladores de KLog han incluido una función que reporta algunos datos del usuario al servidor de KLog con el único objetivo de saber el número de versiones instaladas y poder centrar el desarrollo en una u otra dirección en función de las necesidades de los usuarios. @@ -160,94 +144,6 @@ Privacidad - - AdifLoTWExportWidget - - - Select the Station Callsign that you want to use to upload the log. - Por favor seleccione el indicativo de estación que quiere usar para subir el log. - - - - Select the start date to export the QSOs. The default date is the date of the first QSO with this station callsign. - Seleccione la fecha del primer QSO a exportar. La fecha predeterminada será la fecha del primer QSO con el indicativo de estación seleccionado. - - - - Select the end date to export the QSOs. The default date is the date of the last QSO with this station callsign. - Seleccione la fecha del último QSO a exportar. La fecha predeterminada será la fecha del último QSO con el indicativo de estación seleccionado. - - - - Station callsign - Indicativo de estación - - - - Start date - Fecha de inicio - - - - End date - Fecha de fin - - - - Ok - OK - - - - Cancel - Cancelar - - - - DX - DX - - - - Date/Time - Fecha/Hora - - - - Band - Banda - - - - Mode - Modo - - - - Not defined - Sin definir - - - - All - Todos - - - - QSOs: - QSOs: - - - - This table shows the QSOs that will be sent to LoTW. - Esta tabla muestra los QSOs que se enviarán a LoTW. - - - - This table shows the QSOs that will be exported to ADIF. - Esta tabla muestra los QSOs que se exportarán a ADIF. - - AwardsWidget @@ -346,39 +242,23 @@ - Number of QSOs worked in the selected year. + Number of QSOs worked on the selected year. Número de QSOs trabajados en el año seleccionado. - Number of DXCCs worked in the selected year. - Número de entidades DXCC trabajadas en el año seleccionado. + Number of DXCC worked on the selected year. + Número de entidades DXCC trabajados en el año seleccionado. - Number of CQ Zones worked in the selected year. + Number of CQ Zones worked on the selected year. Número de zonas CQ trabajadas en el año seleccionado. - Score for the DXMarathon in the selected year. - Puntuación de DXMarathon en el año seleccionado. - - - Number of QSOs worked on the selected year. - Número de QSOs trabajados en el año seleccionado. - - - Number of DXCC worked on the selected year. - Número de entidades DXCC trabajados en el año seleccionado. - - - Number of CQ Zones worked on the selected year. - Número de zonas CQ trabajadas en el año seleccionado. - - Score for the DXMarathon on the selected year. - Puntuación de DXMarathon en el año seleccionado. + Puntuación de DXMarathon en el año seleccionado. @@ -504,60 +384,52 @@ CTYPage - + Country data download Descargar datos de entidades - + KLog needs country data... KLog necesita datos de las entidades ... - + &Download &Descargar - + &Ignore &Ignorar - + Country data needed Información de entidades + + + KLog uses the cty.csv file from http://www.country-files.com/ to get DXCC information. + KLog usa el fichero cty.csv (de http://www.country-files.com/) para obtener la información del DXCC. + - KLog uses the cty.csv file from https://www.country-files.com/ to get DXCC information. - KLog usa el fichero cty.csv de http://www.country-files.com/ para obtener la información del DXCC. + You need to download the cty.csv file if you want KLog to show you the countries, locator, ... of the QSOs you do. + Necesita descargar el cty.csv si quiere que KLog muestre información de entidad, locator, ... de los QSO que haga. - You need to download the cty.csv file if you want KLog to show you the countries, locator, etc. of the QSOs you do. - Necesita descargar el cty.csv si quiere que KLog muestre información de entidad, locator, ... de los QSOs que haga. - - - KLog uses the cty.csv file from http://www.country-files.com/ to get DXCC information. - KLog usa el fichero cty.csv (de http://www.country-files.com/) para obtener la información del DXCC. - - - You need to download the cty.csv file if you want KLog to show you the countries, locator, ... of the QSOs you do. - Necesita descargar el cty.csv si quiere que KLog muestre información de entidad, locator, ... de los QSO que haga. - - - Click on Download to download now. Pulse en Descargar para descargar ahora. - + KLog KLog - + I can't find the host. Please check your network and try again Do you want to try again? No se pudo encontrar la máaquina. Revise su configuración de red y pruebe de nuevo @@ -572,31 +444,27 @@ Do you want to try again? Actualizar + ID - ID + ID - + Entity Entidad - - Prefix - Prefijo - - - + Pref: Pref: - + CQ: CQ: - + ITU: ITU: @@ -606,7 +474,7 @@ Do you want to try again? Azimuth: - + Entity not worked in this band. Entidad no trabajada en esta banda. @@ -614,135 +482,118 @@ Do you want to try again? DXClusterWidget - - + + Connect Conectar - - - - + + + + Clear Limpiar - + Click on connect to connect to the DX-Cluster Pulse en conectar para conectar al DX-Cluster - + + - KLog DXCluster Kontest DXCluster DXCluster de KLog - + Click on Connect to connect to the DX-Cluster server Pulse en Conectar para conectar al servidor de DX-Cluster - + Trying to connect to the server Intentando conectar con el servidor - + The connection was refused by the peer. Make sure the DXCluster server is running, and check that the host name and port settings are correct. La conexióon fue rechazada por el servidor. Asegúrese de que el servidor de DXCluster estáa ejecutáandose y compruebe el nombre de máquina y puerto. - + The following error occurred: %1. El siguiente error ha tenido lugar: %1. - + Connected to server Conectado al servidor - - - + + + KLog message Kontest message Mensaje de KLog - - + + Enter your callsign to connect to the cluster: Introduzca su indicativo para conectar al cluster: - + Enter your password to connect to the cluster: (Just hit enter for no password) Introduzca su contraseña para conectar al cluster: (pulse enter si no hay contraseña) - + Not logged on, you may need to enter your callsign again. No identificado, puede introducir su contraseña de nuevo. - + Enter here the commands to be sent to the DX-Cluster server. Introduzca aquí los comandos a enviar al servidor de DX-Cluster. - - It was not possible to open the file to save the DX-Spots for writing. DX-Cluster activity will not be saved! - No fue posible abrir el fichero para guardar los anuncios de DX. No se guardarán datos de la actividad de DX-Cluster. - - - It was not possible to open the file to save the DX-Spots for writting. DX-Cluster activity will not be saved! - No fue posible abrir el fichero para guardar los anuncions de DX. No se guardarán datos de actividad de DX-Cluster. - - - It was not possible to open the a file to save the DX-Spots for writting. DX-Cluster activity will not be saved! - No fue posible abrir el fichero para guardar los anuncions de DX. No se guardarán datos de actividad de DX-Cluster. - - - It was not possible to open the a file to save the DX-Spots for writting. DX-Cluster activity will be saved! - No fue posible abrir el fichero para guardar los anuncions de DX. No se guardarán datos de actividad de DX-Cluster. - - - - + + Disconnect Desconectar - + The host was not found. Please check: No se ha encontrado el servidor. Por favor revise: - + - your network connection; - the host name and port settings. - la conexión de red; - el nombre de máquina y puerto. - + Connection closed by the server Conexión cerrada por el servidor - + Click on Connect to connect to the DX-Cluster server. Pulse en Conectar para conectar al servidor de DX-Cluster. - + Send Enviar @@ -755,181 +606,177 @@ Do you want to try again? La versión de software de la BBDD es nulo + No query failed - No falló ninguna query + No falló ninguna query - + Aircraft Scatter Common term in hamradio, do not translate if not sure - + Aurora Aurora - + Aurora-E Aurora-E - + Back scatter Common term in hamradio, do not translate if not sure - + Earth-Moon-Earth Rebote Lunar - + Sporadic E Esporádica E - + Internet-assisted Asistido por Internet - + Ionoscatter Common term in hamradio, do not translate if not sure - + Meteor scatter Common term in hamradio, do not translate if not sure - + Terrestrial or atmospheric repeater or transponder Terrestre, repetidor atmosférico o transpondedor - + Rain scatter Common term in hamradio, do not translate if not sure - + Satellite Satélite - + Bureau Common term in hamradio, do not translate if not sure Bureau - + Manager Common term in hamradio, do not translate if not sure Manager - + All QSOs have been updated with a DXCC and the Continent. Todos los QSO se han actualizado con un DXCC y un continente. - + Field Aligned Irregularities Common term in hamradio, do not translate if not sure - - Query didn't failed - No falló ninguna query - - - + F2 Reflection Common term in hamradio, do not translate if not sure Reflexión F2 - + Trans-equatorial Common term in hamradio, do not translate if not sure Trans-ecuatorial - + Tropospheric ducting Common term in hamradio, do not translate if not sure Conducto troposférico - - + + Yes - - + + No No - - + + Requested Solicitada - - + + Ignore/Invalid Ignorar/No válida - + Validated Validada - + Queued En cola - + Uploaded Subida - + Do not upload No subir - + Modified Modificado - + Direct Directa - + Electronic Electrónica - + KLog DXCC KLog DXCC @@ -937,22 +784,22 @@ Do you want to try again? DownLoadCTY - + Download of cty.csv failed with the following error code: La descarga de cty.csv falló con el siguiente código de error: - + Download of cty.csv done. Descarga de CTY.CSV finalizada. - + There is already a cty.csv file in the folder but it will be replaced with the new one. Ya hay un cty.csv en la carpeta pero será reemplazado por el nuevo. - + Could not open %1 for writing No se puede abrir %1 para escritura @@ -960,244 +807,89 @@ Do you want to try again? FileManager - + Reading ADIF file... Leyendo fichero ADIF... - - + + Abort reading Cancelar lectura + The log that you have selected contains more than just one station callsign. - El log que ha seleccionado contiene más de un sólo indicativo de estación. + El log que ha seleccionado contiene más de un sólo indicativo de estación. + Station Callsign: - Indicativo de la estación: + Indicativo de la estación: + Define Station Callsign - Definir indicativo de estación + Definir indicativo de estación + You have selected no callsign. KLog will export QSOs without a station callsign defined and those with the call you are entering here. - No ha seleccionado indicativo. KLog exportará los QSOs sin un indicativo de estación definido y aquellos con el indicativo que está seleccionando aquí. + No ha seleccionado indicativo. KLog exportará los QSOs sin un indicativo de estación definido y aquellos con el indicativo que está seleccionando aquí. + Enter the station callsign to use for this log or leave it empty for QSO without station callsign defined: - Introduzca el indicativo de estación para usar en este log o déjelo vacío para poner un QSO sin un indicativo de estación definido: + Introduzca el indicativo de estación para usar en este log o déjelo vacío para poner un QSO sin un indicativo de estación definido: - - - + + Writing ADIF file... Escribiendo fichero ADIF... - - - - + + + Abort writing Cancelar escritura - - - There are no QSOs pending to be uploaded with that station callsign. - No hay QSOs pendientes para subir con ese indicativo de estación. - - - - - - - KLog - Invalid call detected - KLog - Distintivo no válido detectado - - - - - - - An invalid callsign has been detected %1. Do you want to export this callsign anyway (click on Yes) or remove the call from the exported log file? - Se ha detectado un distintivo no válido %1. ¿Quiere exportar este distintivo de todas formas (Pulse en Si) o eliminar el distintivo del log que se exportará? - - - - - - - Exporting wrong calls may create problems in the applications you are potentially importing this logfile to. It may, however, be a good callsign that is wrongly identified by KLog as not valid. You can, however, edit the ADIF file once the export process is finished. - Exportar distintivos erróneos puede crear problemas en las aplicaciones en las que potencialmente va a importar el log. Puede, de todas formas, ser un distintivo correcto que KLog lo haya identificado como incorrecto. -Aun así puede editar el fichero ADIF una vez el proceso de exportación haya finalizado. - - - + Exporting LoTW ADIF file... Exportando fichero ADIF de LoTW... - - - - - - KLog - User cancelled - KLog - Cancelación de usuario - - - - The selected callsign (%1) is not valid, please check it again to export the log. - El distintivo seleccionado (%1) no es válido, revíselo y vuelva a exportar el log. - - - - Exporting ADIF file... - Exportando fichero ADIF... - - - + Writing ADIF file... QSO: Escribiendo fichero ADIF ... QSO: - + Writing Cabrillo file... Escribiendo fichero Cabrillo ... - + KLog: Cabrillo Log Export not implemented Kontest: Cabrillo Log Export not implemented KLog: La exportación de log en en formato Cabrillo no está implementada - + I am sorry but the Cabrillo Export To File feature has still not been implemented. Lo sentimos pero la función de Exportar Cabrillo aun no está implementada. - - KLog - File not opened - KLog - Fichero no abierto - - - - It was not possible to open the file %1 for reading. - No ha sido posible abrir el fichero %1 en modo lectura. - - - - KLog was not able to read the LoTW file - KLog no ha podido abrir el fichero de LoTW en mod lectura. - - - + Reading LoTW file... Leyendo fichero LoTW... - - Importing LoTW ADIF file... - Importando fichero ADIF... - - - - KLog - Log selection - KLog - Selección de log - - - - KLog has found one QSO without the Station Callsign defined. - -Enter the Station Callsign that was used to do this QSO on %1: - KLog ha encontrado un QSO sin Indicativo de Estación. - -Introduzca el indicativo de estación que fue usado en este QSO en la fecha %1: - - - - - You have canceled the file import. The file will be removed and no data will be imported. - Ha cancelado la importación del fichero. El fichero se eliminará y no se importará ningún dato. - - - - This QSO is not including the minimum data to consider a QSO as valid! - ¡Este QSO no incluye la información mínima para considerarse un QSO válido! - - - - Some QSOs of this log, (i.e.: %1) seems to lack RST-TX information. - Algunos QSOs de este log, (ej: %1) parece que no tienen la información de RST-TX. - - - - Click on Yes to add a default 59 to all QSOs with a similar problem. - Pulse en Si para añadir 59 de forma predeterminada a todos los QSOs con un problema similar. - - - - If you select NO, maybe the QSO will not be imported. - Si selecciona No, el QSO puede no ser importado. - - - - Some QSOs of this log, (i.e.: %1) seems to lack RST-RX information. - Algunos QSOs de este log, (ej: %1) parece que no tienen la información de RST-RX. - - - - - KLog - No Station callsign entered. - KLog - Sin indicativo de estación. - - - - KLog - Apply to all QSOs in this log? - KLog - ¿Aplicar a todos los QSOs de este log? - - - - KLog has found one QSO without the Station Callsign defined. - -Enter the Station Callsign that was used to do this QSO with %1 on %2: - KLog ha encontrado un QSO sin distintivo de estación. - -Introduzca el distintivo de estación que fue usado en este QSO con %1 en la fecha %2: - - - - - KLog - QSO without Station Callsign - KLog - QSO sin Indicativo de Estación - - - KLog has found one QSO without the Station Callsign defined. - -Enter the Station Callsign that was used to do this QSO: - KLog ha encontrado un QSO sin Indicativo de Estación. - -Introduzca el indicativo de estación que fue usado en este QSO: - - - KLog - log selection - KLog - Selección de log - - - - KLog - Duplicated QSOs - KLog - QSOs duplicados - - - + Do you want to continue with the current file? ¿Quiere continuar con el fichero actual? @@ -1206,12 +898,14 @@ Introduzca el indicativo de estación que fue usado en este QSO: Este log parece que no tiene la información de RST-TX. - + + Click on Yes to add a default 59 to all QSO with a similar problem. Pulse en Si para añadir 59 de forma predeterminada a todoslos QSO con un problema similar. - + + If you select NO, the QSO may not be imported. Si selecciona No, el QSO puede no ser importado. @@ -1220,151 +914,129 @@ Introduzca el indicativo de estación que fue usado en este QSO: Este log parece que no tiene la información de RST-RX. - + - The band missing and the following call: - La banda inexistente pero el siguiente indicativo: + - The call missing but was done at this time: - - El indicativo inexistente pero la siguiente hora: + - El indicativo inexistente pero la siguiente hora: - + - The mode missing and the following call: - El modo inexistente pero el siguiente indicativo: - + - The date missing and the following call: - La fecha inexistente pero el siguiente indicativo: - + - The time missing and the following call: - La hora inexistente pero el siguiente indicativo: - - - + You have canceled the file export. The file will be removed and no data will be exported. Has cancellado la exportación del fichero. El fichero se eliminará y no se exportará ningún dato. - - KLog - Error - KLog - Error - - - - - The selected log does not exist, please check it again. - El log seleccionado no existe, por favor reviselo de nuevo. - - - - The selected callsign (%1) is not valid, please check it again. - El indicativo seleccionado (%1) no es válido, reviselo de nuevo. - - - - - The file %1 can't be opened. - No se pudo abrir el fichero %1 . - - - - - - - + + Do you still want to cancel? ¿Aun quiere cancelar? - - - - + + QSO: QSO: + No station callsign has been selected and therefore no log will be exported - No se ha seleccionado indicativo de estación por lo que no se exportará ningún log + No se ha seleccionado indicativo de estación por lo que no se exportará ningún log - + There is more than one log in this logfile. Hay más de un log en este fichero. - + All logs will be imported into the current log. Todos los logs se importarán en el log actual. - + Do you want to continue? ¿Quiere continuar? - + Importing ADIF file... Importando fichero ADIF... + You have cancelled the file import. The file will be removed and no data will be imported. - Has cancelado la importación del fichero. El fichero se eliminará y no se importará ningún dato. + Has cancelado la importación del fichero. El fichero se eliminará y no se importará ningún dato. - + It seems that there are some duplicated QSOs in the ADIF file you are importing. Do you want to continue? (Duped QSOs will not be imported) Parece que hay algunos QSO duplicados en el fichero ADIF que está importando. ¿Quiere continuar? (los QSO duplicados no se importarán) + Please select the station callsign you want to export the log from: - Por favor seleccione el indicativo de estación del que quiere exportar el log: + Por favor seleccione el indicativo de estación del que quiere exportar el log: + This QSO is not including the minimum data to consider a QSO as valid!. - ¡Este QSO no incluye la información mínima para considerarse un QSO válido! + ¡Este QSO no incluye la información mínima para considerarse un QSO válido! - + Please edit the ADIF file and make sure that it include at least: Por favor, edite el fichero ADIF y asegúrese de que incluye al menos: - + and y - + This QSO had: Este QSO tenía: - + KLog: Not all required data found! KLog: ¡No se encontraron todos los datos necesarios! + Some QSO of this log, (i.e.: %1) seems to lack of RST-TX information. - Algunos QSOs de este log, (ej: %1) parece que no tienen la información de RST-TX. + Algunos QSOs de este log, (ej: %1) parece que no tienen la información de RST-TX. - + KLog: No RST TX found! KLog: ¡No se encontró RST TX! + Some QSO of this log, (i.e.: %1) seems to lack of RST-RX information. - Algunos QSOs de este log, (ej: %1) parece que no tienen la información de RST-RX. + Algunos QSOs de este log, (ej: %1) parece que no tienen la información de RST-RX. - + KLog: No RST RX found! KLog: ¡No se encontró RST RX! @@ -1503,22 +1175,14 @@ Introduzca el indicativo de estación que fue usado en este QSO: This looks like it's the first time you've run KLog on this computer. Parece que es la primera vez que ejecuta KLog en este ordenador. - - KLog is a free hamradio logging program that can run on Linux macOS and Windows. - KLog es un programa libre de log de radioaficionados que puede correr en Linux, macOS y Windows. - - - It is designed to provide general purpose, DX and contest logging. - Está diseñado para proveer de log de propósito general, DX y concursos. - - KLog is a free hamradio logging program that can run on Linux, macOS, and Windows. + KLog is a free hamradio logging program that can run on Linux macOS and Windows. KLog es un programa libre de log de radioaficionados que puede correr en Linux, macOS y Windows. - It is designed to provide general purpose DX, and contest logging. + It is designed to provide general purpose, DX and contest logging. Está diseñado para proveer de log de propósito general, DX y concursos. @@ -1580,170 +1244,6 @@ Introduzca el indicativo de estación que fue usado en este QSO: Sepa que KLog es software libre. - - LoTWUtilities - - - KLog - LoTW password needed - KLog - Se necesita contraseña de LoTW - - - - Please enter your LoTW password: - Introduzca su contraseña de LoTW: - - - - KLog - File exist - KLog - El fichero existe - - - - There is a file already existing with the name that will be used. - Ya existe un fichero con ese nombre. - - - - The file %1 already exist. Do you want to overwrite? - EL fichero %1 ya existe. ¿Quiere sobreescribirlo? - - - - KLog - Can't write the file - KLog - No pudo escribir el fichero - - - - KLog was not able to save the file %1. -Error returned: %2 - KLog no pudo escribir el fichero %1. -Error: %2 - - - - The file already %1 exist. - El fichero %1 ya existe. - - - - Downloading data to file: %1. - Descargando datos al fichero: %1. - - - - - KLog - LoTW download - KLog - Descarga LoTW - - - - KLog - Download error - KLog - Error al descargar - - - - The downloading error is: %1 - Error de descarga: %1 - - - - There was an error while downloading the file from LoTW. - Hubo un error al descargar el fichero de LoTW. - - - - KLog - Redirection found - KLog - Redirección recibida - - - - The remote server redirected our connection to %1 - El servidor remoto ha redirigido nuestra conexión a %1 - - - - Do you want to follow the redirection? - ¿Quiere seguir la redirección? - - - - It was not possible for find the file %1 that has been just downloaded. - No fue posible encontrar el fichero %1 que se acaba de descargar. - - - - It seems that LoTW has no QSO with the Station Callsign you are using (%1). - Parece que LoTW no tiene QSOs con el distintivo de estación que se está usando (%1). - - - - Try again and send the downloaded file (%1) to the KLog developer for analysis. - Inténtelo de nuevo o mande el fichero descargado (%1) a los desarrolladores de KLog para su análisis. - - - - KLog downloaded %1 QSOs successfully. Do you want to update your log with the downloaded data? - KLog descargó %1 QSOs correctamente. ¿Quiere actualizar el log con los datos descargados? - - - - KLog - File not found - KLog - Fichero no encontrado - - - - KLog can't find the downloaded file. - KLog no pudo encontrar el fichero descargado. - - - It was not possible for find the file %1 that has been just downloaded - No fue posible encontrar el fichero %1 que se acaba de descargar. - - - - KLog - LoTW user/password error - KLog - Error de usuario/contraseña de LoTW - - - - LoTW server did not recognized your user/password - El servidor de LoTW no reconoce su usuario/contraseña - - - - Check your user and password and ensure your are using the right one before trying again. - Compruebe su usuario y contraseña para asegurarse de que está usando la correcya antes de volver a intentarlo. - - - - KLog - LoTW No QSOs - KLog - LoTW no QSOs - - - - LoTW sent no QSOs - LoTW no envió QSOs - - - It seems that LoTW has no QSO with the Station Callsign you are using (%1) - Parece que LoTW no tiene QSOs con el distintivo de estación que se está usando (%1). - - - - KLog - LoTW Unknown error - KLog - Error de LoTW desconocido - - - - KLog can't recognize the file that has been downloaded from LoTW. - KLog no puede reconocer el fichero que ha descargado de LoTW. - - - - Now KLog will process the downloaded QSO and update your local log. - KLog procesará a continuación los QSOs descargados y actualizará su log local. - - LogModel @@ -1790,175 +1290,86 @@ Error: %2 LogWindow - + QSL Send Enviar QSL - + QSL Rcvd QSL Recibida - + &Delete &Borrar - + Delete a QSO Borrar un QSO - + &Edit QSO &Editar QSO - + Edit this QSO Edita este QSO - + Via &bureau Vía &bureau - + Send this QSL via bureau Envía esta QSL vía bureau - + D&irect D&irecta - + Send this QSL via direct Envía esta QSL vía directa - + Via bureau Vía bureau - + QSL &received via bureau QSL &recibida vía bureau - + Direct Directa - + QSL received via direc&t QSL recibida vía direc&ta - - Check in QRZ.com - Consultar en QRZ.com - - - - Check this callsign in QRZ.com - Consulta este indicativo en QRZ.com. - - - - Check in DXHeat.com - Consultar en DXHeat.com - - - - Check this callsign in DXHeat.com - Consulta este indicativo en DXHeat.com. - - - + You have requested to delete this QSO. Ha solicitado eliminar este QSO. - + Are you sure? ¿Está seguro? - - MainQSOEntryWidget - - - - - &Add - &Añadir - - - - &Clear - &Limpiar - - - - QRZ of the QSO. - QRZ del QSO. - - - - Band of the QSO. - Banda del QSO. - - - - Mode of the QSO. - Modo del QSO. - - - - Date of the QSO. - Fecha del QSO. - - - - Time of the QSO. - Hora del QSO. - - - - Add the QSO to the log. - Añadir QSO al log. - - - - Clears the QSO entry. - Limpia la entrada de QSO. - - - - KLog will show real time if enabled. - KLog usará tiempo real si se habilita. - - - - QRZ - QRZ - - - Invalid characters used in the QRZ - Caracteres no válidos en el QRZ - - - - &Modify - &Modificar - - MainWindow @@ -1970,30 +1381,35 @@ Error: %2 Pulsar para recalcular el estado de los diplomas. - + Starting KLog Iniciando KLog + + + + &Add - &Añadir + &Añadir + &Clear - &Limpiar + &Limpiar + Status bar... - Barra de estado ... + Barra de estado ... - - + DX Entity Entidad DX - + &Log Window Ventana de &Log @@ -2013,8 +1429,8 @@ Error: %2 MHz - - + + KLog KLog @@ -2023,113 +1439,146 @@ Error: %2 Anual - + Ready Listo - + An unexpected error ocurred when trying to add the QSO to your log. If the problem persists, please contact the developer for analysis: Ha ocurrido un error inesperado al intentar añadir el QSO al log. Si el problema persiste, contacte con el desarrollador para que lo analice: - - + + You have selected an entity: Ha seleccionado la entidad: - - + + that is different from the KLog proposed entity: que es distinta de la que propone KLog: - + Click on the prefix of the correct entity or Cancel to edit the QSO again. Pulse en el prefijo de la entidad correcta o Cancelar para editar el QSO de nuevo. - + Click on the prefix of the right entity or Cancel to correct. Pulse en el prefijo de la entidad correcta o Cancelar para corregir. + + QRZ of the QSO. - QRZ del QSO. + QRZ del QSO. - + + TX RST. RST enviado. - + + RX RST. RST recibido. + + TX Exchange. - Intercambio enviado. + Intercambio enviado. + + Band of the QSO. - Banda del QSO. + Banda del QSO. + + Mode of the QSO. - Modo del QSO. + Modo del QSO. + + Date of the QSO. - Fecha del QSO. + Fecha del QSO. + + Time of the QSO. - Hora del QSO. + Hora del QSO. + + Add the QSO to the log. - Añadir QSO al log. + Añadir QSO al log. + Clear the box. - Limpiar el cuadro. + Limpiar el cuadro. + Input - Entrada + Entrada - + + RSTrx RSTrx - + + RSTtx RSTtx - + + + QRZ QRZ - + + STX + + + + + SRX + + + + Do you really want to exit KLog? ¿Realmente quiere salir de KLog? + Invalid characters used in the QRZ - Caracteres no válidos en el QRZ + Caracteres no válidos en el QRZ Ready... Listo ... - + &File &Archivo @@ -2142,12 +1591,12 @@ Error: %2 A&brir ... - + &Import from ADIF... &Importar desde ADIF ... - + Import an ADIF file into the current log. Importar un fichero ADIF al log actual. @@ -2156,477 +1605,355 @@ Error: %2 &Salvar como ... - + Export to ADIF... Exportar a ADIF ... - + Export the current log to an ADIF logfile. Exportar ellog actual al un fichero de log ADIF. - + Export all logs to ADIF... Exportar todos los logs a ADIF ... - + Export ALL the QSOs into one ADIF file, merging QSOs from all the logs. Exportar TODOS los QSO a un fichero ADIF, mezclando los QSOs de todos los logs. + Export Requested QSL to ADIF... - Exportar las QSL solicitadas a ADIF ... + Exportar las QSL solicitadas a ADIF ... + Export all QSOs requesting QSLs to an ADIF file (e.g. to import it into a QSL tag printing program). - Exporta todas los los QSOs de las que se solicita la QSL a un fichero ADIF (e.j. para importarlo después a un programa de impresión de etiquetas de QSL). + Exporta todas los los QSOs de las que se solicita la QSL a un fichero ADIF (e.j. para importarlo después a un programa de impresión de etiquetas de QSL). + Export ADIF for LoTW... - Exportar ADIF a LoTW ... + Exportar ADIF a LoTW ... + Export an ADIF file to be sent to LoTW. Remember to sign it with TQSL before uploading to LoTW! - Exporta un fichero ADIF para enviarse a LoTW. ¡Recuerde firmarlo con TQSL antes de subir al LoTW! + Exporta un fichero ADIF para enviarse a LoTW. ¡Recuerde firmarlo con TQSL antes de subir al LoTW! - + &Print Log... Im&primir Log ... - + Print your log. Imprime el log. - + KLog folder Carpeta KLog - + Opens the data folder of KLog. Abre la carpeta de datos de KLog. - + E&xit Sali&r - + &Tools Herramien&tas - + Fill in QSO data Completar QSOs - + Go through the log reusing previous QSOs to fill missing information in other QSOs. Revisar el log, reutilizando datos de QSOs anteriores para completar información que falte en otros QSOs. + Fill in DXCC data - Completar datos DXCC + Completar datos DXCC + Go through the log filling QSOs without a DXCC defined. - Revisar el log, completando los QSOs que no tengan DXCC definidos. + Revisar el log, completando los QSOs que no tengan DXCC definidos. - + QSL tools... Herramientas de QSL ... - + &Find QSO to QSL &Buscar QSO para enviar QSL - + Shows QSOs for which you should send your QSL and request the DX QSL. Muestra QSOs para los que tenga que enviat la QSL y solicitar la QSL del DX. - + Find My-QSLs pending to send Buscar mis QSL pendientes de envío - + Shows the QSOs with pending requests to send QSLs. You should keep this queue empty! Muestra los QSOs que tienen QSL pendiente de enviar. ¡Debería mantener esta cola vacía! - + &Find DX-QSLs pending to receive B&uscar QSL DX pendientes de recibir + Shows the DX-QSL that has been requested or QSLs has been sent with no answer. - Muestra las QSL de estaciones DX que se han solicitado o hemos enviado pero no tenemos respuesta. + Muestra las QSL de estaciones DX que se han solicitado o hemos enviado pero no tenemos respuesta. - + &Find requested pending to receive Bu&scar solicitadas sin recibir + Shows the DX-QSL that has been requested. - Muestra QSL DX que se han solicitado. + Muestra QSL DX que se han solicitado. - + LoTW tools... Herramientas LoTW ... + Queue all QSL to be sent of this log - Encolar todas las QSL del log a enviar + Encolar todas las QSL del log a enviar + Mark all non sent QSOs in this log as queued to be uploaded. - Marca todos los QSOs de este log como encolados para ser enviados. + Marca todos los QSOs de este log como encolados para ser enviados. + Queue all QSL to be sent - Encolar todas las QSL a enviar + Encolar toas las QSL a enviar + Mark all non sent QSOs as queued to be uploaded. - Marca todos los QSL sin enviar como en cola para ser enviados. + Marca todos los QSL sin enviar como en cola para ser enviados. + Mark as sent all queued QSO of this log - Marcar como enviados todos los QSO encolados del log + Marcar como enviados todos los QSO encolados del log - + Mark all queued QSOs in this log as sent to LoTW. Marcar como encolados los QSOs de este log como enviados a LoTW. + Mark all queued QSO as sent - Marcar como enviados todos los QSO en cola + Marcar como enviados todos los QSO en cola - + Mark all queued QSOs as sent to LoTW. Marca todos los QSOs encolados como enviados por LoTW. - - Upload to LoTW - Enviar a LoTW - - - - Sends the log to LoTW calling TQSL. - Envía el log a LoTW a través de TQSL. - - - + &Update cty.csv Act&ualizar cty.csv - - + + For updated DX-Entity data, update cty.csv. Actualizar cty.csv para actualizar los datos de entidades DX. - + &Update Satellite Data Actualizar datos de &satélites - + Stats Estadísticas - + Show the statistics of your radio activity. Muestra estadísticas de la actividad en radio. - Rotator - Rotor - - - Show the rotator controller. - Mostrar el controlador del rotor. - - - + &Setup &Preferencias - + &Setup... &Preferencias ... - + &Help &Ayuda - + Check updates... Comprobar actualizaciones ... - + &About... &Acerca de ... - + &Tips... Conse&jos ... - + About Qt... Acerca de Qt ... - - - - - - - - - - - - + + + + + + + + KLog LoTW KLog LoTW + All pending QSO of this log has been marked as queued for LoTW! - Todos los QSO pendientes del log se han marcado como encolados para LoTW. + Todos los QSO pendientes del log se han marcado como encolados para LoTW. - - + + Now you can go to the File menu to export the LoTW ADIF file and upload it to LoTW. Ahora puede ir al menú Archivo para exportar el fichero ADIF LoTW y subirlo a LoTW. + + There was a problem to mark all pending QSO of this log as queued for LoTW! - ¡Hubo un problema al marcar todos los QSO pendientes de este log como en cola para LoTW! + ¡Hubo un problema al marcar todos los QSO pendientes de este log como en cola para LoTW! + All pending QSO has been marked as queued for LoTW! - ¡Se han marcado como en cola para LoTW todos los QSO! + ¡Se han marcado como en cola para LoTW todos los QSO! - - KLog - TQSL - KLog - TQSL - - - - TQSL is not installed or KLog can't find it. Please check the configuration. - TQSL no está instalado o KLog no puede encontrarlo. Por favor, revise la confirguración. - - - All the QSOs were signed and uploaded with no error. - Todos los QSO han sido firmados y subidos sin errores. - - - - Error #1: The process was cancelled by the user or TQSL was not configured. No QSOs were uploaded. - Error #1: El proceso ha sido cancelado por el usuario o TQSL no estaba configurado. No se han subido los QSO. - - - - Error #2: Upload was rejected by LoTW, please check your data. - Error #2: La subida de QSO fue rechazada por LoTW, por favor revise sus datos. - - - - Error #3: The TQSL server returned an unexpected response. - Error #3: El servidor TQSL ha devuelto una respuesta inesperada. - - - - Error #4: There was a TQSL error. - Error #4: Ha habido un error de TQSL. - - - - Error #5: There was a TQSLLib error. - Error #5: Ha habido un error de TQSLLib. - - - - Error #6: It was not possible to open the input file. - Error #6: No ha sido posible abrir el fichero de entrada. - - - - Error #7: It was not possible to open the ouput file. - Error #7: No ha sido posible abrir el fichero de salida. - - - - Error #8: No QSOs were processed since some QSOs were duplicates or out of date range. - Error #8: No se procesaron los QSO ya que algunos de ellos eran duplicados o estaban fuera de rango. - - - - Error #9: Some QSOs were processed, and some QSOs were ignored because they were duplicates or out of date range. - Error #9: Se procesaron algunos QSO y otros se han ignorado porque eran duplicados o fuera de rango de fecha. - - - - Error #10: Command syntax error. KLog sent a bad syntax command. - Error #10: Error de sintaxis en los comandos. KLog envió un comando con sintáxis errónea. - - - - Error #11: LoTW Connection error (no network or LoTW is unreachable). - Error #11: Error de conexión a LoTW (no hay red o LoTW no está alcanzable). - - - - Error #00: Unexpected error. Please contact the development team. - Error #00: Error inesperado. Por favor contacte con el equipo de desarrollo. - - - + The log that you have selected contains more than just one station callsign. El log que ha seleccionado contiene más de un sólo indicativo de estación. - + Please select the station callsign you want to mark as sent to LoTW: Por favor seleccione el indicativo de estación que quiere marcar como enviado a LoTW: - + Station Callsign: Indicativo de la estación: - + Define Station Callsign Definir indicativo de estación - + You have selected no callsign. KLog will mark QSOs without a station callsign defined and those with the call you are entering here. No ha seleccionado indicativo. KLog marcará los QSOs sin un indicativo de estación definido y aquellos con el indicativo que está seleccionando aquí. - + Enter the station callsign to use for this log or leave it empty for QSO without station callsign defined: Introduzca el indicativo de estación para usar en este log o déjelo vacío para poner un QSO sin un indicativo de estación definido: - - KLog - No station selected - KLog - No se ha seleccionado estación - - - + No station callsign has been selected and therefore no log will be marked No se ha seleccionado indicativo de estación por lo que no se exportará ningún log + All queued QSO of this log has been marked as sent for LoTW! - ¡Se han marcado como enviados a LoTW todos los QSO encolados del log! + ¡Se han marcado como enviados a LoTW todos los QSO encolados del log! + There was a problem to mark all queued QSO of this log as sent for LoTW! - ¡Hubo un problema al marcar todos los QSO en cola de este log como enviados a LoTW! + ¡Hubo un problema al marcar todos los QSO en cola de este log como enviados a LoTW! + All queued QSO has been marked as sent to LoTW! - ¡Se han marcado como enviados a LoTW todos los QSO en cola! + ¡Se han marcado como enviados a LoTW todos los QSO en cola! + There was a problem to mark all queued QSO of this log as sent to LoTW! - ¡Hubo un problema al marcar todos los QSO en cola de este log como enviados a LoTW! + ¡Hubo un problema al marcar todos los QSO en cola de este log como enviados a LoTW! - + About... Acerca de ... - + KLog update checking result Resultado de la comprobación de actualizaciones de KLog - + Congratulations! ¡Enhorabuena! - + You already have the latest version. Ya cuenta con la última versión. - - - It seems that there are no QSOs in the database. - Parece que no hay QSOs en la base de datos. - - - - This function is disabled. Go to the Setup->LoTW tab to enable it. - Esta función está deshabilitada. Vaya a Preferencias->LoTW para habilitarla. - - - The LoTW upload successfully. - -Do you want to mark as Sent all the QSOs uploaded to LoTW? - Se han subido correctamente los datos a LoTW. - -¿Quiere marcar como enviados todos los QSOs enviados a LoTW? - - - - There was an error while updating to Yes the LoTW QSL sent information. - Hubo un error al actualizar a Si la información de envío de QSL por LoTW. - - - The log that you have selected does not contain any QSO with the station callsign defined. - El log que ha seleccionado no contiene ningún QSO con el indicativo de estación definido. - - - If you click on 'Yes' KLog will fill all the QSO with your Station Callsign <b>(%1)</b> automatically. - Si pulsa en 'Si' KLog usará su distintivo de estación <b>(%1)</b> automáticamente. - - - Do you want to fill all the QSO with the Station Callsign: %1? - ¿Quiere completar todos los QSo con el distintivo de estación: %1? - - - (If you answer 'No', no QSO will be exported to LoTW) - (Si contesta 'No', no se exportarán QSO a LoTW) - - - KLog - Non supported mode - KLo - Modo no soportado - Nothing has been saved. You have to select a valid file type. No se ha guardado nada. Debe seleccionar un tipo de fichero válido. @@ -2648,7 +1975,7 @@ Do you want to mark as Sent all the QSOs uploaded to LoTW? Cualquier fichero - + You can find the KLog data folder here: Puede encontrar la carpeta de KLog aquí: @@ -2657,122 +1984,79 @@ Do you want to mark as Sent all the QSOs uploaded to LoTW? DUPE - + start arrancar - + stop parar + It seems that there are no QSO in the database. - Parece que no hay QSO en la base de datos. + Parece que no hay QSO en la base de datos. - + If you are sure that the database contains QSOs and KLog is not able to find them, please contact the developers (see About KLog) for help. Si está seguro de que la base de datos contiene QSOs y KLog no es capaz de encontrarlo, por favor contacte con los desarrolladores (mirar en Acerca de KLog) para obtener ayuda. - - + + TX Frequency in MHz. Frecuencia de TX en MHz. - - + + RX Frequency in MHz. Frecuencia de RX en MHz. - + Power used by the DX. Potencia usada por el DX. - + Logging operator's callsign. Indicativo del operador. - + Callsign used over the air. Indicativo usado en el aire. - If you click on 'Yes' KLog will fill all the QSOs with your Station Callsign <b>(%1)</b> automatically. - Si pulsa en 'Si' KLog usará su distintivo de estación <b>(%1)</b> automáticamente. - - - Do you want to fill all the QSOs with the Station Callsign: %1? - ¿Quiere completar todos los QSOs con el distintivo de estación: %1? - - - (If you answer 'No', no QSOs will be exported to LoTW) - (Si contesta 'No', no se exportarán QSOs a LoTW) - - - After uploading: mark as sent all the queued QSOs (LoTW Tools). - Después de subir: marcar como enviados todos los ficheros en cola (Herramientas LoTW). - - - There was no QSOs to be exported. - No había QSO a exportar. - - - If you think that some QSOs should have been exported, please look for them and ensure that the eQSL LoTW QSL sent box is marked as: - Si piensa que debería haberse exportado algún QSO, búsquelos y asegúrese de que el cuadro enviar QSL de eQSL LoTW está marcado como: - - - + My QTH locator. Mi QTH locator. - + Name of the DX. Nombre del DX. - - KLog - File not open - KLog - Fichero no abierto - - - - Your log has been updated with the LoTW downloaded QSOs. - Su log ha sido actualizado con los QSOs descargados de LoTW. - - - - KLog has updated %1 QSOs from LoTW. - KLog ha actualisado %1 QSOs de LoTW. - - - + QTH of the DX. QTX del DX. - + Locator of the DX. Locator del DX. - + DX Locator Locator DX - - KLog - Select the Station Callsign. - KLog - Seleccione el distintivo de estación. - - - + Filling DXCC, CQz, ITUz, Continent in QSOs... QSO: Rellenando DXCC, CQz, ITUz Continente en los QSOs... @@ -2785,61 +2069,59 @@ Do you want to mark as Sent all the QSOs uploaded to LoTW? QSO: - + TX Frequency in MHz. Frequency is not in a hamradio band! Frecuencia de TX en MHz. ¡La frecuencia no está en una banda de radioaficionados! - + RX Frequency in MHz. Frequency is not in a hamradio band! Frecuencia de RX en MHz. ¡La frecuencia no está en una banda de radioaficionados! - + QSO logged from WSJT-X: QSO guardado desde WSJT-X: + + RX Exchange. - Intercambio recibido. + Intercambio recibido. + It was not possible to open the debug file for writting. No debug log will be saved! - No fue posible abrir el fichero de depuración para escribir. No se guardará log de depuración. + No fue posible abrir el fichero de depuración para escribir. No se guardará log de depuración. - - Status bar ... - Barra de estado ... - - - + It seems that you have never done a backup or exported your log to ADIF. Parece que no ha hecho nunca una copia de seguridad o exportado su log a ADIF. - + It seems that the latest backup you did is older than one month. Parece que la última copia de seguridad que hizo fue hace más de un mes. - + Log backup recommended! ¡Se recomienda hacer una copia de seguridad! - + It is a good practice to backup your full log regularly to avoid loosing data in case of a problem. Once you export your log to an ADIF file, you should copy that file to a safe place, like an USB drive, cloud drive, another computer, ... KLog will remind you to backup on a monthly basis. - Hacer copias de seguridad de todo el log de forma regular es una buena práctica para evitar la pérdida de datos en caso de problemas. + Hacer copias de seguridad de todo el logde forma regular es una buena práctica para evitar la pérdida de datos en caso de problemas. Una vez se haya exportado el log aun fichero ADIF, ese fichero debería guardarse en un lugar seguro como un disco USB, carpeta en cloud, otro ordenador, ... KLog recordará hacer una copia de seguridad una vez al mes. @@ -2847,188 +2129,33 @@ KLog recordará hacer una copia de seguridad una vez al mes. - + KLog new version detected! ¡Se ha detectado una versión nueva de KLog! - + It seems that you are running this version of KLog for the first time. Parece que está ejecutando esta versión de KLog por primera vez. - + The setup will be open to allow you to do any new setup you may need. Se abrirá la el menú de configuración para que pueda hacer cualquier nueva configuración que pueda necesitar. - - KLog - Unexpected error - KLog - Error inesperado - - - - - KLog - Not valid call - KLog - Distintivo no válido - - - - - The call %1 is not a valid call. Do you really want to add this call to the log? - El distintivo %1 no es un distintivo válido. ¿Quiere realmente añadirlo al log? - - - - - KLog - Select correct entity - KLog - Seleccione la entidad correcta - - - - It was not possible to open the debug file for writing. No debug log will be saved! - No fue posible abrir el fichero de depuración para escribir. No se guardará log de depuración. - - - - - Adding non-valid calls to the log may create problems when applying for awards, exporting ADIF files to other systems or applications. - Añadir distintivos no válidos puede crear problemas al optar a diplonas, exportar ficheros ADIF para otras aplicaciones o sistemas. - - - - - No DXCC - No DXCC - - - - - None - Ninguno - - - - KLog - Exit - KLog - Salir - - - + The logfile has been modified. Se ha modificado el log. - + Do you want to save your changes? ¿Quiere guardar los cambios? - - Shows DX-QSLs for which requests or QSLs have been sent with no answer. - Muestra las QSLs de estaciones DX que se han solicitado o hemos enviado pero no tenemos respuesta. - - - - Shows the DX-QSLs that have been requested. - Muestra QSLs DX que se han solicitado. - - - - Queue all QSLs from this log to be sent - Encolar todas las QSLs del log para enviar - - - - Mark all non-sent QSOs in this log as queued to be uploaded. - Marca todos los QSOs de este log como encolados para ser enviados. - - - - Queue all QSLs to be sent - Poner en la cola de envío todas las QSL - - - - Put all the non-sent QSOs in the queue to be uploaded. - Pone todos los QSOs mp enviados en la cola para ser enviados. - - - - Mark as sent all queued QSOs of this log - Marcar como enviados todos los QSOs de la cola de envío de este log - - - - Mark all queued QSOs as sent - Marcar como enviados todos los QSO de la cola - - - - Download from LoTW - Descargar de LoTW - - - - All pending QSOs of this log has been marked as queued for LoTW! - Todos los QSO pendientes del log se han añadido a la cola de LoTW. - - - - - There was a problem to mark all pending QSOs of this log as queued for LoTW! - ¡Hubo un pronlema al poner en la cola de LoTW los QSOs pendientes! - - - Your log has been updated with the LoTW downloaded QSOs - Su log ha sido actualizado con los QSOs descargados de LoTW. - - - KLog has updated %1 QSOs from LoTW - KLog ha actualisado %1 QSOs de LoTW. - - - - Your log has not been updated. - Su log no ha sido actuallizado. - - - - No QSO was updated with the data coming from LoTW. This may be because of errors in the logfile or simply because your log was already updated. - No se ha actualizado ningún QSO con los datos llegados de LoTW. Puede ser por errores en el fichero de log o simplemente porque su log ya estaba actualizado. - - - - All pending QSOs has been marked as queued for LoTW! - Se han puesto en la cola de LoTW todos los QSOs pendientes. - - - - TQSL finished with no error. - TQSL finalizó correctamente. - - - - All queued QSOs of this log has been marked as sent for LoTW! - Todos los QSOs de la cola de este log se han marcado como enviados a LoTW. - - - - There was a problem to mark all queued QSOs of this log as sent for LoTW! - Hubo un problema al marcar como enviados a LoTW los QSOs de la cola de este log. - - - - All queued QSOs has been marked as sent to LoTW! - ¡Se han marcado como enviados a LoTW todos los QSOs en cola! - - - - There was a problem to mark all queued QSOs of this log as sent to LoTW! - ¡Hubo un problema al marcar todos los QSO en cola de este log como enviados a LoTW! - - - - + + UDP Server error The UDP server failed to %1. start or stop @@ -3036,62 +2163,9 @@ The UDP server failed to %1. El servidor de UDP falló al %1. - The LoTW upload was successful. - -Do you want to mark as Sent all the QSOs uploaded to LoTW? - Se han subido correctamente los datos a LoTW. - -¿Quiere marcar como enviados todos los QSOs subidos a LoTW? - - - KLog - Select the Station Callsign - KLog - Seleccione el distintivo de estación. - - - - Select the Station Callsign to use when quering LoTW: - Seleccione el indicativo de la estación que se usará al consultar a LoTW: - - - - Please check the LoTW setup - Compruebe la configuración de LoTW - - - - You have not defined a LoTW user or a proper Station Callsign. -Open the LoTW tab in the Setup and configure your LoTW connection. - No ha definido un usuario y contraseña de LoTW o un didtintivo de estación. -Abra la pestaña de LoTW en las Preferencias y configure su conexión de LoTW. - - - - KLog - Non-supported mode - KLog - Modo no soportado - - - - A new mode not supported by KLog has been received from an external program or radio: - Se ha recibido un nuevo modo no soportado por KLog desde un programa externo o la radio: - - - - Do you want to keep receiving these alerts? (disabling these alerts will prevent non-valid modes being detected) - ¿Quiere seguir recibiendo estas alertas? (deshabilitar esta alerta evitará que los modos no válidos se detecten) - - - - Recommendation: - Recomendación: - - - - Periodically export your data to ADIF to prevent a potential data loss. - Exporte peódicamente los datos a ADIF para prevenir una potencial pérdida de datos. - - + Clears the QSO entry. - Limpia la entrada de QSO. + Limpia la entrada de QSO. Number of confirmed DXCC entities. @@ -3146,23 +2220,23 @@ Abra la pestaña de LoTW en las Preferencias y configure su conexión de LoTW.Seleccione el año que quiere comprobar. - + Status of the DX entity. Estado de la entidad DX. - + Name of the DX entity. Nombre de la entidad DX. - - + + Name Nombre - + QTH QTH @@ -3171,63 +2245,63 @@ Abra la pestaña de LoTW en las Preferencias y configure su conexión de LoTW.Locator - + Power(rx) Potencia(rx) - + RST(tx) RST(tx) - + RST(rx) RST(rx) - + Freq TX Frec TX - + Freq RX Frec RX - + QSO QSO - + QSL QSL - + eQSL eQSL - - + + Comment Comentario - + Others Otros - + My Data Mis datos - + Satellite Satélite @@ -3236,7 +2310,7 @@ Abra la pestaña de LoTW en las Preferencias y configure su conexión de LoTW.QSOs - + DXCC DXCC @@ -3253,7 +2327,7 @@ Abra la pestaña de LoTW en las Preferencias y configure su conexión de LoTW.DX-Marathon - + Info Info @@ -3278,150 +2352,105 @@ Abra la pestaña de LoTW en las Preferencias y configure su conexión de LoTW.Local - + Awards Diplomas - + Search Buscar - + Log Log - + DX-Cluster DX-Cluster - - KLog ADIF export - KLog - Exportar ADIF - - - - No QSOs have been exported to ADIF. - No se ha exportado a ADIF ningún QSO. - - - - KLog has exported %1 QSOs to the ADIF file: %2 - KLog ha exportado %1 QSOs al fichero ADIF: %2 - - - - - + + + + Save ADIF File Salvar fichero ADIF - - If you uploaded any QSO to LoTW while you were using TQSL you can now mark them as sent in KLog. - -Do you want to mark as Sent all the QSOs uploaded to LoTW? - Si ha enviado algún QSO a ADIF desde TQSL ahora puede marcarlos como enviados en KLog. - -¿Quiere marcar como enviados todos los QSOs enviados a LoTW? - - - - The LoTW upload process has finished and KLog created a file (%1) in your KLog folder. - -Do you want KLog to remove that file? - El proceso de subida de LoTW ha terminado y KLog ha creado un fichero (%1) en su carpeta de KLog. - -¿Quiere eliminar ese fichero? - - - - The file has been removed. - Se ha eliminado el fichero. - - - Please select the station callsign you want to export the log from: - Por favor seleccione el indicativo de estación del que quiere exportar el log: - - - - - KLog - LoTW - KLog - LoTW - - - The selected callsign is not valid, LoTW log will not be uploaded. - El indicativo seleccionado no es válido, no se subirá el log de LoTW. - - - You selected NONE so all the QSOs without a station callsign in your log will be selected and the current station callsign (%1) will be automatically added to the QSOs. <br><br><b>Please check that this is correct as it may cause errors in your uploaded logs</b>. - Ha seleccionado NINGUNO/NONE por lo que todos los QSO sin un indicativo de estación de su log se seleccionará y se usará su indicativo de estación actual (%1) para completar todos los QSO automáticamente.<br><br><b>Asegúrese de que esto es correcto porque puede generar problemas en sus logs enviados a LotW</b>. - - + LoTW logfile has been properly exported! - ¡El fichero de LoTW se ha exportado correctamente! + ¡El fichero de LoTW se ha exportado correctamente! + Remember to: - Recuerde: + Recuerde: + Before uploading: sign the LoTW log; and - Antes de subir: firmar el log de LoTW; y + Antes de subir: firmar el log de LoTW; y + After uploading: mark as sent all the queued QSO (LoTW Tools). - Después de subir: marcar como enviados todos los ficheros en cola (Herramientas LoTW). + Después de subir: marcar como enviados todos los ficheros en cola (Herramientas LoTW). + There was no QSO to be exported. - No había QSO a exportar. + No había QSO a exportar. + If you think that some QSO should have been exported, please look for them and ensure that the eQSL LoTW QSL sent box is marked as: - Si piensa que debería haberse exportado algún QSO, búsquelos y asegúrese de que el cuadro enviar QSL de eQSL LoTW está marcado como: + Si piensa que debería haberse exportado algún QSO, búsquelos y asegúrese de que el cuadro enviar QSL de eQSL LoTW está marcado como: + Q - Queued - Q - En cola + Q - En cola + There was an error while exporting the LoTW. The log has not been exported! - Hubo un error al exportar a LoTW. ¡El log no se ha exportado! + Hubo un error al exportar a LoTW. ¡El log no se ha exportado! Save Cabrillo File Salvar fichero Cabrillo - + + Open File Abrir fichero + &Modify - &Modificar + &Modificar - + My QTH locator. Format should be Maidenhead like IN70AA up to 10 characters. Mi QTH locator. El formato debe ser tipo Maidenhead, como en IN70AA y hasta 10 caracteres. - + - Needed for DXMarathon - Necesitado para DXMarathon - + Filling QSOs... Completando QSOs ... - + Abort filling Cancelar completado @@ -3432,116 +2461,116 @@ Do you want KLog to remove that file? QSO: - + Number Número - + Date Fecha - + Time Hora - + Band Banda - - + + Mode Modo - + Print Log Imprimir log - + Printing the log... Imprimiendo el log ... - + Abort printing Cancelar impresión - - + + Printing the log... QSO: Imprimiendo el log ... QSO: - + KLog QSO received KLog QSO recibido - + The following QSO data has been received from WSJT-X to be logged: Se ha recibido el siguiente QSO desde WSJT-X para ser guardado: - + Call Indicativo - + Freq Frec - + Time On Hora inicio - + Time Off Hora fin - + RST TX RST TX - + RST RX RST RX - + DX-Grid DX locator - + Comments Comentarios - + TX Pwr Potencia TX - + Operator Operador - + Local-Grid Locator local @@ -3550,88 +2579,82 @@ Do you want KLog to remove that file? Se ha recibido un modo nuevo, no soportado por KLog desde un programa externo: - + If the received mode is correct, please contact KLog development team and request support for that mode So el modo recibido es correcto, contacte con el equipo de desarrollo de KLog y solicite soporte para ese modo + Do you want to keep receiving this alerts? (disabling this alerts will prevent that non-valid modes are detected) - ¿Quiere seguir recibiendo estas alertas? (deshabilitar esta alerta evitará que los modos no válidos se detecten) + ¿Quiere seguir recibiendo estas alertas? (deshabilitar esta alerta evitará que los modos no válidos se detecten) + A new mode not supported by KLog has been received from an external software or radio: - Se ha recibido un nuevo modo no soportado por KLog desde un software externo o la radio: + Se ha recibido un nuevo modo no soportado por KLog desde un software externo o la radio: - - KLog - Duplicated satellite - KLog - Satélite duplicado - - - + A duplicated satellite has been detected in the file and will not be imported. Se ha detectado un satélite duplicado en el fichero y no se importará. - + Please check the satellite information file and ensure it is properly populated. Por favor, revise el fichero de la información de satélites y asegúrese de que está correctamente relleno. - + Now you will see a more detailed error that can be used for debugging... Ahora verá errores más detallados que pueden ser usados para depurar ... - + An unexpected error ocurred!! ¡Ha ocurrido un error inesperado! - + If the problem persists, please contact the developers Si el problema persiste contacte con los desarrolladores - + for analysis: para que lo analicen: - + Error in function Error en la función - + Error code Código de error - + Error text Texto del error - + Failed query Consulta fallida + Recomendation: - Recomendación: + Recomendación: + Export, periodically, your data to ADIF to prevent a potential data loss. - Exporte peódicamente los datos a ADIF para prevenir una potencial pérdida de datos. + Exporte peódicamente los datos a ADIF para prevenir una potencial pérdida de datos. - - KLog - Show errors - KLog - Mostrar errores - - - + Do you want to keep showing errors? ¿Quiere seguir viendo los errores? @@ -3647,77 +2670,77 @@ Do you want KLog to remove that file? MainWindowInputEQSL - + Date of the ClubLog upload. Dato del envío a ClubLog. - + Date of the eQSL sending. Fecha del envío de eQSL. - + Date of the eQSL reception. Fecha de la recepción de eQSL. - + Date of the LoTW sending. Fecha del envío de LoTW. - + Date of the LoTW reception. Fecha de la recepción de LoTW. - + Status of the LoTW sending. Estado del envío de LoTW. - + Status of the LoTW reception. Estado de la recepción de LoTW. - + LoTW Sent Envío LoTW - + LoTW Rec Recepción LoTW - + Status on ClubLog. Estado en ClubLog. - + Status of the eQSL sending. Estado de envío de eQSL. - + Status of the eQSL reception. Estado de recepción de eQSL. - + ClubLog ClubLog - + eQSL Sent Envío eQSL - + eQSL Rec Recepción eQSL @@ -3857,68 +2880,64 @@ Do you want KLog to remove that file? MainWindowMyDataTab + Watt - Vatio + Vatio - - Watts - Vatios - - - + Keep this data Mantener estos datos - - + + Data entered in this tab will be copied into the next QSO. Los datos introducidos en esta pestaña se copiarán al próximo QSO. - + Power used for the QSO in watts. Potencia usada para el QSO en vatios. - + Logging operator's callsign. Indicativo del operador. - + Callsign used over the air. Indicativo usado en el aire. - - + + My QTH locator. Mi QTH locator. - + Power Potencia - + Operator Operador - + Station Callsign Indicativo de la estación - + My Locator Mi locator - + My QTH locator. Format should be Maidenhead like IN70AA up to 10 characters. Mi QTH Locator. El formato debe ser Maidenhead como en IN70AA y hasta 10 caracteres. @@ -3957,7 +2976,7 @@ Do you want KLog to remove that file? - + Locator of the DX station. This box is synchronized with the Locator box in the QSO tab. Locator de la estación DX. Este cuadro se sincroniza con el cuadro de locator en la pestaña QSO. @@ -3998,56 +3017,52 @@ Do you want KLog to remove that file? MHz - + Locator of the DX station. Format should be Maidenhead like IN70AA up to 10 characters. Locator de la estación DX. El formato debe ser Maidenhead como en IN70AA y hasta 10 caracteres. - + Not Sat QSO QSO sin satélite - + KLog has detected a satellite name that it does not recognise. If it should use one of the names of known satellites instead, please select it from the list. Alternatively, please contact the development team to add the new satellite name. KLog ha detectado un nombre de satélite no reconocido. Si debería ser uno de los satélites conocidos, por favor seleccionelo de la lista. Alternativamente puede contactar con el equipo de desarrollo para que añadan el nuevo nombre de satélite. - - Please be aware that the satellite name will not be saved if it is not in the list, so that information may be lost! + + Please know that the satellite name will not be saved if it is not in the list so that information may be lost! ¡Tenga en cuenta que el nombre del satélite no se guardará si no está en la lista y puede perder esa información! - Please know that the satellite name will not be saved if it is not in the list so that information may be lost! - ¡Tenga en cuenta que el nombre del satélite no se guardará si no está en la lista y puede perder esa información! - - - + RX Frequency in MHz. Frequency is not in a hamradio band! Frecuencia de RX en MHz. ¡La frecuencia no está en una banda de radioaficionados! - + RX Frequency in MHz. Frecuencia de RX en MHz. - + TX Frequency in MHz. Frequency is not in a hamradio band! Frecuencia de TX en MHz. ¡La frecuencia no está en una banda de radioaficionados! - + TX Frequency in MHz. Frecuencia de TX en MHz. - + Other - Sat not in the list Otro - Satélite no en la lista @@ -4062,7 +3077,7 @@ Frequency is not in a hamradio band! Locator de la estación DX. Este cuadro se sincroniza con el cuadro de Locator en la pestaña QSO. - + The satellite you have in your QSO is: El satélite que tiene en su QSO es: @@ -4070,213 +3085,200 @@ Frequency is not in a hamradio band! QObject - - + + Database Error Error de base de datos - + KLog DB needs to be upgraded. La BD de KLog necesita actualizarse. - + Do you want to upgrade it now? ¿Quiere actualizar ahora? - + If DB is not upgraded KLog may not work properly. Si no actualiza la base de datos es posible que KLog no funcione correctamente. - - - - - - KLog - DB update - KLog - Actualización BBDD - - - + KLog has detected a previous log in the DB. All data will be migrated to a newly created DX type log for you. KLog ha detectado un log anterior en la BD. Todos los datos serán migrados a un log tipo DX creado para usted. - + KLog: Enter Station callsign KLog: Introduzca indicativo - + Enter the station callsign used in this log Introduzca el indicativo usado en este log - + Station Callsign Indicativo de la estación + All the data was migrated correctly. You should now go to Setup->Preferences->Logs to check that everything is OK. - Todos los datos se han migrado de forma correcta. Ahora debería ir a Preferencias->Logs para compribar que todo está OK. + Todos los datos se han migrado de forma correcta. Ahora debería ir a Preferencias->Logs para compribar que todo está OK. - - - - - + + + + + QSO: QSO: - - - - + + + + Canceling this update will cause data inconsistencies and possibly data loss. Do you still want to cancel? Cancelar esta actualización causará inconsistencia de datos y posible pérdida de datos. ¿Quiere cancelar? - - + + Progress: Progreso: - + Updating DXCC award information... Actualizand la información del diploma DXCC... - + Updating DXCC Award information... Actualizando la información del diploma DXCC... - + Updating WAZ award information... Actualizando la información del diploma WAZ... - + Updating WAZ Award information... Actualizando la información del diploma WAZ... - - + + Updating mode information... Actualizando información de modo... - - All the data was migrated correctly. You should now go to Setup->Preferences->Logs to check that everything is okay. - Todos los datos se han migrado de forma correcta. Ahora debería ir a Preferencias->Logs para comprobar que todo está bien. - - - - - - - - - + + + + + + + Abort updating Cancelar actualización - - - - + + + + Updating bands information... Actualizando información de bandas... - + Updating bands information in %1 status... Actualizando información de bandas en %1... - + Updating mode information in %1 status... Actualizando información de modos en %1... - + New One, work it! nNew One, work it! ¡Nuevo, trabájelo! + + + + + + + - - - - - - - Needed, work it! ¡Necesitado, trabájelo! - - - - + + + + Worked but not confirmed Trabajado pero no confirmado - + Confirmed Confirmado - + Not identified No identificado - + Install wizard was canceled before completing... El asistente de instalación fué cancelado antes de terminar... - + Do you want to remove the KLog dir from your disk? ¿Quiere eliminar la carpeta de KLog de su disco? - + Your KLog dir has been removed Su directorio de KLog ha sido eliminado - + I could not remove your KLog dir. You should do it manually if you want it removed from your hard disk. No se pudo eliminar su directorio de KLog. Debería eliminarlo manualmente si no lo quiere en su disco duro. - + Your KLog dir could not be removed. You should do it manually if you want it removed from your hard disk. No se pudo eliminar su directorio de KLog. Debería eliminarlo manualmente si no lo quiere en su disco duro. - + Remember that your KLog dir is on your system... Recuerde que la carpeta de KLog está en su sistema... + - + - Thank you for running KLog! ¡Gracias por usar KLog! @@ -4285,377 +3287,287 @@ Frequency is not in a hamradio band! URL information - + Updating information... Actualizando información... - + Updating DXCC and Continent information... Actualizando la información de DXCC y continente... - - - A wrong call has been found: %1. Please enter a new call or confirm that the current one is a good call. - Se ha encontrado un distintivo incorrecto: %1. Por favor introduzca un distintivo nuevo o confirme si el actual es válido. - - - - An empty callsign has been detected. If it is possible, please enter the right call. - Se ha detectado un distintivo vacío. Si es posible, introduzca el distintivo correcto. - - - - KLog - Not valid callsign found - KLog - Distintivo no válido encontrado - - - - RotatorWidget - - - Rotator - Rotor - SearchWidget - + &Clear &Limpiar - - - + + + &Select All &Seleccionar todos - + &Search Bu&scar + All - Todos + Todos - + &Export Highlighted &Exportar marcados - - All logs - Todos los logs - - - + Clear the searches. Limpiar búsquedas. - + Export the search result to an ADIF file. Exporta el resultado de la búsqueda a un fichero ADIF. - + Select/Unselect all the QSOs shown. Selecione/Deseleccione todos los QSOs mostrados. - + Search in the log. Buscar en el log. - + Search in all logs. Buscar en todos los logs. + Enter the QRZ to search for. - Introduzca el QRZ a buscar. + Introduzca el QRZ a buscar. - - Enter the QRZ to search for. Enter '*' to show all the QSOs... it may be slow in big logs! - Introduzca un QSO para buscar. Use '*' para mostrar todos los QSOs... (puede ser lento en logs grandes) - - - + Search results. Resultados de la búsqueda. - - Select the Station Callsign used to do this QSO. - Seleccione el distintivo de estación usado para este QSO. - - - - + + QRZ QRZ - - + + Date/Time Fecha/Hora - - + + Band Banda - - + + Mode Modo - - + + QSL Sent QSL Enviada - - - + + + QSL Rcvd QSL Recibida - + Station Callsign Indicativo de la estación - - + + ID ID - - All in log - Todos del log - - - - Not defined - Sin definir - - - - Searching for the QSOs... -(It may take long in big logs.) - Buscando QSOs... -(Puede llevar tiempo en logs grandes) - - - - KLog - Search - KLog - Búsqueda - - - - + + &Clear selection &Limpiar selección - + Save File Guardar fichero - + QSL Send Enviar QSL - + &Delete &Borrar - + Delete a QSO Borrar un QSO - + &Edit QSO &Editar QSO - + Edit this QSO Editar este QSO - + Via &bureau Vía &bureau - + Send this QSL via bureau Envia esta QSL vía bureau - + D&irect D&irecta - + Send this QSL via direct Envía esta QSL vía directa - + &Request my QSL &Requerir mi QSL - + Mark my QSL as requested Marcar mi QSL como solicitada - - Via Direct and mark DX QSL as requested + + Via Direct && mark DX QSL as requested Vía directa y marcar QSL DX como solicitada - - Send this QSL via direct and mark DX QSL as requested + + Send this QSL via direct & mark DX QSL as requested Enviar esta QSL vía directa y marcar QSL DX como solicitada - - Via Bureau and mark DX QSL as requested + + Via Bureau && mark DX QSL as requested Vía Bureau y marcar QSL DX como solicitada - - Send this QSL via bureau and mark DX QSL as requested + + Send this QSL via bureau & mark DX QSL as requested Enviar esta QSL vía bureau y marcar QSL DX como solicitada - - Via bureau and mark my QSL as requested - Vía Bureau y marcar mi QSL como solicitada - - - - QSL received via bureau and mark my QSL as requested - QSL recibida vía bureau y marcar mi QSL como solicitada - - - - Direc&t and mark as my QSL requested - Direc&ta y marcar mi QSL como solicitada - - - - QSL received via direct and mark my QSL as requested - QSL recibida vía directa y marcar mi QSL como solicitada - - - Via Direct && mark DX QSL as requested - Vía directa y marcar QSL DX como solicitada - - - Send this QSL via direct & mark DX QSL as requested - Enviar esta QSL vía directa y marcar QSL DX como solicitada - - - Via Bureau && mark DX QSL as requested - Vía Bureau y marcar QSL DX como solicitada - - - Send this QSL via bureau & mark DX QSL as requested - Enviar esta QSL vía bureau y marcar QSL DX como solicitada - - - + &Request the QSL &Requerir la QSL - + Mark the QSL as requested Marcar la QSL como solicitada + Via bureau && mark my QSL as requested - Vía bureau y marcar mi QSL como solicitada + Vía bureau y marcar mi QSL como solicitada + QSL received via bureau & mark my QSL as requested - QSL recibida vía bureau y marcar mi QSL como solicitada + QSL recibida vía bureau y marcar mi QSL como solicitada - + Via bureau Vía bureau - + QSL received via bureau QSL recibida vía bureau + Direc&t && mark as my QSL requested - Direc&ta y marcar mi QSL como solicitada + Direc&ta y marcar mi QSL como solicitada + QSL received via direct & mark my QSL as requested - QSL recibida vía directa y marcar mi QSL como solicitada + QSL recibida vía directa y marcar mi QSL como solicitada - + Direc&t Direc&ta - + QSL received via direct QSL recibida vía directa - + You have requested to delete the QSO with: %1 Ha solicitado eliminar un QSO con: %1 - + Are you sure? ¿Está seguro? - + Needed QSO to send the QSL QSO al que es necesario enviar la QSL - + My QSL requested to be sent Se ha solicitado el envío de mi QSL - - + + DX QSL pending to be received QSL del DX pendiente de recibir @@ -4663,167 +3575,149 @@ Frequency is not in a hamradio band! SetupDialog - - + + User data Datos de usuario - - - + + + Bands/Modes Bandas/modos - + My Data Mis datos - - + + DX-Cluster DX-Cluster - - - + + + Colors Colores - - - + + + Misc Varios - - + + World Editor Editor de entidades - - + + Satellites Satélites - - + + HamLib HamLib - - Interfaces - Interfaces - - - - Ok - OK - - - + ClubLog ClubLog - - LoTW - LoTW - - - + Do you want to add one log in the Logs tab or exit KLog? (Click Yes to add a log or No to exit KLog) ¿Quiere añadir un log en la pestaña de Logs o salir de KLog? (Pulse Si para añadir un log o No para salir de KLog) - - DB has not been moved to new path. - La BBDD no se ha movido a la nueva ubicación. - - - + Go to the Misc tab and click on Move DB or the DB will not be moved to the new location. Vaya a la pestaña Varios y pulse sobre Mover BBDD o la base de datos no se moverá a la nueva ubicación. - + Go to the User tab and enter valid QRZ. Vaya a la pestaña Usuario e introduzca un QRZ válido. - - + + Cancel Cancelar - + + OK OK - - + + Config Dialog Configuración - + D&X-Cluster D&X-Cluster - + WSJT-X WSJT-X - + You need to enter at least one log in the Logs tab. Debe introducir al menos un log en la pestaña de Logs. - + You need to enter at least a valid QRZ. Debe introducir un QRZ válido. + DB has not been moved to new path - La BBDD no se ha movido a la nueva ubicación. + la BBDD no se ha movido a la nueva ubicación - + You have not selected the kind of log you want. No ha seleccionado el tipo de log que quiere. - + You will be redirected to the Log tab. Please add and select the kind of log you want to use. Será redirigido a la pestaña de Log. Añada y seleccione el tipo de log que quiere usar. - - - + + + Logs Logs - + World Entidades @@ -4831,117 +3725,113 @@ Añada y seleccione el tipo de log que quiere usar. SetupEntityDialog - + Entity Entidad - + CQ CQ - + ITU ITU - + Latitude Latitud - + Longitude Longitud - + UTC UTC - + Main prefix Prefijo - + ARRL ID ARRL ID - + Comma separated possible prefixes, e.g. EA1, EA2, ... Lista separada por comas de prefijos posibles. Ej. EA1, EA2, ... - + Prefixes Prefijos - + Name of the Entity. Nombre de la entidad. - + CQ zone. Zona CQ. - + ITU zone. Zona ITU. - - + + Longitude of the Entity. Longitud de la entidad. - + Local time difference to UTC. DIferencia entre la hora local y la UTC. - + Main prefix of the entity. Prefijo principal de la entidad. - + ARRL ID. ID ARRL - Identificador numérico de la ARRL. - + Date of the deletion. Fecha de eliminación. - + Deleted Eliminado - + Cancel Cancelar - - Ok - OK - - + OK - Ok + Ok - + Entity Dialog Entidad @@ -4949,12 +3839,12 @@ Añada y seleccione el tipo de log que quiere usar. SetupPageBandMode - + Bands Bandas - + Modes Modos @@ -4962,62 +3852,62 @@ Añada y seleccione el tipo de log que quiere usar. SetupPageClubLog - + &Callsign Indi&cativo - + ClubLog &password Contrase&ña - + ClubLog &email Correo &electrónico - + Enter the email you used to register in ClubLog. Introduzca el correo-e que usó para registrarse en ClubLog. - + Enter the callsign you used to register in ClubLog. Introduzca el indicativo que usó para registrarse en ClubLog. - + Enter your password in ClubLog. Introduzca su contraseña de ClubLog. - + &Send QSOs in real time &Enviar QSOs en tiempo real - + &Activate ClubLog &Activar ClubLog - + Use QSO Station &Callsign Usar indicativo de esta&ción del QSO - + Send each QSO to ClubLog in real time, as they are added (or modified) in KLog. Envía cada QSO a CLubLog en tiempo real, según se van añadiendo (o modificando) en KLog. - + Starts the ClubLog support in KLog. Inicia el soporte de ClubLog en KLog. - + Use the Station Callsign defined in each QSO instead of the one defined here. Usa el indicativo de estación definido en cada QSO en vez de el definido aquí. @@ -5025,63 +3915,63 @@ Añada y seleccione el tipo de log que quiere usar. SetupPageColors - + New One Nuevo - + Needed in this band Necesitado en esta banda - + Worked in this band Trabajado en esta banda - + Confirmed in this band Confirmed Confirmado en esta banda - + Default Predeterminado - + WSJT-X palette Paleta WSJT-X - + Default palette Paleta predeterminada - + Color when the DXCC is an ATNO (All Time New One). Color cuando el DXCC es un ATNO (nuevo en cualquier banda y modo). - + DXCC is confirmed in this band. DXCC confirmado en esta banda. - + Default color. Color predeterminado. - + Sets a palette of colors similar to the one used in WSJT-X. Define una paleta de colores similar a la usada en WSJT-X. - + Sets the default palette. Define la paleta predeterminada. @@ -5090,12 +3980,12 @@ Añada y seleccione el tipo de log que quiere usar. Color cuando el DXCC es un ATNO (nunca trabajado) - + This DXCC was worked before in another band but not in the selected band. It may be needed due to the CQ, ITU, Grid, ... Este DXCC fue trabajado antes en otra banda pero no en la banda seleccionada. Puede ser necesitado debido a CQ, ITU, cuadrícula, ... - + Worked DXCC, but not confirmed in this band. DXCC trababajado pero no confirmado en esta banda. @@ -5116,7 +4006,7 @@ Añada y seleccione el tipo de log que quiere usar. Define la paleta predeterminada - + Choose a color Elija un color @@ -5124,96 +4014,81 @@ Añada y seleccione el tipo de log que quiere usar. SetupPageDxCluster - + Add Añadir - + Delete Borrar - + Show &HF spots Show HF spots Mostrar avisos en I&HF - + Show V/&UHF spots Show V/UHF spots Mostrar avisos en V/&UHF - + Show W&ARC spots Show WARC spots Mostrar avisos en W&ARC - + Show &worked spots Show worked spots Mostrar a&visos trabajados - + Show &confirmed spots Show confirmed spots Mostrar avisos &confirmados - + Show ANN/&FULL messages Show ANN/FULL messages Mostrar mensajes ANN/&FULL - + Show WW&V messages Show WWV messages Mostrar mensajes &WWV - + Show WC&Y messages Show WCY messages Mostrar mensajes WC&Y - - Save DX Cluster activity - Guardar actividad de DX Cluster - - - - Saves all the DX-Cluster activity to a file in the KLog folder - Guarda toda la actividad de DX-Cluster en un fichero en la carpeta de KLog. - - - + DX Spots Avisos DX - - Others - Otros - - - + Messages Mensajes - + KLog: Add a DXCluster server Kontest: Add a DXCluster server KLog: Añadir servidor DX-Cluster - + Add the address followed by the :port Example: dxfun.com:8000 If no port is specified, 41112 will be used by default: @@ -5228,12 +4103,12 @@ Si no se especifica puerto se usará 41112 de forma predeterminada: SetupPageHamLib - + Activate HamLib Activar HamLib - + Activates the hamlib support that will enable the connection to a radio. Activa el soporte de hamlib que habilitará la conexión a una radio. @@ -5254,392 +4129,286 @@ Si no se especifica puerto se usará 41112 de forma predeterminada:Puede ser necesario habilitar el DTR en algunos puertos serie. - + Read-Only mode Modo solo lectura - + If enabled, the KLog will read Freq/Mode from the radio but will never send any command to the radio. Si se habilita, KLog leerá la frecuencia y modo de la radio pero nunca enviará ningún comando a la radio. - + Radio Radio - + Select your rig. Seleccionar equipo. - + Defines the interval to pool the radio in msecs. Define el intervalo con el que se consulta a la radio en milisegundos. - + Pool interval Actualización - + Port Puerto - + Select the serial port. Only the serial ports that are detected are shown. Seleccione el puerto serie. Solo se muestran los puertos que se pueden detectar. - + Scan Buscar - + Click to identify the serial ports available in your computer. Pulsar para identificar los puertos disponibles en el ordenador. - + Bauds Baudios - + Select the serial port speed. Seleccionar la velocidad del puerto serie. - + 5 bits 5 bits - + 6 bits 6 bits - + 7 bits 7 bits - + 8 bits 8 bits - + Data bits Bits de datos - + Select the serial data bits. Seleccionar los bits de datos. - + None Ninguno - + Hardware Hardware - + Software XON/XOFF Software XON/XOFF - + Flow control Control de flujo - + Select the serial flow control Seleccione el contrl de flujo del puerto serie. - + No parity Sin paridad - + Even Par - + Odd Impar - + Space Espacio - + Mark Marca - + Parity Paridad - + Select the serial parity. Seleccione la paridad del puerto serie. - + 1 bit 1 bit - + 1.5 bits 1.5 bits - + 2 bits 2 bits - + Stop bits Bits de parada - + Select the serial stop bits. Seleccionar los bits de parada. - - SetupPageInterfacesWindows - - - UDP port number where the PSTRotator Server will listen for packets. - Puerto UDP donde PSTRotator espera recibir los paquetes. - - - - Default port is 12040. - El puerto predeterminado es el 12040. - - - - PST Rotator UDP Port - Puerto UDP de PST Rotator - - - - Hostname or IP address of the computer running PSTRotator. Leave it as localhost if you are running KLog and PSTRotator in the same computer. - Nombre de máquina o dirección IP del ordenador que ejecuta PSTRotator. Dejar como localhost si se está ejecutando KLog y PSTRotator en el mismo ordenador. - - - - PST Rotator host - Máquina de PSTRotator - - - - Send antenna bearing to PST Rotator - - - - - SetupPageLoTW - - - LoTW upload - Envio a KLog - - - - TQSL Path - Ubicación de TQSL - - - - Route to TQSL - Ruta hasta TQSL - - - - Use TQSL - Usar TQSL - - - - Path to the TQSL software. - Ruta hasta el software de TQSL. - - - - Enable the LoTW integration with TQSL. You will need to have TQSL installed - Habilita la integración de LoTW a traves de TQSL. Necesita tener TQSL instalado. - - - - User: - Usuario: - - - - Password: - Contraseña: - - - - Enter your password LoTW here. Warning: The password will be save on clear in the KLog config file!! If you don't want to enter the password, KLog will ask you when it is needed. - Introduzca su contraseña de LoTW aqui. Atención: La contraseña se almacenará en claro en el fichero de KLog. Si no quiere introducir la contraseña, KLog preguntará cuando sea necesario. - - - - LoTW download - Envio a LoTW - - - - - Enter your LoTW user - Introduzca usuario de LoTW - - - - - Enter your password LoTW here. Warning: The password will be save on clear in the KLog config file!! (If you don't want to enter the password, KLog will ask you when it is needed.) - Introduzca su contraseña de LoTW aqui. Atención: La contraseña se almacenará en claro en el fichero de KLog. Si no quiere introducir la contraseña, KLog preguntará cuando sea necesario. - - - - Select File - Seleccionar fichero - - SetupPageLogs + Type - Tipo + Tipo - + &New New &Nuevo - + &Edit &Editar - + &Remove Elimina&r - + KLog KLog - + Do you really want to remove this log? ¿Realmente quiere eliminar este log? + All the QSOs from this log will be also deleted... - Todos los QSOs de este log también se eliminarán... + Todos los QSOs de este log también se eliminarán... - + Operators Operadores - + An error has occurred showing the following error code: Ha ocurrido un error que muestra el siguiente código de error: - + Log has not been removed. (#3) Log no eliminado (#3) - + Add a new log. Añade un nuevo log. - + Edit the selected log. Edita el log seleccionado. - + Remove the selected log. Elimina el log seleccionado. - + Select the log you want to open. Selecciona el log que quiere usarse. - - All the QSOs from this log will also be deleted... - Todos los QSOs de este log también se eliminarán... - - - + Log has not been removed. (#2) Log no eliminado (#2) - + Log has not been removed. (#1) Log no eliminado (#1) - + KLog - SetupPageLogs KLog - SetupPageLogs - + ID ID - + Station Callsign Indicativo de la estación - + Comments Comentarios - + Date Fecha @@ -5647,121 +4416,138 @@ Si no se especifica puerto se usará 41112 de forma predeterminada: SetupPageLogsNew - + &Ok &Ok - + &Cancel &Cancelar + Select categories - Seleccione categorías + Seleccione categorías - + &Date &Fecha - + &Station Callsign &Indicativo Estación - + &Operators &Operadores - + Comm&ent Com&entario - + Callsign used for this log. Indicativo usado en este log. - + Comma separated list of operators: callsign1, callsign2. Lista separada por comas de los operadores: indicativo1, indicativo2. - + Start date of this log. Fecha de inicio de este log. - + Add a comment about this log. Añade un comentario sobre este log. + &Type of Operation - &Tipo de Operación + &Tipo de Operación + Select the kind of operation for this log. - Selecciona el tipo de operación del log. + Selecciona el tipo de operación del log. + &Mode Category - &Modo operación + &Modo operación + Select the mode category. - Selecciona a categoría de modo. + Selecciona a categoría de modo. + O&perators Category - Categoría O&peradores + Categoría O&peradores + Select the operators category. - Selecciona la categoría de operadores. + Selecciona la categoría de operadores. + &Assisted Category - Categoría &Asistido + Categoría &Asistido + Select the assisted category. - Selecciona la categoría asistida. + Selecciona la categoría asistida. + Po&wer Category - Categoría &Potencia + Categoría &Potencia + Select the power category. - Selecciona la categoría de potencia. + Selecciona la categoría de potencia. + &Bands Category - Categoría &Bandas + Categoría &Bandas + Select the bands category. - Selecciona la categoría de bandas. + Selecciona la categoría de bandas. + O&verlay - O&verlay + O&verlay + Select the Overlay category. - Selecciona la categoría de overlay. + Selecciona la categoría de overlay. + + Categories not OK - Categorías no OK + Categorías no OK - + You need to enter a valid QRZ in the Station Callsign box. The log will not be opened. You need to enter a valid QRZ in the Station Callsign box @@ -5770,282 +4556,240 @@ The log will not be opened. El log no se abrirá. + You selected an invalid combination. The log will not be opened. You selected an invalid combination The log will not be opened. - Ha seleccionado una categoría no válida. El log no se abrirá. + Ha seleccionado una categoría no válida. El log no se abrirá. + Categories OK - Categorías OK + Categorías OK SetupPageMisc - + &Imperial system Imperial system Sistema &imperial - + &Log in real time Log in real time &Log en tiempo real - + &Time in UTC Time in UTC Hora en U&TC - + &Save ADIF on exit Save ADIF on exit Guardar ADIF al &salir - + Use this &default filename Use this default filename Usar este fichero &de forma predeterminada - + Mark &QSO to send QSL when QSL is received Mark QSO to send QSL when QSL is received Marcar como &QSL por enviar cuando se recibe la QSL - + Complete QSO with previous data Completar QSO con datos anteriores + &Reset to My Data for all QSOs - &Reiniciar Mis Datos en todos los QSO + &Reiniciar Mis Datos en todos los QSO - + Manage DX-Marathon Gestionar DX-Marathon - + Activate the application debug log Activar el log de depuración de la aplicación + Sort log based in date & time - Ordenar el log por fecha y hora + Ordenar el log por fecha y hora - + Move DB Mover BBDD + If new version checking is selected, KLog will send the developer your callsign, KLog version & Operating system to help in improving KLog. - Si se selecciona el comprobar nuevas versiones, KLog enviará al desarrollador el indicativo, la versión de KLog y el sistema operativo para ayudar a mejorar KLog. + Si se selecciona el comprobar nuevas versiones, KLog enviará al desarrollador el indicativo, la versión de KLog y el sistema operativo para ayudar a mejorar KLog. - + Check it for Imperial system (Miles instead of Kilometers). Marcar si se desea sistema imperial (millas en vez de kilómetros). - + Select to use the following name for the logfile without being asked for it again. Seleccione para usar el siguiente nombre de fichero y que no se le pregunte más. - + Select if you want to manage DX-Marathon. Seleccionar si quiere gestionar DX-Marathon. - + This is the default file where ADIF data will be saved. Este es el nombre de fichero predeterminado donde se guardará el fichero ADIF. - + This is the directory where the database (logbook.dat) will be saved. Este es el directorio donde la base de datos (logbook.dat) se guardará. - + Click to change the path of the database. Pulse para cambiar la ubicación de la base de datos. - + Activates the application debug log. This may be useful if something is not working as expected. A debug file will be created in the KLog directory. Activa el log de depuración de la aplicación. Puede ser útil si algo no funciona como se espera. Se creará un fichero de depuración en la carpeta de KLog. - - Click to mark as Queued (to be sent) all the eQSL (LoTW and eQSL) in all the new QSO by default. - Habilitar para poner en la cola de envío todas las QSL-e (LoTW & eQSL) en todos los nuevos QSO de forma predeterminada. - - - + Please specify an existing directory where the database (logbook.dat) will be saved. Por favor, especifique un directorio existente donde la base de datos (logbook.dat) se almacenará. - + This is the directory where DB (logbook.dat) will be saved. Este es el directorio donde la base de datos (logbook.dat) se guardará. - - Mark sent eQSL && LoTW in new QSO as queued - Marcar eQSL y LoTW como en cola en todos los QSO nuevos - - - + Click to change the default ADIF file. Pulse para cambiar el nombre predeterminado del fichero ADIF. - + Click to move the DB to the new directory. Pulse para mover la BBDD al nuevo directorio. + Click to enable that log will be sorted based on date & time when clicking on the date column. It may be a little bit slower. - Habilita que el log se ordene en función de la fecha y la hora si se pulsa en la columna de fecha. Puede ser algo más lento. + Habilita que el log se ordene en función de la fecha y la hora si se pulsa en la columna de fecha. Puede ser algo más lento. - Click to mark as Queued (to be sent) all the eQSL (LoTW & eQSL) in all the new QSO by default. - Habilitar para marcar como Encola (para ser enviados) todas las QSL-e (LoTW & eQSL) en todos los nuevos QSO de forma predeterminada. - - - + Select Directory Seleccionar directorio - - KLog - Move DB - KLog - Mover BBDD - - - + File moved Archivo movido - + File copied Archivo copiado - - File already exist. - El fichero ya existe. - - - - The destination file already exist and KLog will not replace it. Please remove the file from the destination folder before moving the file with KLog to make sure KLog can copy the file. - El fichero de destino ya existe y KLog no lo va a reemplazar. Por favor elimine el fichero de la carpeta destino antes de mover el fichero con KLoh para asegurarse de que KLog puede copiar el fichero. - - - + File NOT copied Archivo NO copiado - - The file was not copied due to an unknown problem. - El fichero no se ha copiado debido a un problema desconocido. - - - + The target directory does not exist. Please select an existing directory. El directorio destino no existe. Por favor, seleccione un directorio existente. + The search box will show also the callsign on the air to do the QSO. - El cuadro de búsqueda mostraráa también el indicativo usado para hacer el QSO. + El cuadro de búsqueda mostraráa también el indicativo usado para hacer el QSO. - + Show the Station &Callsign used in the search box Mostrar indicativo usado en el &cuadro de búsqueda - + All the data from the My Data tab will be used or data from the previous QSO will be maintained. Todos los datos de la pestaña Mis Datos se usarán o bien se usarán datos del QSO anterior. - + &Check for new versions automatically &Comprobar si hay nuevas versiones automáticamente - + QSOs will be marked as pending to send a QSL if you receive the DX QSL and have not sent yours. Los QSO se marcarán como pendientes de enviar si se recibe la tarjeta del DX y no ha enviado la suya. - + Check if there is a new release of KLog available every time you start KLog. Comprueba si hay una nueva versión de KLog disponible cada vez que inicia KLog. - + &Provide Info for statistics &Proporcionar datos para estadísticas - - &Keep My Data for all QSOs - &Mantener Mis Datos en todos los QSOs - - - - The search box will also show the callsign on the air to do the QSO. - El cuadro de búsqueda mostrará también el distintivo usado para hacer el QSO. - - - - If new version checking is selected, KLog will send the developer your callsign, KLog version and Operating system to help in improving KLog. - Si se selecciona el comprobar nuevas versiones, KLog enviará al desarrollador el indicativo, la versión de KLog y el sistema operativo para ayudar a mejorar KLog. - - - + Select to use real time. Seleccione para usar tiempo real. - + Select to use UTC time. Seleccione para usar UTC. - + Select if you want to save to ADIF on exit. Seleccione si quiere guardar en ADIF al salir. - + Complete the current QSO with previous QSO data. Completar el QSO actual con datos de QSO anteriores. - - + + Browse Buscar - + Open File Abrir fichero @@ -6053,150 +4797,142 @@ The log will not be opened. SetupPageSats - + &New &Nuevo - + &Edit &Editar - + &Remove Elimina&r - + &Import &Importar - + E&xport E&xportar - + Add a new satellite. Añadir un nuevo satélite. - + Edit the selected satellite. Editar el satélite seleccionado. - + Remove the selected satellite. Eliminar el satélite seleccionado. + Import a satellites file. It will replace the satellites you have now configured. - Importa el fichero de satélites. Reemplazará los satélites que tiene ahora configurados. + Importa el fichero de satélites. Reemplazará los satélites que tiene ahora configurados. - + Export your current satellites to a file. Exportar los satélites actuales a un fichero. - + Select the sat you want to open. Seleccione el satélite que quiere abrir. - + KLog KLog - + Do you really want to remove this satellite? ¿Realmente quiere eliminar este satélite? + This satellite will not be longer available to be selected ... - Este satélite ndejara de estar disponible para ser seleccionado ... + Este satélite ndejara de estar disponible para ser seleccionado ... - - Import a satellites file. It will replace the satellites you have in the current list. - Importa el fichero de satélites. Reemplazará los satélites que tiene ahora configurados. - - - - This satellite will no be longer available to be selected ... - Este satélite dejara de estar disponible para ser seleccionado ... - - - + Sat has not been removed. (#3) El satélite no ha sido eliminado. (#3) - + Sat has not been removed. (#2) El satélite no ha sido eliminado. (#2) - + Sat has not been removed. (#1) El satélite no ha sido eliminado. (#1) - + ID ID - + Short Corto - + Name Nombre - + Uplink Subida - + Downlink Bajada - + Modes Modos - + An error has occurred showing the following error code: Ha ocurrido un error que muestra el siguiente código de error: - + KLog - SetupPageSats KLog - Configuración de satélites - + Open Satellites File Abrir fichero de satélites - + KLog warning Advertencia de KLog - + An unexpected error ocurred while importing the satellite data. It may be caused because the file you are trying to import does not have the right format. @@ -6205,12 +4941,12 @@ It may be caused because the file you are trying to import does not have the rig Puede haber sido causado que el fichero que está intentando importar no tiene el formato adecuado. - + Please check the format or contact the developer for analysis with the error code: Por favor, compruebe el formato o contacte con el desarrollador para que analice el código de error: - + Save Satellites File Guardar fichero de satélites @@ -6218,371 +4954,335 @@ Puede haber sido causado que el fichero que está intentando importar no tiene e SetupPageSatsNew - + Short name Nombre corto - + Sat name Nombre - + UpLink Subida - + DownLink Bajada - + Modes Modos - + &Ok &Ok - + &Cancel &Cancelar - + Enter the short name. Try to use the LoTW short name so you can upload your QSO to LoTW afterwards. Introduzca el nombre corto. Trate de usar el nombre corto del LoTW para poder subir los QSO a LoTW después. - + Enter the name of the satellite. Introduzca el nombre del satélite. - + Enter the uplink frequencies in this format: 144.300 Introduzca las frecuencias de subida en este formato: 144.300 - + Enter the downlink frequencies in this format: 144.300 Introduzca las frecuencias de bajada en este formato: 144.300 - + Enter the modes in this format: USB Introduzca los modos en este formato: USB - - Some of the data you have entered is not correct; the satellite can't be added. - Alguno de los datos introducidos no son correctos, el satélite no puede ser añadido. - - + Some of the data you have entered is not correct, the satellite can't be added. - Alguno de los datos introducidos no son correctos, el satélite no puede ser añadido. + Alguno de los datos introducidos no son correctos, el satélite no puede ser añadido. SetupPageUDP - + Start UDP Server Arrancar servidor UDP + Log automatically QSOs from WSJT-X - Registrar automáticamente los QSO llegados de WSJT-X + Registrar automáticamente los QSO llegados de WSJT-X + Allow WSJT-X to send logged QSO to KLog - Permitir a WSJT-X enviar los QSO resgistrados a KLog + Permitir a WSJT-X enviar los QSO resgistrados a KLog + KLog will log automatically any QSO coming from WSJT-X without any manual confirmation. - KLog registrará automáticamente cualquier QO que venga de WSJT-X sin ninguna confirmación manual. + KLog registrará automáticamente cualquier QO que venga de WSJT-X sin ninguna confirmación manual. + Receive and Update QSO data to KLog - Recibir y actualizar datos de QSO a KLog + Recibir y actualizar datos de QSO a KLog - + KLog will automatically show and update data coming from WSJT-X (DX callsign, locator, RPT, ...) KLog mostrará y actualizará los datos que lleguen de WSJT-X (Indicativo DX, locator, reporte, ...) + QSO notification timeout (milisecs) - Tiempo de notificación de QSO(milisegundos) + Tiempo de notificación de QSO(milisegundos) + Milliseconds that the notification of QSO received from WSJTX will be shown. - Milisegundos que se mostrará la notificación de QSO recibida de WSJTX. + Milisegundos que se mostrará la notificación de QSO recibida de WSJTX. Miliseconds that the notification of QSO received from WSJTX will be shown. Milisegundos que se mostrará la notificación de QSO recibido desde WSJT-X + Make sure it is the same port where the other programs are sending the data to. Default port is 2237. - Asegúrese de que es el mismo puerto al que los otrosprogramas están enviando datos. El puerto predeterminado es el 2237. + Asegúrese de que es el mismo puerto al que los otrosprogramas están enviando datos. El puerto predeterminado es el 2237. + QSO logged in WSJT-X will be sent to KLog and KLog will ask before logging into KLog unless "%1" is selected - Los QSO hechos en WSJT-X serán enviados a KLog y KLog preguntará antes de guardarlo en KLog salvo que se seleccione "%1" - - - - Automatically log QSOs from WSJT-X - Registrar automáticamente los QSOs recibidos de WSJT-X - - - - Allow WSJT-X to send logged QSOs to KLog - Permitir a WSJT-X enviar los QSO resgistrados a KLog - - - - QSOs logged in WSJT-X will be sent to KLog and KLog will ask before logging into KLog unless "%1" is selected Los QSO hechos en WSJT-X serán enviados a KLog y KLog preguntará antes de guardarlo en KLog salvo que se seleccione "%1" - - KLog will automatically log any QSO coming from WSJT-X without any manual confirmation. - KLog registrará automáticamente cualquier QSO que llegue de WSJT-X sin ninguna confirmación manual. - - - - Receive QSOs data and update to KLog - Recibir y actualizar datos de QSO a KLog - - - + UDP port number where the UDP Server will listen for packets. Puerto UDP donde el servidor UDP espera los paquetes. - - Make sure it is the same port that the other programs are sending the data to. Default port is 2237. - Asegúrese de que es el mismo puerto al que los otros programas están enviando datos. El puerto predeterminado es el 2237. - - - + UDP Server will receive QSOs sent from other programs like WSJT-X allowing you to log in KLog automatically from those programs. El servidor UDP recibirá los QSO enviados desde otros programas como WSJT-X permitiendo registrar en KLog los contactos automáticamente desde esos programas. - + UDP Port Puerto UDP - - - QSOs notification timeout (milisecs) - Tiempo de notificación de QSO (milisegundos) - - - - Miliseconds that the notification of QSOs received from WSJTX will be shown. - Milisegundos que se mostrará la notificación de QSO recibida de WSJTX. - SetupPageUserDataPage - + &Personal data Personal data Datos &personales - + Station &data Station data &Datos de la estación - + &Name Name &Nombre - + &Address Address &Dirección - + Cit&y City Ci&udad - + &Zip Code Zip Code Código &postal - + Pro&v/State Prov/State Pro&v/Estado - + Countr&y Country Paí&s - - - + + + Enter your information for rig Introduzca la información de su equipo/radio - - - + + + Enter your information for antenna Introduzca la información de su antena - + Enter your name. Introducir el nombre. - + Enter your address - 1st line. Introducir la dirección - linea 1. - + Enter your address - 2nd line. Introducir la dirección - linea 2. - + Enter your address - 3rd line. Introducir la dirección - linea 3. - + Enter your address - 4th line. Introducir la dirección - linea 4. - + Enter your city. Introducir la ciudad. - + Enter your zip code. Introducir el código postal. - + Enter your province or state. Introducir la provincia o estado. - + Enter your country. Introducir el país. - + Enter your power information. Introducir la información sobre la potencia. - + &Rig 1 &Equipo 1 - + R&ig 2 E&quipo 2 - + Ri&g 3 Eq&uipo 3 - + Antenna &1 Antena &1 - + Antenna &2 Antena &2 - + Antenna &3 Antena &3 - + Po&wer Po&tencia - + Enter the station callsign that will be used for logging. Introducir el indicativo de la estación que se usará en el log. - + Enter the locator of your station. Alternatively, KLog can use an approximate locator based on your callsign. Introduzca el locator de su estación. De forma alternativa, KLog puede proporcionarle uno aproximado basado en su indicativo. - + &QRZ &QRZ - + &Operators &Operadores - + &CQ Zone Zona &CQ - + &ITU Zone Zona &ITU - - + + &Locator &Locator - + &Locator (not valid) &Locator (no válido) - + Enter the operators (comma separated if more than one). Introduzca los operadores (separados por comas si hay más de uno). @@ -6590,172 +5290,139 @@ Puede haber sido causado que el fichero que está intentando importar no tiene e SetupPageWorldEditor - + KLog will not be able to show entities information. KLog no podrá mostrar información de entidades. - + Prefix Prefijo - + Entity Entidad - + An entities information file (cty.csv) has been detected in your KLog folder and will be loaded. Se ha detectado un fichero de información de entidades (cty.csv) en su carpeta de KLog y se utilizará. - + Add Añadir - + Delete Borrar - + Edit Editar - + Export World Exportar mundo - + Import World Importar mundo - - - - + + + + Still not implemented. Sin implementar. - + Import a new cty.csv file Importar un nuevo fichero cty.csv - + No entities information file (cty.csv) has been detected in your KLog folder. No se ha detectado en su carpeta de KLog ningún fichero de información de entidades (cty.csv). - + ARRL ID ARRL ID - + Continent Continente - + CQ Zone Zona CQ - + ITU Zone Zona ITU - + UTC UTC - + Latitude Latitud - + Longitude Longitud - + Deleted Eliminado - + Since Date Desde fecha - + To Date Hasta fecha - + Open File Abrir fichero - + BigCTY (*.csv) BigCTY (*.csv) - + Entities information has been updated. La información de entidades ha sido actualizada. - + Entities information has not been updated. La información de entidades no ha sido actualizada. - - ShowAdifImportWidget - - - The following QSOs are those QSOs that you have received the LoTW confirmation. - Los siguienyes QSOs son los QSOs que han recibido confirmación de LoTW. - - - - Ok - OK - - - - DX - DX - - - - Date/Time - Fecha/Hora - - - - Band - Banda - - - - Mode - Modo - - ShowErrorDialog @@ -6876,37 +5543,37 @@ Puede haber sido causado que el fichero que está intentando importar no tiene e StatsCQZPerYearBarChartWidget - + CQ Zones per year Zonas CQ por año - + Reading data ... Leyendo datos ... - + Abort reading Cancelar lectura - + CQ zones Zonas CQ - + CQ zones per year Zonas CQ por año - + Reading data ... Leyendo datos ... - + Years: %1/%2 Años: %1/%2 @@ -6973,12 +5640,8 @@ Puede haber sido causado que el fichero que está intentando importar no tiene e - QSOs per band distribution - Distribución de QSO por banda - - QSO per band distribution - Distribubución de QSO por banda + Distribubución de QSO por banda @@ -7126,12 +5789,8 @@ Puede haber sido causado que el fichero que está intentando importar no tiene e - QSOs per mode distribution - Distribución QSO por modo - - QSO per mode distribution - Distribución QSO por modo + Distribución QSO por modo @@ -7360,7 +6019,7 @@ Puede haber sido causado que el fichero que está intentando importar no tiene e <b>Tip #3:</b><br>Do you know...<br>You can use <a href="#ToolsFindQSO2QSL">Tools->QSL tools...->Find QSO to QSL</a> to look for all those QSO that you should send your QSL because you still need to confirm that DXCC and you have still not send your QSL card? Translator: Please make sure that the name of the link is coherent with the menu Tools->QSL tools...->Find QSO to QSL - <b>Consejo #3:</b><br>¿Sabía que...<br>Puede usar <a href="#ToolsFindQSO2QSL">Herramientas->Herramientas de QSL ...->Buscar QSO para enviar QSL</a> buscar todos los QSO para los que debería enviar su QSL porque aun necesita confirmar ese DXCC y aun no ha enviado si tarjeta QSL? + <b>Consejo #3:</b><br>¿Sabía que...<br>Puede usar <a href="#ToolsFindQSO2QSL">Herramientas de QSL ...->Buscar QSO para enviar QSL</a> buscar todos los QSO para los que debería enviar su QSL porque aun necesita confirmar ese DXCC y aun no ha enviado si tarjeta QSL? @@ -7369,22 +6028,18 @@ Puede haber sido causado que el fichero que está intentando importar no tiene e <b>Consejo #4:</b><br>¿Sabía que...<br>Puede exportar los QSO marcados como QSL solicitada con <a href="#FileExportQSLADIFToPrint">Archivo->Exportar las QSL solicitadas a ADIF...</a> para crear un fichero ADIF que pueda ser importado a un programa de creación de etiquetas de QSL para imprimir las etiquetas para sus tarjetas QSL? + <b>Tip #5:</b><br>Do you know...<br>You can export your QSO marked as requested, via LoTW, in your log with <a href="#FileExportLoTWADIF">File->Export ADIF for LoTW...</a> to create an ADIF file that you will be able to import in TQSL to be signed and uploaded to LoTW?<br><br>You have to mark as Q-Queued all the QSOs you want to be exported to be sent to LoTW. Translator: Please make sure that the name of the link is coherent with the menu File->Export ADIF for LoTW... - <b>Consejo#5:</b><br>¿Sabía que...<br>Puede exportar los QSO marcados como solicitados, vía LoTW, en el log con <a href="#FileExportLoTWADIF">Archivo->Exportar ADIF a LoTW ...</a> para crear un fichero ADIF que se puede luego importar en TQSL para fimar y subir a LoTW?<br><br>Hay que marcar como You have to mark as En Cola todos los QSO que se quieran exportar para ser enviados a LoTW. + <b>Consejo#5:</b><br>¿Sabía que...<br>Puede exportar los QSO marcados como solicitados, vía LoTW, en el log con <a href="#FileExportLoTWADIF">Archivo->Exportar ADIF a LoTW ...</a> para crear un fichero ADIF que se puede luego importar en TQSL para fimar y subir a LoTW?<br><br>Hay que marcar como You have to mark as En Cola todos los QSO que se quieran exportar para ser enviados a LoTW. - + <b>Tip #11:</b><br>Do you know...<br>You can subscribe to the <a href=https://t.me/KLogES>Spanish Telegram group</a> to discuss about KLog in Spanish? <b>Consejo #11:</b><br>¿Sabía que...<br>Puede subscribirse al <a href=https://t.me/KLogES>Grupo de Telegram en español</a> para discutir sobre KLog en español? - - <b>Tip #12:</b><br>Do you know...<br>You can subscribe to <a href=https://lists.nongnu.org/mailman/listinfo/klog-users>KLog-users mailing list</a> to discuss via email about KLog in English? - <b>Consejo #12:</b><br>¿Sabía que...<br>Puede subscribirse a la <a href=http://lists.nongnu.org/mailman/listinfo/klog-users>lista de correo de usuarios de KLog</a> para discutir, por correo electrónico en inglés sobre KLog? - - - + <b>Tip #13:</b><br>Do you know...<br>You can <a href=https://twitter.com/_ea4k>follow EA4K on twitter</a> to get updates about KLog? <b>Consejo #13:</b><br>¿Sabía que...<br>Puede seguir a <a href=https://twitter.com/_ea4k>EA4K</a> en Twitter para recibir información sobre KLog? @@ -7398,31 +6053,31 @@ Puede haber sido causado que el fichero que está intentando importar no tiene e <b>Consejo #6:</b><br>¿Sabía que...<br>Puede el fichero logbook.dat es el fichero con todos sus logs y otras informaciones y el fichero klogrc es el fichero de configuración y se pueden encontrar en la carpeta de KLog, abriendo el menú <a href="#FileOpenKLogFolder">Archivo->Carpeta de KLog</a>? - + <b>Tip #6:</b><br>Do you know...<br>You can find the file containing all your log and other information in the logbook.dat file and the klogrc file, containing the KLog config file in the KLog folder by opening the <a href="#FileOpenKLogFolder">File->KLog folder</a> menu? Translator: Please make sure that the name of the link is coherent with the menu File->KLog folder <b>Consejo #6:</b><br>¿Sabía que...<br>Puede el fichero logbook.dat es el fichero con todos sus logs y otras informaciones y el fichero klogrc es el fichero de configuración y se pueden encontrar en la carpeta de KLog, abriendo el menú <a href="#FileOpenKLogFolder">Archivo->Carpeta de KLog</a>? - + <b>Tip #7:</b><br>Do you know...<br>You can find the QSLs that you still need to send with <a href="#ToolsSendPendingQSL">Tools->QSL tools...->Find My-QSLs pending to send</a>.<bR>This tool will list you in the search box all the QSOs with the QSL-Sent marked as <i>Requested</i>. Translator: Please make sure that the name of the link is coherent with the menu QSL tools...->Find My-QSLs pending to send <b>Consejo #7:</b><br>¿Sabía que...<br>Puede encontrar las QSLs que necesita mandar con <a href="#ToolsSendPendingQSL">Herramientas->Herramientas de QSL...->Buscar mis QSL pendientes de envío?</a>.<bR>Esta herramienta la mostrará en el cuadro de búsqueda todos los QSO con la opción de enviar QSL como <i>Solicitada</i>. - + <b>Tip #8:</b><br>Do you know...<br>You can find the QSLs that you are still waiting for with <a href="#ToolsReceivePendingQSL">Tools->QSL tools...->Find DX-QSLs pending to receive</a>.<bR>This tool will list you in the search box all the QSOs with the QSL-Sent marked as <i>Sent</i> but you have still not received the QSL card from the DX. Translator: Please make sure that the name of the link is coherent with the menu QSL tools...->Find DX-QSLs pending to receive <b>Consejo #8:</b><br>¿Sabía que...<br>Puede encontrar las QSLs que está esperando con <a href="#ToolsReceivePendingQSL">Herramientas->Herramientas de QSL...->Buscar QSL DX pendientes de recibir?</a>.<bR>Esta herramienta le mostrará, en el cuadro de búsqueda, todos los QSO con que tienen la opción de QSL enviada marcada como <i>Enviada</> pero aun no ha recibido la tarjeta del DX. - + <b>Tip #9:</b><br>Do you know...<br>You can find the QSLs that you are still waiting for with <a href="#ToolsReceiveRecPendingQSL">Tools->QSL tools...->Find requested pending to receive</a>.<bR>This tool will list you in the search box all the QSOs with the QSL-Rec marked as <i>Requested</i> but you have still not received the QSL card from the DX. Translator: Please make sure that the name of the link is coherent with the menu QSL tools...->Find requested pending to receive <b>Consejo #9:</b><br>¿Sabía que...<br>Puede encontrar las QSLs que está esperando con <a href="#ToolsReceiveRecPendingQSL">Herramientas->Herramientas de QSL...->Buscar solicitadas sin recibir</a>?.<bR>Esta herramienta le mostrará, en el cuadro de búsqueda, todos los QSO con que tienen la opción de QSL recibida marcada como <i>Solicitada</> pero aun no ha recibido la tarjeta del DX. - + <b>Tip #10:</b><br>Do you know...<br>You can subscribe to the <a href=https://t.me/klogchat>English KLog Telegram group</a> to discuss about KLog in English? <b>Consejo #10:</b><br>¿Sabía que...<br>Puede subscribirse al <a href=https://t.me/klogchat>Grupo de Telegram en inglés</a> para discutir sobre KLog en inglés? @@ -7431,61 +6086,36 @@ Puede haber sido causado que el fichero que está intentando importar no tiene e <b>Consejo #11:</b><br>¿Sabía que...<br>Puede subscribirse al <a href=https://t.me/KLogES>Grupo de Telegram en español</a> para discutir sobre KLog en español? + <b>Tip #12:</b><br>Do you know...<br>You can subscribe to <a href=http://lists.nongnu.org/mailman/listinfo/klog-users>KLog-users mailing list</a> to discuss via email about KLog in English? - <b>Consejo #12:</b><br>¿Sabía que...<br>Puede subscribirse a la <a href=http://lists.nongnu.org/mailman/listinfo/klog-users>lista de correo de usuarios de KLog</a> para discutir, por correo electrónico en inglés sobre KLog? + <b>Consejo #12:</b><br>¿Sabía que...<br>Puede subscribirse a la <a href=http://lists.nongnu.org/mailman/listinfo/klog-users>lista de correo de usuarios de KLog</a> para discutir, por correo electrónico en inglés sobre KLog? <b>Tip #13:</b><br>Do you know...<br>You can <a href=https://twitter.com/ea4tv>follow EA4TV on twitter</a> to get updates about KLog? <b>Consejo #13:</b><br>¿Sabía que...<br>Puede seguir a <a href=https://twitter.com/ea4tv>EA4K</a> en Twitter para recibir información sobre KLog? - - <b>Tip #5:</b><br>Do you know...<br>You can enter a '*' in the search box, in the search window to search for all the QSOs done with one specific station callsign? - <b>Consejo #5:</b><br>¿Sabía que...<br>Puede meter '*' en el cuadro de búsqueda en la ventana de búsqueda para buscar todos los QSOs hechos con un distintivo de estación? - - - + <b>Tip #14:</b><br>Do you know...<br>You can write your own <a href=https://www.eham.net/reviews/detail/3118>review in eHam.net about KLog</a> to help other users to decide to use KLog? <b>Consejo #14:</b><br>¿Sabía que...<br>Puede escribir su propia <a href=https://www.eham.net/reviews/detail/3118>opinión de KLog en eHam.net</a> para ayudar a otros usuarios a usar KLog? - + <b>Tip #15:</b><br>Do you know...<br>You can join the development team by simply <a href=https://www.klog.xyz/contact>Contacting us</a>? <b>Consejo #15:</b><br>¿Sabía que..<br>Puede unirse al equipo de desarrollo simplemente <a href=https://www.klog.xyz/contact>Contactando con nosotros</a>? - + <b>Tip #16:</b><br>Do you know...<br>That there are many ways to contribute to KLog and some of them are listed in the <a href=https://www.klog.xyz/contrib>KLog Contribute</a> page? <b>Consejo #16:</b><br>¿Sabía que...<br>Hay muchas formas de contribuir con KLog y algunas de ellas estan listadas en la página <a href=https://www.klog.xyz/contrib>Contribuir</a> de la web? - + <b>Tip #17:</b><br>Do you know...<br>You can support translating KLog into your language? Please check <a href=https://www.klog.xyz/contrib/translations>KLog Translations</a> page. <b>Consejo #17:</b><br>¿Sabía que...<br>Puede ayudar a traducir KLog a su idioma? Por favor consulte la página <a href=https://www.klog.xyz/contrib/translations>Traducciones de KLog</a>. - - <b>Tip #18:</b><br>Do you know...<br>You can double-click on an entity name in the DXCC table and all the QSOs with that DXCC Entity will be shown in the search box? - <b>Consejo #18:</b><br>¿Sabía que...<br>Puede hacer doble click en el nombre de una entidad en la tabla de DXCC todos los QSO con esa entidad aparecerán en el cuadro de búsqueda? - - - - <b>Tip #19:</b><br>Do you know...<br>You can right-click on a QSO and select <i>Check in QRZ.com</i> to check that callsign in QRZ.com? - <b>Consejo #19:</b><br>¿Sabía que...<br>Puede click con el botón derecho en un QSO y seleccionar <i>Consultar en QRZ.com</i> para consultar ese indicativo en QRZ.com? - - - - <b>Tip #20:</b><br>Do you know...<br>You can see the QSO that confirms one specific DXCC entity in one specific band by poiting your mouse over that band in the DXCC widget? - <b>Consejo #20:</b><br>¿Sabía que...<br>Puede ver qué QSO confirma una entidad DXCC en concreto? situando el puntero del ratón sobre la banda en el widget DXCC? - - - - <b>Tip #21:</b><br>Do you know...<br>You can upload your QSO marked as queued to LoTW via TQSL with <a href="#ToolsUploadLoTW">Tools->Upload to LoTW...</a> ?<br><br>You have to configure TQSL in the preferences to be able to use this functionality. - Translator: Please make sure that the name of the link is coherent with the menu File->Export ADIF for LoTW... - <b>Consejo #21:</b><br>¿Sabía que...<br>Puede subir los QSOs marcados como en cola a LoTW a través de la aplicación TQSL con <a href="#ToolsUploadLoTW">Herramientas->Herramientas de LoTW ...->Enviar a LoTW</a>?<br><br>Tiene que configurar TQSL en las preferencias para poder usar esta funcionalidad? - - - + TIP-Default: Text @@ -7531,12 +6161,12 @@ Puede haber sido causado que el fichero que está intentando importar no tiene e Continente - + Abort reading Cancelar lectura - + Reading cty.csv... Leyendo cty.csv... diff --git a/translations/klog_fi.ts b/translations/klog_fi.ts index b0283a5d..4200984c 100644 --- a/translations/klog_fi.ts +++ b/translations/klog_fi.ts @@ -20,8 +20,13 @@ - Please be aware that this is a development release and it may contain many bugs.<br>Backup your data before using this software! - + Please know that this is an BETA release and it may contain many bugs.<br>Backup your data before using this software! + Huomaa, että tämä on BETA-julkaisu ja saattaa sisältää monia vikoja. <br>Varmuuskopioi omat tiedostot ennen tämän ohjelmiston käyttämistä! + + + + KLog has been fully rewritten from the 0.6.2 to be able to provide a cross-platform application that runs in the main operating systems (Linux, macOS & Windows) and provide new functionalities that KLog was not providing. + KLog on tehty kokonaan uudelleen versiosta 0.6.2:sta, jotta voisimme tarjota järjestelmäriippumattoman sovelluksen, joka toimii tärkeimmissä käyttöjärjestelmissä (Linux, MacOS ja Windows), sekä uusia toimintoja, joita KLog ei aiemmin tarjonnut. @@ -58,25 +63,21 @@ If KLog is still not in your language and you want to help us, you are welcome to contact us through the <a href="https://lists.nongnu.org/mailman/listinfo/klog-devel">KLog development mailing list</a>! Mikäli KLogia ei vielä ole omalla kielelläsi ja haluat auttaa meitä, olet tervetullut ottamaan yhteyttä meihin käyttämällä <a href="https://lists.nongnu.org/mailman/listinfo/klog-devel">KLog kehitystiimin postituslistaa</a>! + + + KLog developers have included a feature that reports some user data to the KLog server with the sole purpose of identifying the number of installed versions, to focus development in one direction or another taking into account user's needs. + + Be aware that you can enable/disable this feature from the Misc tab in the Setup page. - Tiedäthän että tämän ominaisuuden voi ottaa käyttöön tai poistaa käytöstä asetukset valikon sekalaiset välilehdeltä. + You can also help us by sending bug reports or small code contributions, ideas or whatever you think may improve KLog. Voit auttaa meitä myös lähettämällä virheilmoituksia tai ohjelmointiapua, ideoita tai mitä vain, mikä mielestäsi voisi parantaa KLogia. - - Please be aware that this is an BETA release and it may contain many bugs.<br>Backup your data before using this software! - Huomioithan että tämä on BETA julkaisu ja siinä voi olla useita virheitä.<br>Varmuuskopioi tietosi ennen tämän ohjelmiston käyttöä! - - - - Since 0.6.2, KLog has been fully rewritten to provide a cross-platform application that runs on all major operating systems (Linux, macOS and Windows) and to support new functionality. - Versiosta 0.6.2 alkaen, KLog on kirjoitettu täysin uudestaan, tarjotakseen alustariippumattoman ohjelman, joka tukee kaikkia yleisimpiä käyttöjärjestelmiä (Linux, MacOS ja Windows) ja tukeakseen uusia ominaisuuksia. - If you want to provide support you are welcome to join the <a href="https://lists.nongnu.org/mailman/listinfo/klog-devel">KLog development mailing list</a>! @@ -105,9 +106,8 @@ Tietosuojakäytäntö - - KLog developers have included a feature that reports some user data to the KLog server with the sole purpose of identifying the number of installed versions, to focus development in one direction or another taking into account users' needs. - KLog kehittäjät ovat sisällyttäneet ominaisuuden käyttäjätietojen raportoimiseksi KLog palvelimelle. Tämän tiedon ainoa tarkoitus on, asennettujen ohjelmaversioiden määrän tunnistaminen jotta, kehiystyötä voidaan kohdentaa suuntaan tai toiseen, käyttäjien tarpeet huomioiden. + KLog developers have included a feature that reports some user data to the KLog server with the sole purpose of identifying the number of installed versions, to focus development in one direction or another taking into account user's needs + KLog-kehittäjät ovat sisällyttäneet ominaisuuden, joka raportoi joitakin käyttäjätietoja KLog-palvelimelle, jonka ainoana tarkoituksena on tunnistaa asennetut versiot, jotta kehityksessä osataan keskittyä oikeaan suuntaan, käyttäjien tarpeet huomioiden @@ -129,6 +129,10 @@ Operating system Käyttöjärjestelmä + + Be aware that you can enable/disable this feature from the Misc tab in the Setup page + Huomaa, että voit ottaa tämän ominaisuuden käyttöön tai poistaa sen käytöstä, Sekalaiset-välilehdellä, asetussivulla + KLog @@ -140,268 +144,180 @@ Tietosuoja - - AdifLoTWExportWidget - - - Select the Station Callsign that you want to use to upload the log. - - - - - Select the start date to export the QSOs. The default date is the date of the first QSO with this station callsign. - - - - - Select the end date to export the QSOs. The default date is the date of the last QSO with this station callsign. - - - - - Station callsign - - - - - Start date - - - - - End date - - - - - Ok - Ok - - - - Cancel - Peru - - - - DX - - - - - Date/Time - Päivämäärä/aika - - - - Band - Taajuusalue - - - - Mode - - - - - Not defined - - - - - All - Kaikki - - - - QSOs: - - - - - This table shows the QSOs that will be sent to LoTW. - - - - - This table shows the QSOs that will be exported to ADIF. - - - AwardsWidget Recalculate - Laske uudelleen + Laske uudelleen Click to recalculate the award status. - Napsauta laskeaksesi palkintotilanne uudestaan. + Napsauta laskeaksesi palkintotilanne uudestaan. Select the year you want to check. - Valitse vuosi jonka haluat nähdä. + Valitse vuosi jonka haluat nähdä. QSOs - QSO:t + QSO:t DXCC - DXCC + DXCC CQ - CQ + CQ Award - Palkinto + Palkinto Confirmed - Vahvistettu + Vahvistettu Worked - Työstetty + Työstetty WAZ - WAZ + WAZ Score - Pisteet + Pisteet Annual - Vuotuinen + Vuotuinen Number of confirmed DXCC entities. - Vahvistettujen DXCC-yksiköiden määrä. + Vahvistettujen DXCC-yksiköiden määrä. Number of worked DXCC entities. - Työstettyjen DXCC-yksiköiden määrä. + Työstettyjen DXCC-yksiköiden määrä. Number of confirmed WAZ zones. - Vahvistettujen WAZ vyöhykkeiden määrä. + Vahvistettujen WAZ vyöhykkeiden määrä. Number of worked WAZ zones. - Työstettyjen WAZ vyöhykkeiden määrä. + Työstettyjen WAZ vyöhykkeiden määrä. Number of confirmed QSOs. - Vahvistettujen QSO:iden määrä. + Vahvistettujen QSO:iden määrä. Number of worked QSOs. - Työstettyjen QSO:iden määrä. + Työstettyjen QSO:iden määrä. - Number of QSOs worked in the selected year. - Työstettyjen QSO:iden määrä valittuna vuotena. + Number of QSOs worked on the selected year. + Työstettyjen QSO:iden määrä, valittuna vuonna. - Number of DXCCs worked in the selected year. - Työstettyjen DXCC:n määrä valittuna vuotena. + Number of DXCC worked on the selected year. + Työstettyjen DXCC:iden määrä, valittuna vuonna. - Number of CQ Zones worked in the selected year. - Työstettyjen CQ alueiden määrä valittuna vuotena. + Number of CQ Zones worked on the selected year. + Työstettyjen CQ vyöhykkeiden määrä, valittuna vuonna. - Score for the DXMarathon in the selected year. - DXMarathon pisteet valittuna vuotena + Score for the DXMarathon on the selected year. + DXMarathon pisteet, valittuna vuonna. DX-Marathon - DX-Maratoni + DX-Maratoni CTYPage - + Country data download Maakohtaisten tietojen lataus - + KLog needs country data... KLog tarvitsee maakohtaiset tiedot... - + &Download - &Lataa + &Lataa - + &Ignore - &Ohita + &Ohita - + Country data needed Maakohtaiset tiedot tarvitaan + + + KLog uses the cty.csv file from http://www.country-files.com/ to get DXCC information. + KLog käyttää cty.csv-tiedostoa osoitteesta http://www.country-files.com/ saadakseen DXCC-tiedot. + - KLog uses the cty.csv file from https://www.country-files.com/ to get DXCC information. - KLog käyttää cty.csv tiedostoa lähteestä https://www.country-files.com/ saadakseen DXCC informaation. + You need to download the cty.csv file if you want KLog to show you the countries, locator, ... of the QSOs you do. + Sinun on ladattava cty.csv-tiedosto, jos haluat, että KLog näyttää sinulle maat, lokaattorit, ... tekemillesi QSO:ille. - You need to download the cty.csv file if you want KLog to show you the countries, locator, etc. of the QSOs you do. - Sinun tulee ladata cty.csv tiedosto, jos haluat että KLog näyttää tehtyjen QSO:iden maat, lokaattorin, jne, - - - Click on Download to download now. Napsauta Lataa ladataksesi nyt. - + KLog KLog - + I can't find the host. Please check your network and try again Do you want to try again? - En löydä palvelinta. Tarkista verkkoyhteys ja yritä uudelleen + En löydä palvelinta. Tarkista verkko ja yritä uudelleen Haluatko yrittää uudelleen? @@ -413,29 +329,29 @@ Haluatko yrittää uudelleen? Päivitä - + + ID + ID + + + Entity Yksikkö - - Prefix - Etuliite - - - + Pref: - + CQ: - CQ: + - + ITU: - ITU: + @@ -443,7 +359,7 @@ Haluatko yrittää uudelleen? - + Entity not worked in this band. Ei työstetty tällä taajuusalueella @@ -451,128 +367,119 @@ Haluatko yrittää uudelleen? DXClusterWidget - + Click on Connect to connect to the DX-Cluster server Napsauta yhdistä, kun haluat muodostaa yhteyden DX-klusteripalvelimeen - - + + Connect Yhdistä - - - - + + + + Clear Tyhjennä - + Click on connect to connect to the DX-Cluster Napsauta yhdistä muodostaaksesi yhteyden DX-klusteriin - + Trying to connect to the server Muodostetaan yhteyttä palvelimeen - + + - KLog DXCluster KLog DXKlusteri - + The host was not found. Please check: Isäntää ei löytynyt. Tarkista: - + - your network connection; - the host name and port settings. - verkkoyhteytesi; - isäntänimi ja porttiasetukset. - + The connection was refused by the peer. Make sure the DXCluster server is running, and check that the host name and port settings are correct. Yhteys vertaisverkkoon evättiin. Varmista, että DX Klusteripalvelin on käynnissä ja tarkista, että isäntänimi ja porttiasetukset ovat oikein. - + The following error occurred: %1. Tapahtui seuraava virhe: %1. - + Connected to server Yhdistetty palvelimeen - - - + + + KLog message KLog viesti - - + + Enter your callsign to connect to the cluster: Syötä kutsutunnuksesi liittyäksesi klusteriin: - + Enter your password to connect to the cluster: (Just hit enter for no password) Syötä salasanasi yhteyden muodostamiseksi klusteriin: (Paina enter jättääksesi salasanan tyhjäksi) - - + + Disconnect Katkaise yhteys - + Not logged on, you may need to enter your callsign again. Et ole kirjautunut sisään, sinun on ehkä annettava kutsutunnuksesi uudelleen. - + Enter here the commands to be sent to the DX-Cluster server. Syötä tähän komennot, jotka lähetetään DX-klusteripalvelimelle - + Connection closed by the server Palvelin katkaisi yhteyden - + Click on Connect to connect to the DX-Cluster server. Napsauta yhdistä, muodostaaksesi yhteyden DX-klusteriin - + Send Lähetä - - - It was not possible to open the file to save the DX-Spots for writing. DX-Cluster activity will not be saved! - - - - It was not possible to open the a file to save the DX-Spots for writting. DX-Cluster activity will not be saved! - Tallennustiedostoa ei voitu avata DX-spottien tallennusta varten. DX-Klusterin aktiviteetteja ei tallenneta! - DataProxy_SQLite @@ -583,176 +490,176 @@ Haluatko yrittää uudelleen? - Query didn't failed - + No query failed + Kyselyt onnistuivat - + Aircraft Scatter Common term in hamradio, do not translate if not sure - Lentokonehajonta + Lentokone - + Aurora Revontulet - + Aurora-E Revontuliheijastukset - + Back scatter Common term in hamradio, do not translate if not sure Takasironta - + Earth-Moon-Earth Maa-Kuu-Maa - + Sporadic E Satunnaisheijastukset - + Field Aligned Irregularities Common term in hamradio, do not translate if not sure Kenttäsuuntainen hajonta - + F2 Reflection Common term in hamradio, do not translate if not sure F2 Heijastus - + Internet-assisted Internet-avusteinen - + Ionoscatter Common term in hamradio, do not translate if not sure Ionosfäärisironta - + Meteor scatter Common term in hamradio, do not translate if not sure Meteorisironta - + Terrestrial or atmospheric repeater or transponder Maanpäällinen tai ilmakehässä oleva toistin tai transponderi - + Rain scatter Common term in hamradio, do not translate if not sure Sadesironta - + Satellite Satelliitti - + Trans-equatorial Common term in hamradio, do not translate if not sure Päiväntasaajan ylittävä - + Tropospheric ducting Common term in hamradio, do not translate if not sure Troposfäärikanavat - - + + Yes Kyllä - - + + No Ei - - + + Requested Pyydetty - - + + Ignore/Invalid Hylkää/Mitätön - + Validated Vahvistettu - + Queued Jonossa - + Uploaded Lähetetty - + Do not upload Älä lähetä - + Modified Muokattu - + Bureau Common term in hamradio, do not translate if not sure Bureau - + Direct Direct - + Electronic Elektrooninen - + Manager Common term in hamradio, do not translate if not sure - Hallinta + Hallinta - + KLog DXCC KLog DXCC - + All QSOs have been updated with a DXCC and the Continent. Kaikki QSO:t on päivitetty DXCC:llä ja mantereella. @@ -760,22 +667,22 @@ Haluatko yrittää uudelleen? DownLoadCTY - + Download of cty.csv failed with the following error code: cty.csv:n lataus epäonnistui virhekoodilla: - + Download of cty.csv done. cty.csv:n lataus valmis. - + There is already a cty.csv file in the folder but it will be replaced with the new one. Kansiossa on jo cty.csv-tiedosto, mutta se korvataan uudella. - + Could not open %1 for writing Ei voitu avata %1 kirjoittamista varten @@ -783,349 +690,235 @@ Haluatko yrittää uudelleen? FileManager - - - + + The log that you have selected contains more than just one station callsign. + Valitsemasi loki sisältää enemmän kuin vain yhden aseman kutsutunnuksen. + + + + Please select the station callsign you want to export the log from: + Valitse aseman kutsutunnus, jonka lokin haluat viedä: + + + + Station Callsign: + Aseman kutsutunnus: + + + + Define Station Callsign + Määritä aseman kutsutunnus + + + + You have selected no callsign. KLog will export QSOs without a station callsign defined and those with the call you are entering here. + Et ole valinnut kutsutunnusta. KLog vie QSO:t ilman asetettua aseman kutsutunnusta ja ne, kutsulla jonka syötät tähän. + + + + Enter the station callsign to use for this log or leave it empty for QSO without station callsign defined: + Syötä tässä lokissa käytettävä aseman kutsutunnus, tai jätä se tyhjäksi QSO:lle ilman määritettyä aseman kutsutunnusta: + + + + No station callsign has been selected and therefore no log will be exported + Aseman kutsutunnusta ei ole valittu, joten lokia ei viedä + + + + Writing ADIF file... Kirjoitetaan ADIF-tiedostoa... - - - - + + + Abort writing Keskeytä kirjoitus - + Exporting LoTW ADIF file... LoTW ADIF-tiedoston vienti... - - - - + + QSO: QSO: - + Writing ADIF file... QSO: Kirjoitetaan ADIF-tiedostoon... QSO: - - - + You have canceled the file export. The file will be removed and no data will be exported. Olet peruuttanut tiedoston viennin. Tiedosto poistetaan, eikä tietoja viedä. - - KLog - Error - KLog - Virhe - - - - - The selected log does not exist, please check it again. - Valittua lokia ei ole olemassa, tarkista uudestaan. - - - - The selected callsign (%1) is not valid, please check it again. - Valittu kutsutunnus (%1) ei ole oikein, tarkista tunnus. - - - - - The file %1 can't be opened. - Tiedostoa %1 ei voida avata. - - - - - There are no QSOs pending to be uploaded with that station callsign. - Tälle aseman kutsutunnukselle ei ole lähetettäviä QSO:ita. - - - - - - - KLog - Invalid call detected - - - - - - - - An invalid callsign has been detected %1. Do you want to export this callsign anyway (click on Yes) or remove the call from the exported log file? - - - - - - - - Exporting wrong calls may create problems in the applications you are potentially importing this logfile to. It may, however, be a good callsign that is wrongly identified by KLog as not valid. You can, however, edit the ADIF file once the export process is finished. - - - - - - - - - KLog - User cancelled - KLog - Käyttäjä keskeytti - - - - - - - + + Do you still want to cancel? Haluatko varmasti peruuttaa? - - The selected callsign (%1) is not valid, please check it again to export the log. - - - - - Exporting ADIF file... - - - - + Writing Cabrillo file... Kirjoitetaan Cabrillo-tiedostoa... - + KLog: Cabrillo Log Export not implemented KLog: Cabrillo-lokin vientiä ei ole toteutettu - + I am sorry but the Cabrillo Export To File feature has still not been implemented. Olen pahoillani, mutta Cabrillo vienti tiedostoon -ominaisuutta ei ole vieläkään toteutettu. - - KLog - File not opened - - - - - It was not possible to open the file %1 for reading. - - - - - KLog was not able to read the LoTW file - - - - + Reading LoTW file... Luetaan LoTW-tiedostoa... - - + + Abort reading Keskeytä lukeminen - - Importing LoTW ADIF file... - - - - - KLog - Log selection - KLog - Lokin valinta - - - + There is more than one log in this logfile. Tässä lokitiedostossa on enemmän kuin yksi loki. - + All logs will be imported into the current log. Kaikki lokit tuodaan nykyiseen lokiin. - + Do you want to continue? Haluatko jatkaa? - + Reading ADIF file... Luetaan ADIF-tiedostoa... - + Importing ADIF file... Tuodaan ADIF-tiedostoa... - - KLog - Duplicated QSOs - KLog - QSO päällekkäisyyksiä - - - + It seems that there are some duplicated QSOs in the ADIF file you are importing. Do you want to continue? (Duped QSOs will not be imported) ADIF-tiedostossa jota olet tuomassa, on päällekkäisiä QSO:ita. Haluatko jatkaa? (Duplikaatti QSO:ita ei tuoda) - - KLog has found one QSO without the Station Callsign defined. - -Enter the Station Callsign that was used to do this QSO on %1: - + + You have cancelled the file import. The file will be removed and no data will be imported. + Olet peruuttanut tiedoston tuonnin. Tiedosto poistetaan, eikä tietoja tuoda. - - - You have canceled the file import. The file will be removed and no data will be imported. - Olet peruuttanut tiedoston tuonnin. Tiedosto poistetaan, tietoja ei tuoda. + + This QSO is not including the minimum data to consider a QSO as valid!. + Tämä QSO ei sisällä vähimmäistietoja, jotta QSO:ta voidaan pitää oikeana! - - Some QSOs of this log, (i.e.: %1) seems to lack RST-TX information. - Joistakin tämän lokin QSO:ista, (esim.: %1) näkyy puuttuvan RST-TX tieto. - - - - Click on Yes to add a default 59 to all QSOs with a similar problem. - Napsauta Kyllä, lisätäksesi oletusksen 59, kaikkiin QSO:ihin joissa on sama ongelma. - - - - If you select NO, maybe the QSO will not be imported. - Jos valitset EI, voi olla että QSO:ta ei tuoda. - - - - Some QSOs of this log, (i.e.: %1) seems to lack RST-RX information. - Joistakin tämän lokin QSO:ista, (esim.: %1) näkyy puuttuvan RST-TX tieto. - - - - KLog - Apply to all QSOs in this log? - KLog - Käytä kaikissa tämän lokin QSO:issa. - - - + Please edit the ADIF file and make sure that it include at least: Muokkaa ADIF-tiedostoa ja varmista, että se sisältää ainakin: - + and ja - + This QSO had: Tässä QSO:ssa oli: - - This QSO is not including the minimum data to consider a QSO as valid! - Tässä QSO:ssa ei ole vähimmäistietoja jotta QSO voidaan todeta oikeaksi! - - - + - The band missing and the following call: - Taajuusalue puuttuu ja seuraava kutsu: + - The call missing but was done at this time: - - Kutsu puuttuu mutta toteutettiin tällä kertaa: + - Kutsu puuttuu mutta toteutettiin tällä kertaa: - + - The mode missing and the following call: - Tila puuttuu ja seuraava kutsu: - + - The date missing and the following call: - Päiväys puuttuu ja seuraava kutsu: - + - The time missing and the following call: - Aika puuttuu ja seuraava kutsu: - + Do you want to continue with the current file? Haluatko jatkaa nykyisen tiedoston kanssa? - + KLog: Not all required data found! KLog: kaikkia vaadittavia tietoja ei löydetty! - - - KLog - No Station callsign entered. - KLog - Aseman kutsutunnusta ei ole syötetty, - - - - KLog has found one QSO without the Station Callsign defined. - -Enter the Station Callsign that was used to do this QSO with %1 on %2: + + Some QSO of this log, (i.e.: %1) seems to lack of RST-RX information. - - - KLog - QSO without Station Callsign - KLog - QSO josta puuttuu aseman kutsutunnus + This log seems to lack of RST-TX information. + Tästä lokista näyttää puuttuvan RST-TX-tieto. - KLog has found one QSO without the Station Callsign defined. - -Enter the Station Callsign that was used to do this QSO: - KLog on löytänyt yhden QSO:n johon ei ole määritetty aseman kutsutunnusta. - -Syötä tämän QSO:n tekemisessä käytetty asematunnus: - - - + + Click on Yes to add a default 59 to all QSO with a similar problem. Napsauta Kyllä, jos haluat lisätä oletusarvon 59 kaikille QSO:ille, joilla on vastaava ongelma. - + + If you select NO, the QSO may not be imported. Jos valitset EI, QSO:ta ei ehkä tuoda. - + + Some QSO of this log, (i.e.: %1) seems to lack of RST-TX information. + + + + KLog: No RST TX found! KLog: RST TX:ää ei löydy! - + This log seems to lack of RST-RX information. + Tästä lokista näyttää puuttuvan RST-RX-tieto. + + + KLog: No RST RX found! KLog: RST RX:ää ei löydy! @@ -1265,13 +1058,13 @@ Syötä tämän QSO:n tekemisessä käytetty asematunnus: - KLog is a free hamradio logging program that can run on Linux, macOS, and Windows. - KLog on ilmainen radioamatööri lokikirjaohjelma joka toimii Linux:ssa, MacOS:ssa, sekä Windows:ssa. + KLog is a free hamradio logging program that can run on Linux macOS and Windows. + KLog on ilmainen lokikirjaohjelma radioamatööreille, joka toimii Linuxissa, macOSissa ja Windowsissa. - It is designed to provide general purpose DX, and contest logging. - Se on suunniteltu tarjoamaan yleisttä DX, sekä kilpailu lokinpitoa. + It is designed to provide general purpose, DX and contest logging. + Se on suunniteltu tarjoamaan yleistä, sekä DX ja kilpailu -lokin pitoa. @@ -1332,161 +1125,6 @@ Syötä tämän QSO:n tekemisessä käytetty asematunnus: Huomioi, että KLog on ilmainen ohjelmisto. - - LoTWUtilities - - - KLog - LoTW password needed - - - - - Please enter your LoTW password: - - - - - KLog - File exist - - - - - There is a file already existing with the name that will be used. - - - - - The file %1 already exist. Do you want to overwrite? - - - - - KLog - Can't write the file - - - - - KLog was not able to save the file %1. -Error returned: %2 - - - - - The file already %1 exist. - - - - - Downloading data to file: %1. - - - - - - KLog - LoTW download - - - - - KLog - Download error - - - - - The downloading error is: %1 - - - - - There was an error while downloading the file from LoTW. - - - - - KLog - Redirection found - - - - - The remote server redirected our connection to %1 - - - - - Do you want to follow the redirection? - - - - - It was not possible for find the file %1 that has been just downloaded. - - - - - It seems that LoTW has no QSO with the Station Callsign you are using (%1). - - - - - Try again and send the downloaded file (%1) to the KLog developer for analysis. - - - - - KLog downloaded %1 QSOs successfully. Do you want to update your log with the downloaded data? - - - - - KLog - File not found - - - - - KLog can't find the downloaded file. - - - - - KLog - LoTW user/password error - - - - - LoTW server did not recognized your user/password - - - - - Check your user and password and ensure your are using the right one before trying again. - - - - - KLog - LoTW No QSOs - - - - - LoTW sent no QSOs - - - - - KLog - LoTW Unknown error - - - - - KLog can't recognize the file that has been downloaded from LoTW. - - - - - Now KLog will process the downloaded QSO and update your local log. - - - LogModel @@ -1533,193 +1171,129 @@ Error returned: %2 LogWindow - + QSL Send QSL Lähetys - + QSL Rcvd QSL Vastaanotettu - + &Delete - &Poista + &Poista - + Delete a QSO Poista QSO - + &Edit QSO - &Muokkaa QSO:ta + &Muokkaa QSO:ta - + Edit this QSO Muokkaa tätä QSO:ta - + Via &bureau &Bureau:n kautta - + Send this QSL via bureau Lähetä tämä QSO bureau:n kautta - + D&irect D&irect - + Send this QSL via direct Lähetä tämä QSO Direct:in kautta - + Via bureau Bureau:n kautta - + QSL &received via bureau - QSL &vastaanotettu bureau:n kautta + QSL &vastaanotettu bureau:n kautta - + Direct Direct - + QSL received via direc&t QSL vastaanotettu Direc&t:in kautta - - Check in QRZ.com - Tarkista QRZ.com:ssa - - - - Check this callsign in QRZ.com - Tarkista tämä kutsutunnus QRZ.com:ssa - - - - Check in DXHeat.com - Tarkista DXHeat.com:ssa - - - - Check this callsign in DXHeat.com - Tarkista kutsutunnus DXHeat.com:ssa - - - + You have requested to delete this QSO. Olet pyytänyt poistamaan tämän QSO:n. - + Are you sure? Oletko varma? - - MainQSOEntryWidget - - - - - &Add - &Lisää - - - - &Clear - T&yhjennä - - - - QRZ of the QSO. - QSO:n QRZ. - - - - Band of the QSO. - QSO:n taajuusalue. - - - - Mode of the QSO. - QSO:n moodi. - - - - Date of the QSO. - QSO:n päivämäärä. - - - - Time of the QSO. - QSO:n aika. - - - - Add the QSO to the log. - Lisää QSO lokiin. - - - - Clears the QSO entry. - Poistaa QSO merkinnän. - - - - KLog will show real time if enabled. - - - - - QRZ - QRZ - - - Invalid characters used in the QRZ - Virheellisiä merkkejä käytetty QRZ:ssa - - - - &Modify - &Muokkaa - - MainWindow - + Recalculate + Laske uudelleen + + + Starting KLog Käynnistetään KLog - - + + + + + &Add + &Lisää + + + + &Clear + T&yhjennä + + + + Status bar... + Tilapalkki... + + + DX Entity DX Yksikkö - + &Log Window &Loki ikkuna + + &Score Window + Pi&steytysikkuna + Watts @@ -1732,924 +1306,729 @@ Error returned: %2 MHz - - + + KLog KLog - + Annual + Vuotuinen + + + Ready Valmis - + An unexpected error ocurred when trying to add the QSO to your log. If the problem persists, please contact the developer for analysis: Tapahtui odottamaton virhe, kun yritit lisätä QSO:n lokiin. Jos ongelma jatkuu, ota yhteyttä kehittäjään analyysiä varten: - - + + You have selected an entity: Olet valinnut yksikön: - - + + that is different from the KLog proposed entity: joka eroaa KLog:in ehdotetusta kokoonpanosta: - + Click on the prefix of the correct entity or Cancel to edit the QSO again. Napsauta oikean yksikön etuliitettä tai Peruuta, jos haluat muokata QSO:ta uudelleen. - + Click on the prefix of the right entity or Cancel to correct. Napsauta oikean yksikön etuliitettä tai paina Peruuta korjataksesi. - + + Input + Syöttö + + + + RSTrx RSTrx - + + RSTtx RSTtx - + + + QRZ QRZ - + + STX + STX + + + + SRX + SRX + + + Do you really want to exit KLog? - Haluatko varmasti poistua KLogi:sta? + - + NEW MULT + NEW MULT + + + + Invalid characters used in the QRZ + Virheellisiä merkkejä käytetty QRZ:ssa + + + Ready... + Valmis... + + + &File - &Tiedosto + &Tiedosto - + &New... + &Uusi... + + + &Open... + &Avaa... + + + &Import from ADIF... Tu&o ADIF-tiedostosta... - + Import an ADIF file into the current log. Tuo ADIF-tiedosto nykyiseen lokiin. - + &Save As... + Tallenna &nimellä... + + + Export to ADIF... Vie ADIF-tiedostoon... - + Export the current log to an ADIF logfile. Vie nykyinen loki ADIF lokitiedostoon. - + Export all logs to ADIF... Vie kaikki lokit ADIF-tiedostoon... - + Export ALL the QSOs into one ADIF file, merging QSOs from all the logs. Vie kaikki QSO:t yhteen ADIF-tiedostoon, yhdistäen QSO:t kaikista lokeista. + Export Requested QSL to ADIF... - Vie pyydetty QSL ADIF-tiedostoon... + Vie pyydetty QSL ADIF-tiedostoon... + Export all QSOs requesting QSLs to an ADIF file (e.g. to import it into a QSL tag printing program). - Vie kaikki QSO:t joilla on QSL pyyntöjä, ADIF-tiedostoon (esim. tuodaksesi ne QSL tagin tulostus ohjelmaan). + Vie kaikki QSO:t joilla on QSL pyyntöjä, ADIF-tiedostoon (esim. tuodaksesi ne QSL tagin tulostus ohjelmaan). + Export ADIF for LoTW... - Vie ADIF LoTW:iä varten... + Vie ADIF LoTW:iä varten... + Export an ADIF file to be sent to LoTW. Remember to sign it with TQSL before uploading to LoTW! - Vie ADIF-tiedosto lähetettäväksi LoTW:iin. Muista kirjata se TQSL:lla ennen lataamista LoTW:iin! + Vie ADIF-tiedosto lähetettäväksi LoTW:iin. Muista kirjata se TQSL:lla ennen lataamista LoTW:iin! - + &Print Log... - Tulosta loki... + Tulosta loki... - + Print your log. Tulosta lokisi. - + KLog folder KLog-kansio - + Opens the data folder of KLog. Avaa KLog:in tallennuskansion. - + E&xit - Ulo&s + Ulo&s - + &Tools - &Työkalut + Työkalut - + Fill in QSO data Täytä QSO:n tiedot - + Go through the log reusing previous QSOs to fill missing information in other QSOs. Käy loki läpi käyttäen edellisiä QSO:ita täyttämään puuttuvat tiedot muissa QSO:issa. + Fill in DXCC data - Täytä DXCC-tiedot + Täytä DXCC-tiedot + Go through the log filling QSOs without a DXCC defined. - Käy loki läpi täyttäen QSO:t joihin ei ole määritelty DXCC:tä. + Käy loki läpi täyttäen QSO:t joihin ei ole määritelty DXCC:tä. - + QSL tools... QSL työkalut... - + &Find QSO to QSL - &Etsi QSO QSL:lle + &Etsi QSO QSL:lle - + Shows QSOs for which you should send your QSL and request the DX QSL. Näyttää QSO:t joita varten sinun tulisi lähettää QSL ja pyytää DX QSL:ää. - + Find My-QSLs pending to send Etsi Minun QSL:t jotka odottavat lähetystä - + Shows the QSOs with pending requests to send QSLs. You should keep this queue empty! Näyttää QSO:t joilla on odottavia pyyntöjä lähettää QSL:iä. Tämä jono tulisi pitää tyhjänä! - + &Find DX-QSLs pending to receive - &Etsi DX-QSL:t jotka odottavat vastaanottoa + &Etsi DX-QSL:t jotka odottavat vastaanottoa - + + Shows the DX-QSL that has been requested or QSLs has been sent with no answer. + Näyttää DX-QSL:t jotka on pyydetty, tai QSL:t on lähetetty ilman vastausta. + + + &Find requested pending to receive - &Etsi vastaanottoa odottavat + &Etsi vastaanottoa odottavat - + + Shows the DX-QSL that has been requested. + Näyttää DX-QSL:n jota on pyydetty. + + + LoTW tools... LoTW työkalut... - + + Queue all QSL to be sent of this log + Aseta jonoon kaikki tämän lokin QSL:t + + + + Mark all non sent QSOs in this log as queued to be uploaded. + Merkitse kaikki tässä lokissa olevat lähettämättömät QSO:t lähetysjonoon. + + + + Queue all QSL to be sent + Aseta jonoon kaikki tämän lokin QSL:t + + + + Mark all non sent QSOs as queued to be uploaded. + Merkitse kaikki lähettämättömät QSO:t lähetysjonoon. + + + + Mark as sent all queued QSO of this log + Merkitse kaikki tämän lokin jonossa olevat QSO:t lähetetyiksi + + + Mark all queued QSOs in this log as sent to LoTW. Merkitse kaikki tämän lokin jonossa olevat QSO:t lähetetyiksi LoTW:iin. - + + Mark all queued QSO as sent + Merkitse kaikki jonossa olevat QSO:t lähetetyiksi + + + Mark all queued QSOs as sent to LoTW. Merkitse kaikki jonossa olevat QSO:t lähetetyiksi LoTW:iin. - - Upload to LoTW - Lataa LoTW:iin - - - - Sends the log to LoTW calling TQSL. - Lähettää lokin LoTW:iin, käyttäen TQSL:ää. - - - + &Update cty.csv - &Päivitä cty.csv + &Päivitä cty.csv - - + + For updated DX-Entity data, update cty.csv. Päivitettyjä DX-yksikkö tietoja varten, päivitä cty.csv. - + &Update Satellite Data - &Päivitä Satelliitti Tiedot + &Päivitä Satelliitti Tiedot - + Stats Tilastot - + Show the statistics of your radio activity. - Näytä radio aktiviteettisi tilastot. + Näytä radioaktiivisuutesi tilastot. - Rotator - Rotaattori - - - Show the rotator controller. - Näytä rotaattorin kontrolleri. - - - + &Setup - &Asetukset + &Asetukset - + &Setup... - &Asetukset... + &Asetukset... - + &Help - &Ohjeet + &Ohjeet - + Check updates... Tarkista päivitykset... - + &About... - &Tietoja... + &Tietoja... - - Download from LoTW + + &Tips... - - &Tips... - &Vinkit... - - - + About Qt... Tietoja Qt:stä... - - - - - - - - - - - - + + + + + + + + KLog LoTW KLog LoTW - - + + All pending QSO of this log has been marked as queued for LoTW! + Kaikki tämän lokin odottavat QSO:t on merkattu jonoon LOTW:iä varten! + + + + Now you can go to the File menu to export the LoTW ADIF file and upload it to LoTW. Nyt voit mennä Tiedostot valikkoon viedäksesi LoTW:n ADIF-tiedostoon ja lataa se LoTW:iin. - - Your log has not been updated. - + + + There was a problem to mark all pending QSO of this log as queued for LoTW! + Odottavien QSO:iden merkinnässä jonoon LoTW:iä varten ilmeni ongelma! - - No QSO was updated with the data coming from LoTW. This may be because of errors in the logfile or simply because your log was already updated. - + + All pending QSO has been marked as queued for LoTW! + Kaikki odottavat QSO:t on merkattu jonoon LOTW:iä varten! - - KLog - TQSL - KLog - TQSL - - - - TQSL is not installed or KLog can't find it. Please check the configuration. - TQSL ei ole asennettu, tai KLog ei löydä sitä. Tarkista asetukset. - - - All the QSOs were signed and uploaded with no error. - Kaikki QSO:t kirjattiin ja lähetettiin ilman virheitä. - - - - Error #1: The process was cancelled by the user or TQSL was not configured. No QSOs were uploaded. - Virhe #1: Käyttäjä keskeytti toiminnon tai TQSL ei ole määritetty. QSO:ita ei lähetetty. - - - - Error #2: Upload was rejected by LoTW, please check your data. - Virhe #2: Lähetys evättiin LoTW:n toimesta, tarkista tiedot. - - - - Error #3: The TQSL server returned an unexpected response. - Virhe #3: TQSL palvelin palautti odottamattoman vastauksen. - - - - Error #4: There was a TQSL error. - Virhe 4#: Tapahtui TQSL virhe. - - - - Error #5: There was a TQSLLib error. - Virhe #5: Tapahtui TQSLlib virhe. - - - - Error #6: It was not possible to open the input file. - Virhe #6: Lähdetiedostoa ei voitu avata. - - - - Error #7: It was not possible to open the ouput file. - Virhe #7: Kohdetiedostoa ei voitu avata. - - - - Error #8: No QSOs were processed since some QSOs were duplicates or out of date range. - Virhe #8: QSO:ita ei käsitelty sillä osa QSO:ista oli kopioita tai aikajakson ulkopuolella. - - - - Error #9: Some QSOs were processed, and some QSOs were ignored because they were duplicates or out of date range. - Virhe #9: Osa QSO:ista käsiteltiin ja osa ohitettiin sillä ne olivat kopioita tai aikajakson ulkopuolella. - - - - Error #10: Command syntax error. KLog sent a bad syntax command. - Virhe #10: Komentosyntaksivirhe. KLog lähetti virheellisen syntaksikomennon. - - - - Error #11: LoTW Connection error (no network or LoTW is unreachable). - Virhe #11: LoTW yhteysvirhe (Ei verkkoyhteyttä, tai LoTW on tavoittamattomissa). - - - - Error #00: Unexpected error. Please contact the development team. - Virhe #00: Odottamaton virhe. Otathan yhteyttä kehitystiimiin. - - - + The log that you have selected contains more than just one station callsign. Valitsemasi loki sisältää enemmän kuin vain yhden aseman kutsutunnuksen. - + Please select the station callsign you want to mark as sent to LoTW: Valitse aseman kutsutunnus, jonka haluat merkata ladatuksi LoTW:iin: - + Station Callsign: Aseman kutsutunnus: - + Define Station Callsign Määritä aseman kutsutunnus - + You have selected no callsign. KLog will mark QSOs without a station callsign defined and those with the call you are entering here. Et ole valinnut kutsutunnusta. KLog merkkaa QSO:t ilman asetettua aseman kutsutunnusta, kutsulla jonka syötät tähän. - + Enter the station callsign to use for this log or leave it empty for QSO without station callsign defined: Syötä tässä lokissa käytettävä aseman kutsutunnus, tai jätä se tyhjäksi QSO:lle ilman määritettyä aseman kutsutunnusta: - - KLog - No station selected - KLog - Ei valittua asemaa - - - + No station callsign has been selected and therefore no log will be marked Aseman kutsutunnusta ei ole valittu, joten lokia ei merkata - + + All queued QSO of this log has been marked as sent for LoTW! + Kaikki tämän lokin jonossa olevat QSO:t on merkattu lähetetyiksi LOTW:iin! + + + + There was a problem to mark all queued QSO of this log as sent for LoTW! + Kaikkien QSO:iden merkinnässä lähetetyiksi LoTW:iin, ilmeni ongelma! + + + + All queued QSO has been marked as sent to LoTW! + Kaikki jonossa olevat QSO:t on merkattu lähetetyiksi LoTW:iin! + + + + There was a problem to mark all queued QSO of this log as sent to LoTW! + Kaikkien jonossa olevien QSO:iden merkinnässä lähetetyiksi LoTW:iin, ilmeni ongelma! + + + About... Tietoja... - + KLog update checking result KLog päivityksen tarkastuksen tulos - + Congratulations! Onnittelut! - + You already have the latest version. Sinulla on jo viimeisin versio. - + Nothing has been saved. You have to select a valid file type. + Mitään ei ole tallennettu. Sinun täytyy valita oikea tiedostotyyppi. + + + Save File + Tallenna tiedosto + + + ADIF file + ADIF-tiedosto + + + Cabrillo files + Cabrillo-tiedostot + + + Any file + Kaikki tiedostot + + + You can find the KLog data folder here: KLog talletuskansio löytyy täältä: - + DUPE + DUPE + + + DX Locator - DX lokaattori + DX lokaattori - - Select the Station Callsign to use when quering LoTW: - + Filling DXCC in QSOs... + QSO: + Täytetään DXCC QSO:n + QSO: - - Please check the LoTW setup - - - - - You have not defined a LoTW user or a proper Station Callsign. -Open the LoTW tab in the Setup and configure your LoTW connection. - - - - + TX Frequency in MHz. Frequency is not in a hamradio band! TX Taajuus MHz. Taajuus ei ole oikealla taajuusalueella! - + RX Frequency in MHz. Frequency is not in a hamradio band! RX Taajuus MHz. Taajuus ei ole oikealla taajuusalueella! - + QSO logged from WSJT-X: QSO kirjattu WSJT-X:stä: - + start käynnistys - - KLog - File not open - KLog - Tiedosto ei auki - - + It was not possible to open the debug file for writting. No debug log will be saved! - Vianmääritystiedostoa ei voitu avata. Vianmäärityslokia ei tallenneta! + - - Status bar ... - Tilapalkki ... - - - + It seems that you have never done a backup or exported your log to ADIF. - Näyttää siltä että et ole koskaan varmuuskopioinut tai vienyt lokiasi ADIF:iin. + - + It seems that the latest backup you did is older than one month. - Näyttää siltä että vanhin varmuuskopiosi on yli kuukauden vanha. + - + Log backup recommended! - Lokin varmuuskopiointia suositellaan! + - + It is a good practice to backup your full log regularly to avoid loosing data in case of a problem. Once you export your log to an ADIF file, you should copy that file to a safe place, like an USB drive, cloud drive, another computer, ... KLog will remind you to backup on a monthly basis. - On hyvä varmuuskopioida täysi lokisi säännöllisesti, tiedon menettettämisen välttämiseksi ongelmatilanteissa. -Kun loki viedään ADIF tiedostoon, se tulisi kopioida turvalliseen paikkaan, USB-tikulle, pilvipalveluun, toiselle tietokoneelle, ... - -KLog muistuttaa sinua varmuuskopioimaan tiedot kuukausittain. - - + - + KLog new version detected! - KLog uusi versio havaittu! + - + It seems that you are running this version of KLog for the first time. - Näyttää siltä että käytät tätä KLog versiota ensikertaa. + - + The setup will be open to allow you to do any new setup you may need. - Asetukset aukeavat jotta voit tehdä tarvittavat muutokset. - - - - KLog - Unexpected error - KLog - Odottamaton virhe - - - - - KLog - Not valid call - - - The call %1 is not a valid call. Do you really want to add this call to the log? - - - - - - KLog - Select correct entity - KLog - Vakitse oikea yksikkö - - - - It was not possible to open the debug file for writing. No debug log will be saved! - - - - - - Adding non-valid calls to the log may create problems when applying for awards, exporting ADIF files to other systems or applications. - - - - - - No DXCC - - - - - - None - Ei mitään - - - - KLog - Exit - KLog - Poistu - - - - Shows DX-QSLs for which requests or QSLs have been sent with no answer. - Näyttää DX-QSL:t joiden pyynnöt tai QSL:t on lähetetty mutta vastausta ei saatu. - - - - Shows the DX-QSLs that have been requested. - Näyttää pyydetyt DX-QSL:t. - - - - Queue all QSLs from this log to be sent - Aseta kaikki tämän lokin QSL:t lähetysjonoon. - - - - Mark all non-sent QSOs in this log as queued to be uploaded. - Merkitse kaikki tämän lokin lähettämättömät QSO:t lähetysjonoon. - - - - Queue all QSLs to be sent - Aseta kaikki QSL:t lähetysjonoon - - - - Put all the non-sent QSOs in the queue to be uploaded. - Aseta kaikki jonossa olevat lähettämättömät QSO:t lähetettäväksi. - - - - Mark as sent all queued QSOs of this log - Merkitse kaikki tämän lokin jonossa olevat QSO:t lähetetyiksi - - - - Mark all queued QSOs as sent - Merkitse kaikki jonossa olevat QSO:t lähetetyiksi - - - - All pending QSOs of this log has been marked as queued for LoTW! - Kaikki tämän lokin odottavat QSO:t on merkattu LoTW jonoon! - - - - - There was a problem to mark all pending QSOs of this log as queued for LoTW! - Ilmeni ongelmia kaikkien QSO:iden asettamisessa LoTW jonoon! - - - - Your log has been updated with the LoTW downloaded QSOs. - - - - - KLog has updated %1 QSOs from LoTW. - - - - - All pending QSOs has been marked as queued for LoTW! - Kaikki odottavat QSO:t on asetettu LoTW jonoon! - - - - TQSL finished with no error. - - - - - All queued QSOs of this log has been marked as sent for LoTW! - Kaikki tämän lokin odottavat QSO:t on merkattu LoTW:iin lähetetyiksi! - - - - There was a problem to mark all queued QSOs of this log as sent for LoTW! - Ilmeni ongelmia kaikkien tämän lokin jonossa olevien QSO:iden LoTW:iin lähetetyiksi merkkaamisessa! - - - - All queued QSOs has been marked as sent to LoTW! - Kaikki jonossa olevat QSO;t on merkattu LoTW:iin lähetetyiksi! - - - - There was a problem to mark all queued QSOs of this log as sent to LoTW! - Ilmeni ongelmia kaikkien tämän lokin jonossa olevien QSO:iden LoTW:iin lähetetyiksi merkkaamisessa! - - - + stop pysäytys - - KLog ADIF export - + + It seems that there are no QSO in the database. + Näyttää siltä ettei tietokannassa ole QSO:ta. - - No QSOs have been exported to ADIF. - - - - - KLog has exported %1 QSOs to the ADIF file: %2 - - - - - If you uploaded any QSO to LoTW while you were using TQSL you can now mark them as sent in KLog. - -Do you want to mark as Sent all the QSOs uploaded to LoTW? - - - - - KLog - Select the Station Callsign. - - - - - KLog - Non-supported mode - KLog - Ei tuettu tila - - - - A new mode not supported by KLog has been received from an external program or radio: - Uusi ei tuettu tila on vastaanotettu ulkoisesta ohjelmasta tai radiosta: - - - - Do you want to keep receiving these alerts? (disabling these alerts will prevent non-valid modes being detected) - Haluatko saada jatkossa tämän ilmoituksen? (Tämän ilmoituksen poistaminen estää epäsopivien tilojen tunnistamisen) - - - - Recommendation: - Suositus: - - - - Periodically export your data to ADIF to prevent a potential data loss. - Vie tiedot säännöllisesti ADIF:iin, tietojen menettämisen estämiseksi. - - - + If you are sure that the database contains QSOs and KLog is not able to find them, please contact the developers (see About KLog) for help. Jos olet varma että tietokannassa on QSO:ita ja KLog ei löydä niitä, voit ottaa yhteyttä kehittäjiin saadaksesi apua (katso valikon kohta Tietoja KLogista) - - It seems that there are no QSOs in the database. - Näyttää siltä ettei tietokannassa ole yhtään QSO:ta. - - - - This function is disabled. Go to the Setup->LoTW tab to enable it. - Tämä ominaisuus ei ole käytössä. Mene Asetukset->LoTW välilehdelle ottaaksesi sen käyttöön. - - - - + + TX Frequency in MHz. TX Taajuus MHz:inä. - - + + RX Frequency in MHz. RX Taajuus MHz:inä. - + Power used by the DX. DX:n käyttämä virta. - + Logging operator's callsign. Lokinpitäjän kutsutunnus. - + Callsign used over the air. Lähetyksissä käytetty kutsutunnus. - The LoTW upload successfully. - -Do you want to mark as Sent all the QSOs uploaded to LoTW? - LoTW lähetys onnistui. - -Haluatko merkata kaikki lähetetyt QSO:t lähetetyiksi LoTW:iin? - - - - There was an error while updating to Yes the LoTW QSL sent information. - Tapahtui virhe QSL:n lataamisessa LoTW:iin? - - - - The LoTW upload process has finished and KLog created a file (%1) in your KLog folder. - -Do you want KLog to remove that file? - Tietojen lähetys LoTW:iin on valmis ja KLog on luonut tiedoston (%1) KLog kansioosi. - -Haluatko että KLog poistaa tiedoston? - - - - The file has been removed. - Tiedosto poistettu. - - - Please select the station callsign you want to export the log from: - Valitse aseman kutsutunnus, josta haluat viedä lokin: - - - - - KLog - LoTW - KLog - LoTW - - - The selected callsign is not valid, LoTW log will not be uploaded. - Valittu kutsutunnus on väärä, LoTW lokia ei päivitetä. - - - You selected NONE so all the QSOs without a station callsign in your log will be selected and the current station callsign (%1) will be automatically added to the QSOs. <br><br><b>Please check that this is correct as it may cause errors in your uploaded logs</b>. - Valitsit 'Ei mitään' joten kaikki lokin QSO:t joista puuttuu aseman kutsutunnusta valitaan ja tämänhetkinen aseman kutsutunnus (%1) lisätään automaattisesti QSO:ihin. <br><br><b>Tarkista että tämä on oikein, sillä se saattaa aiheuttaa virheitä lähetettyihin lokeihin</b>. - - - If you click on 'Yes' KLog will fill all the QSOs with your Station Callsign <b>(%1)</b> automatically. - Jos napsautat 'Kyllä' KLog täyttää kaikki QSO:t sinun aseman kutsutunnuksella <b>(%1)</b> automaattisesti. - - - Do you want to fill all the QSOs with the Station Callsign: %1? - Haluatko että kaikki QSO:t täytetään aseman kutsutunnuksella %1? - - - (If you answer 'No', no QSOs will be exported to LoTW) - (Jos vastaat 'Ei', QSO:ita ei viedä LoTW:iin) - - - After uploading: mark as sent all the queued QSOs (LoTW Tools). - Lähetyksen jälkeen: merkitse kaikki jonoon asetetut QSO:t lähetetyiksi (LoTW Työkalut). - - - There was no QSOs to be exported. - Ei lähetettäviä QSO:ita. - - - If you think that some QSOs should have been exported, please look for them and ensure that the eQSL LoTW QSL sent box is marked as: - Jos joitakin QSO:ita olisi pitänyt lähettää, tarkistathan ne, ja varmista että eQSL LoTW QSL lähetetty ruutu on merkitty: - - - + My QTH locator. Minun QTH lokaattori. - + Name of the DX. DX:n nimi. - + QTH of the DX. DX:n QTH. - + Locator of the DX. DX:n lokaattori. - + + + QRZ of the QSO. + QSO:n QRZ. + + + Click to recalculate the award status. + Napsauta laskeaksesi palkintotilanne uudestaan. + + + + TX RST. TX RST. - + + RX RST. RX RST. - + + + TX Exchange. + TX Exchange. + + + + + RX Exchange. + RX Exchange. + + + + + Band of the QSO. + QSO:n taajuusalue. + + + + + Mode of the QSO. + QSO:n moodi. + + + + + Date of the QSO. + QSO:n päivämäärä. + + + + + Time of the QSO. + QSO:n aika. + + + + + Add the QSO to the log. + Lisää QSO lokiin. + + + + Clear the box. + Tyhjennä ruutu. + + + The logfile has been modified. Lokia on muokattu. - + Do you want to save your changes? Haluatko tallentaa muutokset? - - + + UDP Server error The UDP server failed to %1. start or stop @@ -2657,357 +2036,494 @@ The UDP server failed to %1. UDP-palvelin ei onnistunut %1. - + + Clears the QSO entry. + Poistaa QSO merkinnän. + + + Number of confirmed DXCC entities. + Vahvistettujen DXCC-yksiköiden määrä. + + + Number of worked DXCC entities. + Työstettyjen DXCC-yksiköiden määrä. + + + Number of confirmed WAZ zones. + Vahvistettujen WAZ vyöhykkeiden määrä. + + + Number of worked WAZ zones. + Työstettyjen WAZ vyöhykkeiden määrä. + + + Number of confirmed local references. + Vahvistettujen paikallisten referenssien määrä. + + + Number of worked local references. + Työstettyjen paikallisten referenssien määrä. + + + Number of confirmed QSOs. + Vahvistettujen QSO:iden määrä. + + + Number of worked QSOs. + Työstettyjen QSO:iden määrä. + + + Number of QSOs worked on the selected year. + Työstettyjen QSO:iden määrä, valittuna vuonna. + + + Number of DXCC worked on the selected year. + Työstettyjen DXCC:iden määrä, valittuna vuonna. + + + Number of CQ Zones worked on the selected year. + Työstettyjen CQ vyöhykkeiden määrä, valittuna vuonna. + + + Score for the DXMarathon on the selected year. + DXMarathon pisteet, valittuna vuonna. + + + Select the year you want to check. + Valitse vuosi jonka haluat nähdä. + + + Status of the DX entity. DX yksikön tila. - + Name of the DX entity. DX yksikön nimi. - - + + Name Nimi - + QTH QTH - + Locator + Lokaattori + + + Power(rx) Teho(rx) - + RST(tx) RST(tx) - + RST(rx) RST(rx) - + Freq TX TX Taajuus - + Freq RX RX Taajuus - + QSO QSO - + QSL QSL - + eQSL eQSL - - + + Comment Kommentti - + Others Muut - + My Data Minun tiedot - + Satellite Satelliitti - + QSOs + QSO:t + + + DXCC DXCC - + CQ + CQ + + + Score + Pisteet + + + DX-Marathon + DX-Maratoni + + + Info Info - + Award + Palkinto + + + Confirmed + Vahvistettu + + + Worked + Työstetty + + + WAZ + WAZ + + + Local + Paikallinen + + + Awards Palkinnot - + Search Etsi - + Log Loki - + DX-Cluster DX-Klusteri - - - + + + + Save ADIF File Tallenna ADIF-tiedosto - The log that you have selected does not contain any QSO with the station callsign defined. - Valitsemasi loki ei sisällä yhtään QSO:ta määritetyllä aseman kutsutunnuksella. - - + LoTW logfile has been properly exported! - LoTW lokitiedosto on viety onnistuneesti! + LoTW lokitiedosto on viety onnistuneesti! + Remember to: - Muista: + Muista: + Before uploading: sign the LoTW log; and - Ennen lataamista: allekirjoita LoTW loki; ja + Ennen lataamista: allekirjoita LoTW loki; ja + + After uploading: mark as sent all the queued QSO (LoTW Tools). + Lataamisen jälkeen, merkkaa kaikki jonossa olevat QSO:t lähetetyiksi (LoTW työkalut). + + + + There was no QSO to be exported. + Vietäviä QSO:ita ei ollut. + + + + If you think that some QSO should have been exported, please look for them and ensure that the eQSL LoTW QSL sent box is marked as: + Jos uskot, että joitakin QSO:ita olisi pitänyt viedä, etsi niitä ja varmista, että eQSL LoTW QSL lähetetty laatikko on merkitty seuraavasti: + + + Q - Queued - J - Jonossa + J - Jonossa - + + There was an error while exporting the LoTW. The log has not been exported! + LotW viennissä tapahtui virhe. Lokin vienti epäonnistui! + + + Save Cabrillo File + Tallenna Cabrillo Tiedosto + + + + Open File Avaa Tiedosto - - My QTH locator. Format should be Maidenhead like IN70AA up to 10 characters. - Minun QTH lokaattori, Tulisi olla muotoa Maidenhead, kuten IN70AA, enintään 10 merkkiä. + + &Modify + &Muokkaa - + + My QTH locator. Format should be Maidenhead like IN70AA up to 10 characters. + + + + - Needed for DXMarathon - Tarvitaan DXMarathon:iin - + Filling QSOs... Täyttää QSO:t... - + Abort filling Keskeytä täyttäminen - + Filling DXCC, CQz, ITUz, Continent in QSOs... QSO: - Täytetään DXCC, CQz, ITUz ja Manner QSO:ihin... - QSO: + - + Number Numero - + Date Päivämäärä - + Time Aika - + Band Taajuusalue - - + + Mode Tila - + Print Log Tulosta loki - + Printing the log... Tulostetaan lokia... - + Abort printing Keskeytä tulostus - - + + Printing the log... QSO: Tulostetaan lokia... QSO: - + KLog QSO received KLoq QSO vastaanotettu - + The following QSO data has been received from WSJT-X to be logged: Seuraavat QSO tiedot vastaanotettu WSJT-X:ltä kirjattaviksi: - + Call Kutsutunnus - + Freq Taajuus - + Time On Lähetys alkaa - + Time Off Lähetys päättyy - + RST TX RST TX - + RST RX RST RX - + DX-Grid DX-Verkko - + Comments Kommentit - + TX Pwr TX teho - + Operator Operaattori - + Local-Grid Paikallisverkko - + + Do you want to keep receiving this alerts? (disabling this alerts will prevent that non-valid modes are detected) + Haluatko jatkossa saada tämän ilmoituksen? (Mikäli ilmoitus poistetaan käytöstä, ei tuettuja tiloja ei tunnisteta) + + + If the received mode is correct, please contact KLog development team and request support for that mode Mikäli vastaanotettu tila on oikea, ota yhteyttä KLog-kehitystiimiin ja pyydä tukea kyseiselle tilalle - - KLog - Duplicated satellite - KLog - Päällekkäinen satelliitti + + A new mode not supported by KLog has been received from an external software or radio: + Uusi moodi jota KLog ei tue, saatiin ulkoisesta ohjelmistosta tai radiosta: - + A duplicated satellite has been detected in the file and will not be imported. Tiedostossa havaittiin päällekkäinen satelliitti, eikä sitä tuoda. - + Please check the satellite information file and ensure it is properly populated. Tarkista satelliitti tiedot-tiedosto ja varmista ettö siellä on kaikki tarvittava. - + Now you will see a more detailed error that can be used for debugging... Nyt näet tarkemmat virhetiedot joita voidaan käyttää vianmäärityksessä... - + An unexpected error ocurred!! Odottamaton virhe tapahtui!! - + If the problem persists, please contact the developers Jos ongelma jatkuu, ota yhteyttä kehitystiimiin - + for analysis: analysointia varten: - + Error in function Virhe funktiossa - + Error code Virhekoodi - + Error text Virheteksti - + Failed query Epäonnistunut kysely - - KLog - Show errors - KLog - Näytä virheet + + Recomendation: + Suositus: - + + Export, periodically, your data to ADIF to prevent a potential data loss. + Vie tietosi ADIF:iin säännöllisesti, välttääksesi tietojesi katoaminen. + + + Do you want to keep showing errors? Haluatko jatkaa virheiden näyttämistä? @@ -3023,77 +2539,77 @@ UDP-palvelin ei onnistunut %1. MainWindowInputEQSL - + Date of the ClubLog upload. ClubLog:in lähetyksen päivämäärä. - + Date of the eQSL sending. eQSL lähetyksen päivämäärä. - + Date of the eQSL reception. eQSL:n vastaanoton päivämäärä. - + Date of the LoTW sending. LoTW:n lähetyksen päivämäärä. - + Date of the LoTW reception. LoTW vastaanoton päivämäärä. - + Status on ClubLog. ClubLog:n tilanne. - + Status of the eQSL sending. eQSL lähetyksen tilanne. - + Status of the eQSL reception. eQSL vastaanoton tilanne. - + Status of the LoTW sending. LoTW lähetyksren tila. - + Status of the LoTW reception. LoTW vastaanoton tila. - + ClubLog ClubLog - + eQSL Sent eQSL Sent - + eQSL Rec eQSL Vastaanotto - + LoTW Sent LoTW lähetetty - + LoTW Rec LoTW Vastaanotto @@ -3233,66 +2749,66 @@ UDP-palvelin ei onnistunut %1. MainWindowMyDataTab - - Watts + + Watt Wattia - + Keep this data Säilytä nämä tiedot - - + + Data entered in this tab will be copied into the next QSO. - Tähän välilehteen syötetyt tiedot kopioidaan seuraavaan QSO:n. + Tähän välilehteen syötetyt tiedot kopioidaan seuraavaan QSO:n. - + Power used for the QSO in watts. QSO:n käytetty teho Wateissa. - + Logging operator's callsign. Lokinpitäjän kutsutunnus. - + Callsign used over the air. Lähetyksissä käytetty kutsutunnus. - - + + My QTH locator. Minun QTH lokaattori. - + Power Teho - + Operator Operaattori - + Station Callsign Aseman kutsutunnus - + My Locator Minun lokaattori - + My QTH locator. Format should be Maidenhead like IN70AA up to 10 characters. - Minun QTH lokaattori. Tulisi olla muotoa Maidenhead, kuten IN70AA, enintään 10 merkkiä. + @@ -3304,7 +2820,7 @@ UDP-palvelin ei onnistunut %1. - + Other - Sat not in the list Muut - Satelliitti ei ole listalla @@ -3341,7 +2857,7 @@ UDP-palvelin ei onnistunut %1. - + Locator of the DX station. This box is synchronized with the Locator box in the QSO tab. DX aseman lokaattori. Tämä ruutu on sykronisoitu QSO välilehden, lokaattori ruudun kanssa. @@ -3382,602 +2898,536 @@ UDP-palvelin ei onnistunut %1. MHz - + Locator of the DX station. Format should be Maidenhead like IN70AA up to 10 characters. - DX aseman lokaattori. Tulisi olla muotoa Maidenhead, kuten IN70AA, enintään 10 merkkiä. + - + Not Sat QSO Ei Satelliitti QSO - + KLog has detected a satellite name that it does not recognise. If it should use one of the names of known satellites instead, please select it from the list. Alternatively, please contact the development team to add the new satellite name. KLog on havainnut satelliitin nimen, jota se ei tunnista. Jos sen tulisi sen sijaan käyttää jotain tunnettujen satelliittien nimistä sen sijaan, valitse se luettelosta. Vaihtoehtoisesti, voit ottaa yhteyttä kehitystiimiin lisätäksesi uuden satelliitin nimen. - + The satellite you have in your QSO is: QSO:ssa oleva satelliitti on: - - Please be aware that the satellite name will not be saved if it is not in the list, so that information may be lost! - Huomaathat että satelliitin nimeä ei tallenneta, ellei sitä löydy listasta, joten tämä tieto saattaa hävitä! + + Please know that the satellite name will not be saved if it is not in the list so that information may be lost! + Huomaa, että satelliitin nimi ei tallennu, jos se ei ole listalla, joten satelliitin tiedot voivat kadota! - + RX Frequency in MHz. Frequency is not in a hamradio band! - RX Taajuus MHz. + RX Taajuus MHz. Taajuus ei ole oikealla taajuusalueella! - + RX Frequency in MHz. - RX Taajuus MHz:inä. + RX Taajuus MHz:inä. - + TX Frequency in MHz. Frequency is not in a hamradio band! - TX Taajuus MHz. + TX Taajuus MHz. Taajuus ei ole oikealla taajuusalueella! - + TX Frequency in MHz. - TX Taajuus MHz:inä. + TX Taajuus MHz:inä. QObject - + New One, work it! Uusi, wörki se! + + + + + + + - - - - - - - Needed, work it! Tarvitaan, wörki se! - - - - + + + + Worked but not confirmed Wörkitty, mutta ei vahvistettu - + Confirmed Vahvistettu - + Not identified Ei tunnistettu - - + + Database Error Tietokantavirhe - + KLog DB needs to be upgraded. KLog tietokanta pitää päivittää uudempaan. - + Do you want to upgrade it now? Haluatko päivittää uudempaan nyt? - + If DB is not upgraded KLog may not work properly. Jos tietokantaa ei päivitetä, KLog ei välttämättä toimi oikein. - - - - - - KLog - DB update - KLog - tietokantapäivitys - - - + KLog has detected a previous log in the DB. All data will be migrated to a newly created DX type log for you. KLog on havainnut aikaisemman lokin tietokannassa. Kaikki tiedot siirretään juuri luotuun DX tyyppiseen lokiin. - + KLog: Enter Station callsign KLog: Syötä aseman kutsutunnus - + Enter the station callsign used in this log Syötä tässä lokissa käytetty aseman kutsutunnus - + Station Callsign Aseman kutsutunnus - - All the data was migrated correctly. You should now go to Setup->Preferences->Logs to check that everything is okay. - Kaikki tiedot siirrettiin oikein. Sinun tulisi nyt mennä Asetukset->Määritykset(Preferences)->Lokit(Logs) ja tarkistaa että kaikki on kunnossa. + + All the data was migrated correctly. You should now go to Setup->Preferences->Logs to check that everything is OK. + Kaikki tiedot siirrettiin oikein. Sinun pitäisi nyt mennä Asetukset-> Lisäasetukset-> Lokit tarkistaaksesi, että kaikki on OK. - - + + Updating mode information... Päivitetään tilatietoja... - - - - - - - + + + + + + + Abort updating Keskeytä päivittäminen - - - - - + + + + + QSO: QSO: - - - - + + + + Canceling this update will cause data inconsistencies and possibly data loss. Do you still want to cancel? Tämän päivityksen peruuttaminen aiheuttaa epäjohdonmukaisuuksia ja mahdollisen tietojen menettämisen. Haluatko silti peruuttaa? - - - - + + + + Updating bands information... Päivitetään taajuusalue tiedot... - + Updating bands information in %1 status... Päivitetään taajuusalue tiedot %1 tila... - - + + Progress: Eteneminen: - + Updating mode information in %1 status... Päivitetään tilatiedot %1 tila... - + Updating DXCC award information... Päivitetään DXCC palkinto tiedot... - + Updating DXCC Award information... Päivitetään DXCC palkinto tiedot... - + Updating WAZ award information... Päivitetään WAZ palkintotiedot... - + Updating WAZ Award information... Päivitetään WAZ palkintotiedot... - + Updating information... - Tietoja päivitetään... + - + Updating DXCC and Continent information... Päivitetään DXCC- ja manner-tietoja... - + Install wizard was canceled before completing... Asennusohjelma keskeytettiin ennen valmistumista... - + Do you want to remove the KLog dir from your disk? Haluatko poistaa KLog-kansion kiintolevyltä? - + Your KLog dir has been removed KLog-kansio on poistettu + - + - Thank you for running KLog! Kiitos KLogin käyttämisestä! - + I could not remove your KLog dir. You should do it manually if you want it removed from your hard disk. En voinut poistaa KLog-kansiota. Sinun tulee tehdä se manuaalisesti, jos haluat poistaa sen kiintolevyltä. - + Your KLog dir could not be removed. You should do it manually if you want it removed from your hard disk. KLog-kansiota ei voitu poistaa. Sinun tulee tehdä se manuaalisesti, jos haluat poistaa sen kiintolevyltä. - + Remember that your KLog dir is on your system... Muista että KLog-kansio on kiintolevyllä... - - - A wrong call has been found: %1. Please enter a new call or confirm that the current one is a good call. - - - - - An empty callsign has been detected. If it is possible, please enter the right call. - - - - - KLog - Not valid callsign found - - - - - RotatorWidget - - - Rotator - Rotaattori - SearchWidget - + &Clear - T&yhjennä + T&yhjennä + + + + &Export Highlighted + &Vie Korostetut + + + + + + &Select All + Valitse &kaikki - &Export Highlighted - &Vie Korostetut + &Search + &Etsi - - - &Select All - Valitse &kaikki - - - - &Search - &Etsi - - All - Kaikki + Kaikki - + Clear the searches. Tyhjennä etsinnät - + Export the search result to an ADIF file. Vie etsinnän tulokset ADIF-tiedostoon. - + Select/Unselect all the QSOs shown. Valitse/Poista valinnasta kaikki näkyvillä olevat QSO:t. - + Search in the log. Etsi lokista. - + Search in all logs. Etsi kaikista lokeista. + Enter the QRZ to search for. - Syötä etsittävä QRZ. + Syötä etsittävä QRZ. - + Search results. Etsinnän tulokset. - - Select the Station Callsign used to do this QSO. - - - - - + + QRZ QRZ - - + + Date/Time Päivämäärä/aika - - + + Band Taajuusalue - - + + Mode Moodi - - + + QSL Sent QSL Lähetetty - - - + + + QSL Rcvd QSL Vastaanotettu - + Station Callsign Aseman kutsutunnus - - + + ID ID - - All in log - - - - - Not defined - - - - - Searching for the QSOs... -(It may take long in big logs.) - - - - - KLog - Search - - - - - + + &Clear selection - T&yhjennä valinta + T&yhjennä valinta - + Save File Tallenna tiedosto - + QSL Send QSL lähetys - + &Delete - &Poista + &Poista - + Delete a QSO Poista QSO - + &Edit QSO - &Muokkaa QSO:ta + &Muokkaa QSO:ta - + Edit this QSO Muokkaa tätä QSO:ta - + Via &bureau &bureau:n kautta - + Send this QSL via bureau Lähetä tämä QSL bureau:n kautta - + D&irect D&irect - + Send this QSL via direct Lähetä tämä QSL direct:in kautta - + &Request my QSL - Pyy&dä minun QSL + Pyy&dä minun QSL - + Mark my QSL as requested Merkitse minun QSL pyydetyksi - - Via Direct and mark DX QSL as requested - Directin kautta ja merkitse DX QSL pyydetyksi + + Via Direct && mark DX QSL as requested + Direct:in kautta && merkitse DX QSL pyydetyksi - - Send this QSL via direct and mark DX QSL as requested - Lähetä tämä QSL directin kautta ja merkitse DX QSL pyydetyksi + + Send this QSL via direct & mark DX QSL as requested + Lähetä tämä QSL direct:in kautta & merkitse DX QSL pyydetyksi - - Via Bureau and mark DX QSL as requested - Bureau:n kautta ja merkitse DX QSL pyydetyksi + + Via Bureau && mark DX QSL as requested + Bureau:n kautta && merkitse DX QSL pyydetyksi - - Send this QSL via bureau and mark DX QSL as requested - Lähetä tämä QSL bureau:n kautta ja merkitse DX QSL pyydetyksi + + Send this QSL via bureau & mark DX QSL as requested + Lähetä tämä QSL bureau:n kautta & merkitse DX QSL pyydetyksi - - Via bureau and mark my QSL as requested - Bureau:n kautta ja merkitse minun QSL pyydetyksi - - - - QSL received via bureau and mark my QSL as requested - QSL saapunut bureau:n kautta ja merkitse minun QSL pyydetyksi - - - - Direc&t and mark as my QSL requested - Direc&t ja merkitse minun QSL pyydetty - - - - QSL received via direct and mark my QSL as requested - QSL saapunut direct:in kautta ja merkitse minun QSL pyydetyksi - - - + &Request the QSL - Pyydä QSL + Pyydä QSL - - All logs - - - - - Enter the QRZ to search for. Enter '*' to show all the QSOs... it may be slow in big logs! - - - - + Mark the QSL as requested Merkitse QSL pyydetyksi - + + Via bureau && mark my QSL as requested + Bureau:n kautta && merkitse minun QSL pyydetyksi + + + + QSL received via bureau & mark my QSL as requested + QSL vastaanotettu bureau:n kautta & merkitse minun QSL pyydetyksi + + + Via bureau Bureau:n kautta - + QSL received via bureau QSL vastaanotettu bureau:n kautta - + + Direc&t && mark as my QSL requested + Direc&t && merkitse minun QSL pyydetyksi + + + + QSL received via direct & mark my QSL as requested + QSL vastaanotettu direct:in kautta & merkitse minun QSL pyydetyksi + + + Direc&t Direc&t - + QSL received via direct QSL vastaanotettu direct:in kautta - + You have requested to delete the QSO with: %1 Olet pyytänyt poistettaviksi QSO:t joissa on: %1 - + Are you sure? Oletko varma? - + Needed QSO to send the QSL Tarvittava QSO, QSL:n lähetystä varten - + My QSL requested to be sent QSL pyydetty lähetettäväksi - - + + DX QSL pending to be received DX QSL odottaa vastaanottoa @@ -3985,165 +3435,146 @@ Taajuus ei ole oikealla taajuusalueella! SetupDialog - + My Data Minun Tiedot - - - + + + Bands/Modes Taajuusalueet/Moodit - - + + DX-Cluster DX-Klusteri - - - + + + Colors Värit - - - + + + Misc Sekalaiset - - + + World Editor Maailma Editori - - - + + + Logs Lokit - - + + Satellites Satelliitit - - + + HamLib HamLib - - Interfaces - Käyttöliittymät - - - - + + Cancel Peru - - Ok - Ok - - - + + OK OK - - + + Config Dialog Asetusikkuna - - + + User data Käyttäjätiedot - + D&X-Cluster D&X-Klusteri - + ClubLog ClubLog - - LoTW - LoTW - - - + WSJT-X WSJT-X - + You need to enter at least one log in the Logs tab. Ainakin yksi loki on syötettävä Lokit -välilehdellä. - + Do you want to add one log in the Logs tab or exit KLog? (Click Yes to add a log or No to exit KLog) - Haluatko lisätä yhden lokin 'Lokit' välilehdelle, vaiko poistua KLog:sta? -(Napsauta Kyllä lisätäksesi loki tai Ei poistuaksesi) + - + World Maailma + DB has not been moved to new path - Tietokantaa ei ole siirretty + Tietokantaa ei ole siirretty - + Go to the Misc tab and click on Move DB or the DB will not be moved to the new location. Siirry sekalaiset-välilehdelle ja napsauta "siirrä tietokanta" muulloin tietokantaa ei siirretä uuteen paikkaan. - + Go to the User tab and enter valid QRZ. Siirry käyttäjä-välilehdelle ja syötä kelvollinen QRZ. - + You need to enter at least a valid QRZ. Ainakin olemassaoleva QRZ on syötettävä. - - DB has not been moved to new path. - - - - + You have not selected the kind of log you want. Et ole valinnut minkälaisen lokin haluat. - + You will be redirected to the Log tab. Please add and select the kind of log you want to use. Sinut ohjataan lokit -välilehdelle. @@ -4153,113 +3584,113 @@ Lisää, ja valitse millaista lokia haluat käyttää. SetupEntityDialog - + Entity Yksikkö - + CQ CQ - + ITU ITU - + Latitude Leveysaste - + Longitude Pituusaste - + UTC UTC - + Main prefix Ensisijainen etuliite - + ARRL ID ARRL ID - + Prefixes Etuliitteet - + Comma separated possible prefixes, e.g. EA1, EA2, ... Mahdolliset etuliitteet, pilkulla eroteltuina, esim. OH1, OH2, ... - - Ok - Ok - - - + Name of the Entity. Yksikön nimi. - + CQ zone. CQ-vyöhyke. - + ITU zone. ITU-vyöhyke. - - + + Longitude of the Entity. Yksikön pituuspiiri. - + Local time difference to UTC. Paikallinen aikaero UTC:n. - + Main prefix of the entity. Yksikön ensisijainen etuliite. - + ARRL ID. ARRL ID. - + Date of the deletion. Poistamisen päivämäärä. - + Deleted Poistettu - + Cancel Peru - + + OK + OK + + + Entity Dialog Yksikköasetukset @@ -4267,12 +3698,12 @@ Lisää, ja valitse millaista lokia haluat käyttää. SetupPageBandMode - + Bands Taajuusalueet - + Modes Moodit @@ -4280,62 +3711,62 @@ Lisää, ja valitse millaista lokia haluat käyttää. SetupPageClubLog - + &Callsign - &Kutsutunnus + &Kutsutunnus - + ClubLog &password - ClubLog &salasana + ClubLog &salasana - + ClubLog &email - ClubLog s&ähköposti + ClubLog s&ähköposti - + Enter the email you used to register in ClubLog. Syötä sähköposti jota käytit ClubLog:in rekisteröitymiseen. - + Enter the callsign you used to register in ClubLog. Syötä kutsutunnus jota käytit ClubLog:in rekisteröitymiseen. - + Enter your password in ClubLog. Syötä ClubLog salasanasi. - + &Send QSOs in real time - &Lähetä QSO:t reaaliajassa + &Lähetä QSO:t reaaliajassa - + &Activate ClubLog &Aktivoi ClubLog - + Use QSO Station &Callsign Käytä QSO Aseman Kutsutunnusta - + Send each QSO to ClubLog in real time, as they are added (or modified) in KLog. Lähetä QSO:t ClubLogiin reaaliajassa, kun niitä lisätään (tai muokataan) KLogissa. - + Starts the ClubLog support in KLog. Käynnistää ClubLog tuen KLogissa. - + Use the Station Callsign defined in each QSO instead of the one defined here. Käytä QSOissa käytettyä aseman kutsutunnusta, tähän määritetyn tunnuksen sijasta. @@ -4343,77 +3774,77 @@ Lisää, ja valitse millaista lokia haluat käyttää. SetupPageColors - + New One Uusi - + Needed in this band Tarvittu tällä taajuussalueella - + Worked in this band Työstetty tällä taajuusalueella - + Confirmed in this band Vahvistettu tällä taajuusalueella - + Default Oletus - + WSJT-X palette - WSJT-X väripaletti + - + Default palette - Oletusväripaletti + - + Color when the DXCC is an ATNO (All Time New One). - Väri kun DXCC on tyyppiä ATNO (All Time New One). + - + DXCC is confirmed in this band. - DXCC on vahvistettu tällä taajuusalueella. + - + Default color. - Oletusväri. + - + Sets a palette of colors similar to the one used in WSJT-X. - Asettaa väripaletin samankaltaiseksi kuin on käytetty WSJT-X:ssä + - + Sets the default palette. - Asettaa oletusväripaletin. + - + This DXCC was worked before in another band but not in the selected band. It may be needed due to the CQ, ITU, Grid, ... - Tämä DXCC on työstetty aiemmin eri taajuusalueella mutta ei valitulla taajuusalueella. Tämä saattaa olla tarpeellista CQ, ITU, Verkko, ... + - + Worked DXCC, but not confirmed in this band. - Työstetty DXCC, mutta ei vahvistettu tällä taajuusalueella. + - + Choose a color Valitse väri @@ -4421,87 +3852,72 @@ Lisää, ja valitse millaista lokia haluat käyttää. SetupPageDxCluster - + Add Lisää - + Delete Poista - + Show &HF spots Näytä &HF Spotit - + Show V/&UHF spots Näytä V/&UHF spotit - + Show W&ARC spots Näytä W&ARC spotit - + Show &worked spots - Näytä &työstetyt spotit + Näytä &työstetyt spotit - + Show &confirmed spots - Näytä &vahvistetut spotit + Näytä &vahvistetut spotit - + Show ANN/&FULL messages Näytä ANN/&FULL viestit - + Show WW&V messages Näytä WW&V viestit - + Show WC&Y messages Näytä WC&Y viestit - - Save DX Cluster activity - Tallenna DX klusterin aktiviteetit - - - - Saves all the DX-Cluster activity to a file in the KLog folder - Tallentaa kaikki DX-klusterin aktiviteetit tiedostoon KLog kansiossa - - - + DX Spots DX Spotit - - Others - Muut - - - + Messages Viestit - + KLog: Add a DXCluster server KLog: Lisää DX-Klusteripalvelin - + Add the address followed by the :port Example: dxfun.com:8000 If no port is specified, 41112 will be used by default: @@ -4513,393 +3929,311 @@ Jos porttia ei määritetä, Käytetään oletusarvoa 41112: SetupPageHamLib - + Activate HamLib Aktivoi HamLib - + Activates the hamlib support that will enable the connection to a radio. Aktivoi hamlib tuen joka mahdollistaa yhteyden radioon. - + RTS on + RTS päällä + + + Setting RTS may be needed for some serial ports. + RTS:n asetus voi olla vaadittu joillekkin sarjaporteille. + + + DTR on + DTR päällä + + + Setting DTR may be needed for some serial ports. + DTR:n asetus voi olla vaadittu joillekkin sarjaporteille. + + + Read-Only mode - Vain-Luku tila + - + If enabled, the KLog will read Freq/Mode from the radio but will never send any command to the radio. - Jos otettu käyttöön, KLog lukee Taajuuden/Moodin radiolta, mutta ei koskaan lähetä komentoja radiolle. + - + Radio Radio - + Select your rig. Valitse kokoonpanosi. - + Defines the interval to pool the radio in msecs. Määrittää radion kyselyvälin millisekunneissa. - + Pool interval Kyselyväli - + Port Portti - + Select the serial port. Only the serial ports that are detected are shown. Valitse sarjaportti. Vain tunnistetut sarjaportit näytetään. - + Scan - Skannaa + Tunnista - + Click to identify the serial ports available in your computer. Klikkaa tunnistaaksesi saatavilla olevat sarjaportit. - + Bauds Baudia - + Select the serial port speed. Valitse sarjaportin nopeus. - + 5 bits 5 bittiä - + 6 bits 6 bittiä - + 7 bits 7 bittiä - + 8 bits 8 bittiä - + Data bits Data bittejä - + Select the serial data bits. Valitse databittien määrä. - + None Ei mitään - + Hardware Laitteisto - + Software XON/XOFF Ohjelmisto XON/XOFF - + Flow control - Sarjadatan ohjaus + Sarjadatan ohjaus - + Select the serial flow control - Valitse sarjadatan ohjausmenetelmä. + Valitse sarjadatan ohjausmenetelmä. - + No parity Ei pariteettia - + Even Parillinen - + Odd Pariton - + Space - Tyhjä + Tyhjä - + Mark - Merkki + Merkki - + Parity Pariteetti - + Select the serial parity. Valitse sarjadatan pariteetti. - + 1 bit 1 bitti - + 1.5 bits 1.5 bittiä - + 2 bits 2 bittiä - + Stop bits Stop bitit - + Select the serial stop bits. Valitse sarjadatan stop bitit. - - SetupPageInterfacesWindows - - - UDP port number where the PSTRotator Server will listen for packets. - UDP portin numero jossa PSTRotator palvelin kuuntelee paketteja. - - - - Default port is 12040. - Oletusportti on 12040. - - - - PST Rotator UDP Port - PST Rotator UDP Portti - - - - Hostname or IP address of the computer running PSTRotator. Leave it as localhost if you are running KLog and PSTRotator in the same computer. - Tietokone jolla PSTRotator toimii, Isäntänimi tai IP osoite. Jätä tähän localhost jos KLog ja PSTRotator ovat samalla tietokoneella. - - - - PST Rotator host - PSTRotator isäntä - - - - Send antenna bearing to PST Rotator - Lähetä antennin suuntima PST Rotator:lle - - - - SetupPageLoTW - - - LoTW upload - - - - - TQSL Path - TQSL polku - - - - Route to TQSL - Reititä TQSL:lle - - - - Use TQSL - Käytä TQSL:ää - - - - Path to the TQSL software. - TQSL ohjelmiston polku. - - - - Enable the LoTW integration with TQSL. You will need to have TQSL installed - Ota käyttöön LoTW integraatio TQSL:n. TQSL tulee olla asennettu. - - - - User: - - - - - Password: - - - - - Enter your password LoTW here. Warning: The password will be save on clear in the KLog config file!! If you don't want to enter the password, KLog will ask you when it is needed. - - - - - LoTW download - - - - - - Enter your LoTW user - - - - - - Enter your password LoTW here. Warning: The password will be save on clear in the KLog config file!! (If you don't want to enter the password, KLog will ask you when it is needed.) - - - - - Select File - Valitse tiedosto - - SetupPageLogs - + &New - &Uusi + &Uusi - + &Edit - &Muokkaa + &Muokkaa - + &Remove - &Poista + &Poista - + Add a new log. Lisää uusi loki. - + Edit the selected log. Muokkaa valittua lokia. - + Remove the selected log. Poista valittu loki. - + Select the log you want to open. Valitse loki jonka haluat avata. - + KLog KLog - + Do you really want to remove this log? Haluatko varmasti poistaa tämän lokin? - - All the QSOs from this log will also be deleted... - Kaikki tämän lokin QSO:t tullaan myös poistamaan... + + All the QSOs from this log will be also deleted... + Lokista poistetaan myös kaikki QSO:t... - + Log has not been removed. (#3) Lokia ei ole poistettu (#3) - + Log has not been removed. (#2) Lokia ei ole poistettu (#2) - + Log has not been removed. (#1) Lokia ei ole poistettu (#1) - + ID ID - + Date Päivämäärä - + Station Callsign Aseman kutsutunnus - + Operators Operaattorit - + Comments Kommentit - + + Type + Tyyppi + + + An error has occurred showing the following error code: On tapahtunut virhe seuraavalla koodilla: - + KLog - SetupPageLogs KLog - Lokisivujen asetus @@ -4907,302 +4241,371 @@ Jos porttia ei määritetä, Käytetään oletusarvoa 41112: SetupPageLogsNew - + &Date - P&äivämäärä + P&äivämäärä - + &Station Callsign A&seman kutsutunnus - + &Operators - &Operaattorit + Ope&raattorit - + Comm&ent Komm&entti - + &Ok - &Ok + &Ok - + &Cancel - Peru + Peru - + + Select categories + Valitse kategoriat + + + Callsign used for this log. Tässä lokissa käytettävä kutsutunnus. - + Comma separated list of operators: callsign1, callsign2. Pilkulla eroteltu lista operaattoreista: kutsutunnus1, kutsutunnus2. - + Start date of this log. Tämän lokin aloituspäivämäärä. - + Add a comment about this log. Lisää kommentti tästä lokista. - + + Select the kind of operation for this log. + Valitse operaation tyyppi tälle lokille. + + + + Select the mode category. + Valitse moodi kategoria. + + + + Select the operators category. + Valitse operaattorit kategoria. + + + + Select the assisted category. + Valitse avustettu kategoria. + + + + Select the power category. + Valitse tehokategoria. + + + + Select the bands category. + Valitse taajuusaluekategoria. + + + + Select the Overlay category. + Valitse yleiset kategoria. + + + + &Type of Operation + &Toiminnan tyyppi + + + + &Mode Category + &Moodi kategoria + + + + O&perators Category + Operaattorit kategoria + + + + &Assisted Category + Avustettu kategoria + + + + Po&wer Category + Teho kategoria + + + + &Bands Category + Taajuusalue kategoria + + + + O&verlay + Yleisnäkymä + + + + + Categories not OK + Kategoriat ok + + + You need to enter a valid QRZ in the Station Callsign box. The log will not be opened. Aseman kutsutunnus lokeroon tulee syöttää toimiva QRZ. Lokia ei avata. + + + You selected an invalid combination. +The log will not be opened. + Valitsit väärän yhdistelmän. +Lokia ei avata. + + + + Categories OK + Kategoriat OK + SetupPageMisc - + &Imperial system - &Empiirinen järjestelmä + &Empiirinen järjestelmä - + &Log in real time - &Kirjaa lokiin reaaliajassa + &Kirjaa lokiin reaaliajassa - + &Time in UTC - UTC &Aika + UTC &Aika - + &Save ADIF on exit - &Tallenna ADIF kun ohjelma suljetaan + &Tallenna ADIF kun ohjelma suljetaan - + Use this &default filename Käytä tätä &oletus tiedostonimeä - + Mark &QSO to send QSL when QSL is received Merkitse &QSO läheettämään QSL kun QSL on vastaanotettu - + Complete QSO with previous data Täydennä QSO edellisillä tiedoilla - + Show the Station &Callsign used in the search box Näytä hakukentässä käytetty &Asematunnus + &Reset to My Data for all QSOs - &Palauta minun tiedot kaikkiin QSO:ihin + &Palauta minun tiedot kaikkiin QSO:ihin - + &Check for new versions automatically &Tarkista automaattisesti uusien versioiden varalta - + &Provide Info for statistics &Jaa tietoja tilastointia varten - + Manage DX-Marathon - Hallinnoi DX Marathonia + Hallinnoi DX Marathonia - + Activate the application debug log - Aktivoi ohjelman vianhakuloki + - - Mark sent eQSL && LoTW in new QSO as queued - Merkitse lähetetyiksi eQSL && LoTW uusissa QSO:issa kun ne asetetaan jonoon + + Sort log based in date & time + - - + + Browse Selaa - + Move DB Siirrä tietokanta - + QSOs will be marked as pending to send a QSL if you receive the DX QSL and have not sent yours. QSO:t merkataan QSL:n lähetystä odottaviksi, jos DX QSL on saapunut, etkä ole lähettänyt omaasi. - - The search box will also show the callsign on the air to do the QSO. - Hakupalkki näyttää kutsutunnuksen QSO:ta tehdessä myös lähetyksessä. + + The search box will show also the callsign on the air to do the QSO. + Etsintälokero näyttää kutsussa olevan kutsutunnuksen tehdäkseen QSO:n. - - If new version checking is selected, KLog will send the developer your callsign, KLog version and Operating system to help in improving KLog. - Jos version tarkistus on valittu, KLog lähettää kehittäjälle kutsutunnuksen, KLog version, sekä käyttöjärjestelmän, KLog:in kehittämistä varten. - - - - Click to mark as Queued (to be sent) all the eQSL (LoTW and eQSL) in all the new QSO by default. - Napsauta merkataksesi lähetysjonoon kaikki eQSL:t (LoTW ja eQSL) kaikissa uusissa QSO:issa oletuksena. - - - + All the data from the My Data tab will be used or data from the previous QSO will be maintained. Kaikki tiedot Minun Tiedot -välilehdeltä käytetään, tai tiedot edellisestä QSO:sta Säilytetään. - - &Keep My Data for all QSOs - - - - + Check if there is a new release of KLog available every time you start KLog. Tarkista KLog päivitysten varalta joka käynnistyskerralla. - + + If new version checking is selected, KLog will send the developer your callsign, KLog version & Operating system to help in improving KLog. + Jos päivityksien tarkistus on valittu, KLog lähettää kehitystiimille kutsutunnuksesi, KLog version, sekä Käyttöjärjestelmän tiedot, KLogin kehitystä varten. + + + Check it for Imperial system (Miles instead of Kilometers). Tarkista imperiaalisen järjestelmän varalta (Mailit kilometrien sijaan). - + Select to use real time. Valitse käyttääksesi oikeaa aikaa. - + Select to use UTC time. Valitse käyttääksesi UTC -aikaa - + Select if you want to save to ADIF on exit. Valitse jos haluat tallentaa ADIF-tiedostoon kun ohjelma suljetaan. - + Select to use the following name for the logfile without being asked for it again. Valitse käyttääksesi seuraavaa lokitiedoston nimeä ilman että sitä kysytään joka kerta. - + Complete the current QSO with previous QSO data. Täydennä nykyinen QSO edellisen QSO:n tiedoilla. - + Select if you want to manage DX-Marathon. - Valitse jos haluat hallinnoida DX Marathonia. + Valitse jos haluat hallinnoida DX Marathonia. - + This is the default file where ADIF data will be saved. Tämä on oletustiedosto johon ADIF tiedot tallennetaan. - + This is the directory where the database (logbook.dat) will be saved. Tämä on kansio johon tietokanta (logbook.dat) tallennetaan. - + Click to change the default ADIF file. Napsauta vaihtaaksesi oletus ADIF-tiedostoa. - + Click to change the path of the database. Napsauta vaihtaaksesi tietokannan sijainti. - + Click to move the DB to the new directory. Napsauta Siirtääksesi tietokanta uuteen kansioon. - + Activates the application debug log. This may be useful if something is not working as expected. A debug file will be created in the KLog directory. - Aktivoi ohjelman vianhakulokin. Tästä voi olla hyötyä jos jokin ei toimi odotetulla tavalla. Vikaloki luodaan KLog kansioon. + - + + Click to enable that log will be sorted based on date & time when clicking on the date column. It may be a little bit slower. + + + + Open File Avaa tiedosto - + Select Directory Valitse Kansio - + This is the directory where DB (logbook.dat) will be saved. Tämä on kansio johon tietokanta (logbook.dat) tallennetaan. - + Please specify an existing directory where the database (logbook.dat) will be saved. Määritä olemassaoleva kansio johon tietokanta (lokbook.dat) tallennetaan. - - KLog - Move DB - - - - + File moved Tiedosto on siirretty - + File copied Tiedosto on kopioitu - - File already exist. - - - - - The destination file already exist and KLog will not replace it. Please remove the file from the destination folder before moving the file with KLog to make sure KLog can copy the file. - - - - + File NOT copied Tiedostoa EI ole kopioitu - - The file was not copied due to an unknown problem. - - - - + The target directory does not exist. Please select an existing directory. Kohdekansiota ei ole olemassa. Valitse olemassaoleva kansio. @@ -5210,142 +4613,142 @@ Lokia ei avata. SetupPageSats - + &New - &Uusi + &Uusi - + &Edit - &Muokkaa + &Muokkaa - + &Remove - &Poista + &Poista - + &Import - &Tuo + &Tuo - + E&xport - &Vie + &Vie - + Add a new satellite. Lisää uusi satelliitti. - + Edit the selected satellite. Muokkaa valittua satelliittia. - + Remove the selected satellite. Poista valittu satelliitti. - + + Import a satellites file. It will replace the satellites you have now configured. + Tuo satelliittitiedosto. Se korvaa nyt määritellyt satelliitit. + + + Export your current satellites to a file. Vie nykyiset satelliitit tiedostoon. - + Select the sat you want to open. Valitse satelliitti jonka haluat avata. - + KLog KLog - + Do you really want to remove this satellite? Haluatko todella poistaa tämän satelliitin? - - Import a satellites file. It will replace the satellites you have in the current list. - Tuo satelliittitiedosto. Tämä korvaa satelliitit jotka ovat nykyisessä listassa. + + This satellite will not be longer available to be selected ... + Tätä satelliittia ei voi enään valita... - - This satellite will no be longer available to be selected ... - Tämä satelliitti ei ole enään valittavissa ... - - - + Sat has not been removed. (#3) Satelliittia ei ole poistettu. (#3) - + Sat has not been removed. (#2) Satelliittia ei ole poistettu. (#2) - + Sat has not been removed. (#1) Satelliittia ei ole poistettu. (#1) - + ID - ID + ID - + Short Lyhyt tunnus - + Name Nimi - + Uplink Lähetys - + Downlink Vastaanotto - + Modes Moodit - + An error has occurred showing the following error code: On tapahtunut virhe seuraavalla koodilla: - + KLog - SetupPageSats - KLog - AsetussivunTilastot + KLog - AsetussivunTilastot - + Open Satellites File Avaa satelliittitiedosto - + KLog warning KLog varoitus - + An unexpected error ocurred while importing the satellite data. It may be caused because the file you are trying to import does not have the right format. @@ -5354,12 +4757,12 @@ It may be caused because the file you are trying to import does not have the rig Se voi johtua siitä, että tuotava tiedosto on väärän tyyppinen. - + Please check the format or contact the developer for analysis with the error code: Tarkista tiedostotyyppi tai ota yhteyttä kehittäjään, tarkempaa selvitystä varten, virhekoodilla: - + Save Satellites File Tallenna Satelliittitiedosto @@ -5367,496 +4770,463 @@ Se voi johtua siitä, että tuotava tiedosto on väärän tyyppinen. SetupPageSatsNew - + Short name Lyhyt tunnus - + Sat name Satelliitin tunnus - + UpLink - Lähetyslinkki + Lähetyslinkki - + DownLink - Vastaanottolinkki + Vastaanottolinkki - + Modes - Moodit + Moodit - + &Ok - &Ok + &Ok - + &Cancel - P&eru + P&eru - + Enter the short name. Try to use the LoTW short name so you can upload your QSO to LoTW afterwards. Syötä lyhyt tunnus. Yritä käyttää LoTW tunnusta, jotta voit ladata QSO:si LoTW:iin jälkeenpäin. - + Enter the name of the satellite. Syötä satelliitin tunnus. - + Enter the uplink frequencies in this format: 144.300 Syötä lähetystaajuudet muodossa: 144.300 - + Enter the downlink frequencies in this format: 144.300 Syötä vastaanottotaajuudet muodossa: 144.300 - + Enter the modes in this format: USB Syötä moodit muodossa: USB - - Some of the data you have entered is not correct; the satellite can't be added. - Osa syötetyistä tiedoista ei ole oikein; satelliittia ei voida lisätä. + + Some of the data you have entered is not correct, the satellite can't be added. + Jokin syöttämästäsi tiedoista ei ole oikein, satelliittia ei voida lisätä. SetupPageUDP - + Start UDP Server Käynnistä UDP-palvelin - + + Log automatically QSOs from WSJT-X + Kirjaa WSJT-X:stä saadut QSO:t automaattisesti + + + + Allow WSJT-X to send logged QSO to KLog + Salli WSJT-X:n lähettää kirjatut QSO:t KLog:iin + + + + QSO logged in WSJT-X will be sent to KLog and KLog will ask before logging into KLog unless "%1" is selected + WSJT-X:ään kirjatut QSO:t lähetetään KLogiin ja KLog varmistaa ennen KLogiin kirjaamista, ellei "%1" ole valittuna + + + + KLog will log automatically any QSO coming from WSJT-X without any manual confirmation. + KLog kirjaa automaattisesti WSJT-X:stä tulevat QSO:t, ilman manuaalista vahvistusta. + + + + Receive and Update QSO data to KLog + Vastaanota ja päivitä QSO tiedot KLog:iin + + + KLog will automatically show and update data coming from WSJT-X (DX callsign, locator, RPT, ...) KLog näyttää ja päivittää automaattisesti, tiedot jotka tulevat WSJT-X:ltä (DX kutsutunnus, lokaattori, RPT, ...) - - Automatically log QSOs from WSJT-X - Kirjaa QSO:t WSJT-X:stä automaattisesti + + Make sure it is the same port where the other programs are sending the data to. Default port is 2237. + Varmista että se on sama portti johon toiset ohjelmat lähettävät tiedot. Oletusportti on 2237. - - Allow WSJT-X to send logged QSOs to KLog - Salli WSJT-X:n lähettää kirjatut QSO:t KLog:iin - - - - QSOs logged in WSJT-X will be sent to KLog and KLog will ask before logging into KLog unless "%1" is selected - WSJT-X:ssä kirjatut QSO:t lähetetään KLog:iin, KLog kysyy vahvistusta ennen KLog:iin kirjaamista ellei "%1" ole valittuna - - - - KLog will automatically log any QSO coming from WSJT-X without any manual confirmation. - KLog kirjaa automaattisesti kaikki QSO:t jotka tulevat WSJT-X:ltä, ilman manuaalista vahvistusta. - - - - Receive QSOs data and update to KLog - Vastaanota QSO:iden tiedot ja päivitä KLog:iin. - - - + UDP port number where the UDP Server will listen for packets. UDP-portti jolla UDP-palvelin kuuntelee paketteja. - - Make sure it is the same port that the other programs are sending the data to. Default port is 2237. - Varmista että se on sama portti johon muut ohjelmat lähettävät tiedot. Oletus on 2237. - - - + UDP Server will receive QSOs sent from other programs like WSJT-X allowing you to log in KLog automatically from those programs. UDP-palvelin vastaanottaa toisista ohjelmista lähetetyt QSO:t. Kuten WSJT-X, mahdollistaen sinulle automaattisen kirjaamisen näistä ohjelmista KLogiin. - + UDP Port UDP-portti - - QSOs notification timeout (milisecs) - QSO:n ilmoitus aikakatkaisu (ms) + + QSO notification timeout (milisecs) + QSO ilmoituksen aikakatkaisu (millisekuntia) - - Miliseconds that the notification of QSOs received from WSJTX will be shown. - Aika jonka QSO:t vastaanotettu WSJT-X:ltä ilmoitus näytetään, millisekunneissa. + + Milliseconds that the notification of QSO received from WSJTX will be shown. + Aika, millisekunneissa, jonka QSO vastaanotettu WSJTX:ltä, huomautus näytetään. SetupPageUserDataPage - + &Personal data - &Henkilökohtaiset tiedot + &Henkilökohtaiset tiedot - + Station &data - Aseman &tiedot + Aseman &tiedot - + Enter your name. Syötä nimesi. - + Enter your address - 1st line. Syötä osoitteesi - ensimmäinen rivi. - + Enter your address - 2nd line. Syötä osoitteesi - toinen rivi. - + Enter your address - 3rd line. Syötä osoitteesi - kolmas rivi. - + Enter your address - 4th line. Syötä osoitteesi - neljäs rivi. - + Enter your city. Syötä kaupunki. - + Enter your zip code. Syötä postinumero. - + Enter your province or state. Syötä maakunta tai osavaltio. - + Enter your country. Syötä maa. - + &Name &Nimi - + &Address - &Osoite + &Osoite - + Cit&y - &Kaupunki + &Kaupunki - + &Zip Code - &Postinumero + &Postinumero - + Pro&v/State - Maak&unta + Maak&unta - + Countr&y - &Maa + &Maa - - - + + + Enter your information for rig Syötä laitekokoonpanosi tiedot - - - + + + Enter your information for antenna Syötä antennitiedot - + Enter your power information. Syötä tiedot tehonlähteestäsi. - + Enter the station callsign that will be used for logging. Syötä kirjaamiseen käytettävä aseman kutsutunnus. - + &Rig 1 - Kokoonpano 1 + Kokoonpano 1 - + R&ig 2 - Kokoonpano 2 + Kokoonpano 2 - + Ri&g 3 - Kokoonpano 3 + Kokoonpano 3 - + Antenna &1 Antenni &1 - + Antenna &2 Antenni &2 - + Antenna &3 Antenni &3 - + Po&wer - Vi&rtalähde + Vi&rtalähde - + Enter the operators (comma separated if more than one). Syötä operaattorit (pilkulla eroteltuina jos useita). - + Enter the locator of your station. Alternatively, KLog can use an approximate locator based on your callsign. Syötä aseman lokaattori. Vaihtoehtoisesti KLog voi käyttää arvioitua lokaattoria kutsutunnuksesi perusteella. - + &QRZ &QRZ - + &Operators &Operaattorit - + &CQ Zone &CQ Alue - + &ITU Zone &ITU Alue - - + + &Locator &Lokaattori - + &Locator (not valid) - &Lokaattori (virheellinen) + Lokaattori (virheellinen) SetupPageWorldEditor - + Add Lisää - + Delete Poista - + Edit Muokkaa - + Export World Vie maailma - + Import World Tuo maailma - - - - + + + + Still not implemented. Vielä toteuttamatta. - + Import a new cty.csv file Tuo uusi cty.csv-tiedosto - + An entities information file (cty.csv) has been detected in your KLog folder and will be loaded. KLog kansiostasi löytyy yksikkötiedot-tiedosto (cty.csv)joka ladataan. - + No entities information file (cty.csv) has been detected in your KLog folder. KLog kansiostasi ei löydy yksikkötiedot-tiedostoa (cty.csv). - + KLog will not be able to show entities information. KLog ei pysty näyttämään yksikkötietoja. - + Prefix Etuliite - + Entity Yksikkö - + ARRL ID ARRL ID - + Continent Manner - + CQ Zone CQ Vyöhyke - + ITU Zone ITU Vyöhyke - + UTC UTC - + Latitude Leveysaste - + Longitude Pituusaste - + Deleted Poistettu - + Since Date Lähtien päivämäärästä - + To Date Päivämäärään asti - + Open File Avaa Tiedosto - + BigCTY (*.csv) BigCTY (*.csv) - + Entities information has been updated. Yksikkötiedot on päivitetty. - + Entities information has not been updated. Yksikkötietoja ei ole päivitetty. - - ShowAdifImportWidget - - - The following QSOs are those QSOs that you have received the LoTW confirmation. - - - - - Ok - Ok - - - - DX - - - - - Date/Time - Päivämäärä/aika - - - - Band - Taajuusalue - - - - Mode - - - ShowErrorDialog @@ -5961,53 +5331,53 @@ Se voi johtua siitä, että tuotava tiedosto on väärän tyyppinen. Worked / Confirmed status - Workitty / Vahvistettu tila + Workitty / Vahvistettu tila Worked / Sent status - Workitty / Lähetetty tila + Workitty / Lähetetty tila Sent / Confirmed status - Lähetetty / Vahvistettu tila + Lähetetty / Vahvistettu tila StatsCQZPerYearBarChartWidget - + CQ Zones per year CQ Vyöhykkeitä vuodessa - + Reading data ... Luetaan tietoja ... - + Abort reading Peruuta lukeminen - + CQ zones CQ vyöhykkeet - + CQ zones per year CQ vyöhykkeitä vuodessa - + Reading data ... Luetaan tietoja ... - + Years: %1/%2 Vuodet: %1%2 @@ -6017,12 +5387,12 @@ Se voi johtua siitä, että tuotava tiedosto on väärän tyyppinen. Chart title - Listan otsikko + Listan otsikko Reading data ... - Luetaan tietoja ... + Luetaan tietoja ... @@ -6047,7 +5417,7 @@ Se voi johtua siitä, että tuotava tiedosto on väärän tyyppinen. Entities: - Yksiköitä + Yksiköitä @@ -6074,8 +5444,8 @@ Se voi johtua siitä, että tuotava tiedosto on väärän tyyppinen. - QSOs per band distribution - QSO:t taajuuksia kohden jakauma + QSO per band distribution + QSO:t taajuusaluejakauman mukaan @@ -6223,8 +5593,8 @@ Se voi johtua siitä, että tuotava tiedosto on väärän tyyppinen. - QSOs per mode distribution - QSO:t moodia kohden jakauma + QSO per mode distribution + QSO:t moodijakauman mukaan @@ -6417,141 +5787,116 @@ Se voi johtua siitä, että tuotava tiedosto on väärän tyyppinen. KLog tips - KLog vinkit + Next - Seuraava + Previous - Edellinen + <b>Tip #1:</b><br>Do you know...<br>You can use <a href="#ToolsFillInQSO">Tools->Fill in QSO data</a> to automatically read the full log to fill the DXCC, CQ, ITU zones and continent? Translator: Please make sure that the name of the link is coherent with the menu Tools->Fill in QSO data - <b>Vinkki #1:</b><br>Tiesitkö....<br>Voit käyttää <a href="#ToolsFillInQSO">Tools->Fill in QSO data</a> lukeaksesi automaattisesti koko lokin ja täyttääksesi DXCC, CQ, ITU vyöhykkeet ja mantereen? + <b>Tip #2:</b><br>Do you know...<br>You can use <a href="#ToolsFillInDXCC">Tools->Fill in DXCC data</a> to automatically read the full log to fill the DXCC QSO data? Translator: Please make sure that the name of the link is coherent with the menu Tools->Fill in DXCC data - <b>Vinkki #2:</b><br>Tiesitkö....<br>Voit käyttää <a href="#ToolsFillInDXCC">Tools->Fill in DXCC data</a> lukeaksesi automaattisesti koko lokin ja täyttääksesi DXCC QSO tiedot? + <b>Tip #3:</b><br>Do you know...<br>You can use <a href="#ToolsFindQSO2QSL">Tools->QSL tools...->Find QSO to QSL</a> to look for all those QSO that you should send your QSL because you still need to confirm that DXCC and you have still not send your QSL card? Translator: Please make sure that the name of the link is coherent with the menu Tools->QSL tools...->Find QSO to QSL - <b>Vinkki #3:</b><br>Tiesitkö....<br>Voit käyttää <a href="#ToolsFindQSO2QSL">Tools->QSL tools...->Find QSO to QSL</a> etsiäksesi kaikkia QSO:ita joiden DXCC tulee vielä vahvistaa etkä vielä ole lähettänyt QSL korttia? + <b>Tip #4:</b><br>Do you know...<br>You can export your QSO marked as QSL requested with <a href="#FileExportQSLADIFToPrint">File->Export Requested QSL to ADIF...</a> to create an ADIF file that you will be able to import into a QSL tag creation program to print tags for your QSL cards? Translator: Please make sure that the name of the link is coherent with the menu File->Export Requested QSL to ADIF... - <b>Vinkki #4:</b><br>Tiesitkö....<br>Voit viedä QSO:t merkattuina 'QSL pyydetty' menemällä <a href="#FileExportQSLADIFToPrint">File->Export Requested QSL to ADIF...</a> luodaksesi ADIF tiedoston jonka voit tuoda QSL tunniste ohjelmaan, jossa voit tulostaa tunnisteet QSL kortteihisi? - - - <b>Tip #5:</b><br>Do you know...<br>You can export your QSO marked as requested, via LoTW, in your log with <a href="#FileExportLoTWADIF">File->Export ADIF for LoTW...</a> to create an ADIF file that you will be able to import in TQSL to be signed and uploaded to LoTW?<br><br>You have to mark as Q-Queued all the QSOs you want to be exported to be sent to LoTW. - Translator: Please make sure that the name of the link is coherent with the menu File->Export ADIF for LoTW... - <b>Vinkki #5:</b><br>Tiesitkö....<br>Voit viedä lokisi QSO:t merkittyinä "pyydetty LoTW:in kautta" menemällä <a href="#FileExportLoTWADIF">File->Export ADIF for LoTW...</a> luodaksesi ADIF tiedoston jonka voit tuoda TQSL:ään kirjattavaksi ja lähetettäväksi LoTW:iin?<br><br>Sinun tulee merkitä J-Jonoon kaikki QSO:t jotka haluat viedä lähetettäväksi LoTW:iin. - - - - <b>Tip #5:</b><br>Do you know...<br>You can enter a '*' in the search box, in the search window to search for all the QSOs done with one specific station callsign? - + + <b>Tip #5:</b><br>Do you know...<br>You can export your QSO marked as requested, via LoTW, in your log with <a href="#FileExportLoTWADIF">File->Export ADIF for LoTW...</a> to create an ADIF file that you will be able to import in TQSL to be signed and uploaded to LoTW?<br><br>You have to mark as Q-Queued all the QSOs you want to be exported to be sent to LoTW. + Translator: Please make sure that the name of the link is coherent with the menu File->Export ADIF for LoTW... + + + + <b>Tip #6:</b><br>Do you know...<br>You can find the file containing all your log and other information in the logbook.dat file and the klogrc file, containing the KLog config file in the KLog folder by opening the <a href="#FileOpenKLogFolder">File->KLog folder</a> menu? Translator: Please make sure that the name of the link is coherent with the menu File->KLog folder - <b>Vinkki #6:</b><br>Tiesitkö....<br>Löydät tiedoston joka sisältää kaikki lokit ja muun tiedon logbook.dat tiedostosta ja .klogrc tiedoston, joka sisältää KLog asetustiedoston KLog kansiossa avaamalla <a href="#FileOpenKLogFolder">File->KLog folder</a> valikon? + - + <b>Tip #7:</b><br>Do you know...<br>You can find the QSLs that you still need to send with <a href="#ToolsSendPendingQSL">Tools->QSL tools...->Find My-QSLs pending to send</a>.<bR>This tool will list you in the search box all the QSOs with the QSL-Sent marked as <i>Requested</i>. Translator: Please make sure that the name of the link is coherent with the menu QSL tools...->Find My-QSLs pending to send - <b>Vinkki #7:</b><br>Tiesitkö....<br>Löydät QSL:t jotka ovat vielä lähettämättä <a href="#ToolsSendPendingQSL">Tools->QSL tools...->Find My-QSLs pending to send</a>.<bR>Tämä työkalu listaa hakukenttään kaikki QSO:t merkittyinä QSL <i>Pyydetty</i>. + - + <b>Tip #8:</b><br>Do you know...<br>You can find the QSLs that you are still waiting for with <a href="#ToolsReceivePendingQSL">Tools->QSL tools...->Find DX-QSLs pending to receive</a>.<bR>This tool will list you in the search box all the QSOs with the QSL-Sent marked as <i>Sent</i> but you have still not received the QSL card from the DX. Translator: Please make sure that the name of the link is coherent with the menu QSL tools...->Find DX-QSLs pending to receive - <b>Vinkki #8:</b><br>Tiesitkö....<br>Löydät QSL:t joita vielä odotat <a href="#ToolsReceivePendingQSL">Tools->QSL tools...->Find DX-QSLs pending to receive</a>.<bR>Tämä työkalu listaa etsintäkenttään kaikki QSO:t jotka merkitty QSL <i>Lähetetty</i> mutta ei ole vielä saanut QSL korttia DX:ltä. + - + <b>Tip #9:</b><br>Do you know...<br>You can find the QSLs that you are still waiting for with <a href="#ToolsReceiveRecPendingQSL">Tools->QSL tools...->Find requested pending to receive</a>.<bR>This tool will list you in the search box all the QSOs with the QSL-Rec marked as <i>Requested</i> but you have still not received the QSL card from the DX. Translator: Please make sure that the name of the link is coherent with the menu QSL tools...->Find requested pending to receive - <b>Vinkki #9:</b><br>Tiesitkö....<br>Löydät QSL:t joita vielä odotat menemällä <a href="#ToolsReceiveRecPendingQSL">Tools->QSL tools...->Find requested pending to receive</a>.<bR>Tämä työkalu listaa etsintäkentään kaikki QSO:t joissa QSL-rec on merkitty <i>Pyydetty</i> mutta ei ole saanut QSL korttia DX:ltä. + - + <b>Tip #10:</b><br>Do you know...<br>You can subscribe to the <a href=https://t.me/klogchat>English KLog Telegram group</a> to discuss about KLog in English? - <b>Vinkki #10:</b><br>Tiesitkö....<br>Voit liittyä ryhmään <a href=https://t.me/klogchat>English KLog Telegram group</a> keskustellaksesi KLog:sta englanniksi? + - + <b>Tip #11:</b><br>Do you know...<br>You can subscribe to the <a href=https://t.me/KLogES>Spanish Telegram group</a> to discuss about KLog in Spanish? - <b>Vinkki #11:</b><br>Tiesitkö...<br>Voit liittyä ryhmään <a href=https://t.me/KLogES>Spanish Telegram group</a> keskustellaksesi KLog:sta espanjaksi? + - - <b>Tip #12:</b><br>Do you know...<br>You can subscribe to <a href=https://lists.nongnu.org/mailman/listinfo/klog-users>KLog-users mailing list</a> to discuss via email about KLog in English? - <b>Vinkki #12:</b><br>Tiesitkö...<br>Voit liittyä ryhmään <a href=https://lists.nongnu.org/mailman/listinfo/klog-users>KLog-users mailing list</a> keskustellaksesi KLog:sta sähköpostitse englanniksi? + + <b>Tip #12:</b><br>Do you know...<br>You can subscribe to <a href=http://lists.nongnu.org/mailman/listinfo/klog-users>KLog-users mailing list</a> to discuss via email about KLog in English? + - + <b>Tip #13:</b><br>Do you know...<br>You can <a href=https://twitter.com/_ea4k>follow EA4K on twitter</a> to get updates about KLog? - <b>Vinkki #13:</b><br>Tiesitkö...<br>Voit <a href=https://twitter.com/_ea4k>seurata EA4K:ta twitterissä</a> saadaksesi uusimmat tiedot KLog:sta? + - + <b>Tip #14:</b><br>Do you know...<br>You can write your own <a href=https://www.eham.net/reviews/detail/3118>review in eHam.net about KLog</a> to help other users to decide to use KLog? - <b>Vinkki #14:</b><br>Tiesitkö...<br>Voit kirjoittaa oman <a href=https://www.eham.net/reviews/detail/3118>arvostelun KLog:sta sivustolla eHam.net </a> auttaaksesi muita käyttäjiä löytämään KLog:in? + - + <b>Tip #15:</b><br>Do you know...<br>You can join the development team by simply <a href=https://www.klog.xyz/contact>Contacting us</a>? - <b>Vinkki #15:</b><br>Tiesitkö...<br>Voit liittyä kehitystiimiin yksinkertaisesti <a href=https://www.klog.xyz/contact>Ottamalla yhteyttä</a>? + - + <b>Tip #16:</b><br>Do you know...<br>That there are many ways to contribute to KLog and some of them are listed in the <a href=https://www.klog.xyz/contrib>KLog Contribute</a> page? - <b>Vinkki #16:</b><br>Tiesitkö...<br>On monia tapoja antaa oma panoksesi KLog:iin jotkin niistä on mainittu tällä sivulla: <a href=https://www.klog.xyz/contrib>KLog Contribute</a> ? + - + <b>Tip #17:</b><br>Do you know...<br>You can support translating KLog into your language? Please check <a href=https://www.klog.xyz/contrib/translations>KLog Translations</a> page. - <b>Vinkki #17:</b><br>Tiesitkö...<br>Voit auttaa kääntämään KLog:in omalle kielellesi? Käy katsomassa: <a href=https://www.klog.xyz/contrib/translations>KLog Translations</a> . + - - <b>Tip #18:</b><br>Do you know...<br>You can double-click on an entity name in the DXCC table and all the QSOs with that DXCC Entity will be shown in the search box? - <b>Vinkki #18:</b><br>Tiesitkö...<br>Voit kaksoisnapsauttaa yksikön nimeä DXCC listassa ja kaikki kyseisen DXCC yksikön QSO:t näytetään etsintäkentässä? - - - - <b>Tip #19:</b><br>Do you know...<br>You can right-click on a QSO and select <i>Check in QRZ.com</i> to check that callsign in QRZ.com? - <b>Vinkki #19:</b><br>Tiesitkö...<br>Voit napauttaa QSO:ta oikealla hiiren napilla ja valita <i>Check in QRZ.com</i> nähdäksesi kutsutunnuksen QRZ.com:ssa? - - - - <b>Tip #20:</b><br>Do you know...<br>You can see the QSO that confirms one specific DXCC entity in one specific band by poiting your mouse over that band in the DXCC widget? - <b>Vinkki #20:</b><br>Tiesitkö...<br>Voit nähdä QSO:n joka sisältää tietyn DXCC yksikön tietyllä taajuusalueella osoittamalla taajuusaluetta DXCC työkalussa? - - - - <b>Tip #21:</b><br>Do you know...<br>You can upload your QSO marked as queued to LoTW via TQSL with <a href="#ToolsUploadLoTW">Tools->Upload to LoTW...</a> ?<br><br>You have to configure TQSL in the preferences to be able to use this functionality. - Translator: Please make sure that the name of the link is coherent with the menu File->Export ADIF for LoTW... - <b>Vinkki #21:</b><br>Tiesitkö...<br>Voit lähettää QSO:t merkittyinä lähetettäviksi LoTW:iin TQSL:n kautta menemällä <a href="#ToolsUploadLoTW">Tools->Upload to LoTW...</a> ?<br><br>Sinun tulee asettaa TQSL käyttöön asetuksissa, käyttääksesi tätä ominaisuutta. - - - + TIP-Default: Text - Vinkki-Oletus: Teksti + @@ -6595,12 +5940,12 @@ Se voi johtua siitä, että tuotava tiedosto on väärän tyyppinen.Manner - + Reading cty.csv... Luetaan cty.csv... - + Abort reading Keskeytä luku @@ -6610,32 +5955,32 @@ Se voi johtua siitä, että tuotava tiedosto on väärän tyyppinen. World map - Maailman kartta + View - Näkymä + Zoom In(25%) - Lähennä(25%) + Zoom Out(25%) - Loitonna(25%) + Normal Size - Normaali koko + Fit to window - Sovita ikkunaan + diff --git a/translations/klog_fr.ts b/translations/klog_fr.ts index 5d98d537..90f0f765 100644 --- a/translations/klog_fr.ts +++ b/translations/klog_fr.ts @@ -18,18 +18,15 @@ KLog is a free logbook for hamradio operators. KLog est un carnet de trafic libre pour les radioamateurs. - - Please know that this is an BETA release and it may contain many bugs.<br>Backup your data before using this software! - Veuillez prendre note qu'il s'agit d'une version BETA et qu'elle peut contenir de nombreux bogues.<br>Sauvegardez vos données avant d'utiliser ce logiciel! - - - KLog has been fully rewritten from the 0.6.2 to be able to provide a cross-platform application that runs in the main operating systems (Linux, macOS & Windows) and provide new functionalities that KLog was not providing. - KLog a été complétement réécrit depuis la version 0.6.2 pour pouvoir fournir une application multi-plateformes pour les principaux systèmes d'exploitation (Linux, macOS & Windows) et fourni de nouvelles fonctionnalités que KLog ne fournissait pas. - - Please be aware that this is a development release and it may contain many bugs.<br>Backup your data before using this software! - + Please know that this is an BETA release and it may contain many bugs.<br>Backup your data before using this software! + Veuillez prendre note qu'il s'agit d'une version BETA et qu'elle peut contenir de nombreux bogues.<br>Sauvegardez vos données avant d'utiliser ce logiciel! + + + + KLog has been fully rewritten from the 0.6.2 to be able to provide a cross-platform application that runs in the main operating systems (Linux, macOS & Windows) and provide new functionalities that KLog was not providing. + KLog a été complétement réécrit depuis la version 0.6.2 pour pouvoir fournir une application multi-plateformes pour les principaux systèmes d'exploitation (Linux, macOS & Windows) et fourni de nouvelles fonctionnalités que KLog ne fournissait pas. @@ -66,6 +63,11 @@ If KLog is still not in your language and you want to help us, you are welcome to contact us through the <a href="https://lists.nongnu.org/mailman/listinfo/klog-devel">KLog development mailing list</a>! Si KLog n'est pas encore disponible dans votre langue et que vous souhaitez nous aidez, rejoignez-nous sur la <a href="https://lists.nongnu.org/mailman/listinfo/klog-devel">liste de diffusion KLog dédiée au développement</a> ! + + + KLog developers have included a feature that reports some user data to the KLog server with the sole purpose of identifying the number of installed versions, to focus development in one direction or another taking into account user's needs. + + Be aware that you can enable/disable this feature from the Misc tab in the Setup page. @@ -76,11 +78,6 @@ You can also help us by sending bug reports or small code contributions, ideas or whatever you think may improve KLog. Vous pouvez aussi nous aider en postant des rapports de bogues ou de petites contributions au code source, idées ou tout ce qui selon vous, pourrait améliorer KLog. - - - Since 0.6.2, KLog has been fully rewritten to provide a cross-platform application that runs on all major operating systems (Linux, macOS and Windows) and to support new functionality. - - If you want to provide support you are welcome to join the <a href="https://lists.nongnu.org/mailman/listinfo/klog-devel">KLog development mailing list</a>! @@ -108,11 +105,6 @@ Privacy advisory Avis de confidentialité - - - KLog developers have included a feature that reports some user data to the KLog server with the sole purpose of identifying the number of installed versions, to focus development in one direction or another taking into account users' needs. - - KLog developers have included a feature that reports some user data to the KLog server with the sole purpose of identifying the number of installed versions, to focus development in one direction or another taking into account user's needs Les développeurs de KLog ont inclus une fonctionnalité qui rapporte quelques données utilisateurs au serveur KLog avec le seul but d'identifier les versions installées, de concentrer le développement dans une direction ou une autre en prenant en compte les besoins de l'utilisateur. @@ -152,94 +144,6 @@ Confidentialité - - AdifLoTWExportWidget - - - Select the Station Callsign that you want to use to upload the log. - - - - - Select the start date to export the QSOs. The default date is the date of the first QSO with this station callsign. - - - - - Select the end date to export the QSOs. The default date is the date of the last QSO with this station callsign. - - - - - Station callsign - - - - - Start date - - - - - End date - - - - - Ok - Ok - - - - Cancel - Annuler - - - - DX - - - - - Date/Time - Date/Heure - - - - Band - Bande - - - - Mode - Mode - - - - Not defined - - - - - All - Tout - - - - QSOs: - - - - - This table shows the QSOs that will be sent to LoTW. - - - - - This table shows the QSOs that will be exported to ADIF. - - - AwardsWidget @@ -338,39 +242,23 @@ - Number of QSOs worked in the selected year. - + Number of QSOs worked on the selected year. + Nombre de QSOs réalisés pour l'année sélectionnée. - Number of DXCCs worked in the selected year. - + Number of DXCC worked on the selected year. + Nombre de DXCC réalisés pour l'annéee sélectionnée. - Number of CQ Zones worked in the selected year. - + Number of CQ Zones worked on the selected year. + Nombre de Zones CQ réalisés pour l'année sélectionné. - Score for the DXMarathon in the selected year. - - - - Number of QSOs worked on the selected year. - Nombre de QSOs réalisés pour l'année sélectionnée. - - - Number of DXCC worked on the selected year. - Nombre de DXCC réalisés pour l'annéee sélectionnée. - - - Number of CQ Zones worked on the selected year. - Nombre de Zones CQ réalisés pour l'année sélectionné. - - Score for the DXMarathon on the selected year. - Score pour le DXMarathon pour l'année sélectionnée. + Score pour le DXMarathon pour l'année sélectionnée. @@ -381,60 +269,52 @@ CTYPage - + Country data download Téléchargement des données des Pays - + KLog needs country data... Klog a besoin des données des pays... - + &Download Télécharger - + &Ignore Ignorer - + Country data needed Données de pays nécessaire + + + KLog uses the cty.csv file from http://www.country-files.com/ to get DXCC information. + KLog utilise le fichier cty.csv depuis http://www.country-files.com/ pour récupérer les informations DXCC. + - KLog uses the cty.csv file from https://www.country-files.com/ to get DXCC information. - + You need to download the cty.csv file if you want KLog to show you the countries, locator, ... of the QSOs you do. + Vous avez besoin de télécharger le fichier cty.csv si vous souhaitez que KLog affiche les pays, le locator… des QSos que vous faîtes. - You need to download the cty.csv file if you want KLog to show you the countries, locator, etc. of the QSOs you do. - - - - KLog uses the cty.csv file from http://www.country-files.com/ to get DXCC information. - KLog utilise le fichier cty.csv depuis http://www.country-files.com/ pour récupérer les informations DXCC. - - - You need to download the cty.csv file if you want KLog to show you the countries, locator, ... of the QSOs you do. - Vous avez besoin de télécharger le fichier cty.csv si vous souhaitez que KLog affiche les pays, le locator… des QSos que vous faîtes. - - - Click on Download to download now. Cliquer sur Télecharger pour télécharger maintenant. - + KLog KLog - + I can't find the host. Please check your network and try again Do you want to try again? Je ne peux pas trouver le serveur distant. Veuillez vérifier votre connexion réseau et réessayez @@ -449,31 +329,27 @@ Souhaitez-vous réessayez ? Mise à jour + ID - ID + ID - + Entity Entité - - Prefix - Préfixe - - - + Pref: Préf : - + CQ: CQ : - + ITU: ITU : @@ -483,7 +359,7 @@ Souhaitez-vous réessayez ? Beam : - + Entity not worked in this band. Entité non contacté sur cette bande @@ -491,124 +367,119 @@ Souhaitez-vous réessayez ? DXClusterWidget - + Click on Connect to connect to the DX-Cluster server Cliquez sur Se connecter pour se connecter au serveur DX-Cluster - - + + Connect Se connecter - - - - + + + + Clear Effacer - + Click on connect to connect to the DX-Cluster Cliquer sur Se connecter pour se connecter au DX-Cluster - + Trying to connect to the server Tentative de connexion au serveur - + + - KLog DXCluster DXCluster KLog - + The host was not found. Please check: Le serveur distant n'a pas été trouvé. Veuillez vérifier : - + - your network connection; - the host name and port settings. - Votre connexion réseau ; - La configuration du nom d'hôte et du port du serveur distant. - + The connection was refused by the peer. Make sure the DXCluster server is running, and check that the host name and port settings are correct. La connexion a été refusée par le serveur distant. Soyez sûr que le serveur DXCluster est lancé et vérifiez que le paramètrage du nom d'hôte du serveur distant et du port sont corrects. - + The following error occurred: %1. L'erreur suivante s'est produite : %1. - + Connected to server Connecté au serveur - - - + + + KLog message Message KLog - - + + Enter your callsign to connect to the cluster: Entrez votre indicatif pour vous connecter au cluster : - + Enter your password to connect to the cluster: (Just hit enter for no password) Entrez votre mot de passe pour vous connecter au cluster : (Tapez juste sur la touche Entrée s'il n'y a pas de mot de passe) - - + + Disconnect Sé déconnecter - + Not logged on, you may need to enter your callsign again. Non connecté, vous devrez peut-être ressaisir votre indicatif. - + Enter here the commands to be sent to the DX-Cluster server. Saisir ici les commandes à envoyer au serveur DX-Cluster - + Connection closed by the server Connexion fermée par le serveur - + Click on Connect to connect to the DX-Cluster server. Cliquer sur "Se connecter" pour se connecter au serveur DX-Cluster. - + Send Envoyer - - - It was not possible to open the file to save the DX-Spots for writing. DX-Cluster activity will not be saved! - - DataProxy_SQLite @@ -617,182 +488,178 @@ Souhaitez-vous réessayez ? Software version in DB is null La version du logiciel dans la BD est null - - No query failed - Aucune requête n'a échoué - - Query didn't failed - + No query failed + Aucune requête n'a échoué - + Aircraft Scatter Common term in hamradio, do not translate if not sure Aircraft Scatter - + Aurora Aurora - + Aurora-E Aurora-E - + Back scatter Common term in hamradio, do not translate if not sure Back scatter - + Earth-Moon-Earth Terre-Lune-Terre - + Sporadic E Sporadique E - + Field Aligned Irregularities Common term in hamradio, do not translate if not sure Field Aligned Irregularities - + F2 Reflection Common term in hamradio, do not translate if not sure F2 Reflection - + Internet-assisted Assisté par Internet - + Ionoscatter Common term in hamradio, do not translate if not sure Ionoscatter - + Meteor scatter Common term in hamradio, do not translate if not sure Meteor scatter - + Terrestrial or atmospheric repeater or transponder Répéteur terrestre ou atmosphérique ou transpondeur - + Rain scatter Common term in hamradio, do not translate if not sure Rain scatter - + Satellite Satellite - + Trans-equatorial Common term in hamradio, do not translate if not sure Trans-équatorial - + Tropospheric ducting Common term in hamradio, do not translate if not sure Tropospheric ducting - - + + Yes Oui - - + + No Non - - + + Requested Demandé - - + + Ignore/Invalid Ignoré/Incorrect - + Validated Validé - + Queued Mis en file d'attente - + Uploaded Téléversé - + Do not upload Ne pas téléverser - + Modified Modifié - + Bureau Common term in hamradio, do not translate if not sure Bureau - + Direct Direct - + Electronic Électronique - + Manager Common term in hamradio, do not translate if not sure Manager - + KLog DXCC DXCC KLog - + All QSOs have been updated with a DXCC and the Continent. Tous les QSOs ont été mis à jour avec le DXCC et le continent. @@ -800,22 +667,22 @@ Souhaitez-vous réessayez ? DownLoadCTY - + Download of cty.csv failed with the following error code: Le téléchargement de cty.csv a échoué avec le code d'erreur suivant : - + Download of cty.csv done. Téléchargement de cty.csv terminé. - + There is already a cty.csv file in the folder but it will be replaced with the new one. Il y a déjà un fichier cty.csv dans le répertoire, il va être remplacé par le nouveau. - + Could not open %1 for writing Ouverture impossible de %1 pour écriture @@ -823,358 +690,201 @@ Souhaitez-vous réessayez ? FileManager + The log that you have selected contains more than just one station callsign. - Le log que vous avez sélectionné contient plus qu'un seul indicatif de station. + Le log que vous avez sélectionné contient plus qu'un seul indicatif de station. + Please select the station callsign you want to export the log from: - Veuillez sélectionner l'indicatif de la station pour lequel vous souhaitez exporter le log : + Veuillez sélectionner l'indicatif de la station pour lequel vous souhaitez exporter le log : + Station Callsign: - Indicatif de la Station : + Indicatif de la Station : + Define Station Callsign - Définissez l'Indicatif de la Station + Définissez l'Indicatif de la Station + You have selected no callsign. KLog will export QSOs without a station callsign defined and those with the call you are entering here. - Vous avez sélectionné pas d'indicatif. KLog exportera les QSOs sans un indicatif de station défini et ceux avec l'indicatif que vous avez saisi ici. + Vous avez sélectionné pas d'indicatif. KLog exportera les QSOs sans un indicatif de station défini et ceux avec l'indicatif que vous avez saisi ici. + Enter the station callsign to use for this log or leave it empty for QSO without station callsign defined: - Entrez l'indicatif de la station à utiliser pour ce log ou laissez vide pour des QSO sans indicatif de station défini : + Entrez l'indicatif de la station à utiliser pour ce log ou laissez vide pour des QSO sans indicatif de station défini : + No station callsign has been selected and therefore no log will be exported - Aucun indicatif de station n'a été sélectionné et par conséquent, aucun log ne sera exporté + Aucun indicatif de station n'a été sélectionné et par conséquent, aucun log ne sera exporté - - - + + Writing ADIF file... En cours d'enregistrement du fichier ADIF... - - - - + + + Abort writing Annuler l'enregistrement - + Exporting LoTW ADIF file... Export vers le fichier ADIF de LoTW... - - - - + + QSO: QSO : - + Writing ADIF file... QSO: Enregistrement du fichier ADIF... QSO : - - - + You have canceled the file export. The file will be removed and no data will be exported. Vous avez annulé l'export du fichier. Le fichier sera supprimé et aucune donnée ne sera exportée. - - KLog - Error - - - - - - The selected log does not exist, please check it again. - - - - - The selected callsign (%1) is not valid, please check it again. - - - - - - The file %1 can't be opened. - - - - - - There are no QSOs pending to be uploaded with that station callsign. - - - - - - - - KLog - Invalid call detected - - - - - - - - An invalid callsign has been detected %1. Do you want to export this callsign anyway (click on Yes) or remove the call from the exported log file? - - - - - - - - Exporting wrong calls may create problems in the applications you are potentially importing this logfile to. It may, however, be a good callsign that is wrongly identified by KLog as not valid. You can, however, edit the ADIF file once the export process is finished. - - - - - - - - - KLog - User cancelled - - - - - - - - + + Do you still want to cancel? Souhaitez-vous toujours annuler ? - - The selected callsign (%1) is not valid, please check it again to export the log. - - - - - Exporting ADIF file... - - - - + Writing Cabrillo file... Enregistre le fichier Cabrillo... - + KLog: Cabrillo Log Export not implemented KLog : L'export du log au format Cabrillo n'est pas implémenté - + I am sorry but the Cabrillo Export To File feature has still not been implemented. Je suis désolé mais la fonctionnalité de conversion du format Cabrillo vers un fichier n'a pas encore été implémenté. - - KLog - File not opened - - - - - It was not possible to open the file %1 for reading. - - - - - KLog was not able to read the LoTW file - - - - + Reading LoTW file... Lecture en cours du fichier LoTW... - - + + Abort reading Lecture interrompue - - Importing LoTW ADIF file... - - - - - KLog - Log selection - - - - + There is more than one log in this logfile. Il y a plus d'un log dans ce fichier de logs. - + All logs will be imported into the current log. Tous les logs seront importés dans le log en cours. - + Do you want to continue? Souhaites-vous continuer ? - + Reading ADIF file... Lecture du fichier ADIF en cours... - + Importing ADIF file... Importation du fichier ADIF en cours... - - KLog - Duplicated QSOs - - - - + It seems that there are some duplicated QSOs in the ADIF file you are importing. Do you want to continue? (Duped QSOs will not be imported) Il semble qu'il y ait quelques QSOs en doublon dans le fichier ADIF que vous importez. Souhaitez vous continuer ? (Les QSOs en doublon ne seront pas importés) - - KLog has found one QSO without the Station Callsign defined. - -Enter the Station Callsign that was used to do this QSO on %1: - - - - - - You have canceled the file import. The file will be removed and no data will be imported. - - - - - Some QSOs of this log, (i.e.: %1) seems to lack RST-TX information. - - - - - Click on Yes to add a default 59 to all QSOs with a similar problem. - - - - - If you select NO, maybe the QSO will not be imported. - - - - - Some QSOs of this log, (i.e.: %1) seems to lack RST-RX information. - - - - - KLog - Apply to all QSOs in this log? - - - + You have cancelled the file import. The file will be removed and no data will be imported. - Vous avez interrompu l'importation du fichier. Le fichier sera retiré et aucune donnée ne sera importée. + Vous avez interrompu l'importation du fichier. Le fichier sera retiré et aucune donnée ne sera importée. + This QSO is not including the minimum data to consider a QSO as valid!. - Ce QSO n'inclue pas le nombre de données minimum pour être considéré comme valide ! + Ce QSO n'inclue pas le nombre de données minimum pour être considéré comme valide ! - + Please edit the ADIF file and make sure that it include at least: Veuillez éditer le fichier ADIF et soyez sûr qu'il contient à minima : - + and et - + This QSO had: Ce QSO a : - - This QSO is not including the minimum data to consider a QSO as valid! - - - - + - The band missing and the following call: - La bande est manquante pour l'indicatif suivant : + - The call missing but was done at this time: - - L'appel a été perdu mais a été réalisé à cette heure : + - L'appel a été perdu mais a été réalisé à cette heure : - + - The mode missing and the following call: - Le mode est manquant pour l'indicatif suivant : - + - The date missing and the following call: - La date est manquante pour l'indicatif suivant : - + - The time missing and the following call: - L'heure est manquante pour l'indicatif suivant : - + Do you want to continue with the current file? Souhaitez-vous continuer avec le fichier en cours ? - + KLog: Not all required data found! KLog : Tous les données requises n'ont pas été trouvés ! - - - KLog - No Station callsign entered. - - - - - KLog has found one QSO without the Station Callsign defined. - -Enter the Station Callsign that was used to do this QSO with %1 on %2: - - - - - - KLog - QSO without Station Callsign + + Some QSO of this log, (i.e.: %1) seems to lack of RST-RX information. @@ -1182,17 +892,24 @@ Enter the Station Callsign that was used to do this QSO with %1 on %2: Ce log semble manquer d'informations sur le TX-RST. - + + Click on Yes to add a default 59 to all QSO with a similar problem. Cliquer sur Oui pour ajouter 59 par défaut à tous les QSO avec un problème similaire. - + + If you select NO, the QSO may not be imported. Si vous sélectionnez NON, le QSO ne peut pas être importé. - + + Some QSO of this log, (i.e.: %1) seems to lack of RST-TX information. + + + + KLog: No RST TX found! KLog : Pas de RST TX trouvé ! @@ -1201,7 +918,7 @@ Enter the Station Callsign that was used to do this QSO with %1 on %2: Ce log semble manquer d'informations sur le RX-RST. - + KLog: No RST RX found! KLog : Pas de RST RX trouvé ! @@ -1339,23 +1056,15 @@ Enter the Station Callsign that was used to do this QSO with %1 on %2: This looks like it's the first time you've run KLog on this computer. Il semble que c'est la première fois que vous lancez KLog sur cet ordinateur. - - KLog is a free hamradio logging program that can run on Linux macOS and Windows. - KLog est un programme de journalisation radioamateur (log) qui peut être utilisé sous Linux, macOS et Windows. - - - It is designed to provide general purpose, DX and contest logging. - Il est conçu pour fournir une journalisation complète des DX et contests. - - KLog is a free hamradio logging program that can run on Linux, macOS, and Windows. - + KLog is a free hamradio logging program that can run on Linux macOS and Windows. + KLog est un programme de journalisation radioamateur (log) qui peut être utilisé sous Linux, macOS et Windows. - It is designed to provide general purpose DX, and contest logging. - + It is designed to provide general purpose, DX and contest logging. + Il est conçu pour fournir une journalisation complète des DX et contests. @@ -1416,161 +1125,6 @@ Enter the Station Callsign that was used to do this QSO with %1 on %2: Sachez que KLog est un logiciel libre. - - LoTWUtilities - - - KLog - LoTW password needed - - - - - Please enter your LoTW password: - - - - - KLog - File exist - - - - - There is a file already existing with the name that will be used. - - - - - The file %1 already exist. Do you want to overwrite? - - - - - KLog - Can't write the file - - - - - KLog was not able to save the file %1. -Error returned: %2 - - - - - The file already %1 exist. - - - - - Downloading data to file: %1. - - - - - - KLog - LoTW download - - - - - KLog - Download error - - - - - The downloading error is: %1 - - - - - There was an error while downloading the file from LoTW. - - - - - KLog - Redirection found - - - - - The remote server redirected our connection to %1 - - - - - Do you want to follow the redirection? - - - - - It was not possible for find the file %1 that has been just downloaded. - - - - - It seems that LoTW has no QSO with the Station Callsign you are using (%1). - - - - - Try again and send the downloaded file (%1) to the KLog developer for analysis. - - - - - KLog downloaded %1 QSOs successfully. Do you want to update your log with the downloaded data? - - - - - KLog - File not found - - - - - KLog can't find the downloaded file. - - - - - KLog - LoTW user/password error - - - - - LoTW server did not recognized your user/password - - - - - Check your user and password and ensure your are using the right one before trying again. - - - - - KLog - LoTW No QSOs - - - - - LoTW sent no QSOs - - - - - KLog - LoTW Unknown error - - - - - KLog can't recognize the file that has been downloaded from LoTW. - - - - - Now KLog will process the downloaded QSO and update your local log. - - - LogModel @@ -1617,202 +1171,118 @@ Error returned: %2 LogWindow - + QSL Send QSL envoyée - + QSL Rcvd QSL reçue - + &Delete Supprimer - + Delete a QSO Supprimer un QSO - + &Edit QSO &Editer un QSO - + Edit this QSO Editer ce QSO - + Via &bureau Via &bureau - + Send this QSL via bureau Envoyer cette QSL via bureau - + D&irect D&irecte - + Send this QSL via direct Envoyer cette QSL via direct - + Via bureau Via bureau - + QSL &received via bureau QSL &reçue via bureau - + Direct Direct - + QSL received via direc&t QSL reçue via direc&t - - Check in QRZ.com - - - - - Check this callsign in QRZ.com - - - - - Check in DXHeat.com - - - - - Check this callsign in DXHeat.com - - - - + You have requested to delete this QSO. Vous avez demandé à effacer ce QSO. - + Are you sure? Êtes-vous sûr ? - - MainQSOEntryWidget - - - - - &Add - &Ajouter - - - - &Clear - Effa&cer - - - - QRZ of the QSO. - QRZ du contact - - - - Band of the QSO. - Bande - - - - Mode of the QSO. - Mode - - - - Date of the QSO. - Date - - - - Time of the QSO. - Heure - - - - Add the QSO to the log. - Ajouter le contact - - - - Clears the QSO entry. - Efface la saisie - - - - KLog will show real time if enabled. - - - - - QRZ - QRZ - - - Invalid characters used in the QRZ - Des caractères invalides ont été utilisés pour le QRZ - - - - &Modify - &Modifier - - MainWindow - + Starting KLog Démarrage de Klog + + + + &Add - &Ajouter + &Ajouter + &Clear - Effa&cer + Effa&cer + Status bar... - Bar d'état... + Bar d'état... - - + DX Entity Entité DX - + &Log Window Fenêtre de &log @@ -1832,28 +1302,28 @@ Error returned: %2 MHz - - + + KLog KLog - + It seems that you have never done a backup or exported your log to ADIF. - + It seems that the latest backup you did is older than one month. - + Log backup recommended! - + It is a good practice to backup your full log regularly to avoid loosing data in case of a problem. Once you export your log to an ADIF file, you should copy that file to a safe place, like an USB drive, cloud drive, another computer, ... @@ -1863,82 +1333,73 @@ KLog will remind you to backup on a monthly basis. - + Ready Prêt - + An unexpected error ocurred when trying to add the QSO to your log. If the problem persists, please contact the developer for analysis: Une erreur inattendue s'est produite en essayant d'ajouter votre QSL au fichier de log. Si le problème persiste, veuillez contacter le développeur pour analyse : - - + + You have selected an entity: Vous avez sélectionné une entité : - - + + that is different from the KLog proposed entity: qui est différente de l'entité proposée par KLog : - + Click on the prefix of the correct entity or Cancel to edit the QSO again. Cliquez sur le préfixe de l'entité correcte ou Annuler pour éditer à nouveau le QSO. - + Click on the prefix of the right entity or Cancel to correct. Cliquez sur le préfix de l'entité correcte ou Annuler pour corriger. + Input - Entrée + Entrée - + + RSTrx RSTrx - + + RSTtx RSTtx - - Select the Station Callsign to use when quering LoTW: - - - - - Please check the LoTW setup - - - - - You have not defined a LoTW user or a proper Station Callsign. -Open the LoTW tab in the Setup and configure your LoTW connection. - - - - + + + QRZ QRZ + STX - STX + STX + SRX - SRX + SRX - + Do you really want to exit KLog? Souhaitez-vous quitter KLog ? @@ -1947,15 +1408,16 @@ Open the LoTW tab in the Setup and configure your LoTW connection. NOUVEAU MULT + Invalid characters used in the QRZ - Des caractères invalides ont été utilisés pour le QRZ + Des caractères invalides ont été utilisés pour le QRZ Ready... Prêt... - + &File &Fichier @@ -1968,12 +1430,12 @@ Open the LoTW tab in the Setup and configure your LoTW connection. &Ouvrir... - + &Import from ADIF... &Importer depuis un fichier ADIF... - + Import an ADIF file into the current log. Importer un fichier ADIF dans le log en cours. @@ -1982,488 +1444,352 @@ Open the LoTW tab in the Setup and configure your LoTW connection. &Enregistrer sous... - + Export to ADIF... Exporter vers un fichier ADIF... - + Export the current log to an ADIF logfile. Exporter le log en cours vers un fichier de log ADIF. - + Export all logs to ADIF... Exporter tous les logs en ADIF... - + Export ALL the QSOs into one ADIF file, merging QSOs from all the logs. Exporter TOUS les QSOs dans un fichier ADIF en fusionnant les QSOs de tous les logs. + Export Requested QSL to ADIF... - Exporter les QSLs demandées en ADIF... + Exporter les QSLs demandées en ADIF... + Export all QSOs requesting QSLs to an ADIF file (e.g. to import it into a QSL tag printing program). - Exporter tous les QSOs avec demande de QSL vers un fichier ADIF (pour par exp. l'importer dans un programme d'impression d'étiquettes de QSL). + Exporter tous les QSOs avec demande de QSL vers un fichier ADIF (pour par exp. l'importer dans un programme d'impression d'étiquettes de QSL). + Export ADIF for LoTW... - Exporter en ADIF pour LoTW... + Exporter en ADIF pour LoTW... + Export an ADIF file to be sent to LoTW. Remember to sign it with TQSL before uploading to LoTW! - Exporter un fichier ADIF à envoyer à LoTW. Pensez à vous connecter avec TSQL avant de téléverser vers LoTW ! + Exporter un fichier ADIF à envoyer à LoTW. Pensez à vous connecter avec TSQL avant de téléverser vers LoTW ! - + &Print Log... Im&primer... - + Print your log. Imprimer votre log - + KLog folder Répertoire de KLog - + Opens the data folder of KLog. Ouvre le répertoire de données de KLog. - + E&xit Quitter - + &Tools Ou&tils - + Fill in QSO data Saisir les données de QSO - + Go through the log reusing previous QSOs to fill missing information in other QSOs. Parcourir le log pour compléter des informations manquantes dans d'autres QSOs en réutilisant de précédents QSOs. + Fill in DXCC data - Saisir les données DXCC + Saisir les données DXCC + Go through the log filling QSOs without a DXCC defined. - Parcourir le log des QSOs renseignés sans DXCC. + Parcourir le log des QSOs renseignés sans DXCC. - + QSL tools... Outils QSL... - + &Find QSO to QSL Rechercher les QSO pour QSL - + Shows QSOs for which you should send your QSL and request the DX QSL. Affiche les QSOs pour lesquels vous devez envoyer votre QSL et demander la QSL DX. - + Find My-QSLs pending to send Rechercher Mes-QSLs en attente d'envoi - + Shows the QSOs with pending requests to send QSLs. You should keep this queue empty! Affiche les QSOs avec des demandes en attente d'envoi de QSLs. Vous devriez conserver cette file vide ! - + &Find DX-QSLs pending to receive Rechercher des QSLs-DX en attente de réception + Shows the DX-QSL that has been requested or QSLs has been sent with no answer. - Affiche les QSL-DX demandées ou les QSLs envoyées sans retour. + Affiche les QSL-DX demandées ou les QSLs envoyées sans retour. - + &Find requested pending to receive Rechercher les demandes en attente de réception + Shows the DX-QSL that has been requested. - Affiche les QSL-DX qui ont été demandées. + Affiche les QSL-DX qui ont été demandées. - + LoTW tools... Outils LoTW... + Queue all QSL to be sent of this log - Mettre en file d'attente toutes les QSLs à envoyer de ce log + Mettre en file d'attente toutes les QSLs à envoyer de ce log + Mark all non sent QSOs in this log as queued to be uploaded. - Marquer tous les QSOs non envoyés de ce log en file d'attente pour être téléversés. + Marquer tous les QSOs non envoyés de ce log en file d'attente pour être téléversés. + Queue all QSL to be sent - Mettre en file d'attente toutes les QSLs à envoyer + Mettre en file d'attente toutes les QSLs à envoyer + Mark all non sent QSOs as queued to be uploaded. - Marquer tous les QSOs non envoyés en file d'attente pour être téléversés. + Marquer tous les QSOs non envoyés en file d'attente pour être téléversés. + Mark as sent all queued QSO of this log - Marquer comme envoyés tous les QSOs en file d'attente de ce log + Marquer comme envoyés tous les QSOs en file d'attente de ce log - + Mark all queued QSOs in this log as sent to LoTW. Marquer tous les QSOs en file d'attente de ce log comme envoyé à LoTW. + Mark all queued QSO as sent - Marquer tous les QSOs en file d'attente comme envoyés + Marquer tous les QSOs en file d'attente comme envoyés - + Mark all queued QSOs as sent to LoTW. Marquer tous les QSOs en file d'attente comme envoyés à LoTW. - - Upload to LoTW - - - - - Sends the log to LoTW calling TQSL. - - - - + &Update cty.csv Mettre à jour cty.csv - - It was not possible to open the debug file for writing. No debug log will be saved! - - - - - - KLog - Not valid call - - - - - - The call %1 is not a valid call. Do you really want to add this call to the log? - - - - - - No DXCC - - - - - - None - Aucun - - - - Shows DX-QSLs for which requests or QSLs have been sent with no answer. - - - - - Shows the DX-QSLs that have been requested. - - - - - Queue all QSLs from this log to be sent - - - - - Mark all non-sent QSOs in this log as queued to be uploaded. - - - - - Queue all QSLs to be sent - - - - - Put all the non-sent QSOs in the queue to be uploaded. - - - - - Mark as sent all queued QSOs of this log - - - - - Mark all queued QSOs as sent - - - - - + + For updated DX-Entity data, update cty.csv. Pour des données d'entités DX mises à jour, mettre à jour cty.csv. - + &Update Satellite Data &Mettre à jour les données de Satellite - + Stats Statistiques - + Show the statistics of your radio activity. Afficher les statistiques de votre activité radio - + &Setup Configuration - + &Setup... Configuration... - + &Help Aide - + Check updates... Vérifier les mises à jour... - + &About... A propos... - + &Tips... Astuces... - + About Qt... A propos de Qt... - - - - - - - - - - - - + + + + + + + + KLog LoTW KLog LoTW + All pending QSO of this log has been marked as queued for LoTW! - Tous les QSOs en attente de ce log ont été marqués comme étant en file d'attente pour LoTW ! + Tous les QSOs en attente de ce log ont été marqués comme étant en file d'attente pour LoTW ! - - + + Now you can go to the File menu to export the LoTW ADIF file and upload it to LoTW. Maintenant, vous pouvez aller dans le menu Fichier pour exporter le fichier ADIF LoTW et le téléverser vers LoTW. + + There was a problem to mark all pending QSO of this log as queued for LoTW! - Il y a eu un problème pour marquer tous les QSOs en attente de ce log comme étant en attente pour LoTW ! + Il y a eu un problème pour marquer tous les QSOs en attente de ce log comme étant en attente pour LoTW ! + All pending QSO has been marked as queued for LoTW! - Tous les QSOs en attente ont été marqués comme étant en file d'attente pour LoTW ! + Tous les QSOs en attente ont été marqués comme étant en file d'attente pour LoTW ! - - KLog - TQSL - - - - - TQSL is not installed or KLog can't find it. Please check the configuration. - - - - - Error #1: The process was cancelled by the user or TQSL was not configured. No QSOs were uploaded. - - - - - Error #2: Upload was rejected by LoTW, please check your data. - - - - - Error #3: The TQSL server returned an unexpected response. - - - - - Error #4: There was a TQSL error. - - - - - Error #5: There was a TQSLLib error. - - - - - Error #6: It was not possible to open the input file. - - - - - Error #7: It was not possible to open the ouput file. - - - - - Error #8: No QSOs were processed since some QSOs were duplicates or out of date range. - - - - - Error #9: Some QSOs were processed, and some QSOs were ignored because they were duplicates or out of date range. - - - - - Error #10: Command syntax error. KLog sent a bad syntax command. - - - - - Error #11: LoTW Connection error (no network or LoTW is unreachable). - - - - - Error #00: Unexpected error. Please contact the development team. - - - - + The log that you have selected contains more than just one station callsign. Le log que vous avez sélectionné contient plus qu'un seul indicatif de station. - + Please select the station callsign you want to mark as sent to LoTW: Veuillez sélectionner l'indicatif de la station que vous souhaitez marquer comme envoyé à LoTW : - + Station Callsign: Indicatif de la Station : - + Define Station Callsign Définir l'indicatif de la Station - + You have selected no callsign. KLog will mark QSOs without a station callsign defined and those with the call you are entering here. Vous n'avez pas sélectionné d'indicatif. KLog marquera les QSOs sans un indicatif de station défini et ceux avec l'indicatif que vous avez saisi ici. - + Enter the station callsign to use for this log or leave it empty for QSO without station callsign defined: Enter l'indicatif de la station à utiliser pour ce log ou laisser vide pour un QSO sans un indicatif de station défini : - - KLog - No station selected - - - - + No station callsign has been selected and therefore no log will be marked Aucun indicatif de station n'a été sélectionné, par conséquent aucun log ne sera marqué + All queued QSO of this log has been marked as sent for LoTW! - Tous les QSOs en file d'attente de ce log ont été marqués comme envoyés pour LoTW ! + Tous les QSOs en file d'attente de ce log ont été marqués comme envoyés pour LoTW ! + There was a problem to mark all queued QSO of this log as sent for LoTW! - Il y a eu un problème pour marquer tous les QSOs en file d'attente de ce log comme envoyés pour LoTW ! + Il y a eu un problème pour marquer tous les QSOs en file d'attente de ce log comme envoyés pour LoTW ! + All queued QSO has been marked as sent to LoTW! - Tous les QSO en file d'attente ont été marqués comme envoyés à LoTW ! + Tous les QSO en file d'attente ont été marqués comme envoyés à LoTW ! + There was a problem to mark all queued QSO of this log as sent to LoTW! - Il y a eu un problème pour marquer tous les QSOs en file d'attente de ce log comme envoyés à LoTW ! + Il y a eu un problème pour marquer tous les QSOs en file d'attente de ce log comme envoyés à LoTW ! - + About... A propos... - + KLog update checking result Résultat de vérification des mises à jour KLog - + Congratulations! Félicitations ! - + You already have the latest version. Vous disposez déjà de la dernière version. @@ -2488,7 +1814,7 @@ Open the LoTW tab in the Setup and configure your LoTW connection. N'importe quel fichier - + You can find the KLog data folder here: Vous pouvez trouver le répertoire de données KLog ici : @@ -2497,330 +1823,199 @@ Open the LoTW tab in the Setup and configure your LoTW connection. DOUBLON - + DX Locator Locator DX - - KLog - Select the Station Callsign. - - - - + My QTH locator. Format should be Maidenhead like IN70AA up to 10 characters. - + TX Frequency in MHz. Frequency is not in a hamradio band! Fréquence d'émission en MHz. La fréquence n'est pas une bande réservée aux radioamateurs ! - + RX Frequency in MHz. Frequency is not in a hamradio band! Fréquence de réception en MHz. La fréquence n'est pas une bande réservée aux radioamateurs ! - + QSO logged from WSJT-X: QSO loggué depuis WSJT-X : - + start démarrer - - KLog - File not open - - - + It was not possible to open the debug file for writting. No debug log will be saved! - Impossible d'ouvrir le fichier de débogage en écriture. Le journal de débogage ne pourra pas être sauvegardé. + Impossible d'ouvrir le fichier de débogage en écriture. Le journal de débogage ne pourra pas être sauvegardé. - - Status bar ... - - - - + KLog new version detected! Nouvelle version de KLog détectée ! - + It seems that you are running this version of KLog for the first time. Il semble que vous exécutiez cette version de KLog pour la première fois. - + The setup will be open to allow you to do any new setup you may need. La fenêtre de configuration va s'ouvrir pour vous permettre de faire toute configuration dont vous avez besoin. - - KLog - Unexpected error - - - - - - Adding non-valid calls to the log may create problems when applying for awards, exporting ADIF files to other systems or applications. - - - - - - KLog - Select correct entity - - - - - KLog - Exit - - - - - Download from LoTW - - - - - All pending QSOs of this log has been marked as queued for LoTW! - - - - - - There was a problem to mark all pending QSOs of this log as queued for LoTW! - - - - - Your log has not been updated. - - - - - No QSO was updated with the data coming from LoTW. This may be because of errors in the logfile or simply because your log was already updated. - - - - - All pending QSOs has been marked as queued for LoTW! - - - - - TQSL finished with no error. - - - - - All queued QSOs of this log has been marked as sent for LoTW! - - - - - There was a problem to mark all queued QSOs of this log as sent for LoTW! - - - - - All queued QSOs has been marked as sent to LoTW! - - - - - There was a problem to mark all queued QSOs of this log as sent to LoTW! - - - - + stop arrêter + It seems that there are no QSO in the database. - Il semble qu'il n'y ait pas de QSO dans la base de données. + Il semble qu'il n'y ait pas de QSO dans la base de données. - + If you are sure that the database contains QSOs and KLog is not able to find them, please contact the developers (see About KLog) for help. Si vous êtes sûr que la base de données contient des QSOs et que KLog ne parvient pas à les trouver, veuillez "contacter les développeurs (voir A propos de KLog) pour de l'aide. - - It seems that there are no QSOs in the database. - - - - - This function is disabled. Go to the Setup->LoTW tab to enable it. - - - - - + + TX Frequency in MHz. Fréquence TX en MHz - - + + RX Frequency in MHz. Fréquence RX en MHz - + Power used by the DX. Puissance utilisé pour le contact - + Logging operator's callsign. Indicatif de la station utilisée pour le log - + Callsign used over the air. Indicatif utilisé sur l'air. - - KLog ADIF export - - - - - No QSOs have been exported to ADIF. - - - - - KLog has exported %1 QSOs to the ADIF file: %2 - - - - - If you uploaded any QSO to LoTW while you were using TQSL you can now mark them as sent in KLog. - -Do you want to mark as Sent all the QSOs uploaded to LoTW? - - - - - There was an error while updating to Yes the LoTW QSL sent information. - - - - - The LoTW upload process has finished and KLog created a file (%1) in your KLog folder. - -Do you want KLog to remove that file? - - - - - The file has been removed. - - - - Please select the station callsign you want to export the log from: - Veuillez sélectionner l'indicatif de la station pour lequel vous souhaitez exporter le log : - - - - - KLog - LoTW - - - - + My QTH locator. Mon QTH locator - + Name of the DX. Nom du contact - + QTH of the DX. QTH du contact - + Locator of the DX. Locator du contact + + QRZ of the QSO. - QRZ du contact + QRZ du contact - + + TX RST. RST TX - + + RX RST. RST RX + + TX Exchange. - Echange TX + Echange TX + + RX Exchange. - Echange RX + Echange RX + + Band of the QSO. - Bande + Bande + + Mode of the QSO. - Mode + Mode + + Date of the QSO. - Date + Date + + Time of the QSO. - Heure + Heure + + Add the QSO to the log. - Ajouter le contact + Ajouter le contact + Clear the box. - Effacer le champ + Effacer le champ - + The logfile has been modified. Le fichier de log a été modifié - + Do you want to save your changes? Voulez-vous sauvegarder vos modifications ? - - + + UDP Server error The UDP server failed to %1. start or stop @@ -2828,27 +2023,28 @@ The UDP server failed to %1. Le serveur UDP à échoué : %1. + Clears the QSO entry. - Efface la saisie + Efface la saisie - + Status of the DX entity. Statut de la contrée contactée - + Name of the DX entity. Nom de la contrée contactée - - + + Name Nom - + QTH QTH @@ -2857,402 +2053,372 @@ Le serveur UDP à échoué : %1. Locator - + Power(rx) Puissance(rx) - + RST(tx) RST(tx) - + RST(rx) RST(rx) - + Freq TX Fréq TX - + Freq RX Fréq RX - + QSO QSO - + QSL QSL - + eQSL eQSL - - + + Comment Commentaire - + Others Autres - + My Data Mes Données - + Satellite Satellite - + DXCC DXCC - + Info Info - - Your log has been updated with the LoTW downloaded QSOs. - - - - - KLog has updated %1 QSOs from LoTW. - - - - + Awards Diplômes - + Search Rechercher - + Log Log - + DX-Cluster Cluster-DX - - - + + + + Save ADIF File Enregistrer le Fichier ADIF + LoTW logfile has been properly exported! - Le fichier de log LoTW a été correctement exporté ! + Le fichier de log LoTW a été correctement exporté ! + Remember to: - Pensez à : + Pensez à : + Before uploading: sign the LoTW log; and - Avant de téléverser : se connecter au log LoTW, et + Avant de téléverser : se connecter au log LoTW, et + After uploading: mark as sent all the queued QSO (LoTW Tools). - Après le téléversement, marquer comme envoyés tous les QSOs en file d'attente (Outils LoTW). + Après le téléversement, marquer comme envoyés tous les QSOs en file d'attente (Outils LoTW). + There was no QSO to be exported. - Il n'y a pas de QSO à exporter. + Il n'y a pas de QSO à exporter. + If you think that some QSO should have been exported, please look for them and ensure that the eQSL LoTW QSL sent box is marked as: - Si vous pensez que certains QSOs auraient du être exportés, veuillez les rechercher et assurez-vous que la case eQSL LoTW QSL est marquée comme : + Si vous pensez que certains QSOs auraient du être exportés, veuillez les rechercher et assurez-vous que la case eQSL LoTW QSL est marquée comme : + Q - Queued - Q - En file d'attente + Q - En file d'attente + There was an error while exporting the LoTW. The log has not been exported! - Une erreur s'est produite pendant l'export vers LoTW. Le log n'a pas été exporté ! + Une erreur s'est produite pendant l'export vers LoTW. Le log n'a pas été exporté ! Save Cabrillo File Sauvegarder le Fichier Cabrillo - + + Open File Ouvrir un Fichier + &Modify - &Modifier + &Modifier - + - Needed for DXMarathon - Nécessaire pour le DXMarathon - + Filling QSOs... Saisir des QSOs... - + Abort filling Annuler la saisie - + Filling DXCC, CQz, ITUz, Continent in QSOs... QSO: Saisir DXCC, zone CQ, zone ITU, Continent dans les QSOs… QSO : - + Number Numéro - + Date Date - + Time Heure - + Band Bande - - + + Mode Mode - + Print Log Imprimer le Log - + Printing the log... Imprimer le log... - + Abort printing Annuler l'impression - - + + Printing the log... QSO: Impression du log… QSO : - + KLog QSO received ASO KLog reçu - + The following QSO data has been received from WSJT-X to be logged: Les données de QSO suivant ont été reçues de WSJT-X pour être logguées : - + Call Indicatif - + Freq Fréq - + Time On Heure de début - + Time Off Heure de fin - + RST TX TX RST - + RST RX RX RST - + DX-Grid DX-Grid - + Comments Commentaires - + TX Pwr Pwr TX - + Operator Opérateur - + Local-Grid Grid-Local - - KLog - Non-supported mode - - - - - A new mode not supported by KLog has been received from an external program or radio: - - - - - Do you want to keep receiving these alerts? (disabling these alerts will prevent non-valid modes being detected) - - - - - Recommendation: - - - - - Periodically export your data to ADIF to prevent a potential data loss. - - - + Do you want to keep receiving this alerts? (disabling this alerts will prevent that non-valid modes are detected) - Souhaitez-vous continuer à recevoir ces alertes ? (la désactivation de ces alertes empêchera que les modes non-valides soient détectés) + Souhaitez-vous continuer à recevoir ces alertes ? (la désactivation de ces alertes empêchera que les modes non-valides soient détectés) - + If the received mode is correct, please contact KLog development team and request support for that mode Si le mode reçu est correct, veuillez contacter l'équipe de développement KLog et demandez le support de ce mode + A new mode not supported by KLog has been received from an external software or radio: - Un nouveau mode non supporté par KLog a été reçu d'un logiciel externe ou d'une radio : + Un nouveau mode non supporté par KLog a été reçu d'un logiciel externe ou d'une radio : - - KLog - Duplicated satellite - - - - + A duplicated satellite has been detected in the file and will not be imported. Un Satellite en doublon a été détecté dans le fichier et ne sera pas importé. - + Please check the satellite information file and ensure it is properly populated. Veuillez vérifier le fichier des informations sur les Satellites et assurez-vous qu'il est proprement rempli. - + Now you will see a more detailed error that can be used for debugging... Vous allez voir une erreur plus détaillée qui pourra être utilisée pour le déboggage... - + An unexpected error ocurred!! Une erreur inattendue s'est produite !! - + If the problem persists, please contact the developers Si le problème persiste, veuillez contacter les développeurs - + for analysis: pour analyse : - + Error in function Erreur dans la fonction - + Error code Code d'erreur - + Error text Texte d'erreur - + Failed query Requête échouée + Recomendation: - Recommandation : + Recommandation : + Export, periodically, your data to ADIF to prevent a potential data loss. - Exporte périodiquement vos données en ADIF pour prévenir une perte de données potentielle. + Exporte périodiquement vos données en ADIF pour prévenir une perte de données potentielle. - - KLog - Show errors - - - - + Do you want to keep showing errors? Voulez-vous continuer à afficher les erreurs ? @@ -3268,77 +2434,77 @@ QSO : MainWindowInputEQSL - + Date of the ClubLog upload. Date du transfert vers ClubLog - + Date of the eQSL sending. Date de l'envoi de l'eQSL - + Date of the eQSL reception. Date de réception de l"eQSL - + Date of the LoTW sending. Date de l'envoi LoTW. - + Date of the LoTW reception. Date de la réception LoTW - + Status on ClubLog. Statut sur ClubLog - + Status of the eQSL sending. Statut de l'envoi de l'eQSL - + Status of the eQSL reception. Statut de la réception de l'eQSL - + Status of the LoTW sending. Statut de l'envoi LoTW - + Status of the LoTW reception. Statut de la réception LoTW - + ClubLog ClubLog - + eQSL Sent eQSL Env. - + eQSL Rec eQSL Reçu - + LoTW Sent LoTW Env. - + LoTW Rec LoTW Reçu @@ -3478,68 +2644,64 @@ QSO : MainWindowMyDataTab + Watt - Watt + Watt - - Watts - Watts - - - + Keep this data Conserver ces données - - + + Data entered in this tab will be copied into the next QSO. Les données saisies dans cet onglet seront réutilisées pour les prochains QSOs - + Power used for the QSO in watts. Puissance utilisée pour le QSO en watts - + Logging operator's callsign. Indicatif de l'opérateur du log. - + Callsign used over the air. Indicatif utilisé sur l'air. - - + + My QTH locator. Mon QTH locator. - + Power Puissance - + Operator Opérateur - + Station Callsign Indicatif de la Station - + My Locator Mon Locator - + My QTH locator. Format should be Maidenhead like IN70AA up to 10 characters. @@ -3553,7 +2715,7 @@ QSO : - + Other - Sat not in the list Autre - Sat n'est pas dans la liste @@ -3590,7 +2752,7 @@ QSO : - + Locator of the DX station. This box is synchronized with the Locator box in the QSO tab. Locator de la station contactée. Ce champ est synchronisé avec le champ Locator de l'onglet QSO @@ -3631,55 +2793,51 @@ QSO : MHz - + Locator of the DX station. Format should be Maidenhead like IN70AA up to 10 characters. - + Not Sat QSO QSO non Sat - + KLog has detected a satellite name that it does not recognise. If it should use one of the names of known satellites instead, please select it from the list. Alternatively, please contact the development team to add the new satellite name. KLog a détecté un nom de satellite qu'il ne reconnaît pas. Si vous préférez utiliser l'un des noms de satellites connus à la place, veuillez le choisir dans la liste. Sinon, veuillez contacter l'équipe de développement pour ajouter le nouveau nom de satellite. - + The satellite you have in your QSO is: Le satellite que vous avez dans votre QSO est : - - Please be aware that the satellite name will not be saved if it is not in the list, so that information may be lost! - - - + Please know that the satellite name will not be saved if it is not in the list so that information may be lost! - Veuillez prendre connaissance que le nom du satellite ne sera pas sauvegardé s'il n'est pas dans la liste donc cette information peut être perdue ! + Veuillez prendre connaissance que le nom du satellite ne sera pas sauvegardé s'il n'est pas dans la liste donc cette information peut être perdue ! - + RX Frequency in MHz. Frequency is not in a hamradio band! Fréquence de réception en MHz. La fréquence n'est pas une bande réservée aux radioamateurs ! - + RX Frequency in MHz. Fréquence RX en MHz - + TX Frequency in MHz. Frequency is not in a hamradio band! Fréquence d'émission en MHz. La fréquence n'est pas une bande réservée aux radioamateurs ! - + TX Frequency in MHz. Fréquence TX en MHz @@ -3687,586 +2845,484 @@ La fréquence n'est pas une bande réservée aux radioamateurs ! QObject - + New One, work it! Un Nouveau, le faire ! + + + + + + + - - - - - - - Needed, work it! Nécessaire, le faire ! - - - - + + + + Worked but not confirmed Réalisé mais non confirmé - + Confirmed Confirmé - + Not identified Non identifié - - + + Database Error Erreur de base de données - + KLog DB needs to be upgraded. La BD de KLog doit être mise à jour. - + Do you want to upgrade it now? Voulez-vous la mettre à jour maintenant ? - + If DB is not upgraded KLog may not work properly. Si la BD n'est pas mise à jour, KLog peut ne pas fonctionner correctement. - - - - - - KLog - DB update - - - - + KLog has detected a previous log in the DB. All data will be migrated to a newly created DX type log for you. KLog a détecté un ancien journal dans la BD. Toutes les données seront migrées vers un nouveau journal de type DX pour vous. - + KLog: Enter Station callsign KLog : Saisir l'indicatif de la Station - + Enter the station callsign used in this log Saisir l'indicatif de la station utilisé dans ce log - + Station Callsign Indicatif de la Station + All the data was migrated correctly. You should now go to Setup->Preferences->Logs to check that everything is OK. - Toutes les données ont été correctement migrées. Vous devriez aller maintenant dans Configuration->Préférences->Journaux pour vérifier que tous est OK. + Toutes les données ont été correctement migrées. Vous devriez aller maintenant dans Configuration->Préférences->Journaux pour vérifier que tous est OK. - - All the data was migrated correctly. You should now go to Setup->Preferences->Logs to check that everything is okay. - - - - - + + Updating mode information... Mise à jour des informations sur les modes... - - - - - - - + + + + + + + Abort updating Mise à jour annulée - - - - - + + + + + QSO: QSO : - - - - + + + + Canceling this update will cause data inconsistencies and possibly data loss. Do you still want to cancel? Annuler cette mise à jour entraînera une altération des données et une perte de données possible. Souhaitez-vous quand même annuler ? - - - - + + + + Updating bands information... Mise à jour des informations de bande... - + Updating bands information in %1 status... Mise à jour des information sur les bandes en statut %1... - - + + Progress: Progression : - + Updating mode information in %1 status... Mise à jour des informations sur les modes en statut %1... - + Updating DXCC award information... Mise à jour des informations sur les diplômes DXCC... - + Updating DXCC Award information... Mise à jour des informations sur les Diplômes DXCC... - + Updating WAZ award information... Mise à jour des informations sur les diplômes WAZ... - + Updating WAZ Award information... Lise à jour des informations sur les Diplômes WAZ... - + Updating information... - + Updating DXCC and Continent information... Mise à jour des informations sur les Contrées DXCC et Continents... - + Install wizard was canceled before completing... L'assistant d'installation a été annulé avant de terminer... - + Do you want to remove the KLog dir from your disk? Voulez-vous supprimer le répertoire KLog de votre disque ? - + Your KLog dir has been removed Votre répertoire KLog a été supprimé + - + - Thank you for running KLog! Merci à vous d'utiliser KLog ! - + I could not remove your KLog dir. You should do it manually if you want it removed from your hard disk. Je n'ai pas pu supprimer votre répertoire KLog. Vous devrez le faire manuellement si vous voulez le supprimer de votre disque-dur. - + Your KLog dir could not be removed. You should do it manually if you want it removed from your hard disk. Votre répertoire KLog ne peut pas être supprimé. Vous devrez le faire manuellement si vous voulez le supprimer de votre disque dur. - + Remember that your KLog dir is on your system... Rappelez-vous que votre répertoire KLog est sur votre système... - - - A wrong call has been found: %1. Please enter a new call or confirm that the current one is a good call. - - - - - An empty callsign has been detected. If it is possible, please enter the right call. - - - - - KLog - Not valid callsign found - - - - - RotatorWidget - - - Rotator - - SearchWidget - + &Clear Effa&cer - + &Export Highlighted &Exporter la Sélection - - - + + + &Select All Tout &Sélectionner - + &Search Rechercher + All - Tout + Tout - + Clear the searches. Effacer les recherches. - + Export the search result to an ADIF file. Exporter le résultat de la recherche vers un fichier ADIF. - + Select/Unselect all the QSOs shown. Sélectionner/Désélectionner tous les QSOs affichés. - + Search in the log. Rechercher dans le log. - + Search in all logs. Rechercher dans tous les logs. + Enter the QRZ to search for. - Saisir le QRZ que vous recherchez. + Saisir le QRZ que vous recherchez. - - All logs - - - - - Enter the QRZ to search for. Enter '*' to show all the QSOs... it may be slow in big logs! - - - - + Search results. Résultats de la recherche - - Select the Station Callsign used to do this QSO. - - - - - + + QRZ QRZ - - + + Date/Time Date/Heure - - + + Band Bande - - + + Mode Mode - - + + QSL Sent QSL Env. - - - + + + QSL Rcvd QSL Reçue - + Station Callsign Indicatif de la Station - - + + ID ID - - All in log - - - - - Not defined - - - - - Searching for the QSOs... -(It may take long in big logs.) - - - - - KLog - Search - - - - - + + &Clear selection Effacer la sélection - + Save File Sauvegarder le Fichier - + QSL Send QSL Envoyée - + &Delete Supprimer - + Delete a QSO Supprimer un QSO - + &Edit QSO &Editer le QSO - + Edit this QSO Editer ce QSO - + Via &bureau Via &bureau - + Send this QSL via bureau Envoyer cette QSL via bureau - + D&irect D&irect - + Send this QSL via direct Envoyer cette QSL via direct - + &Request my QSL Demande&r ma QSL - + Mark my QSL as requested Marquer ma QSL en demandée - - Via Direct and mark DX QSL as requested - - - - - Send this QSL via direct and mark DX QSL as requested - - - - - Via Bureau and mark DX QSL as requested - - - - - Send this QSL via bureau and mark DX QSL as requested - - - - - Via bureau and mark my QSL as requested - - - - - QSL received via bureau and mark my QSL as requested - - - - - Direc&t and mark as my QSL requested - - - - - QSL received via direct and mark my QSL as requested - - - + Via Direct && mark DX QSL as requested - Via Direct && marquer cette QSL DX en demandée + Via Direct && marquer cette QSL DX en demandée + Send this QSL via direct & mark DX QSL as requested - Envoyer cette QSL via direct & marquer la QSL DX en demandée + Envoyer cette QSL via direct & marquer la QSL DX en demandée + Via Bureau && mark DX QSL as requested - Via Bureau && marquer la QSL en demandée + Via Bureau && marquer la QSL en demandée + Send this QSL via bureau & mark DX QSL as requested - Envoyer cette QSL via bureau & marquer la QSL en demandée + Envoyer cette QSL via bureau & marquer la QSL en demandée - + &Request the QSL Demande&r la QSL - + Mark the QSL as requested Marquer la QSL en demandée + Via bureau && mark my QSL as requested - Via bureau && marquer ma QSL en demandée + Via bureau && marquer ma QSL en demandée + QSL received via bureau & mark my QSL as requested - QSL reçue via bureau & marquer ma QSL en demandée + QSL reçue via bureau & marquer ma QSL en demandée - + Via bureau Via bureau - + QSL received via bureau QSL reçue via bureau + Direc&t && mark as my QSL requested - Direc&t && marquer comme ma QSL demandée + Direc&t && marquer comme ma QSL demandée + QSL received via direct & mark my QSL as requested - QSL reçue via direct & marquer ma QSL en demandée + QSL reçue via direct & marquer ma QSL en demandée - + Direc&t Direc&t - + QSL received via direct QSL reçue via direct - + You have requested to delete the QSO with: %1 Vous avez demandé à supprimer le QSO avec : %1 - + Are you sure? Êtes-vous sûr ? - + Needed QSO to send the QSL QSO nécessaire pour envoyer la QSL - + My QSL requested to be sent Mes QSL demandés à envoyer - - + + DX QSL pending to be received QSL DX en attente de réception @@ -4274,165 +3330,147 @@ La fréquence n'est pas une bande réservée aux radioamateurs ! SetupDialog - + My Data Mes données - - - + + + Bands/Modes Bandes/Modes - - + + DX-Cluster Cluster DX - - - + + + Colors Couleurs - - - + + + Misc Divers - - + + World Editor Editeur du Monde - - - + + + Logs Logs - - + + Satellites Satellites - - + + HamLib HamLib - - Interfaces - - - - - + + Cancel Annuler - - Ok - Ok - - - + + OK OK - - + + Config Dialog Fenêtre de Configuration - - + + User data Données utilisateur - + D&X-Cluster Cluster D&X - + ClubLog ClubLog - - LoTW - - - - + WSJT-X WSJT-X - + You need to enter at least one log in the Logs tab. Vous devez saisir au moins un log dans l'onglet Logs. - + Do you want to add one log in the Logs tab or exit KLog? (Click Yes to add a log or No to exit KLog) Souhaitez-vous ajouter un log dans l'onglet des Logs ou quitter KLog ? (Cliquez Oui pour ajouter un log ou Non pour quitter KLog) - + World Monde + DB has not been moved to new path - La Base de Données n'a pas été déplacée vers le noucel emplacement + La Base de Données n'a pas été déplacée vers le noucel emplacement - + Go to the Misc tab and click on Move DB or the DB will not be moved to the new location. Aller dans l'onglet "Divers" et cliquer sur "Déplacer la base de données" sinon la base de données ne sera pas déplacée vers le nouvel emplacement. - + Go to the User tab and enter valid QRZ. Aller dans l'onglet "Utilisateur" et saisir un QRZ valide. - + You need to enter at least a valid QRZ. Vous devez au moins saisir un QRZ valide. - - DB has not been moved to new path. - - - - + You have not selected the kind of log you want. Vous n'avez pas choisi le type de log que vous souhaitez. - + You will be redirected to the Log tab. Please add and select the kind of log you want to use. Vous allez être redirigé vers l'onglet Log. @@ -4442,117 +3480,113 @@ Veuillez ajouter et choisir le type de log que vous souhaitez utiliser. SetupEntityDialog - + Entity Entité - + CQ CQ - + ITU ITU - + Latitude Latitude - + Longitude Longitude - + UTC UTC - + Main prefix Préfix principal - + ARRL ID ID ARRL - + Prefixes Préfixes - + Comma separated possible prefixes, e.g. EA1, EA2, ... Préfixes possibles séparés par des virgules : EA1, EA2... - - Ok - Ok - - - + Name of the Entity. Nom de la Contrée - + CQ zone. Zone CQ - + ITU zone. Zone ITU - - + + Longitude of the Entity. Longitude de la Contrée DXCC - + Local time difference to UTC. Différence entre l'heure locale et l'heure UTC - + Main prefix of the entity. Préfixe principal de la contrée - + ARRL ID. ID ARRL - + Date of the deletion. Date de suppression - + Deleted Supprimé - + Cancel Annuler + OK - OK + OK - + Entity Dialog Fenêtre de l'entité @@ -4560,12 +3594,12 @@ Veuillez ajouter et choisir le type de log que vous souhaitez utiliser. SetupPageBandMode - + Bands Bandes - + Modes Modes @@ -4573,62 +3607,62 @@ Veuillez ajouter et choisir le type de log que vous souhaitez utiliser. SetupPageClubLog - + &Callsign Indi&catif - + ClubLog &password ClubLog mot de &passe - + ClubLog &email ClubLog &email - + Enter the email you used to register in ClubLog. Entrez le mail utilisé lors de votre inscription à ClubLog - + Enter the callsign you used to register in ClubLog. Entrez l'indicatif utilisé lors de votre enregistrement à ClubLog - + Enter your password in ClubLog. Entrez votre mot de passe ClubLog - + &Send QSOs in real time Envoyer les QSOs en temps réel - + &Activate ClubLog &Activer ClubLog - + Use QSO Station &Callsign Utiliser l'Indicatif de la Station du QSO - + Send each QSO to ClubLog in real time, as they are added (or modified) in KLog. Envoyer chaque QSO à ClubLog en même temps qu'ils sont ajoutés ou modifiés dans KLog - + Starts the ClubLog support in KLog. Activer le support de ClubLog dans KLog - + Use the Station Callsign defined in each QSO instead of the one defined here. Utiliser l'indicatif de station défini dans chaque QSO au lieu de celui défini ici @@ -4636,62 +3670,62 @@ Veuillez ajouter et choisir le type de log que vous souhaitez utiliser. SetupPageColors - + New One Un Nouveau - + Needed in this band Nécessaire dans cette bande - + Worked in this band Contacté dans cette bande - + Confirmed in this band Confirmé dans cette bande - + Default Défaut - + WSJT-X palette Palette WSJT-X - + Default palette Palette par défaut - + Color when the DXCC is an ATNO (All Time New One). - + DXCC is confirmed in this band. - + Default color. - + Sets a palette of colors similar to the one used in WSJT-X. - + Sets the default palette. @@ -4700,12 +3734,12 @@ Veuillez ajouter et choisir le type de log que vous souhaitez utiliser.Couleur lorsque le DXCC est un ATNO (un "tout nouveau") - + This DXCC was worked before in another band but not in the selected band. It may be needed due to the CQ, ITU, Grid, ... Ce DXCC a déjà été réalisé sur une autre bande mais pas dans la bande sélectionnée. Cela peut être dû au CQ, ITU, Grid... - + Worked DXCC, but not confirmed in this band. DXCC réalisé mais non confirmé sur cette bande. @@ -4726,7 +3760,7 @@ Veuillez ajouter et choisir le type de log que vous souhaitez utiliser.Configurer la palette par défaut - + Choose a color Choisir une couleur @@ -4734,87 +3768,72 @@ Veuillez ajouter et choisir le type de log que vous souhaitez utiliser. SetupPageDxCluster - + Add Ajouter - + Delete Supprimer - + Show &HF spots Afficher les spots &HF - + Show V/&UHF spots Afficher les spots V/&UHF - + Show W&ARC spots Afficher les spots W&ARC - + Show &worked spots Afficher les spots contactés - + Show &confirmed spots Afficher les spots &confirmés - + Show ANN/&FULL messages Afficher les messages ANN/&FULL - + Show WW&V messages Afficher les messages WW&V - + Show WC&Y messages Afficher les messages WC&Y - - Save DX Cluster activity - - - - - Saves all the DX-Cluster activity to a file in the KLog folder - - - - + DX Spots Spots DX - - Others - Autres - - - + Messages Messages - + KLog: Add a DXCluster server KLog : Ajouter un serveur Cluster DX - + Add the address followed by the :port Example: dxfun.com:8000 If no port is specified, 41112 will be used by default: @@ -4826,401 +3845,295 @@ Si aucun port n'est précisé, le port 41112 sera utilisé par défaut : SetupPageHamLib - + Activate HamLib Activer HamLib - + Activates the hamlib support that will enable the connection to a radio. Activer le support hamlib pour permettre la connexion à un transceiver. - + Read-Only mode - + If enabled, the KLog will read Freq/Mode from the radio but will never send any command to the radio. - + Radio Radio - + Select your rig. Sélectionnez votre rig - + Defines the interval to pool the radio in msecs. Définir l'intervalle de polling avec la radio en millisecondes. - + Pool interval Intervalle de pooling - + Port Port - + Select the serial port. Only the serial ports that are detected are shown. Sélectionner le port série. Seuls les ports série détectés sont affichés. - + Scan Scanner - + Click to identify the serial ports available in your computer. Cliquer pour identifier les ports série disponible sur votre ordinateur - + Bauds Bauds - + Select the serial port speed. Sélectionner la vitesse du port série - + 5 bits 5 bits - + 6 bits 6 bits - + 7 bits 7 bits - + 8 bits 8 bits - + Data bits Bits de données - + Select the serial data bits. Sélectionner les bits de données - + None Aucun - + Hardware Matériel - + Software XON/XOFF Software XON/XOFF - + Flow control Contrôle de flux - + Select the serial flow control Sélectionner le contrôle de flux - + No parity Pas de parité - + Even Pair - + Odd Impair - + Space Espace - + Mark Marque - + Parity Parité - + Select the serial parity. Sélectionner la parité - + 1 bit 1 bit - + 1.5 bits 1,5 bits - + 2 bits 2 bits - + Stop bits Bits d'arrêt - + Select the serial stop bits. Sélectionner les bits d'arrêt - - SetupPageInterfacesWindows - - - UDP port number where the PSTRotator Server will listen for packets. - - - - - Default port is 12040. - - - - - PST Rotator UDP Port - - - - - Hostname or IP address of the computer running PSTRotator. Leave it as localhost if you are running KLog and PSTRotator in the same computer. - - - - - PST Rotator host - - - - - Send antenna bearing to PST Rotator - - - - - SetupPageLoTW - - - LoTW upload - - - - - TQSL Path - - - - - Route to TQSL - - - - - Use TQSL - - - - - Path to the TQSL software. - - - - - Enable the LoTW integration with TQSL. You will need to have TQSL installed - - - - - User: - - - - - Password: - - - - - Enter your password LoTW here. Warning: The password will be save on clear in the KLog config file!! If you don't want to enter the password, KLog will ask you when it is needed. - - - - - LoTW download - - - - - - Enter your LoTW user - - - - - - Enter your password LoTW here. Warning: The password will be save on clear in the KLog config file!! (If you don't want to enter the password, KLog will ask you when it is needed.) - - - - - Select File - - - SetupPageLogs - + &New &Nouveau - + &Edit &Editer - + &Remove Supp&rimer - + Add a new log. Ajouter un nouveau log - + Edit the selected log. Éditer le log sélectionné - + Remove the selected log. Supprimer le log sélectionné - + Select the log you want to open. Choisir le log à éditer - + KLog KLog - + Do you really want to remove this log? Souhaitez-vous réellement retirer ce log ? - - All the QSOs from this log will also be deleted... - - - + All the QSOs from this log will be also deleted... - Tous les QSOs de ce log seront également supprimés... + Tous les QSOs de ce log seront également supprimés... - + Log has not been removed. (#3) Le log n'a pas été retiré. (#3) - + Log has not been removed. (#2) Le log n'a pas été retiré. (#2) - + Log has not been removed. (#1) Le log n'a pas été retiré. (#1) - + ID ID - + Date Date - + Station Callsign Indicatif de la Station - + Operators Opérateurs - + Comments Commentaires + Type - Type + Type - + An error has occurred showing the following error code: Une erreur s'est produite avec le code d'erreur suivant : - + KLog - SetupPageLogs KLog - Page de configuration des journaux @@ -5228,384 +4141,371 @@ Si aucun port n'est précisé, le port 41112 sera utilisé par défaut : SetupPageLogsNew - + &Date &Date - + &Station Callsign Indicatif de la &Station - + &Operators &Opérateurs - + Comm&ent Comm&entaire - + &Ok &Ok - + &Cancel &Annuler + Select categories - Sélectionner les catégories + Sélectionner les catégories - + Callsign used for this log. Indicatif utilisé pour ce log - + Comma separated list of operators: callsign1, callsign2. Liste d'opérateurs séparés par une virgule : indicatif1, indicatif2... - + Start date of this log. Date de démarrage du log - + Add a comment about this log. Ajouter un commentaire pour ce log + Select the kind of operation for this log. - Choisir le type d'opération pour ce log + Choisir le type d'opération pour ce log + Select the mode category. - Choisir la catégorie "Mode" + Choisir la catégorie "Mode" + Select the operators category. - Choisir la catégorie "Opérateurs" + Choisir la catégorie "Opérateurs" + Select the assisted category. - Choisir la catégorie "Assisté" + Choisir la catégorie "Assisté" + Select the power category. - Choisir la catégorie de Puissance + Choisir la catégorie de Puissance + Select the bands category. - Choisir la catégorie "Bande" + Choisir la catégorie "Bande" + Select the Overlay category. - Choisir la catégorie "Overlay" + Choisir la catégorie "Overlay" + &Type of Operation - &Type d'Opération + &Type d'Opération + &Mode Category - Catégorie du &Mode + Catégorie du &Mode + O&perators Category - Catégorie des O&pérateurs + Catégorie des O&pérateurs + &Assisted Category - Catégorie &Assistée + Catégorie &Assistée + Po&wer Category - Catégorie de Puissance + Catégorie de Puissance + &Bands Category - Catégories de &Bandes + Catégories de &Bandes + O&verlay - Revêtement + Revêtement + + Categories not OK - Les catégories ne sont pas OK + Les catégories ne sont pas OK - + You need to enter a valid QRZ in the Station Callsign box. The log will not be opened. Vous avez besoin de renseigner un QRZ valide dans le champ Indicatif de la Station. Le log ne s'ouvrira pas. + You selected an invalid combination. The log will not be opened. - Vous avez sélectionné une combinaison invalide. + Vous avez sélectionné une combinaison invalide. Le log ne s'ouvrira pas. + Categories OK - Catégories OK + Catégories OK SetupPageMisc - + &Imperial system Système &Impérial - + &Log in real time Journalisation en temps réel - + &Time in UTC Heure en UTC - + &Save ADIF on exit &Sauvegarder l'ADIF en quittant - + Use this &default filename Utiliser ce nom de fichier par &défaut - + Mark &QSO to send QSL when QSL is received Marquer le &QSO pour envoyer une QSL quand la QSL est reçue - + Complete QSO with previous data Compléter le QSO avec les données du précédent - + Show the Station &Callsign used in the search box Afficher l'indicatif de la station utilisée dans le champ de recherche + &Reset to My Data for all QSOs - Réinitialiser mes données pour tous les QSOs + Réinitialiser mes données pour tous les QSOs - + &Check for new versions automatically Vérifier les nouvelles versions automatiquement - + &Provide Info for statistics Fournir des informations pour les statistiques - + Manage DX-Marathon Gérer le DX-Marathon - + Activate the application debug log Activer le journal de débogage de l'application - - Mark sent eQSL && LoTW in new QSO as queued + + Sort log based in date & time - - + + Browse Parcourir - + Move DB Déplacer la BD - + QSOs will be marked as pending to send a QSL if you receive the DX QSL and have not sent yours. Les QSOs seront marqués en attente pour envoyer une QSL si vous recevez la QSL et que vous n'avez pas encore retourné la vôtre - - The search box will also show the callsign on the air to do the QSO. - - - - - If new version checking is selected, KLog will send the developer your callsign, KLog version and Operating system to help in improving KLog. - - - - - Click to mark as Queued (to be sent) all the eQSL (LoTW and eQSL) in all the new QSO by default. - - - + The search box will show also the callsign on the air to do the QSO. - La boîte de recherche affichera aussi l'indicatif sur l'air pour réaliser le QSO + La boîte de recherche affichera aussi l'indicatif sur l'air pour réaliser le QSO - + All the data from the My Data tab will be used or data from the previous QSO will be maintained. Toutes les données de l'onglet Mes Données seront utilisés ou les données du QSO précédent seront conservées - + Check if there is a new release of KLog available every time you start KLog. Vérifier si une nouvelle version de KLog est disponible chaque fois que vous lancez KLog + If new version checking is selected, KLog will send the developer your callsign, KLog version & Operating system to help in improving KLog. - Si ce champ est côché, KLog enverra au développeur votre indicatif, version de KLog & Système d'exploitation pour aider à améliorer KLog + Si ce champ est côché, KLog enverra au développeur votre indicatif, version de KLog & Système d'exploitation pour aider à améliorer KLog - - &Keep My Data for all QSOs - - - - + Check it for Imperial system (Miles instead of Kilometers). Cocher pour le système Imperial (Miles au lieu de Kilomètres) - + Select to use real time. Sélectionner pour utiliser l'heure en temps réel. - + Select to use UTC time. Sélectionnez pour utiliser l'heure UTC - + Select if you want to save to ADIF on exit. Sélectionnez si vous souhaitez enregistrer vers ADIF en quittant - + Select to use the following name for the logfile without being asked for it again. Sélectionnez pour utiliser le nom indiqué pour le fichier de log sans que cela soit à nouveau demandé - + Complete the current QSO with previous QSO data. Complète le QSO en cours avec les données du QSO précédent - + Select if you want to manage DX-Marathon. Sélectionner pour gérer le DX-Marathon - + This is the default file where ADIF data will be saved. Fichier par défaut où les données ADIF seront sauvegardées - + This is the directory where the database (logbook.dat) will be saved. Répertoire où la base de données (logbook.dat) sera sauvegardée - + Click to change the default ADIF file. Cliquez pour changer le fichier ADIF par défaut. - + Click to change the path of the database. Cliquez pour modifier le chemin de la base de données. - + Click to move the DB to the new directory. Cliquez pour déplacer la BD vers le nouveau répertoire. - + Activates the application debug log. This may be useful if something is not working as expected. A debug file will be created in the KLog directory. Activer le journal de débogage de l'application. Cela peut être utile si quelque chose ne fonctionne pas correctement. Un fichier de débogage sera créé dans le répertoire de KLog. - + + Click to enable that log will be sorted based on date & time when clicking on the date column. It may be a little bit slower. + + + + Open File Ouvrir un Fichier - + Select Directory Sélectionnez un répertoire - + This is the directory where DB (logbook.dat) will be saved. C'est le répertoire où la BD (logbook.dat) sera sauvegardée. - + Please specify an existing directory where the database (logbook.dat) will be saved. Veuillez spécifier un répertoire existant où la base de données (logbook.dat)sera sauvegardée. - - KLog - Move DB - - - - + File moved Fichier déplacé - + File copied Fichié copié - - File already exist. - - - - - The destination file already exist and KLog will not replace it. Please remove the file from the destination folder before moving the file with KLog to make sure KLog can copy the file. - - - - + File NOT copied Fichier NON copié - - The file was not copied due to an unknown problem. - - - - + The target directory does not exist. Please select an existing directory. Le répertoire cible n'existe pas. Veuillez sélectionner un répertoire existant. @@ -5613,150 +4513,142 @@ Le log ne s'ouvrira pas. SetupPageSats - + &New &Nouveau - + &Edit &Editer - + &Remove &Retirer - + &Import &Importer - + E&xport E&xporter - + Add a new satellite. Ajouter un nouveau satellite - + Edit the selected satellite. Editer le satelite sélectionné - + Remove the selected satellite. Retirer le satellite sélectionné + Import a satellites file. It will replace the satellites you have now configured. - Importe un fichier de satellites. Il remplacera les satellites que vous avez configuré. + Importe un fichier de satellites. Il remplacera les satellites que vous avez configuré. - + Export your current satellites to a file. Exporte la liste des satellites actuels vers un fichier - + Select the sat you want to open. Sélectionner le satellite à éditer - + KLog KLog - + Do you really want to remove this satellite? Souhaitez-vous vraiment retirer ce satellite ? + This satellite will not be longer available to be selected ... - Ce satellite ne sera plus sélectionnable... + Ce satellite ne sera plus sélectionnable... - - Import a satellites file. It will replace the satellites you have in the current list. - - - - - This satellite will no be longer available to be selected ... - - - - + Sat has not been removed. (#3) Le satellite n'a pas été retiré. (#3) - + Sat has not been removed. (#2) Le satellite n'a pas été retiré. (#2) - + Sat has not been removed. (#1) Le satellite n'a pas été retiré. (#1) - + ID ID - + Short Court - + Name Nom - + Uplink Uplink - + Downlink Downlink - + Modes Modes - + An error has occurred showing the following error code: Une erreur s'est produite avec le code d'erreur suivant : - + KLog - SetupPageSats KLog - SetupPageSats - + Open Satellites File Ouvrir le fichier des satellites - + KLog warning Avertissement KLog - + An unexpected error ocurred while importing the satellite data. It may be caused because the file you are trying to import does not have the right format. @@ -5765,12 +4657,12 @@ It may be caused because the file you are trying to import does not have the rig Cela peut provenir du fait que le fichier que vous essayer d'importer n'a pas le format requis. - + Please check the format or contact the developer for analysis with the error code: Veuillez vérifier le format ou contacter le développeur pour analyse avec le code d'erreur : - + Save Satellites File Enregistrer le fichier des satellites @@ -5778,359 +4670,323 @@ Cela peut provenir du fait que le fichier que vous essayer d'importer n&apo SetupPageSatsNew - + Short name Nom court - + Sat name Nom du satellite - + UpLink UpLink - + DownLink DownLink - + Modes Modes - + &Ok &Ok - + &Cancel &Annuler - + Enter the short name. Try to use the LoTW short name so you can upload your QSO to LoTW afterwards. Saisir le nom court. Essayez d'utiliser le nom court LoTW ce qui vous permettra ensuite d'envoyer votre QSO à LoTW. - + Enter the name of the satellite. Saisir le nom du satellite - + Enter the uplink frequencies in this format: 144.300 Saisir les fréquences d'uplink dans ce format : 144.300 - + Enter the downlink frequencies in this format: 144.300 Saisir les fréquences de downlink dans ce format : 144.300 - + Enter the modes in this format: USB Saisir les modes dans ce format : USB - - Some of the data you have entered is not correct; the satellite can't be added. - - - + Some of the data you have entered is not correct, the satellite can't be added. - Une partie des données saisies est incorrecte, le satellite ne peut être ajouté. + Une partie des données saisies est incorrecte, le satellite ne peut être ajouté. SetupPageUDP - + Start UDP Server Démarrer le serveur UDP + Log automatically QSOs from WSJT-X - Journaliser automatiquement les QSOs de WSJT-X + Journaliser automatiquement les QSOs de WSJT-X + Allow WSJT-X to send logged QSO to KLog - Permettre à WSJT-X d'envoyer les QSO loggués à KLog + Permettre à WSJT-X d'envoyer les QSO loggués à KLog + QSO logged in WSJT-X will be sent to KLog and KLog will ask before logging into KLog unless "%1" is selected - Les QSOs loggués dans WSJT-X seront envoyés à KLog. KLog demandera une confirmation avant de les logguer à moins que "%1" soit sélectionné + Les QSOs loggués dans WSJT-X seront envoyés à KLog. KLog demandera une confirmation avant de les logguer à moins que "%1" soit sélectionné + KLog will log automatically any QSO coming from WSJT-X without any manual confirmation. - KLog journalisera automatiquement chaque QSO provenant de WSJT-X sans confirmation manuelle + KLog journalisera automatiquement chaque QSO provenant de WSJT-X sans confirmation manuelle + Receive and Update QSO data to KLog - Reçois et Mets à jour les données du QSO sur KLog + Reçois et Mets à jour les données du QSO sur KLog - + KLog will automatically show and update data coming from WSJT-X (DX callsign, locator, RPT, ...) KLog affichera et mettra à jour automatiquement les données provenant de WSJT-X (indicatif DX, locator, RPT...) + Make sure it is the same port where the other programs are sending the data to. Default port is 2237. - Assurez-vous qu'il s'agit du même port que celui utilisé par les autres programmes pour envoyer des données. Le port par défaut est le 2237. + Assurez-vous qu'il s'agit du même port que celui utilisé par les autres programmes pour envoyer des données. Le port par défaut est le 2237. - - Automatically log QSOs from WSJT-X - - - - - Allow WSJT-X to send logged QSOs to KLog - - - - - QSOs logged in WSJT-X will be sent to KLog and KLog will ask before logging into KLog unless "%1" is selected - - - - - KLog will automatically log any QSO coming from WSJT-X without any manual confirmation. - - - - - Receive QSOs data and update to KLog - - - - + UDP port number where the UDP Server will listen for packets. Numéro du port UDP où le serveur UDP doit être à l'écoute des paquets réseaux - - Make sure it is the same port that the other programs are sending the data to. Default port is 2237. - - - - + UDP Server will receive QSOs sent from other programs like WSJT-X allowing you to log in KLog automatically from those programs. Le serveur UDP recevra les QSOs envoyés par d'autres programmes tels que WSJT-Xvous permettant ainsi de les logger automatiquement dans KLog - + UDP Port Port UDP - - QSOs notification timeout (milisecs) - - - - - Miliseconds that the notification of QSOs received from WSJTX will be shown. - - - + QSO notification timeout (milisecs) - Notification du délai dépassé du QSO (milli-secondes) + Notification du délai dépassé du QSO (milli-secondes) + Milliseconds that the notification of QSO received from WSJTX will be shown. - Millisecondes pour que la notification du QSO reçu de WSJTX puisse être affichée + Millisecondes pour que la notification du QSO reçu de WSJTX puisse être affichée SetupPageUserDataPage - + &Personal data Données &Personnelles - + Station &data &Données de la Station - + Enter your name. Saisir vore nom - + Enter your address - 1st line. Saisir votre adresse - 1ère ligne - + Enter your address - 2nd line. Saisir votre adresse - 2ème ligne - + Enter your address - 3rd line. Saisir votre adresse - 3ème ligne - + Enter your address - 4th line. Saisir votre adresse - 4ème ligne - + Enter your city. Saisir votre ville - + Enter your zip code. Saisir votre code postal - + Enter your province or state. Saisir votre province ou état - + Enter your country. Saisir votre pays - + &Name &Nom - + &Address &Adresse - + Cit&y Ville - + &Zip Code Code Postal - + Pro&v/State Pro&vince/Etat - + Countr&y Pa&ys - - - + + + Enter your information for rig Entrez vos informations de rig - - - + + + Enter your information for antenna Entrez les informations de votre antenne - + Enter your power information. Saisir votre puissance - + Enter the station callsign that will be used for logging. Saisir l'indicatif de la station qui sera utilisé pour le log - + &Rig 1 Ri&g 1 - + R&ig 2 Ri&g 2 - + Ri&g 3 Ri&g 3 - + Antenna &1 Antenne &1 - + Antenna &2 Antenne &2 - + Antenna &3 Antenne &3 - + Po&wer Puissance - + Enter the operators (comma separated if more than one). Entrez les opérateurs (séparés par une virgule si plusieurs) - + Enter the locator of your station. Alternatively, KLog can use an approximate locator based on your callsign. Entrez le locator de votre station. Alternativement, KLog peut utiliser un locator approximatif basé sur votre indicatif. - + &QRZ &QRZ - + &Operators &Opérateurs - + &CQ Zone Zone &CQ - + &ITU Zone Zone &ITU - - + + &Locator &Locator - + &Locator (not valid) &Locator (invalide) @@ -6138,172 +4994,139 @@ Cela peut provenir du fait que le fichier que vous essayer d'importer n&apo SetupPageWorldEditor - + Add Ajouter - + Delete Supprimer - + Edit Éditer - + Export World Exporter - + Import World Importer - - - - + + + + Still not implemented. Pas encore implémenté. - + Import a new cty.csv file Importer un nouveau fichier cty.csv - + An entities information file (cty.csv) has been detected in your KLog folder and will be loaded. Un fichier d'information sur les entités (cty.csv) a été détecté dans votre répertoire KLog et sera chargé. - + No entities information file (cty.csv) has been detected in your KLog folder. Aucun fichier d'information sur les entités (cty.csv) n'a été détecté dans votre répertoire KLog. - + KLog will not be able to show entities information. KLog ne sera pas en mesure d'afficher des informations d'entité. - + Prefix Préfixe - + Entity Entité - + ARRL ID ID ARRL - + Continent Continent - + CQ Zone Zone CQ - + ITU Zone Zone ITU - + UTC UTC - + Latitude Latitude - + Longitude Longitude - + Deleted Supprimé - + Since Date Depuis la Date - + To Date Jusqu'à la Date - + Open File Ouvrir un fichier - + BigCTY (*.csv) BigCTY (*.csv) - + Entities information has been updated. Les informations d'entité ont été mises à jour. - + Entities information has not been updated. Les informations d'entitées n'ont pas été mises à jour. - - ShowAdifImportWidget - - - The following QSOs are those QSOs that you have received the LoTW confirmation. - - - - - Ok - Ok - - - - DX - - - - - Date/Time - Date/Heure - - - - Band - Bande - - - - Mode - Mode - - ShowErrorDialog @@ -6424,37 +5247,37 @@ Cela peut provenir du fait que le fichier que vous essayer d'importer n&apo StatsCQZPerYearBarChartWidget - + CQ Zones per year Zones CQ par an - + Reading data ... Lecture des données... - + Abort reading Interrompre la lecture - + CQ zones Zones CQ - + CQ zones per year Zones CQ par an - + Reading data ... Lecture des données en cours... - + Years: %1/%2 Années : %1/%2 @@ -6521,12 +5344,8 @@ Cela peut provenir du fait que le fichier que vous essayer d'importer n&apo - QSOs per band distribution - - - QSO per band distribution - Répartition des QSOs par bande + Répartition des QSOs par bande @@ -6674,12 +5493,8 @@ Cela peut provenir du fait que le fichier que vous essayer d'importer n&apo - QSOs per mode distribution - - - QSO per mode distribution - Répartition des QSOs par mode + Répartition des QSOs par mode @@ -6909,22 +5724,18 @@ Cela peut provenir du fait que le fichier que vous essayer d'importer n&apo <b>Astuce #4:</b><br>Le saviez-vous...<br>Vous pouvez exporter vos QSO marqués avec "QSL demandée" <a href="#FileExportQSLADIFToPrint">Fichier->Exporter les QSLs demandées en ADIF...</a> pour créer un fichier ADIF que vous pourrez importer dans un programme de création d'étiquettes de QSL pour imprimer des étiquettes pour vos cartes QSL ? + <b>Tip #5:</b><br>Do you know...<br>You can export your QSO marked as requested, via LoTW, in your log with <a href="#FileExportLoTWADIF">File->Export ADIF for LoTW...</a> to create an ADIF file that you will be able to import in TQSL to be signed and uploaded to LoTW?<br><br>You have to mark as Q-Queued all the QSOs you want to be exported to be sent to LoTW. Translator: Please make sure that the name of the link is coherent with the menu File->Export ADIF for LoTW... - <b>Astuce #5:</b><br>Le saviez-vous...<br>Vous pouvez exporter vos QSO marqués comme demandés, via LoTW, dans votre log avec <a href="#FileExportLoTWADIF">File->Exporter en ADIF pour LoTW...</a> pour créer un fichier ADIF que vous pourrez importer dans TQSL pour être signé et téléversé vers LoTW ?<br><br>Vous devez marqué comme "Mis en file d'attente" tous les QSOs que vous voulez exporter pour être envoyés à LoTW. + <b>Astuce #5:</b><br>Le saviez-vous...<br>Vous pouvez exporter vos QSO marqués comme demandés, via LoTW, dans votre log avec <a href="#FileExportLoTWADIF">File->Exporter en ADIF pour LoTW...</a> pour créer un fichier ADIF que vous pourrez importer dans TQSL pour être signé et téléversé vers LoTW ?<br><br>Vous devez marqué comme "Mis en file d'attente" tous les QSOs que vous voulez exporter pour être envoyés à LoTW. - + <b>Tip #11:</b><br>Do you know...<br>You can subscribe to the <a href=https://t.me/KLogES>Spanish Telegram group</a> to discuss about KLog in Spanish? - - <b>Tip #12:</b><br>Do you know...<br>You can subscribe to <a href=https://lists.nongnu.org/mailman/listinfo/klog-users>KLog-users mailing list</a> to discuss via email about KLog in English? - - - - + <b>Tip #13:</b><br>Do you know...<br>You can <a href=https://twitter.com/_ea4k>follow EA4K on twitter</a> to get updates about KLog? @@ -6934,31 +5745,31 @@ Cela peut provenir du fait que le fichier que vous essayer d'importer n&apo <b>Astuce #6:</b><br>Le saviez-vous...<br>Vous pouvez trouver tous vos logs et d'autres informations dans le fichier logbook.dat et klogrc, le fichier de configuration de KLog, dans le répertoire KLog en ouvrant le menu <a href="#FileOpenKLogFolder">Fichier->Répertoire de KLog</a>. - + <b>Tip #6:</b><br>Do you know...<br>You can find the file containing all your log and other information in the logbook.dat file and the klogrc file, containing the KLog config file in the KLog folder by opening the <a href="#FileOpenKLogFolder">File->KLog folder</a> menu? Translator: Please make sure that the name of the link is coherent with the menu File->KLog folder - + <b>Tip #7:</b><br>Do you know...<br>You can find the QSLs that you still need to send with <a href="#ToolsSendPendingQSL">Tools->QSL tools...->Find My-QSLs pending to send</a>.<bR>This tool will list you in the search box all the QSOs with the QSL-Sent marked as <i>Requested</i>. Translator: Please make sure that the name of the link is coherent with the menu QSL tools...->Find My-QSLs pending to send <b>Astuce #7:</b><br>Le saviez-vous...<br>Vous pouvez trouver les QSLs que vous devez encore envoyer avec <a href="#ToolsSendPendingQSL">Outils->Outils QSL...->Rechercher Mes-QSLs en attente d'envoi</a>.<br>Cet outil vous listera dans la zone de recherche tous les QSOs dont le statut "QSL-Envoyé" est <i>Demandé</i>. - + <b>Tip #8:</b><br>Do you know...<br>You can find the QSLs that you are still waiting for with <a href="#ToolsReceivePendingQSL">Tools->QSL tools...->Find DX-QSLs pending to receive</a>.<bR>This tool will list you in the search box all the QSOs with the QSL-Sent marked as <i>Sent</i> but you have still not received the QSL card from the DX. Translator: Please make sure that the name of the link is coherent with the menu QSL tools...->Find DX-QSLs pending to receive <b>Astuce #8:</b><br>Le saviez-vous...<br>Vous pouvez trouver les QSLs que vous êtes toujours en attente avec <a href="#ToolsReceivePendingQSL">Outils->Outils QSL...->Rechercher des QSLs-DX en attente de réception</a>.<br>Cet outil vous listera dans la zone de recherche tous les QSOs dont le statut "QSL-Envoyé" est <i>Envoyé</i> mais dont vous n'avez pas encore reçu la carte QSL. - + <b>Tip #9:</b><br>Do you know...<br>You can find the QSLs that you are still waiting for with <a href="#ToolsReceiveRecPendingQSL">Tools->QSL tools...->Find requested pending to receive</a>.<bR>This tool will list you in the search box all the QSOs with the QSL-Rec marked as <i>Requested</i> but you have still not received the QSL card from the DX. Translator: Please make sure that the name of the link is coherent with the menu QSL tools...->Find requested pending to receive <b>Astuce #9:</b><br>Le saviez-vous...<br>Vous pouvez trouver les QSLs que vous êtes en attente avec <a href="#ToolsReceiveRecPendingQSL">Outils->Outils QSL...->Rechercher les demandes en attente de réception</a>.<br>Cet outil vous listera dans la zone de recherche tous les QSOs dont le statut "QSL-Reçu" est <i>Demandé</i> mais dont vous n'avez pas encore reçu la carte QSL. - + <b>Tip #10:</b><br>Do you know...<br>You can subscribe to the <a href=https://t.me/klogchat>English KLog Telegram group</a> to discuss about KLog in English? <b>Astuce #10:</b><br>Le saviez-vous...<br>Vous pouvez vous abonner au <a href=https://t.me/klogchat>Groupe Telegram pour KLog Telegram</a> pour échanger autour de KLog en anglais ? @@ -6967,61 +5778,36 @@ Cela peut provenir du fait que le fichier que vous essayer d'importer n&apo <b>Astuce #11:</b><br>Le saviez-vous...<br>Vous pouvez vous abonner au <a href=//https://t.me/KLogES>Groupe Telegram Espagnol</a> pour échanger autour de KLog en Espagnol ? + <b>Tip #12:</b><br>Do you know...<br>You can subscribe to <a href=http://lists.nongnu.org/mailman/listinfo/klog-users>KLog-users mailing list</a> to discuss via email about KLog in English? - <b>Astuce #12:</b><br>Le saviez-vous...<br>Vous pouvez vous abonner à <a href=http://lists.nongnu.org/mailman/listinfo/klog-users>liste de diffusion des utilisateurs de KLog</a> pour échanger par mail autour de KLog en anglais ? + <b>Astuce #12:</b><br>Le saviez-vous...<br>Vous pouvez vous abonner à <a href=http://lists.nongnu.org/mailman/listinfo/klog-users>liste de diffusion des utilisateurs de KLog</a> pour échanger par mail autour de KLog en anglais ? <b>Tip #13:</b><br>Do you know...<br>You can <a href=https://twitter.com/ea4tv>follow EA4TV on twitter</a> to get updates about KLog? <b>Astuce #13:</b><br>Le saviez-vous...<br>Vous pouvez <a href=https://twitter.com/ea4tv>suivre EA4TV sur twitter</a> pour avoir des nouvelles de KLog ? - - <b>Tip #5:</b><br>Do you know...<br>You can enter a '*' in the search box, in the search window to search for all the QSOs done with one specific station callsign? - - - - + <b>Tip #14:</b><br>Do you know...<br>You can write your own <a href=https://www.eham.net/reviews/detail/3118>review in eHam.net about KLog</a> to help other users to decide to use KLog? <b>Astuce #14:</b><br>Le saviez-vous...<br>Vous pouvez écrire votre propre <a href=https://www.eham.net/reviews/detail/3118>commentaire concernant KLog sur eHam.net</a> pour inciter les autres utilisateurs à utiliser KLog ? - + <b>Tip #15:</b><br>Do you know...<br>You can join the development team by simply <a href=https://www.klog.xyz/contact>Contacting us</a>? <b>Astuce #15:</b><br>Le saviez-vous...<br>Vous pouvez joindre l'équipe de développement simplement <a href=https://www.klog.xyz/contact>en nouc contactant</a> ? - + <b>Tip #16:</b><br>Do you know...<br>That there are many ways to contribute to KLog and some of them are listed in the <a href=https://www.klog.xyz/contrib>KLog Contribute</a> page? <b>Astuce #16:</b><br>Le saviez-vous...<br>Il y a beaucoup de façons pour contribuer à Klog et certains d'entre eux sont listés dans la page de <a href=https://www.klog.xyz/contrib>Contribuer à KLog</a> ? - + <b>Tip #17:</b><br>Do you know...<br>You can support translating KLog into your language? Please check <a href=https://www.klog.xyz/contrib/translations>KLog Translations</a> page. <b>Astuce #17:</b><br>Le saviez-vous...<br>Vous pouvez aider à traduire KLog dans votre langue. Veuillez consulter la page des <a href=https://www.klog.xyz/contrib/translations>Traductions KLog</a>. - - <b>Tip #18:</b><br>Do you know...<br>You can double-click on an entity name in the DXCC table and all the QSOs with that DXCC Entity will be shown in the search box? - - - - - <b>Tip #19:</b><br>Do you know...<br>You can right-click on a QSO and select <i>Check in QRZ.com</i> to check that callsign in QRZ.com? - - - - - <b>Tip #20:</b><br>Do you know...<br>You can see the QSO that confirms one specific DXCC entity in one specific band by poiting your mouse over that band in the DXCC widget? - - - - - <b>Tip #21:</b><br>Do you know...<br>You can upload your QSO marked as queued to LoTW via TQSL with <a href="#ToolsUploadLoTW">Tools->Upload to LoTW...</a> ?<br><br>You have to configure TQSL in the preferences to be able to use this functionality. - Translator: Please make sure that the name of the link is coherent with the menu File->Export ADIF for LoTW... - - - - + TIP-Default: Text @@ -7067,12 +5853,12 @@ Cela peut provenir du fait que le fichier que vous essayer d'importer n&apo Continent - + Reading cty.csv... En cours de lecture de cty.csv... - + Abort reading Lecture annulée diff --git a/translations/klog_hr.ts b/translations/klog_hr.ts index 75a475e2..1193d3e0 100644 --- a/translations/klog_hr.ts +++ b/translations/klog_hr.ts @@ -25,8 +25,9 @@ Od + Please know that this is an BETA release and it may contain many bugs.<br>Backup your data before using this software! - Molim primite na znanje da je ovo BETA inačica i da može imati puno programskih grešaka.<br>Napravite sigurnosnu kopiju vaših podataka prije korištenja ovog softvera! + Molim primite na znanje da je ovo BETA inačica i da može imati puno programskih grešaka.<br>Napravite sigurnosnu kopiju vaših podataka prije korištenja ovog softvera! @@ -34,23 +35,15 @@ Autor + KLog has been fully rewritten from the 0.6.2 to be able to provide a cross-platform application that runs in the main operating systems (Linux, macOS & Windows) and provide new functionalities that KLog was not providing. - KLog je bio u potpunosti iznova napisan u inačici 0.6.2 kako bi postao višeplatformska aplikacija koja se izvršava na glavnim operacijskim sustavima (Linux, macOS i Windows) i pružio funkcionalnost koju KLog nije pružao. + KLog je bio u potpunosti iznova napisan u inačici 0.6.2 kako bi postao višeplatformska aplikacija koja se izvršava na glavnim operacijskim sustavima (Linux, macOS i Windows) i pružio funkcionalnost koju KLog nije pružao. KLog is a free logbook for hamradio operators. KLog je slobodna dnevnička aplikacija za radio-amatere operatere. - - Please be aware that this is an BETA release and it may contain many bugs.<br>Backup your data before using this software! - Budite svjesni da je ovo BETA inačica i da može imati puno programskih grešaka.<br>Napravite sigurnosnu kopiju vaših podataka prije korištenja ovog softvera! - - - - Since 0.6.2, KLog has been fully rewritten to provide a cross-platform application that runs on all major operating systems (Linux, macOS and Windows) and to support new functionality. - Od 0.6.2, KLog je u potpunosti iznova napisan kako bi pružio višeplatformsku aplikaciju koja se izvršava na svim vodećim operacijskim sustavima (Linux, macOS i Windows) i pružio novu funkcionalnost. - Please provide your review in KLog's eHam review page: @@ -79,12 +72,7 @@ If KLog is still not in your language and you want to help us, you are welcome to contact us through the <a href="https://lists.nongnu.org/mailman/listinfo/klog-devel">KLog development mailing list</a>! - Ako KLog još uvijek ne postoji na vašem jeziku i želite nam pomoći, molimo obratite nam se putem <a href="https://lists.nongnu.org/mailman/listinfo/klog-devel">mailing liste razvijatelja KLoga</a>! - - - - KLog developers have included a feature that reports some user data to the KLog server with the sole purpose of identifying the number of installed versions, to focus development in one direction or another taking into account users' needs. - KLog razvijatelji programskog koda razvili su opciju koja šalje neke korisničke podatke na KLogov poslužitelj kojima je osnovna svrha identificiranje broja instaliranih inačica, kako bi razvoj mogao biti usmjeren u jednom ili drugom smijeru, uzevši u obzir korisničke potrebe. + KLog developers have included a feature that reports some user data to the KLog server with the sole purpose of identifying the number of installed versions, to focus development in one direction or another taking into account user's needs @@ -107,11 +95,6 @@ If you want to provide support you are welcome to join the <a href="https://lists.nongnu.org/mailman/listinfo/klog-devel">KLog development mailing list</a>! - Ako nam želite pomoći slobodno se javite <a href="https://lists.nongnu.org/mailman/listinfo/klog-devel">mailing listi razvijatelja KLoga</a>! - - - - Please be aware that this is a development release and it may contain many bugs.<br>Backup your data before using this software! @@ -125,6 +108,11 @@ Privacy advisory Upozorenje o privatnosti + + + KLog developers have included a feature that reports some user data to the KLog server with the sole purpose of identifying the number of installed versions, to focus development in one direction or another taking into account user's needs. + + Callsign @@ -143,7 +131,7 @@ Be aware that you can enable/disable this feature from the Misc tab in the Setup page. - Ova opcija može biti omogućena/onemogućena iz izbornika Razno na stranici Postavke. + @@ -156,230 +144,126 @@ Privatnost - - AdifLoTWExportWidget - - - Select the Station Callsign that you want to use to upload the log. - - - - - Select the start date to export the QSOs. The default date is the date of the first QSO with this station callsign. - - - - - Select the end date to export the QSOs. The default date is the date of the last QSO with this station callsign. - - - - - Station callsign - - - - - Start date - - - - - End date - - - - - Ok - Ok - - - - Cancel - Poništi - - - - DX - - - - - Date/Time - Datum/Vrijeme - - - - Band - Pojas - - - - Mode - Način rada - - - - Not defined - - - - - All - Svi - - - - QSOs: - - - - - This table shows the QSOs that will be sent to LoTW. - - - - - This table shows the QSOs that will be exported to ADIF. - - - AwardsWidget Recalculate - Preračunaj + Preračunaj Click to recalculate the award status. - Kliknite za preračunavanje statusa priznanja. + Kliknite za preračunavanje statusa priznanja. Select the year you want to check. - Izaberite godinu koju želite provjeriti. + Izaberite godinu koju želite provjeriti. QSOs - QSOi + QSOi DXCC - DXCC + DXCC CQ - CQ + CQ Award - Priznanje + Priznanje Confirmed - Potvrđeno + Potvrđeno Worked - Rađeno + Rađeno WAZ - WAZ + WAZ Score - Zbroj + Zbroj Annual - Godišnje + Number of confirmed DXCC entities. - Broj potvrđenih DXCC entiteta. + Broj potvrđenih DXCC entiteta. Number of worked DXCC entities. - Broj rađenih DXCC entiteta. + Broj rađenih DXCC entiteta. Number of confirmed WAZ zones. - Broj potvrđenih WAZ zona. + Broj potvrđenih WAZ zona. Number of worked WAZ zones. - Broj rađenih WAZ zona. + Broj rađenih WAZ zona. Number of confirmed QSOs. - Broj potvrđenih QSOa. + Broj potvrđenih QSOa. Number of worked QSOs. - Broj rađenih QSOa. + Broj rađenih QSOa. - Number of QSOs worked in the selected year. - Broj QSOa rađenih u izabranoj godini. + Number of QSOs worked on the selected year. + Broj QSOa rađenih u izabranoj godini. - Number of DXCCs worked in the selected year. - Broj DXCCa rađenih u izabranoj godini. + Number of DXCC worked on the selected year. + Broj DXCCa rađenih u izabranoj godini. - Number of CQ Zones worked in the selected year. - Broj CQ zona rađenih u izabranoj godini. + Number of CQ Zones worked on the selected year. + Broj CQ zona rađenih u izabranoj godini. - Score for the DXMarathon in the selected year. - Zbroj za DXMarathon u izabranoj godini. - - - Number of QSOs worked on the selected year. - Broj QSOa rađenih u izabranoj godini. - - - Number of DXCC worked on the selected year. - Broj DXCCa rađenih u izabranoj godini. - - - Number of CQ Zones worked on the selected year. - Broj CQ zona rađenih u izabranoj godini. - - Score for the DXMarathon on the selected year. - Zbroj za DXMarathon u izabranoj godini. + Zbroj za DXMarathon u izabranoj godini. DX-Marathon - DX-Marathon + DX-Marathon @@ -484,60 +368,52 @@ CTYPage - + Country data download Preuzmi podatke o zemljama - + KLog needs country data... KLog treba podatke o zemljama... - + &Download &Preuzmi - + &Ignore &Zanemari - + Country data needed Potrebni su potaci o zemljama + + + KLog uses the cty.csv file from http://www.country-files.com/ to get DXCC information. + KLog koristi cty.csv datoteku s http://www.country-files.com/ za dobivanje DXCC informacije. + - KLog uses the cty.csv file from https://www.country-files.com/ to get DXCC information. - KLog koristi cty.csv datoteku s http://www.country-files.com/ za dobivanje DXCC informacija. + You need to download the cty.csv file if you want KLog to show you the countries, locator, ... of the QSOs you do. + Trebate preuzeti cty.csv datoteku ako želite da vam KLog prikaže zemlje, lokator,...QSOa koje radite. - You need to download the cty.csv file if you want KLog to show you the countries, locator, etc. of the QSOs you do. - Trebate preuzeti cty.csv datoteku ako želite da vam KLog prikaže zemlje, lokator, itd. QSOa koje radite. - - - KLog uses the cty.csv file from http://www.country-files.com/ to get DXCC information. - KLog koristi cty.csv datoteku s http://www.country-files.com/ za dobivanje DXCC informacije. - - - You need to download the cty.csv file if you want KLog to show you the countries, locator, ... of the QSOs you do. - Trebate preuzeti cty.csv datoteku ako želite da vam KLog prikaže zemlje, lokator,...QSOa koje radite. - - - Click on Download to download now. Kliknite na Preuzmi za trenutno preuzimanje. - + KLog KLog - + I can't find the host. Please check your network and try again Do you want to try again? Ne mogu naći stroj. Molim provjerite mrežu i pokušajte ponovo @@ -552,41 +428,37 @@ Do you want to try again? Ažuriraj + ID - ID + ID - + Entity Entitet - - Prefix - Prefiks + + Pref: + + + + + CQ: + - Pref: - Pref: - - - - CQ: - CQ: - - - ITU: - ITU: + Beam: - Snop: + - + Entity not worked in this band. Entitet nije rađen na ovom pojasu. @@ -594,127 +466,118 @@ Do you want to try again? DXClusterWidget - - + + Connect Spoji - - - - + + + + Clear Izbriši - + Click on connect to connect to the DX-Cluster Kliknite spoji za spajanje na DX-Cluster - + Trying to connect to the server Pokušavam se spojiti na poslužitelj - + + - KLog DXCluster Kontest DXCluster KLog DXCluster - + Click on Connect to connect to the DX-Cluster server Kliknite Spoji za spajanje na DX-Cluster poslužitelj - + The connection was refused by the peer. Make sure the DXCluster server is running, and check that the host name and port settings are correct. Stroj odbija spajanje. Osigurajte da DXCluster poslužitelj radi i provjerite jesu li ime stroja i port ispravni. - + The following error occurred: %1. Dogodila se greška: %1. - + Connected to server Spojen na poslužitelj - - - + + + KLog message Kontest message Poruka KLoga - - + + Enter your callsign to connect to the cluster: Unesite pozivni znak za spajanje na klaster: - + Enter your password to connect to the cluster: (Just hit enter for no password) Unesite zaporku za spajanje na klaster: (samo Enter ako nemate zaporke) - + Not logged on, you may need to enter your callsign again. Niste prijavljeni, možda ćete trebati ponovo unijeti svoj pozivni znak. - + Enter here the commands to be sent to the DX-Cluster server. Unesite naredbu za poslati DX-Clusteru. - - It was not possible to open the file to save the DX-Spots for writing. DX-Cluster activity will not be saved! - - - - It was not possible to open the a file to save the DX-Spots for writting. DX-Cluster activity will not be saved! - Nije bilo moguće otvoriti datoteku za spremanje DX zapažanja za pisanje. Aktivnost na DX-Clusteru neće biti spremljena! - - - - + + Disconnect Odspoji - + The host was not found. Please check: Poslužitelj nije pronađen. Molim provjerite: - + - your network connection; - the host name and port settings. - vaš spoj na mrežu; - ime poslužitelja i port. - + Connection closed by the server Poslužitelj je prekinuo vezu - + Click on Connect to connect to the DX-Cluster server. Kliknite Spoji za spajanje na DX-Cluster poslužitelj. - + Send Pošalji @@ -727,183 +590,177 @@ Do you want to try again? Inačica softvera u bazi je null + No query failed - Niti jedan upit nije neuspio + Niti jedan upit nije neuspio - + Aircraft Scatter Common term in hamradio, do not translate if not sure - Aircraft Scatter + - + Aurora - Aurora + - + Aurora-E - Aurora-E + - + Back scatter Common term in hamradio, do not translate if not sure - Back scatter + - + Earth-Moon-Earth - Earth-Moon-Earth + - + Sporadic E - Sporadic E + - + Internet-assisted - Potpomognuto Internetom + - + Ionoscatter Common term in hamradio, do not translate if not sure - Ionoscatter + - + Meteor scatter Common term in hamradio, do not translate if not sure - Meteor scatter + - + Terrestrial or atmospheric repeater or transponder - Zemaljski ili zračni repetitor ili transponder + - + Rain scatter Common term in hamradio, do not translate if not sure - Rain scatter + - + Satellite - Satelit + Satelit - + Bureau Common term in hamradio, do not translate if not sure - Biro + - + Manager Common term in hamradio, do not translate if not sure - Manager + - + All QSOs have been updated with a DXCC and the Continent. - Svi QSOi su bili nadopunjeni DXCCom i kontinentom. + - + Field Aligned Irregularities Common term in hamradio, do not translate if not sure - Field Aligned Irregularities + - - Query didn't failed - Does this mean the query succeeded? - Upit nije neuspio. - - - + F2 Reflection Common term in hamradio, do not translate if not sure - F2 Reflection + - + Trans-equatorial Common term in hamradio, do not translate if not sure - Trans-equatorial + - + Tropospheric ducting Common term in hamradio, do not translate if not sure - Tropospheric ducting + - - + + Yes - Da + - - + + No - Ne + - - + + Requested - I've opted for neutral gender but whether this is correct depends on the context in which this word is used. - Zatraženo + - - + + Ignore/Invalid - Zanemari/Nevaljalo + - + Validated - Provjereno + - + Queued - Poredano + - + Uploaded - Učitano + - + Do not upload - Ne učitavaj + - + Modified - Ažurirano + - + Direct - Izravno + Izravno - + Electronic - Elektronički + - + KLog DXCC KLog DXCC @@ -911,205 +768,113 @@ Do you want to try again? DownLoadCTY - + Download of cty.csv failed with the following error code: Preuzimanje cty.csv je neuspjelo s kodom greške: - + Download of cty.csv done. Preuzimanje cty.csv završeno. - + There is already a cty.csv file in the folder but it will be replaced with the new one. Postojeća cty.csv datoteka u mapi bit će zamijenjena s novom. - + Could not open %1 for writing - Nisam mogao otvoriti %1 za pisanje + FileManager - + Reading ADIF file... Čitam ADIF datoteku... - - + + Abort reading Prekini čitanje + The log that you have selected contains more than just one station callsign. - Dnevnik koji ste izabrali sadrži više od jednog pozivnog znaka. + Dnevnik koji ste izabrali sadrži više od jednog pozivnog znaka. + Station Callsign: - Pozivni znak postaje: + Pozivni znak postaje: + Define Station Callsign If this sentence ought to be read as imperative, the first word should say "Odredite" - Odrediti pozivni znak postaje + Odrediti pozivni znak postaje + You have selected no callsign. KLog will export QSOs without a station callsign defined and those with the call you are entering here. - Niste izabrali pozivni znak. Klog će izvesti QSOe bez definiranog pozivnog znaka postaje i one s pozivnim znakom unešenim ovdje. + Niste izabrali pozivni znak. Klog će izvesti QSOe bez definiranog pozivnog znaka postaje i one s pozivnim znakom unešenim ovdje. + Enter the station callsign to use for this log or leave it empty for QSO without station callsign defined: - Unesite pozivni znak za ovaj dnevnik ili ga ostavite praznim za QSO bez definiranog pozivnog znaka postaje: + Unesite pozivni znak za ovaj dnevnik ili ga ostavite praznim za QSO bez definiranog pozivnog znaka postaje: - - - + + Writing ADIF file... Zapisujem ADIF datoteku... - - - - + + + Abort writing Prekini pisanje - - - - - KLog - Invalid call detected - - - - - - - - An invalid callsign has been detected %1. Do you want to export this callsign anyway (click on Yes) or remove the call from the exported log file? - - - - - - - - Exporting wrong calls may create problems in the applications you are potentially importing this logfile to. It may, however, be a good callsign that is wrongly identified by KLog as not valid. You can, however, edit the ADIF file once the export process is finished. - - - - + Exporting LoTW ADIF file... Izvozim LoTW ADIF datoteku... - - The selected callsign (%1) is not valid, please check it again to export the log. - - - - - Exporting ADIF file... - - - - + Writing ADIF file... QSO: Zapisujem ADIF datoteku ... QSO: - - KLog - File not opened - - - - - It was not possible to open the file %1 for reading. - - - - - KLog was not able to read the LoTW file - - - - + Reading LoTW file... Čitam LoTW datoteku... - - Importing LoTW ADIF file... - - - - - - You have canceled the file import. The file will be removed and no data will be imported. - Prekinuli ste uvoz datoteke. Datoteka će biti izbrisana i nijedan podatak neće biti uvezen. - - - - This QSO is not including the minimum data to consider a QSO as valid! - Ovaj QSO ne sadrži minimalne podatke da bi se smatrao valjanim QSOom! - - - - KLog has found one QSO without the Station Callsign defined. - -Enter the Station Callsign that was used to do this QSO on %1: - - - - + Do you want to continue with the current file? Želite li nastaviti s trenutnom datotekom? - - - Some QSOs of this log, (i.e.: %1) seems to lack RST-TX information. - Nekim QSOima u ovoj datoteci, (npr.: %1) izgleda nedostaje RST-TX informacija. - - - - Click on Yes to add a default 59 to all QSOs with a similar problem. - Kliknite na Da kako bi primjenili uobičajeni 59 na sve QSOe sa sličnim problemom. - - - - If you select NO, maybe the QSO will not be imported. - Ako izaberete Ne, QSO možda neće biti uvezen. - - - - Some QSOs of this log, (i.e.: %1) seems to lack RST-RX information. - Nekim QSOima u ovoj datoteci, (npr.: %1) izgleda nedostaje RST-RX informacija. - - - - KLog - Apply to all QSOs in this log? - KLog - Primjeni na sve QSOe u ovom dnevniku? - This log seems to lack of RST-TX information. Izgleda da u ovoj datoteci nedostaje RST-TX informacija. - + + Click on Yes to add a default 59 to all QSO with a similar problem. Kliknite na Da kako bi primjenili uobičajeni 59 na sve QSOe sa sličnim problemom. - + + If you select NO, the QSO may not be imported. Ako izaberete Ne, QSO možda neće biti uvezen. @@ -1118,213 +883,147 @@ Enter the Station Callsign that was used to do this QSO on %1: Izgleda da u ovoj datoteci nedostaje RST-RX informacija. - + - The band missing and the following call: - Frekvencijski pojas nedostaje i sljedeći pozivni znak: + - The call missing but was done at this time: - - Pozivni znak nedostaje ali je urađen sada: + - Pozivni znak nedostaje ali je urađen sada: - + - The mode missing and the following call: - Način rada nedostaje i sljedeći pozivni znak: - + - The date missing and the following call: - Datum nedostaje i sljedeći pozivni znak: - + - The time missing and the following call: - Vrijeme nedostaje i sljedeći pozivni znak: - - - + You have canceled the file export. The file will be removed and no data will be exported. Prekinuli ste izvoz datoteke. Datoteka će biti izbrisana i podaci neće biti izvezeni. - - - - - + + Do you still want to cancel? Želite li još uvijek prekinuti? - - - - + + QSO: QSO: + Please select the station callsign you want to export the log from: - Molim izaberite pozivni znak postaje za koju želite izvesti dnevnik: + Molim izaberite pozivni znak postaje za koju želite izvesti dnevnik: + No station callsign has been selected and therefore no log will be exported - Niti jedan pozivni znak nije izabran i kao takav niti jedan dnevnik neće biti izvezen + Niti jedan pozivni znak nije izabran i kao takav niti jedan dnevnik neće biti izvezen - + Writing Cabrillo file... Zapisujem Cabrillo datoteku... - + KLog: Cabrillo Log Export not implemented Kontest: Cabrillo Log Export not implemented KLog: Izvoz dnevnika u Cabrillo format nije implementiran - + I am sorry but the Cabrillo Export To File feature has still not been implemented. Na žalost izvoz Cabrillo dnevnika u datoteku još nije implementiran. - - KLog - Log selection - KLog - Izbor dnevnika - - - + There is more than one log in this logfile. U ovoj dnevničkoj datoteci nalazi se više od jednog dnevnika. - + All logs will be imported into the current log. Svi dnevnici bit će uvezeni u trenutni dnevnik. - + Do you want to continue? Želite li nastaviti? - + Importing ADIF file... Uvozim ADIF datoteku... + You have cancelled the file import. The file will be removed and no data will be imported. - Prekinuli ste uvoz datoteke. Datoteka će biti izbrisana i nijedan podatak neće biti uvezen. + Prekinuli ste uvoz datoteke. Datoteka će biti izbrisana i nijedan podatak neće biti uvezen. - + It seems that there are some duplicated QSOs in the ADIF file you are importing. Do you want to continue? (Duped QSOs will not be imported) Izgleda da imate duplikate QSOa u ADIF datoteci koju uvozite. Želite li nastaviti? (Duplicirani QSOi neće biti uvezeni) - - KLog - Error - KLog - Pogreška - - - - - The selected log does not exist, please check it again. - Izabrani dnevnik ne postoji, molim provjerite još jednom. - - - - The selected callsign (%1) is not valid, please check it again. - Izabrani pozivni znak (%1) nije valjan, molim provjerite još jednom. - - - - - The file %1 can't be opened. - Datoteka %1 ne može biti otvorena. - - - - - There are no QSOs pending to be uploaded with that station callsign. - Nema QSOa sa tim pozivnim znakom za koje je učitavanje u tijeku. - - - - - - - - KLog - User cancelled - KLog - Korisnik poništio - - - - KLog - Duplicated QSOs - KLog - Duplicirani QSOi - - + This QSO is not including the minimum data to consider a QSO as valid!. - Ovaj QSO ne sadrži minimalne podatke za valjan QSO!. + Ovaj QSO ne sadrži minimalne podatke za valjan QSO!. - + Please edit the ADIF file and make sure that it include at least: Molim uredite ADIF datoteku tako da uključuje barem: - + and i - + This QSO had: Ovaj QSO je imao: - + KLog: Not all required data found! KLog: Nisu pronađeni svi obavezni podaci! - + + Some QSO of this log, (i.e.: %1) seems to lack of RST-TX information. + + + + KLog: No RST TX found! KLog: Nije nađen RST TX! - - KLog: No RST RX found! - KLog: Nije nađen RST RX! - - - - - KLog - No Station callsign entered. - KLog - pozivni znak nije unešen. - - - - KLog has found one QSO without the Station Callsign defined. - -Enter the Station Callsign that was used to do this QSO with %1 on %2: + + Some QSO of this log, (i.e.: %1) seems to lack of RST-RX information. - - - KLog - QSO without Station Callsign - KLog - QSO bez pozivnog znaka stanice - - - KLog has found one QSO without the Station Callsign defined. - -Enter the Station Callsign that was used to do this QSO: - KLog je našao jedan QSO bez pozivnog znaka postaje. - -Unesite pozivni znak postaje pod kojim je urađen ovaj QSO: + + KLog: No RST RX found! + KLog: Nije nađen RST RX! @@ -1461,22 +1160,14 @@ Unesite pozivni znak postaje pod kojim je urađen ovaj QSO: This looks like it's the first time you've run KLog on this computer. Izgleda da je ovo prvi put da ste pokrenuli KLog na ovom računalu. - - KLog is a free hamradio logging program that can run on Linux macOS and Windows. - KLog je slobodan radioamaterski dnevnički program koji se može izvršavati na Linuxu maOSu i Windowsu. - - - It is designed to provide general purpose, DX and contest logging. - Namijenjen je općenitom, DX i zapisivanju kontesta. - - KLog is a free hamradio logging program that can run on Linux, macOS, and Windows. + KLog is a free hamradio logging program that can run on Linux macOS and Windows. KLog je slobodan radioamaterski dnevnički program koji se može izvršavati na Linuxu maOSu i Windowsu. - It is designed to provide general purpose DX, and contest logging. + It is designed to provide general purpose, DX and contest logging. Namijenjen je općenitom, DX i zapisivanju kontesta. @@ -1538,161 +1229,6 @@ Unesite pozivni znak postaje pod kojim je urađen ovaj QSO: Uzmite u obzir da je KLog slobodan softver. - - LoTWUtilities - - - KLog - LoTW password needed - - - - - Please enter your LoTW password: - - - - - KLog - File exist - - - - - There is a file already existing with the name that will be used. - - - - - The file %1 already exist. Do you want to overwrite? - - - - - KLog - Can't write the file - - - - - KLog was not able to save the file %1. -Error returned: %2 - - - - - The file already %1 exist. - - - - - Downloading data to file: %1. - - - - - - KLog - LoTW download - - - - - KLog - Download error - - - - - The downloading error is: %1 - - - - - There was an error while downloading the file from LoTW. - - - - - KLog - Redirection found - - - - - The remote server redirected our connection to %1 - - - - - Do you want to follow the redirection? - - - - - It was not possible for find the file %1 that has been just downloaded. - - - - - It seems that LoTW has no QSO with the Station Callsign you are using (%1). - - - - - Try again and send the downloaded file (%1) to the KLog developer for analysis. - - - - - KLog downloaded %1 QSOs successfully. Do you want to update your log with the downloaded data? - - - - - KLog - File not found - - - - - KLog can't find the downloaded file. - - - - - KLog - LoTW user/password error - - - - - LoTW server did not recognized your user/password - - - - - Check your user and password and ensure your are using the right one before trying again. - - - - - KLog - LoTW No QSOs - - - - - LoTW sent no QSOs - - - - - KLog - LoTW Unknown error - - - - - KLog can't recognize the file that has been downloaded from LoTW. - - - - - Now KLog will process the downloaded QSO and update your local log. - - - LogModel @@ -1739,175 +1275,86 @@ Error returned: %2 LogWindow - + QSL Send QSL Poslana - + QSL Rcvd QSL Primljena - + &Delete Iz&briši - + Delete a QSO Izbriši QSO - + &Edit QSO &Uredi QSO - + Edit this QSO Uredi ovaj QSO - + Via &bureau Preko &biroa - + Send this QSL via bureau - Pošalji ovu QSL preko biroa + Pošalji ovu QSL preko ureda - + D&irect &Izravno - + Send this QSL via direct Pošalji ovu QSL izravno - + Via bureau Preko biroa - + QSL &received via bureau QSL p&rimljena preko biroa - + Direct Izravno - + QSL received via direc&t QSL primljena &izravno - - Check in QRZ.com - Provjeri u QRZ.com - - - - Check this callsign in QRZ.com - Provjeri ovaj pozivni znak u QRZ.com - - - - Check in DXHeat.com - Provjeri u DXHeat.com - - - - Check this callsign in DXHeat.com - Provjeri ovaj pozivni znak u DXHeat.com - - - + You have requested to delete this QSO. Zatražili ste brisanje ovog QSOa. - + Are you sure? Jeste li sigurni? - - MainQSOEntryWidget - - - - - &Add - &Dodaj - - - - &Clear - &Izbriši - - - - QRZ of the QSO. - QRZ QSOa. - - - - Band of the QSO. - Frekvencijski pojas QSOa. - - - - Mode of the QSO. - Način rada QSOa. - - - - Date of the QSO. - Datum QSOa. - - - - Time of the QSO. - Vrijeme QSOa. - - - - Add the QSO to the log. - Dodaj QSO u dnevnik. - - - - Clears the QSO entry. - Izbriši unos QSOa. - - - - KLog will show real time if enabled. - - - - - QRZ - QRZ - - - Invalid characters used in the QRZ - Nevaljani znakovi korišteni za QRZ - - - - &Modify - &Promijeni - - MainWindow @@ -1919,30 +1366,35 @@ Error returned: %2 Kliknite za preračunavanje statusa priznanja. - + Starting KLog Pokrećem KLog + + + + &Add - &Dodaj + &Dodaj + &Clear - &Izbriši + &Izbriši + Status bar... - Statusna traka... + Statusna traka... - - + DX Entity DX entitet - + &Log Window &Dnevnički prozor @@ -1962,208 +1414,183 @@ Error returned: %2 MHz - - + + KLog KLog - + It seems that you have never done a backup or exported your log to ADIF. - Izgleda da nikad niste napravili sigurnosnu kopiju ili izvezli vaš dnevnik u ADIF. + - - KLog - File not open - KLog - Datoteka nije otvorena - - - - Status bar ... - Traka statusa ... - - - + It seems that the latest backup you did is older than one month. - Izgleda da je vaša posljednja sigurnosna kopija podataka starija od mjesec dana. + - + Log backup recommended! - Sigurnosne kopije dnevnika su preporučene! + - + It is a good practice to backup your full log regularly to avoid loosing data in case of a problem. Once you export your log to an ADIF file, you should copy that file to a safe place, like an USB drive, cloud drive, another computer, ... KLog will remind you to backup on a monthly basis. - Dobra praksa je napraviti sigurnosnu kopiju vašeg cijelog dnevnika redovno kako bi izbjegli gubitak podataka u slučaju nekog problema. -Jednom kad izvezete vaš dnevnik u ADIF datoteku, kopirajte tu datoteku na sigurno mjesto, kao na primjer USB disk, cloud disk, drugo računalo, ... - -KLog će vas potsjetiti da napravite sigurnosnu kopiju svakog mjeseca. - - + - + Ready Spreman - - KLog - Unexpected error - KLog - Neočekivana pogreška - - - + An unexpected error ocurred when trying to add the QSO to your log. If the problem persists, please contact the developer for analysis: Dogodila se neočekivana pogreška prilikom dodavanja QSOa u vaš dnevnik. Ako se ovaj problem opetuje, molim kontaktirajte razvijatelje softvera radi analize: - - - KLog - Not valid call - - - - - - The call %1 is not a valid call. Do you really want to add this call to the log? - - - - - - KLog - Select correct entity - KLog - Izaberite ispravan entitet - - - - + + You have selected an entity: Izabrali ste entitet: - - + + that is different from the KLog proposed entity: koji se razlikuje od entiteta predloženog u KLogu: - + Click on the prefix of the correct entity or Cancel to edit the QSO again. Kliknite na prefiks ispravnog entiteta ili Poništi kako bi ponovo uređivali QSO. - - - No DXCC - - - - - - None - Nijedan - - - + Click on the prefix of the right entity or Cancel to correct. "right" translated as in "correct"/"valid" (rather than "to the right of") Kliknite na prefiks ispravnog entiteta ili Poništi za ispravku. + + QRZ of the QSO. - QRZ QSOa. + QRZ QSOa. - + + TX RST. TX RST. - + + RX RST. RX RST. + + TX Exchange. - TX izmjena. + TX izmjena. + + Band of the QSO. - Frekvencijski pojas QSOa. + Frekvencijski pojas QSOa. + + Mode of the QSO. - Način rada QSOa. + Način rada QSOa. + + Date of the QSO. - Datum QSOa. + Datum QSOa. + + Time of the QSO. - Vrijeme QSOa. + Vrijeme QSOa. + + Add the QSO to the log. - Dodaj QSO u dnevnik. + Dodaj QSO u dnevnik. + Clear the box. - Izbriši polje. + Izbriši polje. + Input translated as infinitive, rather than a verb - Unos + Unos - + + RSTrx RSTrx - + + RSTtx RSTtx - + + + QRZ QRZ + STX - STX + STX + SRX - SRX + SRX - + Do you really want to exit KLog? - Želite li zaista izaći iz KLoga? + NEW MULT NOVI MNOŽ + Invalid characters used in the QRZ - Nevaljani znakovi korišteni za QRZ + Nevaljani znakovi korišteni za QRZ Ready... Spreman... - + &File &Datoteka @@ -2176,12 +1603,12 @@ KLog će vas potsjetiti da napravite sigurnosnu kopiju svakog mjeseca. &Otvori... - + &Import from ADIF... &Uvezi iz ADIF... - + Import an ADIF file into the current log. Uvezi ADIF datoteku u trenutni dnevnik. @@ -2190,552 +1617,355 @@ KLog će vas potsjetiti da napravite sigurnosnu kopiju svakog mjeseca. &Spremi kao... - + Export to ADIF... Izvezi u ADIF... - + Export the current log to an ADIF logfile. Izvezi trenutni dnevnik u ADIF dnevničku datoteku. - + Export all logs to ADIF... Izvezi sve dnevnike u ADIF... - + Export ALL the QSOs into one ADIF file, merging QSOs from all the logs. Izvezi SVE QSOe u jednu ADIF datoteku, ujedinjujući QSOe iz svih datoteka. + Export Requested QSL to ADIF... - Izvezi traženi QSL u ADIF... + Izvezi traženi QSL u ADIF... + Export all QSOs requesting QSLs to an ADIF file (e.g. to import it into a QSL tag printing program). - Izvezi sve QSOe sa traženim QSLkama u ADIF datoteku (npr. za uvoz u program za ispisivanje QSL naljepnica). + Izvezi sve QSOe sa traženim QSLkama u ADIF datoteku (npr. za uvoz u program za ispisivanje QSL naljepnica). + Export ADIF for LoTW... - Izvezi ADIF za LoTW... + Izvezi ADIF za LoTW... + Export an ADIF file to be sent to LoTW. Remember to sign it with TQSL before uploading to LoTW! - Izvezi ADIF datoteku za slanje na LoTW. Sjetite se da ih potpišete TQSLom prije učitavanja u LoTW! + Izvezi ADIF datoteku za slanje na LoTW. Sjetite se da ih potpišete TQSLom prije učitavanja u LoTW! - + &Print Log... &Ispiši dnevnik... - + Print your log. Ispišite vaš dnevnik. - + KLog folder KLog mapa - + Opens the data folder of KLog. Otvara mapu s KLog podacima. - + E&xit &Izlaz - + &Tools &Alati - + Fill in QSO data Popuni QSO podatke - + Go through the log reusing previous QSOs to fill missing information in other QSOs. Prođi kroz dnevnik i iskoristi prijašnje QSOe kako bi popunio podatke koji nedostaju u drugim QSOima. + Fill in DXCC data - Popuni DXCC podatke + Popuni DXCC podatke + Go through the log filling QSOs without a DXCC defined. - Prođi kroz dnevnik popunjavajući QSOe bez DXCCa. + Prođi kroz dnevnik popunjavajući QSOe bez DXCCa. - + QSL tools... QSL alati... - + &Find QSO to QSL &Nađi QSO za QSL - + Shows QSOs for which you should send your QSL and request the DX QSL. Prikazuje QSOe za koje trebate poslati vašu QSLku i zatražiti DX QSLku. - + Find My-QSLs pending to send Nađi Moje-QSL za koje je slanje neodlučeno - + Shows the QSOs with pending requests to send QSLs. You should keep this queue empty! Prikazuje QSOe sa neodlučenim zahtjevima za slanje QSLke. Trebali biste ovaj red držati prazim! - + &Find DX-QSLs pending to receive &Nađi DX-QSL za koje je prijem neodlučen - - Download from LoTW - - - - - Your log has not been updated. - - - - - No QSO was updated with the data coming from LoTW. This may be because of errors in the logfile or simply because your log was already updated. - - - - - Select the Station Callsign to use when quering LoTW: - - - - - Please check the LoTW setup - - - - - You have not defined a LoTW user or a proper Station Callsign. -Open the LoTW tab in the Setup and configure your LoTW connection. - - - - - KLog - Non-supported mode - KLog - Način rada nije podržan - - - - A new mode not supported by KLog has been received from an external program or radio: - Novi način rada koji nije podržan u KLogu primljen je iz vanjskog softvera: - - - - Do you want to keep receiving these alerts? (disabling these alerts will prevent non-valid modes being detected) - Želite li nastaviti primati ovu obavijest? (ako onemogućite ovu obavijest nećete moći otkriti nevažeće načine rada) - - - - Recommendation: - Preporuka: - - - - Periodically export your data to ADIF to prevent a potential data loss. - Povremeno izvezite podatke u ADIF kako bi spriječili potencijalni gubitak podataka. - - + Shows the DX-QSL that has been requested or QSLs has been sent with no answer. - Prikazuje DX QSL za koje je QSL bio zatražen ili je bio poslan ali odgovor još nije stigao. + Prikazuje DX QSL za koje je QSL bio zatražen ili je bio poslan ali odgovor još nije stigao. - + &Find requested pending to receive &Nađi zatražene neodlučene za prijem + Shows the DX-QSL that has been requested. - Prikaži DX QSL koji je bio zatražen. + Prikaži DX QSL koji je bio zatražen. - + LoTW tools... LoTW alati... + Queue all QSL to be sent of this log - Stavi u red za slanje sve QSLe iz ovog dnevnika + Stavi u red za slanje sve QSLe iz ovog dnevnika + Mark all non sent QSOs in this log as queued to be uploaded. - Označi sve ne-poslane QSOe u ovom dnevniku kao poredane za učitavanje. + Označi sve ne-poslane QSOe u ovom dnevniku kao poredane za učitavanje. + Queue all QSL to be sent - Poredaj sve QSLe za slanje + Poredaj sve QSLe za slanje + Mark all non sent QSOs as queued to be uploaded. - Označi sve ne-poslane QSOe kao poredane za učitavanje. + Označi sve ne-poslane QSOe kao poredane za učitavanje. + Mark as sent all queued QSO of this log - Označi kao poslane sve poredane QSOe u ovom dnevniku + Označi kao poslane sve poredane QSOe u ovom dnevniku - + Mark all queued QSOs in this log as sent to LoTW. Označi sve poredane QSOe u ovom dnevniku kao poslane u LoTW. + Mark all queued QSO as sent - Označi sve poredane QSOe kao poslane + Označi sve poredane QSOe kao poslane - + Mark all queued QSOs as sent to LoTW. Označi sve poredane QSOe kao poslane u LoTW. - - Upload to LoTW - Učitaj u LoTW - - - - Sends the log to LoTW calling TQSL. - Šalje devnik u LoTW izvršavanjem TQSLa. - - - + &Update cty.csv &Osvježi cty.csv - - Shows DX-QSLs for which requests or QSLs have been sent with no answer. - Prikazuje DX QSL za koje je QSL bio zatražen ili je bio poslan ali odgovor nije stigao. - - - - Shows the DX-QSLs that have been requested. - Prikaži DX QSLke koje su zatražene. - - - - Queue all QSLs from this log to be sent - Stavi sve QSLe iz ovog dnevnika u red za slanje - - - - Mark all non-sent QSOs in this log as queued to be uploaded. - Označi sve ne-poslane QSOe u ovom dnevniku kao poredane za učitavanje. - - - - Queue all QSLs to be sent - Poredaj sve QSLke za slanje - - - - Put all the non-sent QSOs in the queue to be uploaded. - Stavi sve neposlane QSOe u red za učitavanje. - - - - Mark as sent all queued QSOs of this log - Označi sve poredane QSOe u ovom dnevniku kao poslane - - - - Mark all queued QSOs as sent - Označi sve poredane QSOe kao poslane - - - - + + For updated DX-Entity data, update cty.csv. Za osvježene podatke o DX entitetima, osvježite cty.csv. - + &Update Satellite Data &Osvježi potatke o satelitima - + Stats Statistike - + Show the statistics of your radio activity. Prikazuje statistike vaše radio aktivnosti. - Rotator - Rotator - - - Show the rotator controller. - Pokaži upravljač rotatora. - - - + &Setup &Postavke - + &Setup... &Postavke... - + &Help &Pomoć - + Check updates... Provjeri za nadopune... - + &About... &O... - + &Tips... - Savje&ti... + - + About Qt... O Qt... - - - - - - - - - - - - + + + + + + + + KLog LoTW KLog LoTW + All pending QSO of this log has been marked as queued for LoTW! - Svi poredani QSOi u ovom dnevniku označeni su kao poredani za LoTW! + Svi poredani QSOi u ovom dnevniku označeni su kao poredani za LoTW! - - + + Now you can go to the File menu to export the LoTW ADIF file and upload it to LoTW. Sada možete ići u izbornik Datoteka kako bi izveli LoTW datoteku i učitali je u LoTW. + + There was a problem to mark all pending QSO of this log as queued for LoTW! - Nastao je problem prilikom označavanja svih porednih QSOa u ovom dnevniku kao poredanih za LoTW! + Nastao je problem prilikom označavanja svih porednih QSOa u ovom dnevniku kao poredanih za LoTW! + All pending QSO has been marked as queued for LoTW! - Svi poredani QSOi su označeni kao poredani za LoTW! + Svi poredani QSOi su označeni kao poredani za LoTW! - - KLog - TQSL - KLog - TQSL - - - - TQSL is not installed or KLog can't find it. Please check the configuration. - TQSL nije instaliran ili ga KLog ne može naći. Molim provjerite konfiguraciju. - - - All the QSOs were signed and uploaded with no error. - Svi QSOi bili su potpisani i učitani bez greške. - - - - Error #1: The process was cancelled by the user or TQSL was not configured. No QSOs were uploaded. - Greška #1: Korisnik je prekinuo proces ili TQSL nije bio konfiguriran. Nijedan QSO nije bio učitan. - - - - Error #2: Upload was rejected by LoTW, please check your data. - Greška #2: LotW je odbio učitavanje, molim provjerite vaše podatke. - - - - Error #3: The TQSL server returned an unexpected response. - Greška #3: TQSL poslužitelj odgovorio je neočekivanim odgovorom. - - - - Error #4: There was a TQSL error. - Greška #4: Dogodila se TQSL greška. - - - - Error #5: There was a TQSLLib error. - Greška #5: Dogodila se TQSLLib greška. - - - - Error #6: It was not possible to open the input file. - Greška #6: Nije bilo moguće otvoriti ulaznu datoteku. - - - - Error #7: It was not possible to open the ouput file. - Greška #7: Nije bilo moguće otvoriti izlaznu datoteku. - - - - Error #8: No QSOs were processed since some QSOs were duplicates or out of date range. - Greška #8: Nijedan QSO nije bio obrađen jer su neki QSOi bili duplikati ili izvan granica nadnevaka. - - - - Error #9: Some QSOs were processed, and some QSOs were ignored because they were duplicates or out of date range. - Greška #9: Neki QSOi su bili obrađeni, a neki ignorirani zbog toga što su bili duplikati ili izvan granica nadnevaka. - - - - Error #10: Command syntax error. KLog sent a bad syntax command. - Greška #10: Greška sintakse naredbe. KLog je poslao naredbu sa pogrešnom sintaksom. - - - - Error #11: LoTW Connection error (no network or LoTW is unreachable). - Greška #11: Greška spajanja na LoTW (mreža nije dostupna ili LoTW nije dostupan). - - - - Error #00: Unexpected error. Please contact the development team. - Greška #00: Neočekivana greška. Molimo kontaktirajte razvijatelje programa. - - - + The log that you have selected contains more than just one station callsign. Dnevnik koji ste izabrali sadrži više od samo jednog pozivnog znaka. - + Please select the station callsign you want to mark as sent to LoTW: Molim izaberite pozivni znak postaje za koju želite označiti kao poslano u LoTW: - + Station Callsign: Pozivni znak postaje: - + Define Station Callsign Odrediti pozivni znak postaje - + You have selected no callsign. KLog will mark QSOs without a station callsign defined and those with the call you are entering here. Niste izabrali pozivni znak. Klog će označiti QSOe bez definiranog pozivnog znaka postaje i one s pozivnim znakom unešenim ovdje. - + Enter the station callsign to use for this log or leave it empty for QSO without station callsign defined: Unesite pozivni znak za ovaj dnevnik ili ga ostavite praznim za QSO bez definiranog pozivnog znaka postaje: - - KLog - No station selected - KLog - Nijedna postaja nije izabrana - - - + No station callsign has been selected and therefore no log will be marked Niti jedan pozivni znak nije izabran i kao takav niti jedan dnevnik neće biti označen + All queued QSO of this log has been marked as sent for LoTW! - Svi poredani QSOi u ovom dnevniku označeni su kao poslani u LoTW! + Svi poredani QSOi u ovom dnevniku označeni su kao poslani u LoTW! + There was a problem to mark all queued QSO of this log as sent for LoTW! - Nastao je problem prilikom označavanja svih porednih QSOa u ovom dnevniku kao poslanih za LoTW! + Nastao je problem prilikom označavanja svih porednih QSOa u ovom dnevniku kao poslanih za LoTW! + All queued QSO has been marked as sent to LoTW! - Svi poredani QSOi su označeni kao poslani u LoTW! + Svi poredani QSOi su označeni kao poslani u LoTW! + There was a problem to mark all queued QSO of this log as sent to LoTW! - Nastao je problem prilikom označavanja svih porednih QSOa u ovom dnevniku kao poslanih za LoTW! + Nastao je problem prilikom označavanja svih porednih QSOa u ovom dnevniku kao poslanih za LoTW! - + About... O... - + KLog update checking result Rezultat provjere nadopune KLoga - + Congratulations! Čestitke! - + You already have the latest version. Već imate najnoviju inačicu. - - - This function is disabled. Go to the Setup->LoTW tab to enable it. - Ova funkcija je onemogućena. Idite u Postavke->LoTW karticu i omogućite je. - - - The LoTW upload successfully. - -Do you want to mark as Sent all the QSOs uploaded to LoTW? - LoTW učitavanje uspješno. - -Želite li označiti kao poslane sve QSOe učitane u LoTW? - - - - There was an error while updating to Yes the LoTW QSL sent information. - Dogodila se greška prilikom postavljanja LoTW QSL poslana podatka na Da. - - - The log that you have selected does not contain any QSO with the station callsign defined. - Dnevnik kojeg ste izabrali ne sadrži nijedan QSO sa definiranim pozivnim znakom postaje. - Nothing has been saved. You have to select a valid file type. Ništa nije bilo spremljeno. Izaberite ispravan tip datoteke. @@ -2757,7 +1987,7 @@ Do you want to mark as Sent all the QSOs uploaded to LoTW? Bilo koja datoteka - + You can find the KLog data folder here: KLog mapa s podacima je ovdje: @@ -2766,270 +1996,148 @@ Do you want to mark as Sent all the QSOs uploaded to LoTW? DUPLI - + start pokrenuti - + stop zaustaviti + It seems that there are no QSO in the database. - Izgleda da u bazi podatake nema QSOa. + Izgleda da u bazi podatake nema QSOa. - + If you are sure that the database contains QSOs and KLog is not able to find them, please contact the developers (see About KLog) for help. Ako ste sigurni da baza podataka sadrži QSOe i KLog ih nije uspio pronaći, molimo kontaktirajte razvijatelje programa (vidite O Klogu) za pomoć. - - + + TX Frequency in MHz. TX frekvencija u MHz. - - + + RX Frequency in MHz. RX frekvencija u MHz. - + Power used by the DX. Snaga koju je koristio DX. - + Logging operator's callsign. Snimam operaterov pozivni znak. - + Callsign used over the air. Pozivni znak korišten u eteru. - - KLog ADIF export - - - - - No QSOs have been exported to ADIF. - - - - - KLog has exported %1 QSOs to the ADIF file: %2 - - - - - If you uploaded any QSO to LoTW while you were using TQSL you can now mark them as sent in KLog. - -Do you want to mark as Sent all the QSOs uploaded to LoTW? - - - - - KLog - Select the Station Callsign. - - - - + My QTH locator. Moj QTH lokator. - + Name of the DX. Ime DXa. - - It was not possible to open the debug file for writing. No debug log will be saved! - - - - - - Adding non-valid calls to the log may create problems when applying for awards, exporting ADIF files to other systems or applications. - - - - - KLog - Exit - KLog - Izlaz - - - - All pending QSOs of this log has been marked as queued for LoTW! - Svi QSOi u tijeku u ovom dnevniku označeni su kao poredani za LoTW! - - - - - There was a problem to mark all pending QSOs of this log as queued for LoTW! - Nastao je problem prilikom označavanja svih porednih QSOa u ovom dnevniku kao poredanih za LoTW! - - - - Your log has been updated with the LoTW downloaded QSOs. - - - - - KLog has updated %1 QSOs from LoTW. - - - - - All pending QSOs has been marked as queued for LoTW! - Svi poredani QSOi su označeni kao poredani za LoTW! - - - - TQSL finished with no error. - - - - - All queued QSOs of this log has been marked as sent for LoTW! - Svi QSOi u tijeku su označeni kao poslani za LoTW! - - - - There was a problem to mark all queued QSOs of this log as sent for LoTW! - Nastao je problem prilikom označavanja svih QSOa u tijeku u ovom dnevniku kao poslanih za LoTW! - - - - All queued QSOs has been marked as sent to LoTW! - Svi QSOi u tijeku su označeni kao poslani u LoTW! - - - - There was a problem to mark all queued QSOs of this log as sent to LoTW! - Nastao je problem prilikom označavanja svih porednih QSOa u ovom dnevniku kao poslanih u LoTW! - - - - It seems that there are no QSOs in the database. - Izgleda da u ovoj bazi podataka nema nijednog QSOa. - - - + QTH of the DX. QTH DXa. - + Locator of the DX. Lokator DXa. - + DX Locator - DX lokator + DX lokator - If you click on 'Yes' KLog will fill all the QSOs with your Station Callsign <b>(%1)</b> automatically. - Ako kliknete na 'Da' KLog će automatski popuniti sve QSOe sa pozivnim znakom vaše postaje <b>(%1)</b> automatski. - - - Do you want to fill all the QSOs with the Station Callsign: %1? - Želite li popuniti sve QSOe sa pozivnim znakom vaše postaje: %1? - - - (If you answer 'No', no QSOs will be exported to LoTW) - (Ako odgovorite 'Ne', nijedan QSO neće biti izvezen u LoTW) - - - After uploading: mark as sent all the queued QSOs (LoTW Tools). - Nakon učitavanja: označi kao poslane sve poredane QSOe (LoTW Alati). - - - There was no QSOs to be exported. - Nijedan QSO nije bio izvezen. - - - If you think that some QSOs should have been exported, please look for them and ensure that the eQSL LoTW QSL sent box is marked as: - Ako mislite da su neki QSOi trebali biti izvezeni, molim potražite ih i potrudite se da eQSL LoTQ QSL poslana kućica je označena kao: - - - + Filling DXCC, CQz, ITUz, Continent in QSOs... QSO: - Popunjavam DXCC, CQz, ITUz, Kontinent u QSOima... - QSO: + - + TX Frequency in MHz. Frequency is not in a hamradio band! - TX frekvencija u MHz. -Frekvencija nije u radioamaterskom pojasu! + - + RX Frequency in MHz. Frequency is not in a hamradio band! - RX frekvencija u MHz. -Frekvencija nije u radioamaterskom pojasu! + - + QSO logged from WSJT-X: - QSO zabilježen iz WSJT-X: + + + RX Exchange. - RX izmjena. + RX izmjena. + It was not possible to open the debug file for writting. No debug log will be saved! - Nije bilo moguće otvoriti datoteku za pomoć pri otkrivanju greški za pisanje. Datoteka za pomoć pri otkrivanju greški neće biti spremljena! + - + KLog new version detected! - Nova inačica KLoga nađena! + - + It seems that you are running this version of KLog for the first time. - Izgleda da izvršavate ovu inačicu KLoga po prvi put. + - + The setup will be open to allow you to do any new setup you may need. - Postavke će biti otvotene kako biste imali priliku da podesite sve što biste mogli trebati. + - + The logfile has been modified. - Dnevnička datoteka je bila izmijenjena. + - + Do you want to save your changes? - Želite li spremiti svoje izmjene? + - - + + UDP Server error The UDP server failed to %1. start or stop - Greška UDP poslužitelja -UDP poslužitelj nije %1. + + Clears the QSO entry. - Izbriši unos QSOa. + Izbriši unos QSOa. Number of confirmed DXCC entities. @@ -3084,23 +2192,23 @@ UDP poslužitelj nije %1. Izaberite godinu koju želite provjeriti. - + Status of the DX entity. Status DX entiteta. - + Name of the DX entity. Ime DX entiteta. - - + + Name Ime - + QTH QTH @@ -3109,63 +2217,63 @@ UDP poslužitelj nije %1. Lokator - + Power(rx) Snaga(rx) - + RST(tx) RST(tx) - + RST(rx) RST(rx) - + Freq TX Frekv TX - + Freq RX Frekv RX - + QSO QSO - + QSL QSL - + eQSL eQSL - - + + Comment Komentar - + Others Drugi - + My Data Moji podaci - + Satellite Satelit @@ -3174,7 +2282,7 @@ UDP poslužitelj nije %1. QSOi - + DXCC DXCC @@ -3191,7 +2299,7 @@ UDP poslužitelj nije %1. DX-Marathon - + Info Podaci @@ -3216,126 +2324,105 @@ UDP poslužitelj nije %1. Lokalno - + Awards Priznanja - + Search Traži - + Log Dnevnik - + DX-Cluster DX-Cluster - - - + + + + Save ADIF File Spremi ADIF datoteku - - The LoTW upload process has finished and KLog created a file (%1) in your KLog folder. - -Do you want KLog to remove that file? - LoTW učitavanje je završeno i KLog je napravio datoteku (%1) u vašoj KLog mapi. - -Želite li da KLog izbriše tu datoteku? - - - - The file has been removed. - Datoteka je izbrisana. - - - Please select the station callsign you want to export the log from: - Molim izaberite pozivni znak postaje za koju želite izvesti dnevnik: - - - - - KLog - LoTW - KLog - LoTW - - - The selected callsign is not valid, LoTW log will not be uploaded. - Označeni pozivni znak postaje nije valjan, LoTW dnevnik neće biti učitan. - - - You selected NONE so all the QSOs without a station callsign in your log will be selected and the current station callsign (%1) will be automatically added to the QSOs. <br><br><b>Please check that this is correct as it may cause errors in your uploaded logs</b>. - Izabrali ste NIJEDAN pa će svi QSOi bez pozivnog znaka postaje u vašem dnevniku biti označeni i trenutni pozivni znak postaje (%1) biti će automatski dodan QSOima. <br><br><b>Molim provjerite je li to ispravno jer to može izazvati greške u vašim učitanim dnevnicima</b>. - - + LoTW logfile has been properly exported! - LoTW dnevnička datoteka je uspješno izvezena! + LoTW dnevnička datoteka je uspješno izvezena! + Remember to: - Sjetite se: + Sjetite se: + Before uploading: sign the LoTW log; and - Prije učitavanja: potpišite LoTW dnevničku datoteku; i + Prije učitavanja: potpišite LoTW dnevničku datoteku; i + After uploading: mark as sent all the queued QSO (LoTW Tools). - Poslije učitavanja: označite kao poslane sve poredane QSOe (LoTW alati). + Poslije učitavanja: označite kao poslane sve poredane QSOe (LoTW alati). + There was no QSO to be exported. - Nije bilo QSOa za izvoz. + Nije bilo QSOa za izvoz. + If you think that some QSO should have been exported, please look for them and ensure that the eQSL LoTW QSL sent box is marked as: - Ako mislite da je neki QSO trebao biti izvezen, molim potražite ih i osigurajte da je eQSL LoTW QSL poslana kućica označena kao: + Ako mislite da je neki QSO trebao biti izvezen, molim potražite ih i osigurajte da je eQSL LoTW QSL poslana kućica označena kao: + Q - Queued - Q - Poredana + Q - Poredana + There was an error while exporting the LoTW. The log has not been exported! - Dogodola se greška prilikom izvoza u LoTW. Dnevnik nije bio izvezen! + Dogodola se greška prilikom izvoza u LoTW. Dnevnik nije bio izvezen! Save Cabrillo File Spremi Cabrillo datoteku - + + Open File Otvori datoteku + &Modify - &Promijeni + &Promijeni - + My QTH locator. Format should be Maidenhead like IN70AA up to 10 characters. - Moj QTH lokator. Format bi trebao biti Maidenhead kao IN70AA do 10 znakova. + - + - Needed for DXMarathon - Potrebno za DXMarathon - + Filling QSOs... Ispunjavam QSOe... - + Abort filling Prekini ispunjavanje @@ -3346,116 +2433,116 @@ Do you want KLog to remove that file? QSO: - + Number Broj - + Date Datum - + Time Vrijeme - + Band Pojas - - + + Mode Način rada - + Print Log Ispiši dnevnik - + Printing the log... Ispisujem dnevnik... - + Abort printing Prekini ispis - - + + Printing the log... QSO: Ispisujem dnevnik... QSO: - + KLog QSO received KLog QSO primljen - + The following QSO data has been received from WSJT-X to be logged: QSO sa slijedećim podacima je primljen iz WSJT-Xa kako bi bilo zapisan u dnevnik: - + Call Znak - + Freq Frekv - + Time On Vrijeme početka - + Time Off Vrijeme kraja - + RST TX RST TX - + RST RX RST RX - + DX-Grid DX koordinata - + Comments Komentari - + TX Pwr TX snaga - + Operator Operater - + Local-Grid Lokalna koordinata @@ -3464,76 +2551,82 @@ Do you want KLog to remove that file? Novi način rada koji nije podržan u KLogu primljen je iz vanjskog softvera: - + If the received mode is correct, please contact KLog development team and request support for that mode Ako je ovaj način rada valjan, molimo javite razvijateljima KLoga i zatražite podršku za ovaj način rada + Do you want to keep receiving this alerts? (disabling this alerts will prevent that non-valid modes are detected) - Želite li nastaviti primati ovu obavijest? (ako onemogućite ovu obavijest nećete moći otkriti nevažeće načine rada) + Želite li nastaviti primati ovu obavijest? (ako onemogućite ovu obavijest nećete moći otkriti nevažeće načine rada) - - KLog - Duplicated satellite - KLog - Dupliciran satelit + + A new mode not supported by KLog has been received from an external software or radio: + - + A duplicated satellite has been detected in the file and will not be imported. - Duplicirani satelit je otkriven u datoteci i neće biti uvezen. + - + Please check the satellite information file and ensure it is properly populated. - Molim provjerite datoteku s podacima o satelitima i osigurajte da je ispravno popunjena. + - + Now you will see a more detailed error that can be used for debugging... - Sada ćete vidjeti detaljnije greške koje možete koristiti za otklanjanje neispravnosti... + - + An unexpected error ocurred!! Dogodila se nepredviđena greška!! - + If the problem persists, please contact the developers Ako problem i dalje traje, molimo javite razvijateljima programa - + for analysis: za analizu: - + Error in function Greška u funkciji - + Error code Kod greške - + Error text Tekst greške - + Failed query Neuspio upit - - KLog - Show errors - KLog - Prikaži pogreške + + Recomendation: + - + + Export, periodically, your data to ADIF to prevent a potential data loss. + + + + Do you want to keep showing errors? Želite li nastaviti viđati greške? @@ -3549,77 +2642,77 @@ Do you want KLog to remove that file? MainWindowInputEQSL - + Date of the ClubLog upload. Datum ClubLog učitavanja. - + Date of the eQSL sending. Datum slanja eQSLa. - + Date of the eQSL reception. Datum prijema eQSLa. - + Date of the LoTW sending. Datum slanja LoTWa. - + Date of the LoTW reception. Datum prijema LoTWa. - + Status of the LoTW sending. Status slanja LOTWa. - + Status of the LoTW reception. Status prijema LoTWa. - + LoTW Sent LoTW Posl - + LoTW Rec LoTW Prim - + Status on ClubLog. Status u ClubLogu. - + Status of the eQSL sending. Status eQSL slanja. - + Status of the eQSL reception. Status eQSL prijema. - + ClubLog ClubLog - + eQSL Sent eQSL poslana - + eQSL Rec eQSL primljena @@ -3759,70 +2852,66 @@ Do you want KLog to remove that file? MainWindowMyDataTab + Watt - Wat + Wat - - Watts - Wata - - - + Keep this data Spremiti ove podatke - - + + Data entered in this tab will be copied into the next QSO. Podaci uneseni u ovu karticu biti će kopirani u sljedeći QSO. - + Power used for the QSO in watts. Snaga korištena za QSO u watima. - + Logging operator's callsign. Zapisujem operaterov pozivni znak. - + Callsign used over the air. Pozivni znak korišten u eteru. - - + + My QTH locator. Moj QTH lokator. - + Power Snaga - + Operator Operater - + Station Callsign Pozivni znak postaje - + My Locator Moj lokator - + My QTH locator. Format should be Maidenhead like IN70AA up to 10 characters. - Moj QTH lokator. Format bi trebao biti Maidenhead kao IN70AA do 10 znakova. + @@ -3834,7 +2923,7 @@ Do you want KLog to remove that file? - + Other - Sat not in the list Drugo - Satelit nije na listi @@ -3847,7 +2936,7 @@ Do you want KLog to remove that file? Name of the Satellite if not in the list. Select: "%1" to enable this box. (format like AO-51). - Ime satelita ako nije na popisu. Odaberite "%1" kako bi omogućili ovu opciju (formata kao AO-51). + @@ -3875,9 +2964,9 @@ Do you want KLog to remove that file? - + Locator of the DX station. This box is synchronized with the Locator box in the QSO tab. - Lokator DX postaje. Ova kućica sinkronizirana je sa kućicom Lokator u QSO odjeljku. + @@ -3916,643 +3005,535 @@ Do you want KLog to remove that file? MHz - + Locator of the DX station. Format should be Maidenhead like IN70AA up to 10 characters. - Lokator DX postaje. Format bi trebao biti Maidenhead kao npr. IN70AA do 10 znakova. + - + Not Sat QSO Nije satelitski QSO - + KLog has detected a satellite name that it does not recognise. If it should use one of the names of known satellites instead, please select it from the list. Alternatively, please contact the development team to add the new satellite name. KLog je otkrio satelit čije ime ne poznaje. Ako je riječ o nekom od poznatih satelita, molim izaberite ga s liste. Inače, molim kontaktirajte razvojni tim da dodaju ime novog satelita. + Please know that the satellite name will not be saved if it is not in the list so that information may be lost! - Uočite da ime satelita neće biti spremljeno ako nije na listi pa će tako doći do gubitka podataka! + Uočite da ime satelita neće biti spremljeno ako nije na listi pa će tako doći do gubitka podataka! - + The satellite you have in your QSO is: Satelit kojeg imate u QSOu je: - - Please be aware that the satellite name will not be saved if it is not in the list, so that information may be lost! - Pripazite na to da ime satelita neće biti spremljeno ako nije na popisu, tako da informacija može biti izgubljena! - - - + RX Frequency in MHz. Frequency is not in a hamradio band! - RX frekvencija u MHz. -Frekvencija nije u radioamaterskom frekvencijskom pojasu! + - + RX Frequency in MHz. - RX frekvencija u MHz. + RX frekvencija u MHz. - + TX Frequency in MHz. Frequency is not in a hamradio band! - TX frekvencija u MHz. -Frekvencija nije u radioamaterskom frekvencijskom pojasu! + - + TX Frequency in MHz. - TX frekvencija u MHz. + TX frekvencija u MHz. QObject - - + + Database Error Greška baze podataka - + KLog DB needs to be upgraded. Klog baza treba se nadograditi. - + Do you want to upgrade it now? Želite li nadograditi sada? - + If DB is not upgraded KLog may not work properly. Ako baza podataka nije nadograđena KLog možda neće ispravno raditi. - - - - - - KLog - DB update - KLog - ažuriranje baze podataka - - - + KLog has detected a previous log in the DB. All data will be migrated to a newly created DX type log for you. KLog je otkrio prijašnji dnevnik u bazi. Svi podaci bit će prenešeni u novi dnevnik DX tipa. - + KLog: Enter Station callsign KLog: Unesite pozivni znak postaje - + Enter the station callsign used in this log Unesite pozivni znak koji će biti korišten u ovom dnevniku - + Station Callsign Pozivni znak postaje + All the data was migrated correctly. You should now go to Setup->Preferences->Logs to check that everything is OK. - Svi podaci su ispravno prenešeni. Idite u Postavljanje->Postavke->Dnevnici i provjerite da je sve u redu. + Svi podaci su ispravno prenešeni. Idite u Postavljanje->Postavke->Dnevnici i provjerite da je sve u redu. - - - - - + + + + + QSO: QSO: - - - - + + + + Canceling this update will cause data inconsistencies and possibly data loss. Do you still want to cancel? Prekid ove nadogradnje proizvest će nekonzistentne podatke i mogući gubitak podataka. Želite li još uvijek prekinuti? - - + + Progress: Napredak: - + Updating DXCC award information... Ažuriram podatke o DXCC nagradama... - + Updating DXCC Award information... Ažuriram podatke o DXCC nagradama... - + Updating WAZ award information... Ažuriram podatke o WAZ nagradama... - + Updating WAZ Award information... Ažuriram podatke o WAZ nagradama... - - + + Updating mode information... Ažuriram podatke o načinu rada... - - All the data was migrated correctly. You should now go to Setup->Preferences->Logs to check that everything is okay. - Svi podaci su ispravno prenešeni. Idite u Postavljanje->Postavke->Dnevnici i provjerite da je sve u redu. - - - - - - - - - + + + + + + + Abort updating Prekini ažuriranje - - - - + + + + Updating bands information... Ažuriram podatke o frekvencijskim pojasevima... - + Updating bands information in %1 status... Ažuriram podatke o frekvencijskim pojasevima za %1 status... - + Updating mode information in %1 status... Ažuriram podatke o načinu rada za %1 status... - + New One, work it! nNew One, work it! Novi, odradite! + + + + + + + - - - - - - - Needed, work it! Treba, odradite! - - - - + + + + Worked but not confirmed Rađen ali nije potvrđen - + Confirmed Potvrđeno - + Not identified Nije identificiran - + Install wizard was canceled before completing... Instalacijski čarobnjak prekinut je prije kraja... - + Do you want to remove the KLog dir from your disk? Želite li izbrisati KLog mapu s vašeg diska? - + Your KLog dir has been removed Vaša KLog mapa je uklonjena - + I could not remove your KLog dir. You should do it manually if you want it removed from your hard disk. Nisam mogao ukloniti vašu KLog mapu. Izbrišite je ručno ako je želite ukloniti s vašeg čvrstog diska. - + Your KLog dir could not be removed. You should do it manually if you want it removed from your hard disk. Vaša KLog mapa nije mogla biti izbrisana. Učinite to ručno ako je želite ukloniti s vašeg čvrstog diska. - + Remember that your KLog dir is on your system... Podsjetite se da je vaša KLog mapa na vašem sustavu... + - + - Thank you for running KLog! Hvala što koristite KLog! - + Updating information... - Ažuriram podatke... + - + Updating DXCC and Continent information... - Ažuriram podatke o DXCC i kontinentima... - - - - A wrong call has been found: %1. Please enter a new call or confirm that the current one is a good call. - - - An empty callsign has been detected. If it is possible, please enter the right call. - - - - - KLog - Not valid callsign found - - - - - RotatorWidget - - - Rotator - Rotator - SearchWidget - + &Clear &Izbriši - - - + + + &Select All Označi &sve - + &Search &Traži + All - Svi + Svi - + &Export Highlighted Izv&ezi označeno - - All logs - - - - + Clear the searches. Očisti potrage. - + Export the search result to an ADIF file. Izvezi rezultat potraga u ADIF datoteku. - + Select/Unselect all the QSOs shown. Označi/neoznači sve prikazane QSOe. - + Search in the log. Traži u dnevniku. - + Search in all logs. Traži u svim dnevnicima. + Enter the QRZ to search for. - Unesite QRZ za traženje. + Unesite QRZ za traženje. - - Enter the QRZ to search for. Enter '*' to show all the QSOs... it may be slow in big logs! - - - - + Search results. Rezultati potrage. - - Select the Station Callsign used to do this QSO. - - - - - + + QRZ QRZ - - + + Date/Time Datum/Vrijeme - - + + Band Pojas - - + + Mode Način rada - - + + QSL Sent QSL Poslana - - - + + + QSL Rcvd QSL Primljena - + Station Callsign Pozivni znak postaje - - + + ID ID - - All in log - - - - - Not defined - - - - - Searching for the QSOs... -(It may take long in big logs.) - - - - - KLog - Search - - - - - + + &Clear selection &Izbriši selekciju - + Save File Spremi Datoteku - + QSL Send Pošalji QSL - + &Delete Iz&briši - + Delete a QSO Izbriši QSO - + &Edit QSO &Uredi QSO - + Edit this QSO Uredi ovaj QSO - + Via &bureau Preko &biroa - + Send this QSL via bureau - Pošalji ovu QSL preko biroa + Pošalji ovu QSL preko ureda - + D&irect &Izravno - + Send this QSL via direct Pošalji ovu QSL izravno - + &Request my QSL Za&traži moju QSL - + Mark my QSL as requested Označi moju QSL kao zatraženu - - Via Direct and mark DX QSL as requested + + Via Direct && mark DX QSL as requested Izravno i označi DX QSL kao zatraženu - - Send this QSL via direct and mark DX QSL as requested + + Send this QSL via direct & mark DX QSL as requested Pošalji ovu QSL izravno i označi DX QSL kao zatraženu - - Via Bureau and mark DX QSL as requested - Preko biroa i označi DX QSL kao zatraženu - - - - Send this QSL via bureau and mark DX QSL as requested - Pošalji ovu QSL preko biroa i označi DX QSL kao zatraženu - - - - Via bureau and mark my QSL as requested - Preko biroa i označi moju QSL kao zatraženu - - - - QSL received via bureau and mark my QSL as requested - QSL primljena preko biroa i označi moju QSL kao zatraženu - - - - Direc&t and mark as my QSL requested - &Izravno i označi moju QSL kao zatraženu - - - - QSL received via direct and mark my QSL as requested - QSL primljena izravno i označi moju QSL kao zatraženu - - - Via Direct && mark DX QSL as requested - Izravno i označi DX QSL kao zatraženu - - - Send this QSL via direct & mark DX QSL as requested - Pošalji ovu QSL izravno i označi DX QSL kao zatraženu - - + Via Bureau && mark DX QSL as requested - Preko biroa i označi DX QSL kao zatraženu + Preko ureda i označi DX QSL kao zatraženu + Send this QSL via bureau & mark DX QSL as requested - Pošalji ovu QSL izravno i označi DX QSL kao zatraženu + Pošalji ovu QSL izravno i označi DX QSL kao zatraženu - + &Request the QSL Za&traži QSL - + Mark the QSL as requested Označi QSL zatraženom + Via bureau && mark my QSL as requested - Preko biroa i označi moju QSL kao zatraženu + Preko biroa i označi moju QSL kao zatraženu + QSL received via bureau & mark my QSL as requested - QSL primljena izravno i označi moju QSL kao zatraženu + QSL primljena izravno i označi moju QSL kao zatraženu - + Via bureau Preko biroa - + QSL received via bureau QSL primljena preko biroa + Direc&t && mark as my QSL requested - &Izravno & označi moju QSL zatraženom + &Izravno & označi moju QSL zatraženom + QSL received via direct & mark my QSL as requested - QSL primljena izravno i označi moju QSL kao zatraženu + QSL primljena izravno i označi moju QSL kao zatraženu - + Direc&t &Izravno - + QSL received via direct QSL primljena izravno - + You have requested to delete the QSO with: %1 - Zatražili ste da izbrišete QSO sa: %1 + - + Are you sure? Jeste li sigurni? - + Needed QSO to send the QSL QSO za koji treba poslati QSL - + My QSL requested to be sent Moj QSL zatražen za slanje - - + + DX QSL pending to be received Prijem DX QSLa neodlučen @@ -4560,167 +3541,147 @@ Frekvencija nije u radioamaterskom frekvencijskom pojasu! SetupDialog - - + + User data Korisnički podaci - - - + + + Bands/Modes Frekvencijski pojasevi/Načini rada - + My Data Moji podaci - - + + DX-Cluster DX-Cluster - - - + + + Colors Boje - - - + + + Misc Razno - - + + World Editor Urednik svijeta - - + + Satellites - Sateliti + - - + + HamLib - HamLib + - - Interfaces - Sučelja - - - - Ok - Ok - - - + ClubLog ClubLog - - LoTW - LoTW - - - + Do you want to add one log in the Logs tab or exit KLog? (Click Yes to add a log or No to exit KLog) - Želite li dodati jednu dnevničku datoteku u kartici Dnevnici ili izići iz KLoga? -(Kliknite da za dodavanje datoteke ili Ne za izlaz iz KLoga) + - - DB has not been moved to new path. + + Go to the Misc tab and click on Move DB + or the DB will not be moved to the new location. - Go to the Misc tab and click on Move DB - or the DB will not be moved to the new location. - Idite u karticu Razno i kliknite na Makni bazu - ili baza podataka neće biti pomaknuta na novu lokaciju. - - - Go to the User tab and enter valid QRZ. - Idite u karticu Korisnik i unesite valjani QRZ. + - - + + Cancel Poništi - + + OK OK - - + + Config Dialog Postavke - + D&X-Cluster D&X-Cluster - + WSJT-X WSJT-X - + You need to enter at least one log in the Logs tab. Trebate unijeti barem jedan dnevnik na kartici Dnevnici. - + You need to enter at least a valid QRZ. Trebate unijeti barem važeći QRZ. + DB has not been moved to new path - baza podataka nije bila maknuta na novu lokaciju + baza podataka nije bila maknuta na novu lokaciju - + You have not selected the kind of log you want. Niste izabrali kakvu vrstu dnevnika želite. - + You will be redirected to the Log tab. Please add and select the kind of log you want to use. Bit ćete preusmjereni na karticu Dnevnici. Izaberite vrstu dnevnika kakvu želite koristiti. - - - + + + Logs Dnevnici - + World Svijet @@ -4728,117 +3689,113 @@ Izaberite vrstu dnevnika kakvu želite koristiti. SetupEntityDialog - + Entity Entitet - + CQ CQ - + ITU ITU - + Latitude Zemljopisna širina - + Longitude Zemljopisna dužina - + UTC UTC - + Main prefix Glavni prefiks - + ARRL ID ARRL ID - + Comma separated possible prefixes, e.g. EA1, EA2, ... Mogući prefiksi odvojeni zarezom, npr. EA1, EA2, ... - + Prefixes Prefiksi - + Name of the Entity. Ime entiteta. - + CQ zone. CQ Zona. - + ITU zone. ITU Zona. - - + + Longitude of the Entity. Zemljopisna dužina entiteta. - + Local time difference to UTC. Razlika lokalnog vremena od UTCa. - + Main prefix of the entity. Primarni prefiks entiteta. - + ARRL ID. ARRL ID. - + Date of the deletion. Datum brisanja. - + Deleted Izbrisan - + Cancel Poništi - - Ok + + OK Ok - OK - Ok - - - + Entity Dialog Dialog entiteta @@ -4846,12 +3803,12 @@ Izaberite vrstu dnevnika kakvu želite koristiti. SetupPageBandMode - + Bands Frekvencijski pojasevi - + Modes Načini rada @@ -4859,62 +3816,62 @@ Izaberite vrstu dnevnika kakvu želite koristiti. SetupPageClubLog - + &Callsign Pozivni &znak - + ClubLog &password ClubLog za&porka - + ClubLog &email ClubLog &email - + Enter the email you used to register in ClubLog. Unesite e-mail s kojim ste registrirani u ClubLogu. - + Enter the callsign you used to register in ClubLog. Unesite pozivni znak s kojim ste registrirani u ClubLogu. - + Enter your password in ClubLog. Unesite zaporku za ClubLog. - + &Send QSOs in real time Šalji QSOe u &stvarom vremenu - + &Activate ClubLog &Aktiviraj ClubLog - + Use QSO Station &Callsign Koristi &pozivni znak QSO postaje - + Send each QSO to ClubLog in real time, as they are added (or modified) in KLog. Šalji svaki QSO u ClubLog u realnom vremenu, kako su dodavani (ili mijenjani) u KLogu. - + Starts the ClubLog support in KLog. Pokreće ClubLog podršku u KLogu. - + Use the Station Callsign defined in each QSO instead of the one defined here. Koristi pozivni znak postaje određen u svakom QSOu umjesto onog određenog ovdje. @@ -4922,78 +3879,78 @@ Izaberite vrstu dnevnika kakvu želite koristiti. SetupPageColors - + New One Novi - + Needed in this band Potrebno na ovom frekvencijskom pojasu - + Worked in this band Rađen na ovom frekvencijskom pojasu - + Confirmed in this band Confirmed Potvrđeno na ovom frekvencijskom pojasu - + Default Zadano - + WSJT-X palette - WSJT-X paleta + - + Default palette - Uobičajena paleta + - + Color when the DXCC is an ATNO (All Time New One). - Boja kad je DXCC ATNO (All Time New One). + - + DXCC is confirmed in this band. - DXCC je potvrđen na ovom pojasu. + - + Default color. - Uobičajena boja. + - + Sets a palette of colors similar to the one used in WSJT-X. - Postavlja paletu boja sličnu onoj korištenoj u WSJT-X. + - + Sets the default palette. - Postavlja uobičajenu paletu. + - + This DXCC was worked before in another band but not in the selected band. It may be needed due to the CQ, ITU, Grid, ... - DXCC je već urađena na drugom frekvencijskom pojasu. Možda je potrebna zbog CQ, ITU, lokatora, ... + - + Worked DXCC, but not confirmed in this band. - DXCC odrađen, ali nije potvrđen na ovom opsegu. + - + Choose a color Izaberite boju @@ -5001,96 +3958,81 @@ Izaberite vrstu dnevnika kakvu želite koristiti. SetupPageDxCluster - + Add Dodaj - + Delete Izbriši - + Show &HF spots Show HF spots Prikazati &HF zapažanja - + Show V/&UHF spots Show V/UHF spots Prikazati V/&UHF zapažanja - + Show W&ARC spots Show WARC spots Prikazati W&ARC zapažanja - + Show &worked spots Show worked spots Prikazati od&rađena zapažanja - + Show &confirmed spots Show confirmed spots Prikazati p&otvrđena zapažanja - + Show ANN/&FULL messages Show ANN/FULL messages Prikazati ANN/&FULL poruke - + Show WW&V messages Show WWV messages Prikatati &WWV poruke - + Show WC&Y messages Show WCY messages Prikazati WC&Y poruke - - Save DX Cluster activity - Spremi aktivnost na DX klasteru - - - - Saves all the DX-Cluster activity to a file in the KLog folder - Sprema svu aktivnost na DX klasteru u datuteku u KLogovoj mapi - - - + DX Spots DX zapažanja - - Others - Drugi - - - + Messages Poruke - + KLog: Add a DXCluster server Kontest: Add a DXCluster server KLog: Dodaj DX-Cluster poslužitelj - + Add the address followed by the :port Example: dxfun.com:8000 If no port is specified, 41112 will be used by default: @@ -5105,404 +4047,296 @@ Ako ne dodate port, 41112 se podrazumijeva: SetupPageHamLib - + Activate HamLib - Aktiviraj HamLib + - + Activates the hamlib support that will enable the connection to a radio. - Aktivira hamlib podršku koja omogućava spajanje na radio. + - + Read-Only mode - Samo čitaj + - + If enabled, the KLog will read Freq/Mode from the radio but will never send any command to the radio. - Ako je omogućeno, KLog će čitati frekvenciju i način rada od radija ali mu nikad neće slati nikakvu naredbu. + - + Radio - Radio + - + Select your rig. - Izaberite vaš uređaj. + - + Defines the interval to pool the radio in msecs. - Definira interval u kojem će radio biti provjeravan u milisekundama. + - + Pool interval - Interval provjeravanja + - + Port - Port + - + Select the serial port. Only the serial ports that are detected are shown. - Izaberi setijski port. Samo detektirani portovi su prikazani. + - + Scan - Pretraži + - + Click to identify the serial ports available in your computer. - Kliknite da bi označili raspoložive serijske portove na vašem računalu. + - + Bauds - Bauda + - + Select the serial port speed. - Izaberite brzinu serijskog porta. + - + 5 bits - 5 bita + - + 6 bits - 6 bita + - + 7 bits - 7 bita + - + 8 bits - 8 bita + - + Data bits - Podatkovnih bitova + - + Select the serial data bits. - Izaberite broj serijskih podatkovnih bitova. + - + None - Nijedan + - + Hardware - Sklopovlje + - + Software XON/XOFF - Softverski XON/XOFF + - + Flow control - Kontrola toka + - + Select the serial flow control - Izaberite kontrolu serijskog toka + - + No parity - Bez pariteta + - + Even - Paran + - + Odd - Neparan + - + Space - There is Croatian translation for "space" but I think in this context (setting a serial port) it is better to leave this in the original English. - Space + - + Mark - There is Croatian translation for "mark" but I think in this context (setting a serial port) it is better to leave this in the original English - Mark + - + Parity - Paritet + - + Select the serial parity. - Izaberite paritet serijskog porta. + - + 1 bit - 1 bit + - + 1.5 bits - 1,5 bita + - + 2 bits - 2 bita + - + Stop bits - Stop bita + - + Select the serial stop bits. - Izaberite broj serijskih stop bita. - - - - SetupPageInterfacesWindows - - - UDP port number where the PSTRotator Server will listen for packets. - UDP port gdje će PSTRotator poslužitelj slušati za pakete. - - - - Default port is 12040. - Uobičajeni port je 12040. - - - - PST Rotator UDP Port - UDP port za PST Rotator - - - - Hostname or IP address of the computer running PSTRotator. Leave it as localhost if you are running KLog and PSTRotator in the same computer. - Ime stroja ili IP adresa računala koje izvršava PSTRotator. Ostavite kao localhost ako izvršavate KLog i PSTRotator na istom računalu. - - - - PST Rotator host - PST Rotator stroj - - - - Send antenna bearing to PST Rotator - Pošalji antenski kut na PST Rotator - - - - SetupPageLoTW - - - LoTW upload - - - TQSL Path - TQSL putanja - - - - Route to TQSL - Putanja do TQSLa - - - - Use TQSL - Koristi TQSL - - - - Path to the TQSL software. - Putanja do TQSL programa. - - - - Enable the LoTW integration with TQSL. You will need to have TQSL installed - Omogući LoTW integraciju preko TQSLa. Morate imati TQSL instaliran - - - - User: - - - - - Password: - - - - - Enter your password LoTW here. Warning: The password will be save on clear in the KLog config file!! If you don't want to enter the password, KLog will ask you when it is needed. - - - - - LoTW download - - - - - - Enter your LoTW user - - - - - - Enter your password LoTW here. Warning: The password will be save on clear in the KLog config file!! (If you don't want to enter the password, KLog will ask you when it is needed.) - - - - - Select File - Izaberite datoteku - SetupPageLogs + Type - Vrsta + Vrsta - + &New New &Novo - + &Edit Ur&edi - + &Remove Izb&risati - + KLog KLog - + Do you really want to remove this log? Želite li zaista ukloniti ovaj dnevnik? + All the QSOs from this log will be also deleted... - Svi QSOi iz ovog dnevnika će također biti izbrisani... + Svi QSOi iz ovog dnevnika će također biti izbrisani... - + Operators Operateri - + An error has occurred showing the following error code: Nastupila je greška sa sljedećim kodom: - + Log has not been removed. (#3) Dnevnik nije bio izbrisan (#3) - + Add a new log. Dodaj novi dnevnik. - + Edit the selected log. Uredi izabrani dnevnik. - + Remove the selected log. Izbriši izabrani dnevnik. - + Select the log you want to open. Označite dnevnik koji želite otvoriti. - - All the QSOs from this log will also be deleted... - Svi QSOi iz ovog dnevnika će biti izbrisani... - - - + Log has not been removed. (#2) Dnevnik nije bio izbrisan (#2) - + Log has not been removed. (#1) Dnevnik nije bio izbrisan (#1) - + KLog - SetupPageLogs KLog - SetupPageLogs - + ID ID - + Station Callsign Pozivni znak postaje - + Comments Komentari - + Date Datum @@ -5510,121 +4344,138 @@ Ako ne dodate port, 41112 se podrazumijeva: SetupPageLogsNew - + &Ok &Ok - + &Cancel &Poništi + Select categories - Izaberite kategorije + Izaberite kategorije - + &Date &Datum - + &Station Callsign Pozivni znak po&staje - + &Operators &Operateri - + Comm&ent Kom&entar - + Callsign used for this log. Pozivni znak korišten za ovaj dnevnik. - + Comma separated list of operators: callsign1, callsign2. Lista operatera odvojenih zarezom: pozivni1, pozivni2. - + Start date of this log. Datum početka ovog dnevnika. - + Add a comment about this log. Dodaj napomenu o ovom dnevniku. + &Type of Operation - Vrs&ta operacije + Vrs&ta operacije + Select the kind of operation for this log. - Izaberi vrstu djelovanja za ovaj dnevnik. + Izaberi vrstu djelovanja za ovaj dnevnik. + &Mode Category - Način &rada + Način &rada + Select the mode category. - Izaberi kategoriju načina rada. + Izaberi kategoriju načina rada. + O&perators Category - Kategorija O&peratera + Kategorija O&peratera + Select the operators category. - Izaberi kategoriju operatera. + Izaberi kategoriju operatera. + &Assisted Category - Potpomognut&a kategorija + Potpomognut&a kategorija + Select the assisted category. - Izaberi kategoriju potpomognutog rada. + Izaberi kategoriju potpomognutog rada. + Po&wer Category - Kategorija &Snage + Kategorija &Snage + Select the power category. - Izaberi kategoriju snage. + Izaberi kategoriju snage. + &Bands Category - Kategorija &frekventnih pojaseva + Kategorija &frekventnih pojaseva + Select the bands category. - Izaberi kategoriju frekventnih pojaseva. + Izaberi kategoriju frekventnih pojaseva. + O&verlay - Prekri&vač + Prekri&vač + Select the Overlay category. - Izaberi kategoriju prekrivanja. + Izaberi kategoriju prekrivanja. + + Categories not OK - Kategorije nisu OK + Kategorije nisu OK - + You need to enter a valid QRZ in the Station Callsign box. The log will not be opened. You need to enter a valid QRZ in the Station Callsign box @@ -5633,270 +4484,240 @@ The log will not be opened. Dnevnik neće biti otvoren. + You selected an invalid combination. The log will not be opened. You selected an invalid combination The log will not be opened. - Izabrali ste nevažeću kombinaciju. Dnevnik neće biti otvoren. + Izabrali ste nevažeću kombinaciju. Dnevnik neće biti otvoren. + Categories OK - Kategorije su OK + Kategorije su OK SetupPageMisc - + &Imperial system Imperial system &Imperialni sustav - + &Log in real time Log in real time &Dnevnik u stvarnom vremenu - + &Time in UTC Time in UTC Vrijeme u U&TC - + &Save ADIF on exit Save ADIF on exit &Spremi ADIF Datoteku pri izlasku - + Use this &default filename Use this default filename Koristi ovu &podrazumijevanu datoteku - + Mark &QSO to send QSL when QSL is received Mark QSO to send QSL when QSL is received Označi &QSO za slanje QSL kad je QSL primljena - + Complete QSO with previous data Popuni QSO prijašnjim podacima + &Reset to My Data for all QSOs - &Ponovo namjesti Moje Podatke za sve QSOe + &Ponovo namjesti Moje Podatke za sve QSOe - + Manage DX-Marathon - Upravljanje DX Marathonom + - + Activate the application debug log - Aktivirajte poruke za otkrivanje greški u aplikaciji + - + + Sort log based in date & time + + + + Move DB Makni bazu podataka + If new version checking is selected, KLog will send the developer your callsign, KLog version & Operating system to help in improving KLog. - Ako je označena provjera nove inačice, KLog će poslati razvijatelju vaš pozivni znak, inačicu KLoga i operacijski sustav kako bi pomogao u poboljšavanju KLoga. + Ako je označena provjera nove inačice, KLog će poslati razvijatelju vaš pozivni znak, inačicu KLoga i operacijski sustav kako bi pomogao u poboljšavanju KLoga. - + Check it for Imperial system (Miles instead of Kilometers). Označite za imperijalni sustav (milje umjesto kilometara). - + Select to use the following name for the logfile without being asked for it again. Označite za korištenje sljedećeg imena za dnevničku datoteku bez da ste za to ponovo upitani. - + Select if you want to manage DX-Marathon. - Označite ako želite upravljati DX Marathonom. + - + This is the default file where ADIF data will be saved. Ovo je zadana datoteka u koju će se spremati ADIF podaci. - + This is the directory where the database (logbook.dat) will be saved. Ovo je mapa u koju će se spremiti baza podataka (logbook.dat). - + Click to change the path of the database. Kliknite za promjenu putanje baze podataka. - + Activates the application debug log. This may be useful if something is not working as expected. A debug file will be created in the KLog directory. - Aktivira poruke za otkrivanje greški u aplikaciji. Ovo može biti korisno ako nešto ne radi kako treba. Datoteka će biti zapisana u KLogovoj mapi. + - - Click to mark as Queued (to be sent) all the eQSL (LoTW and eQSL) in all the new QSO by default. - Kliknite kako bi uobičajeno označili kao poredane (za slanje) sve eQSL (LoTW i eQSL) u svim novim QSOima. - - - + Please specify an existing directory where the database (logbook.dat) will be saved. Molim odaberite postojeću mapu gdje će baza podataka (logbook.dat) biti spremljena. - + This is the directory where DB (logbook.dat) will be saved. Ovo je mapa u koju će baza podataka (logbook.dat) biti spremljena. - - &Keep My Data for all QSOs - - - - - Mark sent eQSL && LoTW in new QSO as queued - Označite poslane eQSL i LoTW u novim QSOima kao poredane - - - + Click to change the default ADIF file. Kliknite za promjenu zadane ADIF datoteke. - + Click to move the DB to the new directory. Kliknite za micanje baze podataka u novu mapu. - + + Click to enable that log will be sorted based on date & time when clicking on the date column. It may be a little bit slower. + + + + Select Directory Izaberite mapu - - KLog - Move DB - - - - + File moved Datoteka maknuta - + File copied Datoteka kopirana - - File already exist. - - - - - The destination file already exist and KLog will not replace it. Please remove the file from the destination folder before moving the file with KLog to make sure KLog can copy the file. - - - - + File NOT copied Datoteka NIJE kopirana - - The file was not copied due to an unknown problem. - - - - + The target directory does not exist. Please select an existing directory. Ciljna mapa ne postoji. Molim izaberite postojeću mapu. + The search box will show also the callsign on the air to do the QSO. - Ova kućica za pretraživanje će vam također pokazati pozivni znak u eteru za QSO. + Ova kućica za pretraživanje će vam također pokazati pozivni znak u eteru za QSO. - + Show the Station &Callsign used in the search box Pokazati pozivni znakl &postaju korištenu u kućici za pretraživanje - + All the data from the My Data tab will be used or data from the previous QSO will be maintained. Svi podaci sa kartice Moji Podaci će biti korišteni ili sačuvaj podatje prijašnjih QSOa. - + &Check for new versions automatically &Provjeri za nove verzije automatski - + QSOs will be marked as pending to send a QSL if you receive the DX QSL and have not sent yours. QSOi će biti označeni kao neriješeni za slanje QSLke ako primite DX QSLku a niste poslali vašu. - + Check if there is a new release of KLog available every time you start KLog. Provjeri je li dostupna nova inačica KLoga svaki put kad pokreneš KLog. - + &Provide Info for statistics &Pruži podatke za statistiku - - The search box will also show the callsign on the air to do the QSO. - Polje za pretraživanje će također pokazati pozivnu oznaku u eteru za uraditi QSO. - - - - If new version checking is selected, KLog will send the developer your callsign, KLog version and Operating system to help in improving KLog. - Ako označite provjeru nove inačice, KLog će razvijatelju progama poslati vašu pozivnu oznaku, inačicu KLoga i operacijski sustav u svrhu unaprijeđivanja KLoga. - - - + Select to use real time. Označite da koristite stvarno vrijeme. - + Select to use UTC time. Izaberite za korištenje UTC vremena. - + Select if you want to save to ADIF on exit. Označite ako želite snimiti u ADIF formatu prije izlaska. - + Complete the current QSO with previous QSO data. Popuni trenutni QSO podacima prijašnjeg QSOa. - - + + Browse Razgledavanje - + Open File Otvori datoteku @@ -5904,320 +4725,292 @@ The log will not be opened. SetupPageSats - + &New - &Novo + &Novo - + &Edit - Ur&edi + Ur&edi - + &Remove - Izb&risati + Izb&risati - + &Import - &Uvoz + - + E&xport - &Izvoz + - + Add a new satellite. - Dodaj novi satelit. + - + Edit the selected satellite. - Uredi izabrani satelit. + - + Remove the selected satellite. - Izbriši izabrani satelit. + - + + Import a satellites file. It will replace the satellites you have now configured. + + + + Export your current satellites to a file. - Izvezite vaše trenutne satelite u datoteku. + - + Select the sat you want to open. - Izaberite satelit koji želite otvoriti. + - + KLog - KLog + KLog - + Do you really want to remove this satellite? - Želite li zaista izbrisati ovaj satelit? + - - Import a satellites file. It will replace the satellites you have in the current list. - Uvezi datoteku sa satelitima. To će zamijeniti satelite koje trenutno imate na listi. + + This satellite will not be longer available to be selected ... + - - This satellite will no be longer available to be selected ... - Ovaj satelit više neće moći biti izabran ... - - - + Sat has not been removed. (#3) - Satelit nije bio izbrisan (#3) + - + Sat has not been removed. (#2) - Satelit nije bio izbrisan (#2) + - + Sat has not been removed. (#1) - Satelit nije bio izbrisan (#1) + - + ID - ID + ID - + Short - Kratko + - + Name - Ime + Ime - + Uplink - Leaving original here makes more sense - Uplink + - + Downlink - Leaving original here makes more sense - Downlink + - + Modes - Načini rada + Načini rada - + An error has occurred showing the following error code: - Nastupila je greška sa sljedećim kodom: + Nastupila je greška sa sljedećim kodom: - + KLog - SetupPageSats - KLog - SetupPageSats + - + Open Satellites File - Otvori datoteku sa satelitima + - + KLog warning - Klog upozorenje + - + An unexpected error ocurred while importing the satellite data. It may be caused because the file you are trying to import does not have the right format. - Dogodila se neočekivana pogreška prilikom uvoza podataka o satelitima. - -Moguće je da datoteka koju pokušavate uvesti nije u ispravnom obliku. + - + Please check the format or contact the developer for analysis with the error code: - Molim provjerite format ili kontaktirajte razvijatelja za analizu koda greške: + - + Save Satellites File - Spremi datoteku sa satelitima + SetupPageSatsNew - + Short name - Kratko ime + - + Sat name - Ime satelita + - + UpLink - UpLink + UpLink - + DownLink - DownLink + DownLink - + Modes - Načini rada + Načini rada - + &Ok - &Ok + &Ok - + &Cancel - &Poništi + &Poništi - + Enter the short name. Try to use the LoTW short name so you can upload your QSO to LoTW afterwards. - Unesite kratko ime. Pokušajte koristiti kratko ime sa LoTWa kako biste poslije mogli učitati QSOe u LoTW. + - + Enter the name of the satellite. - Unesite ime satelita. + - + Enter the uplink frequencies in this format: 144.300 - Unesite uplink frekvenciju u ovom formatu: 144.300 + - + Enter the downlink frequencies in this format: 144.300 - Unesite downlink frekvenciju u ovom formatu: 144.300 + - + Enter the modes in this format: USB - Unesite načine rada u ovom formatu: USB + - - Some of the data you have entered is not correct; the satellite can't be added. - Neki od podataka koje ste unijeli nije valjan; satelit ne može biti dodan. + + Some of the data you have entered is not correct, the satellite can't be added. + SetupPageUDP - + Start UDP Server Pokreni UDP poslužitelj + Log automatically QSOs from WSJT-X - Automatski zapiši QSOe iz WSJT-Xa + Automatski zapiši QSOe iz WSJT-Xa + Allow WSJT-X to send logged QSO to KLog - Dozvoli WSJT-Xu da šalje zapisani QSO KLogu + Dozvoli WSJT-Xu da šalje zapisani QSO KLogu + + QSO logged in WSJT-X will be sent to KLog and KLog will ask before logging into KLog unless "%1" is selected + + + + KLog will log automatically any QSO coming from WSJT-X without any manual confirmation. - KLog će automatski upisati svaki QSO koji dolazi iz WSJT-Xa bez ikakve ručne potvrde. + KLog će automatski upisati svaki QSO koji dolazi iz WSJT-Xa bez ikakve ručne potvrde. + Receive and Update QSO data to KLog - Primi i osvježi QSO podatke u KLogu + Primi i osvježi QSO podatke u KLogu - + KLog will automatically show and update data coming from WSJT-X (DX callsign, locator, RPT, ...) KLog će automatski pokazati i osvježiti podatke koji dolaze iz WSJT-Xa (DX pozivni znak, lokator, izvještaj, ...) + Make sure it is the same port where the other programs are sending the data to. Default port is 2237. - Provjerite da je to isti port na koji i drugi programi šalju podatke. Uobičajena vrijednost je 2237. + Provjerite da je to isti port na koji i drugi programi šalju podatke. Uobičajena vrijednost je 2237. - - Automatically log QSOs from WSJT-X - Automatski zapisuj QSOe iz WSJT-X - - - - Allow WSJT-X to send logged QSOs to KLog - Dozvoli WSJT-X da šalje QSOe za zapisivanje u KLog - - - - QSOs logged in WSJT-X will be sent to KLog and KLog will ask before logging into KLog unless "%1" is selected - QSOi zapisani u WSJT-X biti će poslani u KLog i KLog će pitati prije upisivanja u KLog osim ako je "%1" označeno - - - - KLog will automatically log any QSO coming from WSJT-X without any manual confirmation. - Klog će automatski zapisivati nadolazeće QSOe iz WSJT-X bez ikakve ručne potvrde. - - - - Receive QSOs data and update to KLog - Primi QSO podatke u KLogu - - - + UDP port number where the UDP Server will listen for packets. UDP port na kojem će UDP poslužitelj slušati za pakete. - - Make sure it is the same port that the other programs are sending the data to. Default port is 2237. - Budite sigurni da je isto port na koji i ostali programi šalju podatke. Uobičajeni port je 2237. - - - + UDP Server will receive QSOs sent from other programs like WSJT-X allowing you to log in KLog automatically from those programs. UDP poslužitelj će primiti QSOe poslane iz drugih programa kao na primjer WSJT-X što će vam omogućiti automatsko zapisivanje iz tih programa u KLog. - + UDP Port UDP Port - - QSOs notification timeout (milisecs) - Istek QSO obavijesti (milisekunde) - - - - Miliseconds that the notification of QSOs received from WSJTX will be shown. - Milisekunde za koje će obavijest QSOa pristiglih iz QSJTX biti prikazana. - - + QSO notification timeout (milisecs) - Vrijeme trajanja QSO obavijesti (milisekundi) + Vrijeme trajanja QSO obavijesti (milisekundi) + + + + Milliseconds that the notification of QSO received from WSJTX will be shown. + Miliseconds that the notification of QSO received from WSJTX will be shown. @@ -6227,196 +5020,196 @@ Moguće je da datoteka koju pokušavate uvesti nije u ispravnom obliku. SetupPageUserDataPage - + &Personal data Personal data Osobni &podaci - + Station &data Station data Podaci &postaje - + &Name Name &Ime - + &Address Address &Adresa - + Cit&y City &Grad - + &Zip Code Zip Code &Poštanski kod - + Pro&v/State Prov/State Županija/&Regija - + Countr&y Country &Zemlja - - - + + + Enter your information for rig Unesite podatke o vašoj postaji - - - + + + Enter your information for antenna Unesite podatke o vašoj anteni - + Enter your name. Unesite vaše ime. - + Enter your address - 1st line. Unesite vašu adresu - 1. red. - + Enter your address - 2nd line. Unesite vašu adresu - 2. red. - + Enter your address - 3rd line. Unesite vašu adresu - 3. red. - + Enter your address - 4th line. Unesite vašu adresu - 4. red. - + Enter your city. Unesite vaš grad. - + Enter your zip code. Unesite vaš poštanski kod. - + Enter your province or state. In Croatian language both "country" and "state" translate to "država", there is no concept similar to that of US states as being parts of the country. Unesite vašu pokrajinu ili županiju. - + Enter your country. Unesite vašu državu. - + Enter your power information. Unesite potatke o vašoj snazi. - + &Rig 1 &Radio uređaj 1 - + R&ig 2 R&adio uređaj 2 - + Ri&g 3 Ra&dio uređaj 3 - + Antenna &1 Antena &1 - + Antenna &2 Antena &2 - + Antenna &3 Antena &3 - + Po&wer &Snaga - + Enter the station callsign that will be used for logging. Unesite pozivni znak postaje koji će biti korišten za zapisivanje dnevnika. - + Enter the locator of your station. Alternatively, KLog can use an approximate locator based on your callsign. Unesite lokator vaše postaje. Alternativno, KLog može koristiti približan lokator na osnovu vašeg pozivnog znaka. - + &QRZ &QRZ - + &Operators &Operatori - + &CQ Zone &CQ Zona - + &ITU Zone &ITU Zona - - + + &Locator &Lokator - + &Locator (not valid) &Lokator (neispravan) - + Enter the operators (comma separated if more than one). Unesite operatere (odvojene zarezom ako je više od jednog). @@ -6424,172 +5217,139 @@ Moguće je da datoteka koju pokušavate uvesti nije u ispravnom obliku. SetupPageWorldEditor - + KLog will not be able to show entities information. KLog neće moći prikazati podatke o entitetima. - + Prefix Prefiks - + Entity Entitet - + An entities information file (cty.csv) has been detected in your KLog folder and will be loaded. Datoteka s podacima o entitetima (cty.csv) pronađena u vašoj KLog mapi bit će učitana. - + Add - Dodaj + Dodaj - + Delete - Izbriši + Izbriši - + Edit - Uredi + - + Export World - Izvezi svijet + - + Import World - Uvezi svijet + - - - - + + + + Still not implemented. - Još neimplementirano. + - + Import a new cty.csv file - Uvezi novu cty.csv datoteku + - + No entities information file (cty.csv) has been detected in your KLog folder. Datoteka s podacima o entitetima (cty.csv) ne postoji u vašoj KLog mapi. - + ARRL ID ARRL ID - + Continent Kontinent - + CQ Zone CQ Zona - + ITU Zone ITU Zona - + UTC UTC - + Latitude Širina - + Longitude Dužina - + Deleted Izbrisano - + Since Date Od datuma - + To Date Do datuma - + Open File Otvori datoteku - + BigCTY (*.csv) VelikiCTY (*.csv) - + Entities information has been updated. Podaci o entitetima su ažurirani. - + Entities information has not been updated. Podaci o entitetima nisu ažurirani. - - ShowAdifImportWidget - - - The following QSOs are those QSOs that you have received the LoTW confirmation. - - - - - Ok - Ok - - - - DX - - - - - Date/Time - Datum/Vrijeme - - - - Band - Pojas - - - - Mode - Način rada - - ShowErrorDialog @@ -6679,7 +5439,7 @@ Moguće je da datoteka koju pokušavate uvesti nije u ispravnom obliku. QSO per Continent - QSOi po kontinentu + @@ -6689,60 +5449,60 @@ Moguće je da datoteka koju pokušavate uvesti nije u ispravnom obliku. QSO per month - QSOi po mjesecu + Worked / Confirmed status - Odrađen / potvrđen status + Worked / Sent status - Odrađen / poslan status + Sent / Confirmed status - Poslan / potvrđen status + StatsCQZPerYearBarChartWidget - + CQ Zones per year - CQ zona po godini + - + Reading data ... - Učitavam podatke ... + Učitavam podatke ... - + Abort reading - Prekini čitanje + Prekini čitanje - + CQ zones - CQ zone + CQ zone - + CQ zones per year - CQ zone po godini + CQ zone po godini - + Reading data ... - Učitavam podatke ... + Učitavam podatke ... - + Years: %1/%2 - Godine: %1/%2 + @@ -6750,37 +5510,37 @@ Moguće je da datoteka koju pokušavate uvesti nije u ispravnom obliku. Chart title - Naslov dijagrama + Naslov dijagrama Reading data ... - Učitavam podatke ... + Učitavam podatke ... Abort reading - Prekini čitanje + Prekini čitanje DXCC Entities - DXCC Entiteti + DXCC Entiteti DXCC Entities per year - DXCC Entiteti po godini + DXCC Entiteti po godini Reading data ... - Učitavam podatke ... + Učitavam podatke ... Entities: - Entiteti: + Entiteti: @@ -6788,41 +5548,37 @@ Moguće je da datoteka koju pokušavate uvesti nije u ispravnom obliku. QSOs per band - QSOi po pojasu + Reading data ... - Učitavam podatke ... + Učitavam podatke ... Abort reading - Prekini čitanje + Prekini čitanje Bands - Pojasevi + Frekvencijski pojasevi - QSOs per band distribution - Raspodjela QSOa po opsezima - - QSO per band distribution - Raspodjela QSOa po opsezima + Raspodjela QSOa po opsezima Reading data ... - Učitavam podatke ... + Učitavam podatke ... Bands: - Pojasevi: + Pojasevi: @@ -6831,32 +5587,32 @@ Moguće je da datoteka koju pokušavate uvesti nije u ispravnom obliku. QSOs per continent - QSOi po kontinentu + Reading data ... - Učitavam podatke ... + Učitavam podatke ... Abort reading - Prekini čitanje + Prekini čitanje Continents - Kontinenti + Reading data ... - Učitavam podatke ... + Učitavam podatke ... Hours: - Sati: + Sati: @@ -6864,38 +5620,38 @@ Moguće je da datoteka koju pokušavate uvesti nije u ispravnom obliku. QSOs per DXCC - QSOa po DXCC + Reading data ... - Učitavam podatke ... + Učitavam podatke ... Abort reading - Prekini čitanje + Prekini čitanje Reading data... - Učitavam podatke ... + Učitavam podatke ... Entity: - Entitet: + Entitet: DXCC - DXCC + DXCC Top ten DXCC per QSO - Gornjih deset DXCCa po QSOu + Gornjih deset DXCCa po QSOu @@ -6903,37 +5659,37 @@ Moguće je da datoteka koju pokušavate uvesti nije u ispravnom obliku. QSOs per hour - QSOa po satu + Reading data ... - Učitavam podatke ... + Učitavam podatke ... Abort reading - Prekini čitanje + Prekini čitanje Hours - Sati + Sati QSOs at hour - QSOa na sat + QSOa po satu Reading data ... - Učitavam podatke ... + Učitavam podatke ... Hours: - Sati: + Sati: @@ -6941,41 +5697,37 @@ Moguće je da datoteka koju pokušavate uvesti nije u ispravnom obliku. QSOs per mode - QSOi po načinu rada + Reading data ... - Učitavam podatke ... + Učitavam podatke ... Abort reading - Prekini čitanje + Prekini čitanje Modes - Načini rada + Načini rada - QSOs per mode distribution - Raspodjela QSOa po načinu rada - - QSO per mode distribution - Raspodjela QSOa po načinu rada + Raspodjela QSOa po načinu rada Reading data ... - Učitavam podatke ... + Učitavam podatke ... Modes: - Načini rada: + Načini rada: @@ -6983,97 +5735,97 @@ Moguće je da datoteka koju pokušavate uvesti nije u ispravnom obliku. QSOs per month - QSOa po mjesecu + Reading data ... - Učitavam podatke ... + Učitavam podatke ... Abort reading - Prekini čitanje + Prekini čitanje Jan - Sij + Feb - Velj + Mar - Ožu + Apr - Tra + May - Svi + Jun - Lip + Jul - Srp + Sep - Ruj + Oct - Lis + Nov - Stu + Dec - Pro + Aug - Kol + Months - Mjeseci + QSOs at Month - QSOi na mjesec + Reading data ... - Učitavam podatke ... + Učitavam podatke ... Months: - Mjeseci: + @@ -7081,37 +5833,37 @@ Moguće je da datoteka koju pokušavate uvesti nije u ispravnom obliku. Chart title - Naslov dijagrama + Naslov dijagrama Reading data ... - Učitavam podatke ... + Učitavam podatke ... Abort reading - Prekini čitanje + Prekini čitanje QSOs - QSOi + QSOi QSOs per year - QSOi po godini + QSOi po godini Reading data ... - Učitavam podatke ... + Učitavam podatke ... QSO: %1/%2 - QSO: %1/%2 + @@ -7119,12 +5871,12 @@ Moguće je da datoteka koju pokušavate uvesti nije u ispravnom obliku. Sent - %1 - Poslano - %1 + Confirmed - %2 - Potvrđeno - %2 + @@ -7132,12 +5884,12 @@ Moguće je da datoteka koju pokušavate uvesti nije u ispravnom obliku. Worked, not confirmed - %1 - Odrađeno, nije potvrđeno - %1 + Confirmed - %2 - Potvrđeno - %2 + @@ -7145,12 +5897,12 @@ Moguće je da datoteka koju pokušavate uvesti nije u ispravnom obliku. Worked - %1 - Rađeno - %1 + Sent - %2 - Poslano - %2 + @@ -7158,141 +5910,116 @@ Moguće je da datoteka koju pokušavate uvesti nije u ispravnom obliku. KLog tips - KLog savjeti + Next - Idući + Previous - Prethodni + <b>Tip #1:</b><br>Do you know...<br>You can use <a href="#ToolsFillInQSO">Tools->Fill in QSO data</a> to automatically read the full log to fill the DXCC, CQ, ITU zones and continent? Translator: Please make sure that the name of the link is coherent with the menu Tools->Fill in QSO data - <b>Savjet #1:</b><br>Znate li...<br>Možete koristiti <a href="#ToolsFillInQSO">Alati->Popuni QSO podatke</a>kako bi automatski pročitali cijeli dnevnik i popunili DXCC, CQ, ITU zone i kontinent? + <b>Tip #2:</b><br>Do you know...<br>You can use <a href="#ToolsFillInDXCC">Tools->Fill in DXCC data</a> to automatically read the full log to fill the DXCC QSO data? Translator: Please make sure that the name of the link is coherent with the menu Tools->Fill in DXCC data - <b>Savjet #2:</b><br>Znate li...<br>Možete koristiti <a href="#ToolsFillInDXCC">Alati->Popuni DXCC podatke</a>kako bi automatski pročitali cijeli dnevnik i popunili DXCC podatke? + <b>Tip #3:</b><br>Do you know...<br>You can use <a href="#ToolsFindQSO2QSL">Tools->QSL tools...->Find QSO to QSL</a> to look for all those QSO that you should send your QSL because you still need to confirm that DXCC and you have still not send your QSL card? Translator: Please make sure that the name of the link is coherent with the menu Tools->QSL tools...->Find QSO to QSL - <b>Savjet #3:</b><br>Znate li...<br>Možete koristiti <a href="#ToolsFindQSO2QSL">Alati->Nađi QSO za QSL</a> za pronalaženje svih QSOa za koje bi trebali poslati vašu QSLku jer još uvijek trebate potvrditi taj DXCC a još uvijek niste poslali vašu QSL kartu? + <b>Tip #4:</b><br>Do you know...<br>You can export your QSO marked as QSL requested with <a href="#FileExportQSLADIFToPrint">File->Export Requested QSL to ADIF...</a> to create an ADIF file that you will be able to import into a QSL tag creation program to print tags for your QSL cards? Translator: Please make sure that the name of the link is coherent with the menu File->Export Requested QSL to ADIF... - <b>Savjet #4:</b><br>Znate li...<br>Možete izvesti QSOe označene kao QSL zatražena opcijom <a href="#FileExportQSLADIFToPrint">Datoteka->Izvezi traženi QSL u ADIF</a> za stvaranje ADIF datoteke koju možete uvesti u program za ispisivanje QSL naljepnica i ispisati naljepnice za vaše QSL kartice? - - - <b>Tip #5:</b><br>Do you know...<br>You can export your QSO marked as requested, via LoTW, in your log with <a href="#FileExportLoTWADIF">File->Export ADIF for LoTW...</a> to create an ADIF file that you will be able to import in TQSL to be signed and uploaded to LoTW?<br><br>You have to mark as Q-Queued all the QSOs you want to be exported to be sent to LoTW. - Translator: Please make sure that the name of the link is coherent with the menu File->Export ADIF for LoTW... - <b>Savjet #5:</b><br>Znate li...<br>Možete izvesti QSOe označene kao zatražene, preko LoTWa,u vašem dnevniku koristeći <a href="#FileExportLoTWADIF">Datoteka->Izvezi ADIF za LoTW...</a> kako bi napravili ADIF datoteku koju možete uvesti u TQSL za potpisivanje i učitavanje u LoTW?<br><br>Morate označiti kao Q-Poredano sve QSOe koje želite izvesti za slanje u LoTW. - - - - <b>Tip #5:</b><br>Do you know...<br>You can enter a '*' in the search box, in the search window to search for all the QSOs done with one specific station callsign? - + + <b>Tip #5:</b><br>Do you know...<br>You can export your QSO marked as requested, via LoTW, in your log with <a href="#FileExportLoTWADIF">File->Export ADIF for LoTW...</a> to create an ADIF file that you will be able to import in TQSL to be signed and uploaded to LoTW?<br><br>You have to mark as Q-Queued all the QSOs you want to be exported to be sent to LoTW. + Translator: Please make sure that the name of the link is coherent with the menu File->Export ADIF for LoTW... + + + + <b>Tip #6:</b><br>Do you know...<br>You can find the file containing all your log and other information in the logbook.dat file and the klogrc file, containing the KLog config file in the KLog folder by opening the <a href="#FileOpenKLogFolder">File->KLog folder</a> menu? Translator: Please make sure that the name of the link is coherent with the menu File->KLog folder - <b>Savjet #6:</b><br>Znate li...<br>Možete naći datoteku koja sadrži vaš dnevnik i ostale podatke u datoteci logbook.dat i klogrc datoteku, koja sadrži KLog konfiguraciju u KLog mapi otvarajući izbornik <a href="#FileOpenKLogFolder">Datoteka->KLog mapa</a>? + - + <b>Tip #7:</b><br>Do you know...<br>You can find the QSLs that you still need to send with <a href="#ToolsSendPendingQSL">Tools->QSL tools...->Find My-QSLs pending to send</a>.<bR>This tool will list you in the search box all the QSOs with the QSL-Sent marked as <i>Requested</i>. Translator: Please make sure that the name of the link is coherent with the menu QSL tools...->Find My-QSLs pending to send - <b>Savjet #7:</b><br>Znate li...<br>Možete naći QSLe koje još uvijek trebate poslati korištenjem <a href="#ToolsSendPendingQSL">Alati->QSL alati...->Nađi Moje-QSL za koje je slanje neodlučeno</a>.<bR>Ovaj će vam alat pokazati u kućici za pretraživanje sve QSOe sa QSL-Poslana označenim kao <i>Zatražena</i>. + - + <b>Tip #8:</b><br>Do you know...<br>You can find the QSLs that you are still waiting for with <a href="#ToolsReceivePendingQSL">Tools->QSL tools...->Find DX-QSLs pending to receive</a>.<bR>This tool will list you in the search box all the QSOs with the QSL-Sent marked as <i>Sent</i> but you have still not received the QSL card from the DX. Translator: Please make sure that the name of the link is coherent with the menu QSL tools...->Find DX-QSLs pending to receive - <b>Savjet #8:</b><br>Znate li...<br>Možete naći QSLke koje još uvijek očekujete korištenjem <a href="#ToolsReceivePendingQSL">Alati->QSL alati...->Nađi DX-QSL za koje je prijem neodlučen</a>.<bR>Ovaj će vam alat pokazati u kućici za pretraživanje sve QSOe sa QSL-Poslana označene kao <i>Poslana</i> za koje još niste primili QSL karticu od DX postaje. + - + <b>Tip #9:</b><br>Do you know...<br>You can find the QSLs that you are still waiting for with <a href="#ToolsReceiveRecPendingQSL">Tools->QSL tools...->Find requested pending to receive</a>.<bR>This tool will list you in the search box all the QSOs with the QSL-Rec marked as <i>Requested</i> but you have still not received the QSL card from the DX. Translator: Please make sure that the name of the link is coherent with the menu QSL tools...->Find requested pending to receive - <b>Savjet #9:</b><br>Znate li...<br>Možete naći QSLke koje još uvijek očekujete korištenjem <a href="#ToolsReceiveRecPendingQSL">Alati->QSL alati...->Nađi zatražene neodlučene za prijem</a>.<bR>Ovaj će vam alat pokazati u kućici za pretraživanje sve QSOe sa QSL-Primljena označene kao <i>Zatražena</i> za koje još niste primili QSL karticu od DX postaje. + - + <b>Tip #10:</b><br>Do you know...<br>You can subscribe to the <a href=https://t.me/klogchat>English KLog Telegram group</a> to discuss about KLog in English? - <b>Savjet #10:</b><br>Znate li...<br>Možete se pretplatiti na <a href=https://t.me/klogchat>englesku KLog Telegram grupu</a> za diskusije o KLogu na engleskom jeziku? + - + <b>Tip #11:</b><br>Do you know...<br>You can subscribe to the <a href=https://t.me/KLogES>Spanish Telegram group</a> to discuss about KLog in Spanish? - <b>Savjet #11:</b><br>Znate li...<br>Možete se pretplatiti na <a href=https://t.me/KLogES>španjolsku KLog Telegram grupu</a> za diskusije o KLogu na španjolskom jeziku? + - - <b>Tip #12:</b><br>Do you know...<br>You can subscribe to <a href=https://lists.nongnu.org/mailman/listinfo/klog-users>KLog-users mailing list</a> to discuss via email about KLog in English? - <b>Savjet #12:</b><br>Znate li...<br>Možete se pretplatiti na <a href=https://lists.nongnu.org/mailman/listinfo/klog-users>KLog-users mailing listu</a> za e-mail diskusije o KLogu na engleskom jeziku? + + <b>Tip #12:</b><br>Do you know...<br>You can subscribe to <a href=http://lists.nongnu.org/mailman/listinfo/klog-users>KLog-users mailing list</a> to discuss via email about KLog in English? + - + <b>Tip #13:</b><br>Do you know...<br>You can <a href=https://twitter.com/_ea4k>follow EA4K on twitter</a> to get updates about KLog? - <b>Savjet #13:</b><br>Znate li...<br>Možete <a href=https://twitter.com/_ea4k>pratiti EA4K na twitteru</a> kako bi dobili obavijesti o KLogu? + - + <b>Tip #14:</b><br>Do you know...<br>You can write your own <a href=https://www.eham.net/reviews/detail/3118>review in eHam.net about KLog</a> to help other users to decide to use KLog? - <b>Savjet #14:</b><br>Znate li..<br>Možete napisati vlastitu <a href=https://www.eham.net/reviews/detail/3118>recenziju o KLogu na eHam.net</a> kako bi pomogli drugim korisnicima odlučiti da koriste KLog? + - + <b>Tip #15:</b><br>Do you know...<br>You can join the development team by simply <a href=https://www.klog.xyz/contact>Contacting us</a>? - <b>Savjet #15:</b><br>Znate li...<br>Možete se pridružiti razvojnom timu jednostavno tako da nas <a href=https://www.klog.xyz/contact>Kontaktirate</a>? + - + <b>Tip #16:</b><br>Do you know...<br>That there are many ways to contribute to KLog and some of them are listed in the <a href=https://www.klog.xyz/contrib>KLog Contribute</a> page? - <b>Savjet #16:</b><br>Znate li...<br>Postoji mnogo načina na koje možete doprinijeti KLogu a neki od njih navedeni su na <a href=https://www.klog.xyz/contrib>KLog Doprinesi</a> stranici? + - + <b>Tip #17:</b><br>Do you know...<br>You can support translating KLog into your language? Please check <a href=https://www.klog.xyz/contrib/translations>KLog Translations</a> page. - <b>Savjet #17:</b><br>Znate li...<br>Možete pomoći prijevodu KLoga na vaš jezik? Molim pogledajte <a href=https://www.klog.xyz/contrib/translations>KLog Prijevodi</a> stranicu. + - - <b>Tip #18:</b><br>Do you know...<br>You can double-click on an entity name in the DXCC table and all the QSOs with that DXCC Entity will be shown in the search box? - <b>Savjet #18:</b><br>Znate li...<br>Možete dvostruko kliknuti na ime entiteta u DXCC tablici i svi QSOi s tim DXCC entitetom bit će prikazani u kućici za pretraživanje? - - - - <b>Tip #19:</b><br>Do you know...<br>You can right-click on a QSO and select <i>Check in QRZ.com</i> to check that callsign in QRZ.com? - <b>Savjet #19:</b><br>Jeste li znali...<br>Možete napraviti desni klik na QSO i izabrati <i>Provjeri na QRZ.com</i> kako biste provjerili taj pozivni znak na QRZ.com? - - - - <b>Tip #20:</b><br>Do you know...<br>You can see the QSO that confirms one specific DXCC entity in one specific band by poiting your mouse over that band in the DXCC widget? - <b>Savjet #20:</b><br>Jeste li znali...<br>Možete vidjeti QSO koji potvrđuje određeni DXCC entitet na određenom frekvencijskom pojasu držeći miša iznad tog frekvencijskog pojasa u DXCC alatki? - - - - <b>Tip #21:</b><br>Do you know...<br>You can upload your QSO marked as queued to LoTW via TQSL with <a href="#ToolsUploadLoTW">Tools->Upload to LoTW...</a> ?<br><br>You have to configure TQSL in the preferences to be able to use this functionality. - Translator: Please make sure that the name of the link is coherent with the menu File->Export ADIF for LoTW... - <b>Savjet #21:</b><br>Jeste li znali..<br>Možete učitati QSOe označene kao poredane za LoTW preko TQSLa sa <a href="#ToolsUploadLoTW">Alati->Učitaj u LoTW...</a> ?<br><br>Morate podesiti TQSL u postavkama kako biste mogli koristiti ovu funkciju. - - - + TIP-Default: Text - TIP-Default: Text + @@ -7311,7 +6038,7 @@ Moguće je da datoteka koju pokušavate uvesti nije u ispravnom obliku. The Satellites information has been updated. - Podatci o satelitima su ažurirani. + @@ -7337,12 +6064,12 @@ Moguće je da datoteka koju pokušavate uvesti nije u ispravnom obliku.Kontinent - + Abort reading Prekini čitanje - + Reading cty.csv... Čitam cty.csv... @@ -7352,32 +6079,32 @@ Moguće je da datoteka koju pokušavate uvesti nije u ispravnom obliku. World map - Karta svijeta + View - Pogled + Zoom In(25%) - Povećaj(25%) + Zoom Out(25%) - Umanji(25%) + Normal Size - Izvorna veličina + Fit to window - Prilagodi prozoru + diff --git a/translations/klog_it.ts b/translations/klog_it.ts index 7c38b892..9b03eb76 100644 --- a/translations/klog_it.ts +++ b/translations/klog_it.ts @@ -30,8 +30,9 @@ Da + Please know that this is an BETA release and it may contain many bugs.<br>Backup your data before using this software! - Per favore tieni conto che questa è una versione BETA e pertanto può contenere molti bug.<br>Copia i tuoi dati prima di usare questo software! + Per favore tieni conto che questa è una versione BETA e pertanto può contenere molti bug.<br>Copia i tuoi dati prima di usare questo software! @@ -39,19 +40,15 @@ Autore + KLog has been fully rewritten from the 0.6.2 to be able to provide a cross-platform application that runs in the main operating systems (Linux, macOS & Windows) and provide new functionalities that KLog was not providing. - Dalla versione 0.6.2 KLog è stato completamente riscritto per poter funzionare su tutti i principali sistemi operativi (Linux, MacOS & Windows) oltre che nuove funzioni. + Dalla versione 0.6.2 KLog è stato completamente riscritto per poter funzionare su tutti i principali sistemi operativi (Linux, MacOS & Windows) oltre che nuove funzioni. KLog is a free logbook for hamradio operators. KLog è un software libero per radioamatori. - - - Since 0.6.2, KLog has been fully rewritten to provide a cross-platform application that runs on all major operating systems (Linux, macOS and Windows) and to support new functionality. - - Please provide your review in KLog's eHam review page: @@ -77,11 +74,6 @@ If KLog is still not in your language and you want to help us, you are welcome to contact us through the <a href="https://lists.nongnu.org/mailman/listinfo/klog-devel">KLog development mailing list</a>! - - - KLog developers have included a feature that reports some user data to the KLog server with the sole purpose of identifying the number of installed versions, to focus development in one direction or another taking into account users' needs. - - KLog developers have included a feature that reports some user data to the KLog server with the sole purpose of identifying the number of installed versions, to focus development in one direction or another taking into account user's needs Gli sviluppatori di KLog hanno inserito una funzione che trasmette alcuni dati utente al server di KLog con la sola finalità di contare le versioni effettivamente installate, per sviluppare KLog in modo più funzionale alle esigenze degli utenti @@ -105,11 +97,6 @@ Find more information and the latest release at Cerca ulteriori informazioni e l'ultima versione presso - - - Please be aware that this is a development release and it may contain many bugs.<br>Backup your data before using this software! - - @@ -121,6 +108,11 @@ Privacy advisory Nota sul trattamento dei dati personali + + + KLog developers have included a feature that reports some user data to the KLog server with the sole purpose of identifying the number of installed versions, to focus development in one direction or another taking into account user's needs. + + Callsign @@ -152,94 +144,6 @@ Privacy - - AdifLoTWExportWidget - - - Select the Station Callsign that you want to use to upload the log. - - - - - Select the start date to export the QSOs. The default date is the date of the first QSO with this station callsign. - - - - - Select the end date to export the QSOs. The default date is the date of the last QSO with this station callsign. - - - - - Station callsign - - - - - Start date - - - - - End date - - - - - Ok - Ok - - - - Cancel - - - - - DX - - - - - Date/Time - Data/Ora - - - - Band - Banda - - - - Mode - Modo - - - - Not defined - - - - - All - Tutto - - - - QSOs: - - - - - This table shows the QSOs that will be sent to LoTW. - - - - - This table shows the QSOs that will be exported to ADIF. - - - AwardsWidget @@ -338,22 +242,22 @@ - Number of QSOs worked in the selected year. + Number of QSOs worked on the selected year. - Number of DXCCs worked in the selected year. + Number of DXCC worked on the selected year. - Number of CQ Zones worked in the selected year. + Number of CQ Zones worked on the selected year. - Score for the DXMarathon in the selected year. + Score for the DXMarathon on the selected year. @@ -384,60 +288,52 @@ CTYPage - + Country data download Scarico dati Country - + KLog needs country data... KLog ha bisogno di informazioni sui Country... - + &Download &Scarica - + &Ignore &Ignora - + Country data needed Dati Country richiesti + + + KLog uses the cty.csv file from http://www.country-files.com/ to get DXCC information. + KLog usa il file cty.cvs disponibile su http://www.country-files.com/ per acquisire le informazioni DXCC. + - KLog uses the cty.csv file from https://www.country-files.com/ to get DXCC information. - + You need to download the cty.csv file if you want KLog to show you the countries, locator, ... of the QSOs you do. + E' necessario scaricare il file cty.cvs se vuoi che KLog mostri countries, locator, ... relativi al QSO avvvenuto. - You need to download the cty.csv file if you want KLog to show you the countries, locator, etc. of the QSOs you do. - - - - KLog uses the cty.csv file from http://www.country-files.com/ to get DXCC information. - KLog usa il file cty.cvs disponibile su http://www.country-files.com/ per acquisire le informazioni DXCC. - - - You need to download the cty.csv file if you want KLog to show you the countries, locator, ... of the QSOs you do. - E' necessario scaricare il file cty.cvs se vuoi che KLog mostri countries, locator, ... relativi al QSO avvvenuto. - - - Click on Download to download now. Clicca su Scarica per avviare lo scarico. - + KLog KLog - + I can't find the host. Please check your network and try again Do you want to try again? Non riesco a raggiungere l'host. Per favore verifica la tua conenssione di rete e riprova @@ -452,31 +348,27 @@ Vuoi fare un ulteriore tentativo? Aggiornamento + ID - ID + ID - + Entity Collegamento - - Prefix - Prefisso - - - + Pref: - + CQ: - + ITU: @@ -486,7 +378,7 @@ Vuoi fare un ulteriore tentativo? - + Entity not worked in this band. @@ -494,123 +386,118 @@ Vuoi fare un ulteriore tentativo? DXClusterWidget - + Click on Connect to connect to the DX-Cluster server Clicca su Connetti per collegarti al server DX-Cluter - - + + Connect Connetti - - - - + + + + Clear Pulisce - + Click on connect to connect to the DX-Cluster Clicca su Connetti per colelgarti al DX-Cluster - + Trying to connect to the server Tentativo di connessione al server in corso - + + - KLog DXCluster KLog DXCluster - + The host was not found. Please check: Server host non trovato. Per favore verifica: - + - your network connection; - the host name and port settings. - la tua configurazione di rete; - il nome del server ed il numero di porta configurato. - + The connection was refused by the peer. Make sure the DXCluster server is running, and check that the host name and port settings are correct. La conenssione è stata rifiutata lato server. Accertati che il server DXCluster sia in funzione, e controlla che il nome del server host e l'impostazione delle porte sia corretto. - + The following error occurred: %1. Errore appena rilevato: %1. - + Connected to server Connesso al server - - - + + + KLog message Messaggio KLog - - + + Enter your callsign to connect to the cluster: Inserisci il nominativo di conenssione al cluster: - + Enter your password to connect to the cluster: (Just hit enter for no password) Inserisci la password di connessione al cluster: (direttamente Invio per nessuna password) - - + + Disconnect Scollega - + Not logged on, you may need to enter your callsign again. Non collegato, forse devi inserire di nuono il nominativo. - + Enter here the commands to be sent to the DX-Cluster server. - + Connection closed by the server Collegamento chiuso dal server - + Click on Connect to connect to the DX-Cluster server. - + Send Trasmetti - - - It was not possible to open the file to save the DX-Spots for writing. DX-Cluster activity will not be saved! - - DataProxy_SQLite @@ -620,181 +507,177 @@ Vuoi fare un ulteriore tentativo? Versione software nel DB vuota + No query failed - Nessuna query fallita + Nessuna query fallita - + Aircraft Scatter Common term in hamradio, do not translate if not sure - + Aurora - + Aurora-E - + Back scatter Common term in hamradio, do not translate if not sure - + Earth-Moon-Earth - + Sporadic E - + Internet-assisted - + Ionoscatter Common term in hamradio, do not translate if not sure - + Meteor scatter Common term in hamradio, do not translate if not sure - + Terrestrial or atmospheric repeater or transponder - + Rain scatter Common term in hamradio, do not translate if not sure - + Satellite Satellite - + Bureau Common term in hamradio, do not translate if not sure - + Manager Common term in hamradio, do not translate if not sure - + All QSOs have been updated with a DXCC and the Continent. - + Field Aligned Irregularities Common term in hamradio, do not translate if not sure - - Query didn't failed - - - - + F2 Reflection Common term in hamradio, do not translate if not sure - + Trans-equatorial Common term in hamradio, do not translate if not sure - + Tropospheric ducting Common term in hamradio, do not translate if not sure - - + + Yes - - + + No - - + + Requested - - + + Ignore/Invalid - + Validated - + Queued - + Uploaded - + Do not upload - + Modified - + Direct Diretta - + Electronic - + KLog DXCC KLog-DXCC @@ -802,22 +685,22 @@ Vuoi fare un ulteriore tentativo? DownLoadCTY - + Download of cty.csv failed with the following error code: Lo scarico di cty.csv è fallito generando il seguente codice errore: - + Download of cty.csv done. Scarico di cty.cvs completo. - + There is already a cty.csv file in the folder but it will be replaced with the new one. E' già presente un file cty.cvs nella cartella ma sarà sovrascritto dal nuovo. - + Could not open %1 for writing @@ -825,372 +708,226 @@ Vuoi fare un ulteriore tentativo? FileManager - - - + + Writing ADIF file... File ADIF in scrittura... - - - - + + + Abort writing Scrittura annullata - + Writing ADIF file... QSO: File ADIF in scrittura... QSO: - - - + You have canceled the file export. The file will be removed and no data will be exported. Hai annullato l'operazione di export. Il file sarà rimosso e nessun dato sarà esportato. - - KLog - Error - - - - - - The selected log does not exist, please check it again. - - - - - The selected callsign (%1) is not valid, please check it again. - - - - - - The file %1 can't be opened. - - - - - - - - + + Do you still want to cancel? Sei sicuro di voler annullare l'operazione? - - - - + + QSO: QSO: + The log that you have selected contains more than just one station callsign. - Il log scelto contiene più nominativi di stazione. + Il log scelto contiene più nominativi di stazione. + Station Callsign: - Nominativo di stazione: + Nominativo di stazione: + Define Station Callsign - Imposta il nominativo di stazione + Imposta il nominativo di stazione + You have selected no callsign. KLog will export QSOs without a station callsign defined and those with the call you are entering here. - Non hai scelto il nominativo di stazione. KLog esporterà I QSO senza un nominativo di stazione definito ed con il nominatativo qua indicato. + Non hai scelto il nominativo di stazione. KLog esporterà I QSO senza un nominativo di stazione definito ed con il nominatativo qua indicato. + Enter the station callsign to use for this log or leave it empty for QSO without station callsign defined: - Scegli il nominativo di stazione di questo log o lascialo vuoto per i QSO senza nominativo definito: + Scegli il nominativo di stazione di questo log o lascialo vuoto per i QSO senza nominativo definito: - + Exporting LoTW ADIF file... Exportazione file LOTW ADIF... - - - - - - KLog - User cancelled - - - - + Writing Cabrillo file... File Cabrilo in scrittura... - + KLog: Cabrillo Log Export not implemented KLog: funzione di export di Log su Cabrillo non implementata - + I am sorry but the Cabrillo Export To File feature has still not been implemented. Spiacente, ma la funzione di esport del log su file Cabrillo non è stata ancora implementata. - + Reading LoTW file... Lettura file LoTW... - + Reading ADIF file... File ADIF in lettura... - - KLog - Duplicated QSOs - - - + This QSO is not including the minimum data to consider a QSO as valid!. - Questo QSO non contiene le informazioni minime necessarie per essere considerato un QSO valido!. + Questo QSO non contiene le informazioni minime necessarie per essere considerato un QSO valido!. - + Please edit the ADIF file and make sure that it include at least: Per favore modifica il file ADIF ed inserisci al suo interno almeno: - + and e - + This QSO had: Questo QSO aveva: - - - KLog - No Station callsign entered. + + Some QSO of this log, (i.e.: %1) seems to lack of RST-RX information. - - KLog has found one QSO without the Station Callsign defined. - -Enter the Station Callsign that was used to do this QSO with %1 on %2: - - - - - - KLog - QSO without Station Callsign - - - - - + + Abort reading Annullamento lettura + No station callsign has been selected and therefore no log will be exported - Non hai scelto un nominativo di stazione e perciò nessun log sarà esportato + Non hai scelto un nominativo di stazione e perciò nessun log sarà esportato - + There is more than one log in this logfile. Esiste più di una registrazione in questo file log. - + All logs will be imported into the current log. Tutte le registrazioni saranno importante nel corrente log. - + Do you want to continue? Vuoi proseguire? - + Importing ADIF file... Import di ADIF file in corso... + You have cancelled the file import. The file will be removed and no data will be imported. - Hai annullato l'import. Il file sarà rimosso e nessun dato importato. + Hai annullato l'import. Il file sarà rimosso e nessun dato importato. - + It seems that there are some duplicated QSOs in the ADIF file you are importing. Do you want to continue? (Duped QSOs will not be imported) Ho trovato alcuni QSL duplicati nel file ADIF che stai importando. Vuoi continuare ugualmente? (I QSO duplicati non saranno comunque importati) - - - There are no QSOs pending to be uploaded with that station callsign. + + Please select the station callsign you want to export the log from: - - KLog - Log selection - - - - - - You have canceled the file import. The file will be removed and no data will be imported. - - - - - - - - KLog - Invalid call detected - - - - - - - - An invalid callsign has been detected %1. Do you want to export this callsign anyway (click on Yes) or remove the call from the exported log file? - - - - - - - - Exporting wrong calls may create problems in the applications you are potentially importing this logfile to. It may, however, be a good callsign that is wrongly identified by KLog as not valid. You can, however, edit the ADIF file once the export process is finished. - - - - - The selected callsign (%1) is not valid, please check it again to export the log. - - - - - Exporting ADIF file... - - - - - KLog - File not opened - - - - - It was not possible to open the file %1 for reading. - - - - - KLog was not able to read the LoTW file - - - - - Importing LoTW ADIF file... - - - - - This QSO is not including the minimum data to consider a QSO as valid! - - - - + - The band missing and the following call: - La banda non è indicata ed il seguente nominativo: - - KLog has found one QSO without the Station Callsign defined. - -Enter the Station Callsign that was used to do this QSO on %1: - - - + - The call missing but was done at this time: - - Il nominativo non è indicato ma è stato effettuato all'ora: + - Il nominativo non è indicato ma è stato effettuato all'ora: - + - The mode missing and the following call: - Il modo operativo non è indicato e il seguente nominativo: - + - The date missing and the following call: - La data non è indicata ed il seguente nominativo: - + - The time missing and the following call: - L'ora non è indicata ed ils eguente nominativo: - + Do you want to continue with the current file? Vuoi poroseguire sul seguente file? - + KLog: Not all required data found! KLOg: Dati necessari mancanti! - - - Some QSOs of this log, (i.e.: %1) seems to lack RST-TX information. - - - - - Click on Yes to add a default 59 to all QSOs with a similar problem. - - - - - If you select NO, maybe the QSO will not be imported. - - - - - Some QSOs of this log, (i.e.: %1) seems to lack RST-RX information. - - - - - KLog - Apply to all QSOs in this log? - - This log seems to lack of RST-TX information. Questo log sembra non contenere informazioni RTS-TX. - + + Click on Yes to add a default 59 to all QSO with a similar problem. Clicca su Sì per aggiungere un 59 come default a tutti i QSO con un problema simile. - + + If you select NO, the QSO may not be imported. Se scegli NO, il QSO non sarà importato. - + + Some QSO of this log, (i.e.: %1) seems to lack of RST-TX information. + + + + KLog: No RST TX found! KLog: Non trovato RST TX! @@ -1199,7 +936,7 @@ Enter the Station Callsign that was used to do this QSO on %1: Questo log sembra non contenere informazioni RST-RX. - + KLog: No RST RX found! KLog: Non trovato RST TX! @@ -1337,23 +1074,15 @@ Enter the Station Callsign that was used to do this QSO on %1: This looks like it's the first time you've run KLog on this computer. Sembra questa sia la prima volta tu stia eseguendo KLog su questo computer. - - KLog is a free hamradio logging program that can run on Linux macOS and Windows. - KLog è un software libero per radioamatori di memorizzazione log che gira su Linux MacOS e Windows. - - - It is designed to provide general purpose, DX and contest logging. - E' progettato per un uso generico, DX e log di contest. - - KLog is a free hamradio logging program that can run on Linux, macOS, and Windows. - + KLog is a free hamradio logging program that can run on Linux macOS and Windows. + KLog è un software libero per radioamatori di memorizzazione log che gira su Linux MacOS e Windows. - It is designed to provide general purpose DX, and contest logging. - + It is designed to provide general purpose, DX and contest logging. + E' progettato per un uso generico, DX e log di contest. @@ -1414,161 +1143,6 @@ Enter the Station Callsign that was used to do this QSO on %1: Attenzione che KLog è software libero. - - LoTWUtilities - - - KLog - LoTW password needed - - - - - Please enter your LoTW password: - - - - - KLog - File exist - - - - - There is a file already existing with the name that will be used. - - - - - The file %1 already exist. Do you want to overwrite? - - - - - KLog - Can't write the file - - - - - KLog was not able to save the file %1. -Error returned: %2 - - - - - The file already %1 exist. - - - - - Downloading data to file: %1. - - - - - - KLog - LoTW download - - - - - KLog - Download error - - - - - The downloading error is: %1 - - - - - There was an error while downloading the file from LoTW. - - - - - KLog - Redirection found - - - - - The remote server redirected our connection to %1 - - - - - Do you want to follow the redirection? - - - - - It was not possible for find the file %1 that has been just downloaded. - - - - - It seems that LoTW has no QSO with the Station Callsign you are using (%1). - - - - - Try again and send the downloaded file (%1) to the KLog developer for analysis. - - - - - KLog downloaded %1 QSOs successfully. Do you want to update your log with the downloaded data? - - - - - KLog - File not found - - - - - KLog can't find the downloaded file. - - - - - KLog - LoTW user/password error - - - - - LoTW server did not recognized your user/password - - - - - Check your user and password and ensure your are using the right one before trying again. - - - - - KLog - LoTW No QSOs - - - - - LoTW sent no QSOs - - - - - KLog - LoTW Unknown error - - - - - KLog can't recognize the file that has been downloaded from LoTW. - - - - - Now KLog will process the downloaded QSO and update your local log. - - - LogModel @@ -1615,190 +1189,118 @@ Error returned: %2 LogWindow - + QSL Send Trasmetti QSL - + QSL Rcvd Ricevi QSL - + &Delete &Cancella - + Delete a QSO Cancella un QSO - + &Edit QSO &Modifica QSO - + Edit this QSO Modifica questo QSO - + Via &bureau Via &bureau - + Send this QSL via bureau Trasmetti questa QSL via bureau - + D&irect D&iretta - + Send this QSL via direct Trasmetti questa QSL via diretta - + Via bureau Via bureau - + QSL &received via bureau QSL &ricevuta via bureau - + Direct Diretta - + QSL received via direc&t QSL ricevuta cia diret&ta - - Check in QRZ.com - - - - - Check this callsign in QRZ.com - - - - - Check in DXHeat.com - - - - - Check this callsign in DXHeat.com - - - - + You have requested to delete this QSO. Hai richiesto di cancellare questo QSO. - + Are you sure? Sei sicuro? - - MainQSOEntryWidget - - - - - &Add - - - - - &Clear - &Pulisce - - - - QRZ of the QSO. - - - - - Band of the QSO. - - - - - Mode of the QSO. - - - - - Date of the QSO. - - - - - Time of the QSO. - - - - - Add the QSO to the log. - - - - - Clears the QSO entry. - - - - - KLog will show real time if enabled. - - - - - QRZ - QRZ - - - - &Modify - - - MainWindow - + Starting KLog - &Clear - &Pulisce + + + + + &Add + - - + + &Clear + &Pulisce + + + + Status bar... + + + + DX Entity - + &Log Window @@ -1814,33 +1316,28 @@ Error returned: %2 MHz - - + + KLog KLog - + It seems that you have never done a backup or exported your log to ADIF. - - Status bar ... - - - - + It seems that the latest backup you did is older than one month. - + Log backup recommended! - + It is a good practice to backup your full log regularly to avoid loosing data in case of a problem. Once you export your log to an ADIF file, you should copy that file to a safe place, like an USB drive, cloud drive, another computer, ... @@ -1850,438 +1347,502 @@ KLog will remind you to backup on a monthly basis. - + Ready - + An unexpected error ocurred when trying to add the QSO to your log. If the problem persists, please contact the developer for analysis: - - + + You have selected an entity: - - + + that is different from the KLog proposed entity: - + Click on the prefix of the correct entity or Cancel to edit the QSO again. - + Click on the prefix of the right entity or Cancel to correct. - + + + QRZ of the QSO. + + + + + TX RST. - + + RX RST. - - There was an error while updating to Yes the LoTW QSL sent information. + + + TX Exchange. - + + + Band of the QSO. + + + + + + Mode of the QSO. + + + + + + Date of the QSO. + + + + + + Time of the QSO. + + + + + + Add the QSO to the log. + + + + + Clear the box. + + + + + Input + + + + + RSTrx RSTrx - + + RSTtx RSTtx - + + + QRZ QRZ - + + STX + + + + + SRX + + + + Do you really want to exit KLog? - - KLog - File not open + + Invalid characters used in the QRZ - - KLog - Unexpected error - - - - - - KLog - Select correct entity - - - - - KLog - Exit - - - - + &File - + &Import from ADIF... - + Import an ADIF file into the current log. - + Export to ADIF... - + Export the current log to an ADIF logfile. - + Export all logs to ADIF... - + Export ALL the QSOs into one ADIF file, merging QSOs from all the logs. - + + Export Requested QSL to ADIF... + + + + + Export all QSOs requesting QSLs to an ADIF file (e.g. to import it into a QSL tag printing program). + + + + + Export ADIF for LoTW... + + + + + Export an ADIF file to be sent to LoTW. Remember to sign it with TQSL before uploading to LoTW! + + + + &Print Log... - + Print your log. - + KLog folder - + Opens the data folder of KLog. - + E&xit - + &Tools - + Fill in QSO data - + Go through the log reusing previous QSOs to fill missing information in other QSOs. - + + Fill in DXCC data + + + + + Go through the log filling QSOs without a DXCC defined. + + + + QSL tools... - + &Find QSO to QSL - + Shows QSOs for which you should send your QSL and request the DX QSL. - + Find My-QSLs pending to send - + Shows the QSOs with pending requests to send QSLs. You should keep this queue empty! - + &Find DX-QSLs pending to receive - + + Shows the DX-QSL that has been requested or QSLs has been sent with no answer. + + + + &Find requested pending to receive - + + Shows the DX-QSL that has been requested. + + + + LoTW tools... - + + Queue all QSL to be sent of this log + + + + + Mark all non sent QSOs in this log as queued to be uploaded. + + + + + Queue all QSL to be sent + + + + + Mark all non sent QSOs as queued to be uploaded. + + + + + Mark as sent all queued QSO of this log + + + + Mark all queued QSOs in this log as sent to LoTW. - + + Mark all queued QSO as sent + + + + Mark all queued QSOs as sent to LoTW. - - Upload to LoTW - - - - - Sends the log to LoTW calling TQSL. - - - - + &Update cty.csv - - + + For updated DX-Entity data, update cty.csv. - + &Update Satellite Data - + Stats - + Show the statistics of your radio activity. - + &Setup - + &Setup... - + &Help - + Check updates... - + &About... - + &Tips... - + About Qt... - - - - - - - - - - - - + + + + + + + + KLog LoTW - - + + All pending QSO of this log has been marked as queued for LoTW! + + + + + Now you can go to the File menu to export the LoTW ADIF file and upload it to LoTW. - - KLog - TQSL + + + There was a problem to mark all pending QSO of this log as queued for LoTW! - - TQSL is not installed or KLog can't find it. Please check the configuration. + + All pending QSO has been marked as queued for LoTW! - - Error #1: The process was cancelled by the user or TQSL was not configured. No QSOs were uploaded. - - - - - Error #2: Upload was rejected by LoTW, please check your data. - - - - - Error #3: The TQSL server returned an unexpected response. - - - - - Error #4: There was a TQSL error. - - - - - Error #5: There was a TQSLLib error. - - - - - Error #6: It was not possible to open the input file. - - - - - Error #7: It was not possible to open the ouput file. - - - - - Error #8: No QSOs were processed since some QSOs were duplicates or out of date range. - - - - - Error #9: Some QSOs were processed, and some QSOs were ignored because they were duplicates or out of date range. - - - - - Error #10: Command syntax error. KLog sent a bad syntax command. - - - - - Error #11: LoTW Connection error (no network or LoTW is unreachable). - - - - - Error #00: Unexpected error. Please contact the development team. - - - - + The log that you have selected contains more than just one station callsign. Il log scelto contiene più nominativi di stazione. - + Please select the station callsign you want to mark as sent to LoTW: - + Station Callsign: Nominativo di stazione: - + Define Station Callsign Imposta il nominativo di stazione - + You have selected no callsign. KLog will mark QSOs without a station callsign defined and those with the call you are entering here. - + Enter the station callsign to use for this log or leave it empty for QSO without station callsign defined: Scegli il nominativo di stazione di questo log o lascialo vuoto per i QSO senza nominativo definito: - - KLog - No station selected - - - - + No station callsign has been selected and therefore no log will be marked - + + All queued QSO of this log has been marked as sent for LoTW! + + + + + There was a problem to mark all queued QSO of this log as sent for LoTW! + + + + + All queued QSO has been marked as sent to LoTW! + + + + + There was a problem to mark all queued QSO of this log as sent to LoTW! + + + + About... - + KLog update checking result - + Congratulations! congratulazioni! - + You already have the latest version. Stai già usando la versione più recente. @@ -2290,414 +1851,236 @@ KLog will remind you to backup on a monthly basis. Salva File - + You can find the KLog data folder here: - + start - + stop - + + It seems that there are no QSO in the database. + + + + If you are sure that the database contains QSOs and KLog is not able to find them, please contact the developers (see About KLog) for help. - - + + TX Frequency in MHz. - - + + RX Frequency in MHz. - + Power used by the DX. - + Logging operator's callsign. Logging nominativo dell'operatore. - + Callsign used over the air. Nominativo usato via etere. - + My QTH locator. Locator del mio QTH. - + Name of the DX. - + QTH of the DX. - + Locator of the DX. - + DX Locator DX-Locator - + TX Frequency in MHz. Frequency is not in a hamradio band! - + RX Frequency in MHz. Frequency is not in a hamradio band! - + QSO logged from WSJT-X: - + + + RX Exchange. + + + + + It was not possible to open the debug file for writting. No debug log will be saved! + + + + KLog new version detected! - + It seems that you are running this version of KLog for the first time. - + The setup will be open to allow you to do any new setup you may need. - - - KLog - Not valid call - - - - - - The call %1 is not a valid call. Do you really want to add this call to the log? - - - - - - Adding non-valid calls to the log may create problems when applying for awards, exporting ADIF files to other systems or applications. - - - - - - No DXCC - - - - - - None - - - - + The logfile has been modified. - + Do you want to save your changes? - - Shows DX-QSLs for which requests or QSLs have been sent with no answer. - - - - - Shows the DX-QSLs that have been requested. - - - - - Queue all QSLs from this log to be sent - - - - - Mark all non-sent QSOs in this log as queued to be uploaded. - - - - - Queue all QSLs to be sent - - - - - Put all the non-sent QSOs in the queue to be uploaded. - - - - - Mark as sent all queued QSOs of this log - - - - - Mark all queued QSOs as sent - - - - - Download from LoTW - - - - - All pending QSOs of this log has been marked as queued for LoTW! - - - - - - There was a problem to mark all pending QSOs of this log as queued for LoTW! - - - - - Your log has not been updated. - - - - - No QSO was updated with the data coming from LoTW. This may be because of errors in the logfile or simply because your log was already updated. - - - - - All pending QSOs has been marked as queued for LoTW! - - - - - TQSL finished with no error. - - - - - All queued QSOs of this log has been marked as sent for LoTW! - - - - - There was a problem to mark all queued QSOs of this log as sent for LoTW! - - - - - All queued QSOs has been marked as sent to LoTW! - - - - - There was a problem to mark all queued QSOs of this log as sent to LoTW! - - - - - + + UDP Server error The UDP server failed to %1. start or stop - - It seems that there are no QSOs in the database. + + Clears the QSO entry. - - This function is disabled. Go to the Setup->LoTW tab to enable it. - - - - + Status of the DX entity. - + Name of the DX entity. - - + + Name - + QTH - + Power(rx) - + RST(tx) - + RST(rx) - + Freq TX - + Freq RX - + QSO - + QSL - + eQSL - - + + Comment Commento - + Others - + My Data Dati personali - + Satellite Satellite - - - KLog ADIF export - - - - - No QSOs have been exported to ADIF. - - - - - KLog has exported %1 QSOs to the ADIF file: %2 - - - - - If you uploaded any QSO to LoTW while you were using TQSL you can now mark them as sent in KLog. - -Do you want to mark as Sent all the QSOs uploaded to LoTW? - - - - - Select the Station Callsign to use when quering LoTW: - - - - - Please check the LoTW setup - - - - - You have not defined a LoTW user or a proper Station Callsign. -Open the LoTW tab in the Setup and configure your LoTW connection. - - - - - KLog - Non-supported mode - - - - - A new mode not supported by KLog has been received from an external program or radio: - - - - - Do you want to keep receiving these alerts? (disabling these alerts will prevent non-valid modes being detected) - - - - - Recommendation: - - - - - Periodically export your data to ADIF to prevent a potential data loss. - - QSOs QSO - + DXCC DXCC @@ -2706,7 +2089,7 @@ Open the LoTW tab in the Setup and configure your LoTW connection. CQ - + Info @@ -2715,281 +2098,300 @@ Open the LoTW tab in the Setup and configure your LoTW connection. Confermato - + Awards - + Search - + Log - + DX-Cluster DX-CLuster - - - + + + + Save ADIF File - - The LoTW upload process has finished and KLog created a file (%1) in your KLog folder. - -Do you want KLog to remove that file? + + LoTW logfile has been properly exported! - - The file has been removed. + + Remember to: - - - KLog - LoTW + + Before uploading: sign the LoTW log; and - - It was not possible to open the debug file for writing. No debug log will be saved! + + After uploading: mark as sent all the queued QSO (LoTW Tools). - - Your log has been updated with the LoTW downloaded QSOs. + + There was no QSO to be exported. - - KLog has updated %1 QSOs from LoTW. + + If you think that some QSO should have been exported, please look for them and ensure that the eQSL LoTW QSL sent box is marked as: - - KLog - Select the Station Callsign. + + Q - Queued - + + There was an error while exporting the LoTW. The log has not been exported! + + + + + Open File Apre File - + + &Modify + + + + My QTH locator. Format should be Maidenhead like IN70AA up to 10 characters. - + - Needed for DXMarathon - + Filling QSOs... - + Abort filling - + Filling DXCC, CQz, ITUz, Continent in QSOs... QSO: - + Number - + Date Data - + Time Ora - + Band Banda - - + + Mode Modo - + Print Log - + Printing the log... - + Abort printing - - + + Printing the log... QSO: - + KLog QSO received - + The following QSO data has been received from WSJT-X to be logged: - + Call - + Freq - + Time On - + Time Off - + RST TX - + RST RX - + DX-Grid - + Comments Commenti - + TX Pwr - + Operator Operatore - + Local-Grid - + If the received mode is correct, please contact KLog development team and request support for that mode - - KLog - Duplicated satellite + + Do you want to keep receiving this alerts? (disabling this alerts will prevent that non-valid modes are detected) - + + A new mode not supported by KLog has been received from an external software or radio: + + + + A duplicated satellite has been detected in the file and will not be imported. - + Please check the satellite information file and ensure it is properly populated. - + Now you will see a more detailed error that can be used for debugging... - + An unexpected error ocurred!! - + If the problem persists, please contact the developers - + for analysis: - + Error in function - + Error code - + Error text - + Failed query - - KLog - Show errors + + Recomendation: - + + Export, periodically, your data to ADIF to prevent a potential data loss. + + + + Do you want to keep showing errors? @@ -3005,77 +2407,77 @@ Do you want KLog to remove that file? MainWindowInputEQSL - + Date of the ClubLog upload. Data del Clublog scaricata. - + Date of the eQSL sending. Date of the eQSL sending. - + Date of the eQSL reception. Date of the eQSL reception. - + Date of the LoTW sending. Data della trasmissione LoTW. - + Date of the LoTW reception. Data della ricezione LoTW. - + Status of the LoTW sending. Stato della trasmissione LoTW. - + Status of the LoTW reception. Stato della ricezione LoTW. - + LoTW Sent Trasmissione LoTW - + LoTW Rec Registrazione LoTW - + Status on ClubLog. Stato su ClubLog. - + Status of the eQSL sending. Stato della spedizione delle eQSL. - + Status of the eQSL reception. Stato della ricezione di eQSL. - + ClubLog ClubLog - + eQSL Sent Invio eQSL - + eQSL Rec Registrazione eQSL @@ -3215,68 +2617,64 @@ Do you want KLog to remove that file? MainWindowMyDataTab + Watt - Watt + Watt - - Watts - - - - + Keep this data Mantieni questa data - - + + Data entered in this tab will be copied into the next QSO. - + Power used for the QSO in watts. - + Logging operator's callsign. Logging nominativo dell'operatore. - + Callsign used over the air. Nominativo usato via etere. - - + + My QTH locator. Locator del mio QTH. - + Power Potenza - + Operator Operatore - + Station Callsign Nominativo di stazione - + My Locator Il mio Locator - + My QTH locator. Format should be Maidenhead like IN70AA up to 10 characters. @@ -3315,7 +2713,7 @@ Do you want KLog to remove that file? - + Locator of the DX station. This box is synchronized with the Locator box in the QSO tab. @@ -3356,54 +2754,50 @@ Do you want KLog to remove that file? MHz - + Locator of the DX station. Format should be Maidenhead like IN70AA up to 10 characters. - + Not Sat QSO QSO non satellitare - + KLog has detected a satellite name that it does not recognise. If it should use one of the names of known satellites instead, please select it from the list. Alternatively, please contact the development team to add the new satellite name. KLog ha trovato un nome di satellite non riconosciuto. Se hai bisogno di usare un nome di satellite conosciuto invece, selezionalo dalla lista. In alternativa, per favore contatta lo staff di sviluppo per aggiungere il nuovo nome di satellite. - - Please be aware that the satellite name will not be saved if it is not in the list, so that information may be lost! - - - + Please know that the satellite name will not be saved if it is not in the list so that information may be lost! - Teni gentilmente presente che il nome del satellite non sarà salvato se assente dalla lista così quest'informazione andrà persa! + Teni gentilmente presente che il nome del satellite non sarà salvato se assente dalla lista così quest'informazione andrà persa! - + RX Frequency in MHz. Frequency is not in a hamradio band! - + RX Frequency in MHz. - + TX Frequency in MHz. Frequency is not in a hamradio band! - + TX Frequency in MHz. - + Other - Sat not in the list Altro - Satellite assente dalla lista @@ -3414,7 +2808,7 @@ Frequency is not in a hamradio band! - + The satellite you have in your QSO is: Il satellite del tuo QSO è: @@ -3422,586 +2816,484 @@ Frequency is not in a hamradio band! QObject - + New One, work it! Nuovo, work it! + + + + + + + - - - - - - - Needed, work it! Necessario, work it! - - - - + + + + Worked but not confirmed Lavorato ma non confermato - + Confirmed Confermato - + Not identified Non identificato - - + + Database Error Errore nel database - + KLog DB needs to be upgraded. Il DB KLog deve essere aggiornato. - - - - - - KLog - DB update - - - - + KLog has detected a previous log in the DB. All data will be migrated to a newly created DX type log for you. KLog ha rilevato un precedente log nel DB. Tutti i dati saranno copiati su un nuovolog tipo DX per te. - + KLog: Enter Station callsign KLog: Inserisci nominativo di stazione - + Enter the station callsign used in this log Inserisci il nominativo di stazione usato in questo log - + Station Callsign Nominativo di stazione + All the data was migrated correctly. You should now go to Setup->Preferences->Logs to check that everything is OK. - Tutti i dati sono stati copiati correttamente. Adesso dovresti andare su Configurazione > Preferenze >Logs per controllare che sia tutto OK. + Tutti i dati sono stati copiati correttamente. Adesso dovresti andare su Configurazione > Preferenze >Logs per controllare che sia tutto OK. - - - - - + + + + + QSO: QSO: - - - - + + + + Canceling this update will cause data inconsistencies and possibly data loss. Do you still want to cancel? Annullare questo aggiornamento può causare inconsistenza dei dati caricati e perdite di dati. Ancora vuoi effettuare l'annullamento? - - + + Progress: Progresso: - + Updating DXCC award information... Aggiornamento imformazioni award DXCC... - + Updating DXCC Award information... Aggiornamento infomrazioni award DXCC... - + Updating WAZ award information... Aggiornamento informazioni award WAZ... - + Updating WAZ Award information... - - + + Updating mode information... Aggiornamento informazioni modi... - + Do you want to upgrade it now? Vuoi effettuare l'aggiornamento adesso? - + If DB is not upgraded KLog may not work properly. Se il DB non è aggiornato KLog potrebbe non funzionare correttamente. - - All the data was migrated correctly. You should now go to Setup->Preferences->Logs to check that everything is okay. - - - - - - - - - - + + + + + + + Abort updating Annulla aggiornamento - - - - + + + + Updating bands information... Aggiornamento informazione bande... - + Updating bands information in %1 status... Aggiornamento informazione bande %1 stato... - + Updating mode information in %1 status... Aggiornamento informazioni modi %1 stato... - + Install wizard was canceled before completing... Il wizard di installazione è stato annullato prima di aver completato l'operazione... - + Do you want to remove the KLog dir from your disk? Vuoi rimuovere la cartella KLog dal tuo disco? - + Your KLog dir has been removed La tua cartella di KLog è stata eliminata - + I could not remove your KLog dir. You should do it manually if you want it removed from your hard disk. Non sono riuscito ad eliminare la tua cartella KLog. Dovrai eliminarla a mano dal tuo hard disk. - + Your KLog dir could not be removed. You should do it manually if you want it removed from your hard disk. Non sono riuscito a rimuovere la cartella di KLog. Dovrai eliminarla a mano dal disco. - + Remember that your KLog dir is on your system... Ricorda che la cartella di KLog è sul tuo sistema... + - + - Thank you for running KLog! Grazie per aver usato KLog! - + Updating information... - + Updating DXCC and Continent information... - - - A wrong call has been found: %1. Please enter a new call or confirm that the current one is a good call. - - - - - An empty callsign has been detected. If it is possible, please enter the right call. - - - - - KLog - Not valid callsign found - - - - - RotatorWidget - - - Rotator - - SearchWidget - + &Clear &Pulisce - - - + + + &Select All &Seleziona Tutto - + &Search &Cerca + All - Tutto + Tutto - + &Export Highlighted &Esporta elementi evidenziati - - All logs - - - - + Clear the searches. Cancella le ricerche. - + Export the search result to an ADIF file. Esporta i risultati della ricerca su un file ADIF. - + Select/Unselect all the QSOs shown. Seleziona/deleseziona tutti i QSO mostrati. - + Search in the log. Cerca nel log. - + Search in all logs. Cerca in tutti i logs. + Enter the QRZ to search for. - Inserisci il QRZ da cercare. + Inserisci il QRZ da cercare. - - Enter the QRZ to search for. Enter '*' to show all the QSOs... it may be slow in big logs! - - - - + Search results. Risultati della ricerca. - - Select the Station Callsign used to do this QSO. - - - - - + + QRZ QRZ - - + + Date/Time Data/Ora - - + + Band Banda - - + + Mode Modo - - + + QSL Sent QSL inviata - - - + + + QSL Rcvd QSL ricevuta - + Station Callsign Nominativo di stazione - - + + ID ID - - All in log - - - - - Not defined - - - - - Searching for the QSOs... -(It may take long in big logs.) - - - - - KLog - Search - - - - - + + &Clear selection &Pulisce selezione - + Save File Salva File - + QSL Send Invia QSL - + &Delete &Cancella - + Delete a QSO Cancella un QSO - + &Edit QSO &Modifica QSO - + Edit this QSO Modifica questo QSO - + Via &bureau Via &bureau - + Send this QSL via bureau Invia questa QSL via bureau - + D&irect D&iretta - + Send this QSL via direct Invia questa QSL via diretta - + &Request my QSL &Richiedi la mia QSL - + Mark my QSL as requested Segna la mia QSL come richiesta - - Via Direct and mark DX QSL as requested - - - - - Send this QSL via direct and mark DX QSL as requested - - - - - Via Bureau and mark DX QSL as requested - - - - - Send this QSL via bureau and mark DX QSL as requested - - - - - Via bureau and mark my QSL as requested - - - - - QSL received via bureau and mark my QSL as requested - - - - - Direc&t and mark as my QSL requested - - - - - QSL received via direct and mark my QSL as requested - - - + Via Direct && mark DX QSL as requested - Via Diretta && segna QSL DX come richiesta + Via Diretta && segna QSL DX come richiesta + Send this QSL via direct & mark DX QSL as requested - Invia questa QSL via diretta & segna QSL DX come richiesta + Invia questa QSL via diretta & segna QSL DX come richiesta + Via Bureau && mark DX QSL as requested - Via bureau && segna QSL DX come richiesta + Via bureau && segna QSL DX come richiesta + Send this QSL via bureau & mark DX QSL as requested - Invia questa QSL via bureau & segna QSL DX come richiesta + Invia questa QSL via bureau & segna QSL DX come richiesta - + &Request the QSL &Richiedi la QSL - + Mark the QSL as requested Segna la QSL come richiesta + Via bureau && mark my QSL as requested - Via bureau && segna la mia QSL come richiesta + Via bureau && segna la mia QSL come richiesta + QSL received via bureau & mark my QSL as requested - QSL rcievuta via bureau & segna la mia QSL come richiesta + QSL rcievuta via bureau & segna la mia QSL come richiesta - + Via bureau Via bureau - + QSL received via bureau QSL ricevuta via bureau + Direc&t && mark as my QSL requested - Diret&ta && segna come richiesta la mia QSL + Diret&ta && segna come richiesta la mia QSL + QSL received via direct & mark my QSL as requested - QSL ricevuta via diretta & segna la mia QSL come richiesta + QSL ricevuta via diretta & segna la mia QSL come richiesta - + Direc&t Diret&ta - + QSL received via direct QSL ricevuta via diretta - + You have requested to delete the QSO with: %1 - + Are you sure? Sei sicuro? - + Needed QSO to send the QSL QSO che hanno bisogno to inviare la QSL - + My QSL requested to be sent La mia richiesta di QSL da inviare - - + + DX QSL pending to be received QSL DX in attesa di essere ricevuta @@ -4009,165 +3301,147 @@ Frequency is not in a hamradio band! SetupDialog - + My Data Dati personali - - - + + + Bands/Modes Bande/modi - - + + DX-Cluster DX-CLuster - - - + + + Colors Colori - - - + + + Misc Altro - - + + World Editor World Editor - - - + + + Logs Logs - + ClubLog ClubLog - + Go to the Misc tab and click on Move DB or the DB will not be moved to the new location. - - + + Cancel Annulla - - + + Satellites - - + + HamLib - - Interfaces - - - - + + OK OK - - + + Config Dialog Pagina di configurazione - - Ok - Ok - - - - + + User data Dati utente - + D&X-Cluster D&X-Cluster - - LoTW - - - - + WSJT-X - + You need to enter at least one log in the Logs tab. E' necessario caricare almeno un log nella tab configurazione logs. - + Do you want to add one log in the Logs tab or exit KLog? (Click Yes to add a log or No to exit KLog) - + World World - DB has not been moved to new path. - - - - You need to enter at least a valid QRZ. E' necessario che tu inserisca almeno un corretto QRZ. - + Go to the User tab and enter valid QRZ. - + You will be redirected to the Log tab. Please add and select the kind of log you want to use. Sarai portato sulla tab di impostazione log. Per favore aggiungi e scegli il tipo di log che vuoi utilizzare. + DB has not been moved to new path - DB non è stato spostato alla nuova path + DB non è stato spostato alla nuova path - + You have not selected the kind of log you want. Non hai scelto il tipo di log che vuoi usare. @@ -4175,117 +3449,113 @@ Per favore aggiungi e scegli il tipo di log che vuoi utilizzare. SetupEntityDialog - + Entity Collegamento - + CQ CQ - + ITU ITU - + Latitude latitudine - + Longitude Longitudine - + UTC UTC - + Main prefix Prefisso principale - + ARRL ID ARRL ID - + Comma separated possible prefixes, e.g. EA1, EA2, ... Virgole separano possibili prefissi, es. EA1,EA2, ... - + Prefixes Prefissi - + Name of the Entity. - + CQ zone. - + ITU zone. - - + + Longitude of the Entity. - + Local time difference to UTC. - + Main prefix of the entity. - + ARRL ID. - + Date of the deletion. - + Deleted Cancellato - + Cancel Cancella - - Ok - Ok - - + OK - OK + OK - + Entity Dialog Maschera collegamento @@ -4293,12 +3563,12 @@ Per favore aggiungi e scegli il tipo di log che vuoi utilizzare. SetupPageBandMode - + Bands Bande - + Modes Modi @@ -4306,62 +3576,62 @@ Per favore aggiungi e scegli il tipo di log che vuoi utilizzare. SetupPageClubLog - + &Callsign &Nominativo - + ClubLog &password ClobLog &password - + ClubLog &email ClubLog &email - + Enter the email you used to register in ClubLog. Inserisci l'email che hai usato per registrarti a ClubLog. - + Enter the callsign you used to register in ClubLog. Inserisci il nominativo che hai usato per registrarti a ClubLog. - + Enter your password in ClubLog. Inserisci la tua password per ClubLog. - + &Send QSOs in real time &Invia QSO in tempo reale - + &Activate ClubLog &Attiva ClubLog - + Use QSO Station &Callsign Usa stazione QSO &Nominativo - + Send each QSO to ClubLog in real time, as they are added (or modified) in KLog. - + Starts the ClubLog support in KLog. - + Use the Station Callsign defined in each QSO instead of the one defined here. @@ -4369,77 +3639,77 @@ Per favore aggiungi e scegli il tipo di log che vuoi utilizzare. SetupPageColors - + New One Nuovo - + Needed in this band Necessario in questa banda - + Worked in this band Lavorato in questa banda - + Confirmed in this band Comfermato in questa banda - + Default Default - + WSJT-X palette - + Default palette - + Color when the DXCC is an ATNO (All Time New One). - + DXCC is confirmed in this band. - + Default color. - + Sets a palette of colors similar to the one used in WSJT-X. - + Sets the default palette. - + This DXCC was worked before in another band but not in the selected band. It may be needed due to the CQ, ITU, Grid, ... - + Worked DXCC, but not confirmed in this band. - + Choose a color Scegli un colore @@ -4447,87 +3717,72 @@ Per favore aggiungi e scegli il tipo di log che vuoi utilizzare. SetupPageDxCluster - + Add Aggiungi - + Delete Cancella - + Show &HF spots Mostra &HF spots - + Show V/&UHF spots Mostra V/&UHF spots - + Show W&ARC spots Mostra W&ARC spots - + Show &worked spots Mostra spots &lavorati - + Show &confirmed spots Mostra spot &confermati - + Show ANN/&FULL messages Mostra ANN/&TUTTI i messaggi - + Show WW&V messages Mostra messaggi WW&V - + Show WC&Y messages Mostra messaggi WC&Y - - Save DX Cluster activity - - - - - Saves all the DX-Cluster activity to a file in the KLog folder - - - - + DX Spots DX Spots - - Others - - - - + Messages Messaggi - + KLog: Add a DXCluster server KLog: Aggiungi un server DXCluster - + Add the address followed by the :port Example: dxfun.com:8000 If no port is specified, 41112 will be used by default: @@ -4539,401 +3794,295 @@ Se la porta non è specificata, 41112 sarà usato di default: SetupPageHamLib - + Activate HamLib - + Activates the hamlib support that will enable the connection to a radio. - + Read-Only mode - + If enabled, the KLog will read Freq/Mode from the radio but will never send any command to the radio. - + Radio - + Select your rig. - + Defines the interval to pool the radio in msecs. - + Pool interval - + Port - + Select the serial port. Only the serial ports that are detected are shown. - + Scan - + Click to identify the serial ports available in your computer. - + Bauds - + Select the serial port speed. - + 5 bits - + 6 bits - + 7 bits - + 8 bits - + Data bits - + Select the serial data bits. - + None - + Hardware - + Software XON/XOFF - + Flow control - + Select the serial flow control - + No parity - + Even - + Odd - + Space - + Mark - + Parity - + Select the serial parity. - + 1 bit - + 1.5 bits - + 2 bits - + Stop bits - + Select the serial stop bits. - - SetupPageInterfacesWindows - - - UDP port number where the PSTRotator Server will listen for packets. - - - - - Default port is 12040. - - - - - PST Rotator UDP Port - - - - - Hostname or IP address of the computer running PSTRotator. Leave it as localhost if you are running KLog and PSTRotator in the same computer. - - - - - PST Rotator host - - - - - Send antenna bearing to PST Rotator - - - - - SetupPageLoTW - - - LoTW upload - - - - - TQSL Path - - - - - Route to TQSL - - - - - Use TQSL - - - - - Path to the TQSL software. - - - - - Enable the LoTW integration with TQSL. You will need to have TQSL installed - - - - - User: - - - - - Password: - - - - - Enter your password LoTW here. Warning: The password will be save on clear in the KLog config file!! If you don't want to enter the password, KLog will ask you when it is needed. - - - - - LoTW download - - - - - - Enter your LoTW user - - - - - - Enter your password LoTW here. Warning: The password will be save on clear in the KLog config file!! (If you don't want to enter the password, KLog will ask you when it is needed.) - - - - - Select File - - - SetupPageLogs - + &New &Nuovo - + &Edit &Modifica - + &Remove &Elimina - + KLog KLog - - All the QSOs from this log will also be deleted... - - - - + Log has not been removed. (#3) Il Log non è stato rimosso. (#3) - + Do you really want to remove this log? Davvero vuoi eliminare questo log? - + Add a new log. - + Edit the selected log. - + Remove the selected log. - + Select the log you want to open. + All the QSOs from this log will be also deleted... - Anche tutti i QSO di questo log saranno eliminati... + Anche tutti i QSO di questo log saranno eliminati... - + Log has not been removed. (#2) Il Log non è stato rimosso. (#2) - + Log has not been removed. (#1) Il Log non è stato rimosso. (#1) - + ID ID - + Date Data - + Station Callsign Nominativo di stazione - + Operators Operatori - + Comments Commenti + Type - Tipo + Tipo - + An error has occurred showing the following error code: Si è verificato un errore che riporta il seguente codice di errore: - + KLog - SetupPageLogs KLog - Pagina setup Logs @@ -4941,356 +4090,371 @@ Se la porta non è specificata, 41112 sarà usato di default: SetupPageLogsNew - + &Date &Data - + &Station Callsign &Nominativo di stazione - + &Operators &Operatori - + Comm&ent Comm&enta - + &Ok &Ok - + &Cancel &Annulla + Select categories - Seleziona categoria + Seleziona categoria - + Callsign used for this log. - + Comma separated list of operators: callsign1, callsign2. Lista degli operatori separati da virgola: nome1, nome2. {1,?} - + Start date of this log. - + Add a comment about this log. + + Select the kind of operation for this log. + + + + + Select the mode category. + + + + + Select the operators category. + + + + + Select the assisted category. + + + + + Select the power category. + + + + + Select the bands category. + + + + + Select the Overlay category. + + + + &Type of Operation - &Tipo di operazione + &Tipo di operazione + &Mode Category - Categoria &Modo + Categoria &Modo + O&perators Category - Categoria o&peratori + Categoria o&peratori + &Assisted Category - Categoria &Assisted + Categoria &Assisted + Po&wer Category - Categoria Po&tenza + Categoria Po&tenza + &Bands Category - Categoria &Bande + Categoria &Bande + O&verlay - O&verlay + O&verlay + + Categories not OK - Categorie non OK + Categorie non OK - + You need to enter a valid QRZ in the Station Callsign box. The log will not be opened. E' necessario che tu isnerisca un valido QRZ nella pagina di configurazione del bnominativo di stazione. Il log non sarà aperto. + You selected an invalid combination. The log will not be opened. - Hai scelto una combinazione non valida. + Hai scelto una combinazione non valida. Il log non sarà aperto. + Categories OK - Categorie OK + Categorie OK SetupPageMisc - + &Imperial system Sistema &Imperiale - + &Log in real time &Log in tempo reale - + &Time in UTC &Ora in UTC - + &Save ADIF on exit &Salva ADIF all'uscita - + Use this &default filename Usa questo nome di file per &default - + Mark &QSO to send QSL when QSL is received Segna il &QSO per inviare QSL quando una QSL è ricevuta - + Complete QSO with previous data Completa i dati del QSO con dati precedenti - + Show the Station &Callsign used in the search box Mostra il &nominativo di stazione caricato nella pagina di ricerca - - Mark sent eQSL && LoTW in new QSO as queued - - - + The search box will show also the callsign on the air to do the QSO. - La pagina di ricerca mostra anche il nominativo usato durante il QSO. + La pagina di ricerca mostra anche il nominativo usato durante il QSO. - + All the data from the My Data tab will be used or data from the previous QSO will be maintained. Tutti i dati nella pagina configurazione personale saranno usato oppure saranno mantenuti i dati del precedente QSO. - + &Check for new versions automatically &Controlla automaticamente nuove versioni - + Check if there is a new release of KLog available every time you start KLog. Controlla se è diosponibile una nuova versione di KLog ogni volta che tu avvii KLog. - + &Provide Info for statistics &Fornisci informazioni per statistiche - - &Keep My Data for all QSOs - - - - + Move DB Sposta DB - - The search box will also show the callsign on the air to do the QSO. - - - - - If new version checking is selected, KLog will send the developer your callsign, KLog version and Operating system to help in improving KLog. - - - - + Select to use real time. Scegli di usare ora reale. - + Select to use UTC time. Scegli di usare ora UTC. - + Select if you want to save to ADIF on exit. Scegli se vuoi salvare su formato ADIF all'uscita. - + Complete the current QSO with previous QSO data. Completa il QSO corrente con i dati del precedente QSO. - - Click to mark as Queued (to be sent) all the eQSL (LoTW and eQSL) in all the new QSO by default. + + Click to enable that log will be sorted based on date & time when clicking on the date column. It may be a little bit slower. - + This is the directory where DB (logbook.dat) will be saved. Questa è la cartella dove DB (logbook.dat) sarà salvato. - + Click to change the default ADIF file. Clicca per cambiare il file ADIF di default. - + Click to move the DB to the new directory. Clicca per spostare il DB su una nuova cartella. - + Select Directory Scegli la cartella - - KLog - Move DB - - - - + File moved File spostato - + File copied File copiato - - File already exist. - - - - - The destination file already exist and KLog will not replace it. Please remove the file from the destination folder before moving the file with KLog to make sure KLog can copy the file. - - - - + File NOT copied File NON copiato - - The file was not copied due to an unknown problem. - - - - + The target directory does not exist. Please select an existing directory. La cartella di destinazione non esiste. Per favore scegli una cartella valida. - - + + Browse Browse + &Reset to My Data for all QSOs - &Reimposta ai miei dati su tutti i QSO + &Reimposta ai miei dati su tutti i QSO - + Manage DX-Marathon - + Activate the application debug log - + + Sort log based in date & time + + + + QSOs will be marked as pending to send a QSL if you receive the DX QSL and have not sent yours. Il QSO sarà marcato come in attesadi inviare una QSL se ricevi la QSL DX senza aver inviato la tua. + If new version checking is selected, KLog will send the developer your callsign, KLog version & Operating system to help in improving KLog. - Se il controllo di nuova versione è attivato, KLog trasmetterà allo sviluppatore il tuo nominativo, la versione di KLog & il sistema operativo coem strumento per aiutare a migliorare KLog. + Se il controllo di nuova versione è attivato, KLog trasmetterà allo sviluppatore il tuo nominativo, la versione di KLog & il sistema operativo coem strumento per aiutare a migliorare KLog. - + Check it for Imperial system (Miles instead of Kilometers). - + Select to use the following name for the logfile without being asked for it again. Scegli il seguente nome per il file di log senza che ti venga chiesto di nuovo. - + Select if you want to manage DX-Marathon. - + This is the default file where ADIF data will be saved. Questo è il file di default dove i dati ADIF saranno salvati. - + This is the directory where the database (logbook.dat) will be saved. Questa è la cartella dove il database (logbook.dat) sarà salvato. - + Click to change the path of the database. Clicca per cambiare la path del database. - + Activates the application debug log. This may be useful if something is not working as expected. A debug file will be created in the KLog directory. - + Open File Apre File - + Please specify an existing directory where the database (logbook.dat) will be saved. Per favore indica una cartella valida dove il database (logbook.dat) sarà salvato. @@ -5298,154 +4462,154 @@ Il log non sarà aperto. SetupPageSats - + &New &Nuovo - + &Edit &Modifica - + &Remove &Elimina - + &Import - + E&xport - + Add a new satellite. - + Edit the selected satellite. - + Remove the selected satellite. - + + Import a satellites file. It will replace the satellites you have now configured. + + + + Export your current satellites to a file. - + Select the sat you want to open. - + KLog KLog - + Do you really want to remove this satellite? - - Import a satellites file. It will replace the satellites you have in the current list. + + This satellite will not be longer available to be selected ... - - This satellite will no be longer available to be selected ... - - - - + Sat has not been removed. (#3) - + Sat has not been removed. (#2) - + Sat has not been removed. (#1) - + ID ID - + Short - + Name - + Uplink - + Downlink - + Modes Modi - + An error has occurred showing the following error code: Si è verificato un errore che riporta il seguente codice di errore: - + KLog - SetupPageSats - + Open Satellites File - + KLog warning - + An unexpected error ocurred while importing the satellite data. It may be caused because the file you are trying to import does not have the right format. - + Please check the format or contact the developer for analysis with the error code: - + Save Satellites File @@ -5453,323 +4617,323 @@ It may be caused because the file you are trying to import does not have the rig SetupPageSatsNew - + Short name - + Sat name - + UpLink Uplink - + DownLink Downlink - + Modes Modi - + &Ok &Ok - + &Cancel &Annulla - + Enter the short name. Try to use the LoTW short name so you can upload your QSO to LoTW afterwards. - + Enter the name of the satellite. - + Enter the uplink frequencies in this format: 144.300 - + Enter the downlink frequencies in this format: 144.300 - + Enter the modes in this format: USB - - Some of the data you have entered is not correct; the satellite can't be added. + + Some of the data you have entered is not correct, the satellite can't be added. SetupPageUDP - + Start UDP Server - + + Log automatically QSOs from WSJT-X + + + + + Allow WSJT-X to send logged QSO to KLog + + + + + QSO logged in WSJT-X will be sent to KLog and KLog will ask before logging into KLog unless "%1" is selected + + + + + KLog will log automatically any QSO coming from WSJT-X without any manual confirmation. + + + + + Receive and Update QSO data to KLog + + + + KLog will automatically show and update data coming from WSJT-X (DX callsign, locator, RPT, ...) - - Automatically log QSOs from WSJT-X + + Make sure it is the same port where the other programs are sending the data to. Default port is 2237. - - Allow WSJT-X to send logged QSOs to KLog - - - - - QSOs logged in WSJT-X will be sent to KLog and KLog will ask before logging into KLog unless "%1" is selected - - - - - KLog will automatically log any QSO coming from WSJT-X without any manual confirmation. - - - - - Receive QSOs data and update to KLog - - - - + UDP port number where the UDP Server will listen for packets. - - Make sure it is the same port that the other programs are sending the data to. Default port is 2237. - - - - + UDP Server will receive QSOs sent from other programs like WSJT-X allowing you to log in KLog automatically from those programs. - + UDP Port - - QSOs notification timeout (milisecs) + + QSO notification timeout (milisecs) - - Miliseconds that the notification of QSOs received from WSJTX will be shown. + + Milliseconds that the notification of QSO received from WSJTX will be shown. SetupPageUserDataPage - + &Personal data Dati &Personali - + Station &data &Data Stazione - + Enter your name. - + Enter your address - 1st line. - + Enter your address - 2nd line. - + Enter your address - 3rd line. - + Enter your address - 4th line. - + Enter your city. - + Enter your zip code. - + Enter your province or state. - + Enter your country. - + &Name &Nome - + &Address &Indirizzo - + Cit&y Cit&tà - + &Zip Code &Cap - + Pro&v/State Pro&v/Stato - + Countr&y Countr&y - - - + + + Enter your information for rig Inserisci informazioni per rig - - - + + + Enter your information for antenna Inserisci informazioni sulla tua antenna - + Enter your power information. - + Enter the station callsign that will be used for logging. - + Enter the locator of your station. Alternatively, KLog can use an approximate locator based on your callsign. Inserisci il locator della tua stazione. In alternativa, KLog è in grado di usare un locator approssimativo ricavato dal tuo nominativo. - + &Rig 1 &Impianto 1 - + R&ig 2 &Impianto 1 - + Ri&g 3 &Impianto 1 - + Antenna &1 Antenna &1 - + Antenna &2 Antenna &2 - + Antenna &3 Antenna &3 - + Po&wer Po&tenza - + Enter the operators (comma separated if more than one). Inserisci gli operatori (separati da virgola se più di uno). - + &QRZ &QRZ - + &Operators &Operatori - + &CQ Zone &CQ zona - + &ITU Zone &ITU zona - - + + &Locator &Locator - + &Locator (not valid) &Locator (non valido) @@ -5777,172 +4941,139 @@ It may be caused because the file you are trying to import does not have the rig SetupPageWorldEditor - + Add Aggiungi - + Delete Cancella - + Edit - + Export World - + Import World - - - - + + + + Still not implemented. - + Import a new cty.csv file - + An entities information file (cty.csv) has been detected in your KLog folder and will be loaded. Un file di informazioni collegamenti (cty.csv) è stato trovato nella cartella di KLog e sarà caricato. - + No entities information file (cty.csv) has been detected in your KLog folder. Nessun file di informazioni di collegamenti (cty.cvs) è stato trovato nella cartalla di KLog. - + KLog will not be able to show entities information. KLog non sarà in grado di mostrare le informazioni di collegamento. - + Prefix Prefisso - + Entity Collegamento - + ARRL ID ARRL ID - + Continent Continente - + CQ Zone CQ zona - + ITU Zone ITU zona - + UTC UTC - + Latitude Latidudine - + Longitude Longitudine - + Deleted Eliminato - + Since Date Dalla data - + To Date Alla data - + Open File Apre File - + BigCTY (*.csv) BigCTY (*.csv) - + Entities information has been updated. Informazioni collegamento aggiornate. - + Entities information has not been updated. Informazioni collegamento non aggiornate. - - ShowAdifImportWidget - - - The following QSOs are those QSOs that you have received the LoTW confirmation. - - - - - Ok - Ok - - - - DX - - - - - Date/Time - Data/Ora - - - - Band - Banda - - - - Mode - Modo - - ShowErrorDialog @@ -6063,37 +5194,37 @@ It may be caused because the file you are trying to import does not have the rig StatsCQZPerYearBarChartWidget - + CQ Zones per year - + Reading data ... - + Abort reading - + CQ zones - + CQ zones per year - + Reading data ... - + Years: %1/%2 @@ -6160,7 +5291,7 @@ It may be caused because the file you are trying to import does not have the rig - QSOs per band distribution + QSO per band distribution @@ -6309,7 +5440,7 @@ It may be caused because the file you are trying to import does not have the rig - QSOs per mode distribution + QSO per mode distribution @@ -6540,97 +5671,77 @@ It may be caused because the file you are trying to import does not have the rig - - <b>Tip #5:</b><br>Do you know...<br>You can enter a '*' in the search box, in the search window to search for all the QSOs done with one specific station callsign? + + <b>Tip #5:</b><br>Do you know...<br>You can export your QSO marked as requested, via LoTW, in your log with <a href="#FileExportLoTWADIF">File->Export ADIF for LoTW...</a> to create an ADIF file that you will be able to import in TQSL to be signed and uploaded to LoTW?<br><br>You have to mark as Q-Queued all the QSOs you want to be exported to be sent to LoTW. + Translator: Please make sure that the name of the link is coherent with the menu File->Export ADIF for LoTW... - + <b>Tip #6:</b><br>Do you know...<br>You can find the file containing all your log and other information in the logbook.dat file and the klogrc file, containing the KLog config file in the KLog folder by opening the <a href="#FileOpenKLogFolder">File->KLog folder</a> menu? Translator: Please make sure that the name of the link is coherent with the menu File->KLog folder - + <b>Tip #7:</b><br>Do you know...<br>You can find the QSLs that you still need to send with <a href="#ToolsSendPendingQSL">Tools->QSL tools...->Find My-QSLs pending to send</a>.<bR>This tool will list you in the search box all the QSOs with the QSL-Sent marked as <i>Requested</i>. Translator: Please make sure that the name of the link is coherent with the menu QSL tools...->Find My-QSLs pending to send - + <b>Tip #8:</b><br>Do you know...<br>You can find the QSLs that you are still waiting for with <a href="#ToolsReceivePendingQSL">Tools->QSL tools...->Find DX-QSLs pending to receive</a>.<bR>This tool will list you in the search box all the QSOs with the QSL-Sent marked as <i>Sent</i> but you have still not received the QSL card from the DX. Translator: Please make sure that the name of the link is coherent with the menu QSL tools...->Find DX-QSLs pending to receive - + <b>Tip #9:</b><br>Do you know...<br>You can find the QSLs that you are still waiting for with <a href="#ToolsReceiveRecPendingQSL">Tools->QSL tools...->Find requested pending to receive</a>.<bR>This tool will list you in the search box all the QSOs with the QSL-Rec marked as <i>Requested</i> but you have still not received the QSL card from the DX. Translator: Please make sure that the name of the link is coherent with the menu QSL tools...->Find requested pending to receive - + <b>Tip #10:</b><br>Do you know...<br>You can subscribe to the <a href=https://t.me/klogchat>English KLog Telegram group</a> to discuss about KLog in English? - + <b>Tip #11:</b><br>Do you know...<br>You can subscribe to the <a href=https://t.me/KLogES>Spanish Telegram group</a> to discuss about KLog in Spanish? - - <b>Tip #12:</b><br>Do you know...<br>You can subscribe to <a href=https://lists.nongnu.org/mailman/listinfo/klog-users>KLog-users mailing list</a> to discuss via email about KLog in English? + + <b>Tip #12:</b><br>Do you know...<br>You can subscribe to <a href=http://lists.nongnu.org/mailman/listinfo/klog-users>KLog-users mailing list</a> to discuss via email about KLog in English? - + <b>Tip #13:</b><br>Do you know...<br>You can <a href=https://twitter.com/_ea4k>follow EA4K on twitter</a> to get updates about KLog? - + <b>Tip #14:</b><br>Do you know...<br>You can write your own <a href=https://www.eham.net/reviews/detail/3118>review in eHam.net about KLog</a> to help other users to decide to use KLog? - + <b>Tip #15:</b><br>Do you know...<br>You can join the development team by simply <a href=https://www.klog.xyz/contact>Contacting us</a>? - + <b>Tip #16:</b><br>Do you know...<br>That there are many ways to contribute to KLog and some of them are listed in the <a href=https://www.klog.xyz/contrib>KLog Contribute</a> page? - + <b>Tip #17:</b><br>Do you know...<br>You can support translating KLog into your language? Please check <a href=https://www.klog.xyz/contrib/translations>KLog Translations</a> page. - - <b>Tip #18:</b><br>Do you know...<br>You can double-click on an entity name in the DXCC table and all the QSOs with that DXCC Entity will be shown in the search box? - - - - - <b>Tip #19:</b><br>Do you know...<br>You can right-click on a QSO and select <i>Check in QRZ.com</i> to check that callsign in QRZ.com? - - - - - <b>Tip #20:</b><br>Do you know...<br>You can see the QSO that confirms one specific DXCC entity in one specific band by poiting your mouse over that band in the DXCC widget? - - - - - <b>Tip #21:</b><br>Do you know...<br>You can upload your QSO marked as queued to LoTW via TQSL with <a href="#ToolsUploadLoTW">Tools->Upload to LoTW...</a> ?<br><br>You have to configure TQSL in the preferences to be able to use this functionality. - Translator: Please make sure that the name of the link is coherent with the menu File->Export ADIF for LoTW... - - - - + TIP-Default: Text @@ -6676,12 +5787,12 @@ It may be caused because the file you are trying to import does not have the rig continente - + Abort reading Annulla lettura - + Reading cty.csv... Lettura cty.cvs... diff --git a/translations/klog_ja.ts b/translations/klog_ja.ts index 58a1f5d1..7198b2af 100644 --- a/translations/klog_ja.ts +++ b/translations/klog_ja.ts @@ -25,8 +25,9 @@ + Please know that this is an BETA release and it may contain many bugs.<br>Backup your data before using this software! - このリリースはまだベータバージョンで、多くのバグを含んでいる可能性があります.<br>このソフトウェアを使い始める前に、まずデータのバックアップを取ってください! + このリリースはまだベータバージョンで、多くのバグを含んでいる可能性があります.<br>このソフトウェアを使い始める前に、まずデータのバックアップを取ってください! @@ -34,19 +35,15 @@ 作者 + KLog has been fully rewritten from the 0.6.2 to be able to provide a cross-platform application that runs in the main operating systems (Linux, macOS & Windows) and provide new functionalities that KLog was not providing. - KLogは主要なオペレーティングシステム (Linux mac OS & Windows)上でクロスプラットフォーム実行が可能なように、また以前のKLogに備わっていなかった新機能を提供するために、バージョン0.6.2以降、大幅に書き換えられました. + KLogは主要なオペレーティングシステム (Linux mac OS & Windows)上でクロスプラットフォーム実行が可能なように、また以前のKLogに備わっていなかった新機能を提供するために、バージョン0.6.2以降、大幅に書き換えられました. KLog is a free logbook for hamradio operators. KLogはアマチュア無線家のためのフリーなログソフトです. - - - Since 0.6.2, KLog has been fully rewritten to provide a cross-platform application that runs on all major operating systems (Linux, macOS and Windows) and to support new functionality. - - Please provide your review in KLog's eHam review page: @@ -77,11 +74,6 @@ If KLog is still not in your language and you want to help us, you are welcome to contact us through the <a href="https://lists.nongnu.org/mailman/listinfo/klog-devel">KLog development mailing list</a>! - - - KLog developers have included a feature that reports some user data to the KLog server with the sole purpose of identifying the number of installed versions, to focus development in one direction or another taking into account users' needs. - - KLog developers have included a feature that reports some user data to the KLog server with the sole purpose of identifying the number of installed versions, to focus development in one direction or another taking into account user's needs ユーザーの需要を考慮した開発の方向性を定めるために、どのバージョンがどれくらいインストールされたかを知るという目的に限定してユーザー情報をKLogサーバーに送信する機能が取り込まれました. @@ -105,11 +97,6 @@ If you want to provide support you are welcome to join the <a href="https://lists.nongnu.org/mailman/listinfo/klog-devel">KLog development mailing list</a>! - - - Please be aware that this is a development release and it may contain many bugs.<br>Backup your data before using this software! - - @@ -121,6 +108,11 @@ Privacy advisory プライバシーについての勧告 + + + KLog developers have included a feature that reports some user data to the KLog server with the sole purpose of identifying the number of installed versions, to focus development in one direction or another taking into account user's needs. + + Callsign @@ -152,94 +144,6 @@ プライバシー - - AdifLoTWExportWidget - - - Select the Station Callsign that you want to use to upload the log. - - - - - Select the start date to export the QSOs. The default date is the date of the first QSO with this station callsign. - - - - - Select the end date to export the QSOs. The default date is the date of the last QSO with this station callsign. - - - - - Station callsign - - - - - Start date - - - - - End date - - - - - Ok - - - - - Cancel - キャンセル - - - - DX - - - - - Date/Time - 日付/時刻 - - - - Band - バンド - - - - Mode - モード - - - - Not defined - - - - - All - すべてのログ - - - - QSOs: - - - - - This table shows the QSOs that will be sent to LoTW. - - - - - This table shows the QSOs that will be exported to ADIF. - - - AwardsWidget @@ -338,22 +242,22 @@ - Number of QSOs worked in the selected year. + Number of QSOs worked on the selected year. - Number of DXCCs worked in the selected year. + Number of DXCC worked on the selected year. - Number of CQ Zones worked in the selected year. + Number of CQ Zones worked on the selected year. - Score for the DXMarathon in the selected year. + Score for the DXMarathon on the selected year. @@ -384,60 +288,52 @@ CTYPage - + Country data download エンティティーデータのダウンロード - + KLog needs country data... KLogではエンティティーデータを利用します... - + &Download ダウンロード(&D) - + &Ignore 無視(&I) - + Country data needed エンティティデータが必要です + + + KLog uses the cty.csv file from http://www.country-files.com/ to get DXCC information. + KLogはDXCC情報取得のため、http://www.country-files.com/ で配布される cty.csv ファイルを利用します. + - KLog uses the cty.csv file from https://www.country-files.com/ to get DXCC information. - + You need to download the cty.csv file if you want KLog to show you the countries, locator, ... of the QSOs you do. + あなたが交信したQSOのエンティティやグリッドロケーターを表示させるには、cty.csvファイルをダウンロードする必要があります. - You need to download the cty.csv file if you want KLog to show you the countries, locator, etc. of the QSOs you do. - - - - KLog uses the cty.csv file from http://www.country-files.com/ to get DXCC information. - KLogはDXCC情報取得のため、http://www.country-files.com/ で配布される cty.csv ファイルを利用します. - - - You need to download the cty.csv file if you want KLog to show you the countries, locator, ... of the QSOs you do. - あなたが交信したQSOのエンティティやグリッドロケーターを表示させるには、cty.csvファイルをダウンロードする必要があります. - - - Click on Download to download now. ダウンロードを開始するために、「ダウンロード」ボタンをクリックしてください. - + KLog - + I can't find the host. Please check your network and try again Do you want to try again? 接続先が見つかりません. ネットワーク接続を確認して、再度トライしてみてください. @@ -452,27 +348,27 @@ Do you want to try again? 更新 - + + ID + + + + Entity エンティティ - - Prefix - プリフィクス - - - + Pref: - + CQ: - + ITU: @@ -482,7 +378,7 @@ Do you want to try again? - + Entity not worked in this band. @@ -490,120 +386,115 @@ Do you want to try again? DXClusterWidget - + Click on Connect to connect to the DX-Cluster server 接続ボタンをクリックするとDXクラスターに接続します。 - - + + Connect 接続 - - - - + + + + Clear クリア - + Click on connect to connect to the DX-Cluster 接続ボタンをクリックするとDXクラスターに接続します。 - + Trying to connect to the server サーバーに接続しています - + + - KLog DXCluster KLog DXクラスター - + The connection was refused by the peer. Make sure the DXCluster server is running, and check that the host name and port settings are correct. 接続できませんでした。DXクラスターが稼働していることを確かめてください。また、ホスト名、ポート番号の設定が正しいことを確認してください。 - + The following error occurred: %1. 次のエラーが発生しました: %1 - + Connected to server サーバーに接続しました。 - - - + + + KLog message KLog メッセージ - - + + Enter your callsign to connect to the cluster: DXクラスターに接続するためのコールサインを入力してください: - + Enter your password to connect to the cluster: (Just hit enter for no password) DXクラスターに接続するためのパスワードを入力してください。 (カラのパスワードについてはエンターだけ押してください。) - + Not logged on, you may need to enter your callsign again. ログオンしていません. もう一度、コールサインを入力してみてください. - + Enter here the commands to be sent to the DX-Cluster server. - - It was not possible to open the file to save the DX-Spots for writing. DX-Cluster activity will not be saved! - - - - - + + Disconnect 切断 - + The host was not found. Please check: - + - your network connection; - the host name and port settings. - + Connection closed by the server サーバーによって接続が切られました。 - + Click on Connect to connect to the DX-Cluster server. - + Send 送信 @@ -616,177 +507,177 @@ Do you want to try again? - + + No query failed + + + + Aircraft Scatter Common term in hamradio, do not translate if not sure - + Aurora - + Aurora-E - + Back scatter Common term in hamradio, do not translate if not sure - + Earth-Moon-Earth - + Sporadic E - + Internet-assisted - + Ionoscatter Common term in hamradio, do not translate if not sure - + Meteor scatter Common term in hamradio, do not translate if not sure - + Terrestrial or atmospheric repeater or transponder - + Rain scatter Common term in hamradio, do not translate if not sure - + Satellite サテライト通信 - + Bureau Common term in hamradio, do not translate if not sure - + Manager Common term in hamradio, do not translate if not sure - + All QSOs have been updated with a DXCC and the Continent. - + Field Aligned Irregularities Common term in hamradio, do not translate if not sure - - Query didn't failed - - - - + F2 Reflection Common term in hamradio, do not translate if not sure - + Trans-equatorial Common term in hamradio, do not translate if not sure - + Tropospheric ducting Common term in hamradio, do not translate if not sure - - + + Yes - - + + No - - + + Requested - - + + Ignore/Invalid - + Validated - + Queued - + Uploaded - + Do not upload - + Modified - + Direct ダイレクト - + Electronic - + KLog DXCC @@ -794,22 +685,22 @@ Do you want to try again? DownLoadCTY - + Download of cty.csv failed with the following error code: cty.csv のダウンロード、失敗. エラーコード: - + Download of cty.csv done. cty.csv のダウンロード、完了. - + There is already a cty.csv file in the folder but it will be replaced with the new one. フォルダーにすでに cty.csv ファイルがありますが、最新のもので置き換えます. - + Could not open %1 for writing @@ -817,337 +708,227 @@ Do you want to try again? FileManager - - - + + Writing ADIF file... ADIFファイルを書き込んでいます... - - - - + + + Abort writing 書込みの中止 - + Writing ADIF file... QSO: ADIFファイルを書き込んでいます... QSO: - + Writing Cabrillo file... Cabrilloファイルを書き込んでいます... - + KLog: Cabrillo Log Export not implemented KLog: Cabrillo Log Exportは未実装 - + I am sorry but the Cabrillo Export To File feature has still not been implemented. 申し訳ありません. Cabrillo形式ログのエクスポート機能はまだ実装されていません. - - - + You have canceled the file export. The file will be removed and no data will be exported. ファイルのエクスポートが中断されました. 出力先のファイルは削除され、データはエクスポートされません. - - - - - + + No station callsign has been selected and therefore no log will be exported + + + + + Do you still want to cancel? 本当に中止しますか? - - - - + + QSO: - + Reading ADIF file... ADIFファイルを読みこんでいます... - - + + Abort reading 読込みの中止 - + + The log that you have selected contains more than just one station callsign. + + + + + Station Callsign: + + + + + Define Station Callsign + + + + + You have selected no callsign. KLog will export QSOs without a station callsign defined and those with the call you are entering here. + + + + + Enter the station callsign to use for this log or leave it empty for QSO without station callsign defined: + + + + Exporting LoTW ADIF file... - + Reading LoTW file... - - KLog - Log selection - - - - - - You have canceled the file import. The file will be removed and no data will be imported. - - - - + Please edit the ADIF file and make sure that it include at least: - + and - + This QSO had: - + + This QSO is not including the minimum data to consider a QSO as valid!. + + + + Do you want to continue with the current file? - - Some QSOs of this log, (i.e.: %1) seems to lack RST-TX information. - - - - - Click on Yes to add a default 59 to all QSOs with a similar problem. - - - - - If you select NO, maybe the QSO will not be imported. - - - - + + Click on Yes to add a default 59 to all QSO with a similar problem. - + + If you select NO, the QSO may not be imported. - + - The band missing and the following call: - - KLog - Error - - - - - - The selected log does not exist, please check it again. - - - - - The selected callsign (%1) is not valid, please check it again. - - - - - - The file %1 can't be opened. - - - - - - There are no QSOs pending to be uploaded with that station callsign. - - - - - - - - KLog - Invalid call detected - - - - - - - - An invalid callsign has been detected %1. Do you want to export this callsign anyway (click on Yes) or remove the call from the exported log file? - - - - - - - - Exporting wrong calls may create problems in the applications you are potentially importing this logfile to. It may, however, be a good callsign that is wrongly identified by KLog as not valid. You can, however, edit the ADIF file once the export process is finished. - - - - - - - - - KLog - User cancelled - - - - - The selected callsign (%1) is not valid, please check it again to export the log. - - - - - Exporting ADIF file... - - - - - KLog - File not opened - - - - - It was not possible to open the file %1 for reading. - - - - - KLog was not able to read the LoTW file - - - - - Importing LoTW ADIF file... - - - - + There is more than one log in this logfile. - + All logs will be imported into the current log. - + Do you want to continue? - + Importing ADIF file... - - KLog - Duplicated QSOs + + You have cancelled the file import. The file will be removed and no data will be imported. - - KLog has found one QSO without the Station Callsign defined. - -Enter the Station Callsign that was used to do this QSO on %1: - - - - - Some QSOs of this log, (i.e.: %1) seems to lack RST-RX information. - - - - - KLog - Apply to all QSOs in this log? - - - - - - KLog - No Station callsign entered. - - - - - KLog has found one QSO without the Station Callsign defined. - -Enter the Station Callsign that was used to do this QSO with %1 on %2: - - - - - - KLog - QSO without Station Callsign - - - - + It seems that there are some duplicated QSOs in the ADIF file you are importing. Do you want to continue? (Duped QSOs will not be imported) - - This QSO is not including the minimum data to consider a QSO as valid! + + Please select the station callsign you want to export the log from: - + + - The call missing but was done at this time: + + + + - The mode missing and the following call: - + - The date missing and the following call: - + - The time missing and the following call: - + KLog: Not all required data found! KLog; データの不足が見つかりました! - + + Some QSO of this log, (i.e.: %1) seems to lack of RST-TX information. + + + + KLog: No RST TX found! KLog: RST TXが見つかりません! - + + Some QSO of this log, (i.e.: %1) seems to lack of RST-RX information. + + + + KLog: No RST RX found! KLog: RST RXが見つかりません! @@ -1286,23 +1067,15 @@ Enter the Station Callsign that was used to do this QSO with %1 on %2: This looks like it's the first time you've run KLog on this computer. このコンピューターでKLogを実行するのは初めてのようです. - - KLog is a free hamradio logging program that can run on Linux macOS and Windows. - KLogは、Linux, mac OSやWindowsで実行可能なフリーなアマチュア無線用ロギングソフトウェアです. - - - It is designed to provide general purpose, DX and contest logging. - DXやコンテストでのロギングなど、汎用な使い方ができるようデザインされています. - - KLog is a free hamradio logging program that can run on Linux, macOS, and Windows. - + KLog is a free hamradio logging program that can run on Linux macOS and Windows. + KLogは、Linux, mac OSやWindowsで実行可能なフリーなアマチュア無線用ロギングソフトウェアです. - It is designed to provide general purpose DX, and contest logging. - + It is designed to provide general purpose, DX and contest logging. + DXやコンテストでのロギングなど、汎用な使い方ができるようデザインされています. @@ -1363,161 +1136,6 @@ Enter the Station Callsign that was used to do this QSO with %1 on %2: KLogはフリーソフトウェアです. - - LoTWUtilities - - - KLog - LoTW password needed - - - - - Please enter your LoTW password: - - - - - KLog - File exist - - - - - There is a file already existing with the name that will be used. - - - - - The file %1 already exist. Do you want to overwrite? - - - - - KLog - Can't write the file - - - - - KLog was not able to save the file %1. -Error returned: %2 - - - - - The file already %1 exist. - - - - - Downloading data to file: %1. - - - - - - KLog - LoTW download - - - - - KLog - Download error - - - - - The downloading error is: %1 - - - - - There was an error while downloading the file from LoTW. - - - - - KLog - Redirection found - - - - - The remote server redirected our connection to %1 - - - - - Do you want to follow the redirection? - - - - - It was not possible for find the file %1 that has been just downloaded. - - - - - It seems that LoTW has no QSO with the Station Callsign you are using (%1). - - - - - Try again and send the downloaded file (%1) to the KLog developer for analysis. - - - - - KLog downloaded %1 QSOs successfully. Do you want to update your log with the downloaded data? - - - - - KLog - File not found - - - - - KLog can't find the downloaded file. - - - - - KLog - LoTW user/password error - - - - - LoTW server did not recognized your user/password - - - - - Check your user and password and ensure your are using the right one before trying again. - - - - - KLog - LoTW No QSOs - - - - - LoTW sent no QSOs - - - - - KLog - LoTW Unknown error - - - - - KLog can't recognize the file that has been downloaded from LoTW. - - - - - Now KLog will process the downloaded QSO and update your local log. - - - LogModel @@ -1564,190 +1182,118 @@ Error returned: %2 LogWindow - + QSL Send QSLカードの送付 - + QSL Rcvd QSL受領状況 - + &Delete 削除(&D) - + Delete a QSO QSOのレコードを削除します - + &Edit QSO QSOの編集(&E) - + Edit this QSO QSOのレコードを編集します - + Via &bureau ビューロー経由(&b) - + Send this QSL via bureau QSLカードをビューロー経由で送ります - + D&irect ダイレクト(&i) - + Send this QSL via direct QSLカードをダイレクトで送ります - + Via bureau ビューロー経由 - + QSL &received via bureau QSLカードをビューロー経由で受け取りました。(&r) - + Direct ダイレクト - + QSL received via direc&t QSLカードをダイレクトで受け取りました。(&t) - - Check in QRZ.com - - - - - Check this callsign in QRZ.com - - - - - Check in DXHeat.com - - - - - Check this callsign in DXHeat.com - - - - + You have requested to delete this QSO. このQSOを削除しようとしています。 - + Are you sure? 本当に削除しますか? - - MainQSOEntryWidget - - - - - &Add - - - - - &Clear - クリア(&C) - - - - QRZ of the QSO. - - - - - Band of the QSO. - - - - - Mode of the QSO. - - - - - Date of the QSO. - - - - - Time of the QSO. - - - - - Add the QSO to the log. - - - - - Clears the QSO entry. - - - - - KLog will show real time if enabled. - - - - - QRZ - コールサイン - - - - &Modify - - - MainWindow - + Starting KLog - &Clear - クリア(&C) + + + + + &Add + - - + + &Clear + クリア(&C) + + + + Status bar... + + + + DX Entity - + &Log Window @@ -1763,33 +1309,28 @@ Error returned: %2 - - + + KLog - + It seems that you have never done a backup or exported your log to ADIF. - - Status bar ... - - - - + It seems that the latest backup you did is older than one month. - + Log backup recommended! - + It is a good practice to backup your full log regularly to avoid loosing data in case of a problem. Once you export your log to an ADIF file, you should copy that file to a safe place, like an USB drive, cloud drive, another computer, ... @@ -1799,438 +1340,502 @@ KLog will remind you to backup on a monthly basis. - + Ready - + An unexpected error ocurred when trying to add the QSO to your log. If the problem persists, please contact the developer for analysis: - - + + You have selected an entity: - - + + that is different from the KLog proposed entity: - + Click on the prefix of the correct entity or Cancel to edit the QSO again. - + Click on the prefix of the right entity or Cancel to correct. - + + + QRZ of the QSO. + + + + + TX RST. - + + RX RST. - - There was an error while updating to Yes the LoTW QSL sent information. + + + TX Exchange. - + + + Band of the QSO. + + + + + + Mode of the QSO. + + + + + + Date of the QSO. + + + + + + Time of the QSO. + + + + + + Add the QSO to the log. + + + + + Clear the box. + + + + + Input + + + + + RSTrx 受信RST - + + RSTtx 送信RST - + + + QRZ コールサイン - + + STX + + + + + SRX + + + + Do you really want to exit KLog? - - KLog - File not open + + Invalid characters used in the QRZ - - KLog - Unexpected error - - - - - - KLog - Select correct entity - - - - - KLog - Exit - - - - + &File - + &Import from ADIF... - + Import an ADIF file into the current log. - + Export to ADIF... - + Export the current log to an ADIF logfile. - + Export all logs to ADIF... - + Export ALL the QSOs into one ADIF file, merging QSOs from all the logs. - + + Export Requested QSL to ADIF... + + + + + Export all QSOs requesting QSLs to an ADIF file (e.g. to import it into a QSL tag printing program). + + + + + Export ADIF for LoTW... + + + + + Export an ADIF file to be sent to LoTW. Remember to sign it with TQSL before uploading to LoTW! + + + + &Print Log... - + Print your log. - + KLog folder - + Opens the data folder of KLog. - + E&xit - + &Tools - + Fill in QSO data - + Go through the log reusing previous QSOs to fill missing information in other QSOs. - - QSL tools... - - - - - &Find QSO to QSL - - - - - Shows QSOs for which you should send your QSL and request the DX QSL. - - - - - Find My-QSLs pending to send - - - - - Shows the QSOs with pending requests to send QSLs. You should keep this queue empty! - - - - - &Find DX-QSLs pending to receive - - - - - &Find requested pending to receive - - - - - LoTW tools... - - - - - Mark all queued QSOs in this log as sent to LoTW. - - - - - Mark all queued QSOs as sent to LoTW. - - - - - Upload to LoTW - - - - - Sends the log to LoTW calling TQSL. - - - - - &Update cty.csv - - - - - - For updated DX-Entity data, update cty.csv. - - - - - &Update Satellite Data - - - - - Stats - - - - - Show the statistics of your radio activity. - - - - - &Setup - - - - - &Setup... - - - - - &Help - - - - - Check updates... - - - - - &About... - - - - - &Tips... - - - - - About Qt... - - - - - - - - - - - - - - - - KLog LoTW - - - - - - Now you can go to the File menu to export the LoTW ADIF file and upload it to LoTW. - - - - - KLog - TQSL - - - - - TQSL is not installed or KLog can't find it. Please check the configuration. - - - - - Error #1: The process was cancelled by the user or TQSL was not configured. No QSOs were uploaded. - - - - - Error #2: Upload was rejected by LoTW, please check your data. - - - - - Error #3: The TQSL server returned an unexpected response. - - - - - Error #4: There was a TQSL error. - - - - - Error #5: There was a TQSLLib error. - - - - - Error #6: It was not possible to open the input file. - - - - - Error #7: It was not possible to open the ouput file. - - - - - Error #8: No QSOs were processed since some QSOs were duplicates or out of date range. - - - - - Error #9: Some QSOs were processed, and some QSOs were ignored because they were duplicates or out of date range. - - - - - Error #10: Command syntax error. KLog sent a bad syntax command. - - - - - Error #11: LoTW Connection error (no network or LoTW is unreachable). - - - - - Error #00: Unexpected error. Please contact the development team. - - - - - The log that you have selected contains more than just one station callsign. - - - - - Please select the station callsign you want to mark as sent to LoTW: - - - - - Station Callsign: + + Fill in DXCC data - Define Station Callsign + Go through the log filling QSOs without a DXCC defined. - - You have selected no callsign. KLog will mark QSOs without a station callsign defined and those with the call you are entering here. + + QSL tools... - - Enter the station callsign to use for this log or leave it empty for QSO without station callsign defined: + + &Find QSO to QSL - - KLog - No station selected + + Shows QSOs for which you should send your QSL and request the DX QSL. + + + + + Find My-QSLs pending to send + Shows the QSOs with pending requests to send QSLs. You should keep this queue empty! + + + + + &Find DX-QSLs pending to receive + + + + + Shows the DX-QSL that has been requested or QSLs has been sent with no answer. + + + + + &Find requested pending to receive + + + + + Shows the DX-QSL that has been requested. + + + + + LoTW tools... + + + + + Queue all QSL to be sent of this log + + + + + Mark all non sent QSOs in this log as queued to be uploaded. + + + + + Queue all QSL to be sent + + + + + Mark all non sent QSOs as queued to be uploaded. + + + + + Mark as sent all queued QSO of this log + + + + + Mark all queued QSOs in this log as sent to LoTW. + + + + + Mark all queued QSO as sent + + + + + Mark all queued QSOs as sent to LoTW. + + + + + &Update cty.csv + + + + + + For updated DX-Entity data, update cty.csv. + + + + + &Update Satellite Data + + + + + Stats + + + + + Show the statistics of your radio activity. + + + + + &Setup + + + + + &Setup... + + + + + &Help + + + + + Check updates... + + + + + &About... + + + + + &Tips... + + + + + About Qt... + + + + + + + + + + + + KLog LoTW + + + + + All pending QSO of this log has been marked as queued for LoTW! + + + + + + Now you can go to the File menu to export the LoTW ADIF file and upload it to LoTW. + + + + + + There was a problem to mark all pending QSO of this log as queued for LoTW! + + + + + All pending QSO has been marked as queued for LoTW! + + + + + The log that you have selected contains more than just one station callsign. + + + + + Please select the station callsign you want to mark as sent to LoTW: + + + + + Station Callsign: + + + + + Define Station Callsign + + + + + You have selected no callsign. KLog will mark QSOs without a station callsign defined and those with the call you are entering here. + + + + + Enter the station callsign to use for this log or leave it empty for QSO without station callsign defined: + + + + No station callsign has been selected and therefore no log will be marked - + + All queued QSO of this log has been marked as sent for LoTW! + + + + + There was a problem to mark all queued QSO of this log as sent for LoTW! + + + + + All queued QSO has been marked as sent to LoTW! + + + + + There was a problem to mark all queued QSO of this log as sent to LoTW! + + + + About... - + KLog update checking result - + Congratulations! おめでとうございます! - + You already have the latest version. 最新のバージョンを入手しました. @@ -2239,419 +1844,241 @@ KLog will remind you to backup on a monthly basis. ファイルに保存 - + You can find the KLog data folder here: - + start - + stop - + + It seems that there are no QSO in the database. + + + + If you are sure that the database contains QSOs and KLog is not able to find them, please contact the developers (see About KLog) for help. - - + + TX Frequency in MHz. - - + + RX Frequency in MHz. - + Power used by the DX. - + Logging operator's callsign. ログを記入したオペレーターのコールサイン - + Callsign used over the air. 交信に用いたコールサイン - + DX Locator - + My QTH locator. 自局QTHのグリッドロケーター - + Name of the DX. - + QTH of the DX. - + Locator of the DX. - + TX Frequency in MHz. Frequency is not in a hamradio band! - + RX Frequency in MHz. Frequency is not in a hamradio band! - + QSO logged from WSJT-X: - + + + RX Exchange. + + + + + It was not possible to open the debug file for writting. No debug log will be saved! + + + + KLog new version detected! - + It seems that you are running this version of KLog for the first time. - + The setup will be open to allow you to do any new setup you may need. - - - KLog - Not valid call - - - - - - The call %1 is not a valid call. Do you really want to add this call to the log? - - - - - - Adding non-valid calls to the log may create problems when applying for awards, exporting ADIF files to other systems or applications. - - - - - - No DXCC - - - - - - None - - - - + The logfile has been modified. - + Do you want to save your changes? - - Shows DX-QSLs for which requests or QSLs have been sent with no answer. - - - - - Shows the DX-QSLs that have been requested. - - - - - Queue all QSLs from this log to be sent - - - - - Mark all non-sent QSOs in this log as queued to be uploaded. - - - - - Queue all QSLs to be sent - - - - - Put all the non-sent QSOs in the queue to be uploaded. - - - - - Mark as sent all queued QSOs of this log - - - - - Mark all queued QSOs as sent - - - - - Download from LoTW - - - - - All pending QSOs of this log has been marked as queued for LoTW! - - - - - - There was a problem to mark all pending QSOs of this log as queued for LoTW! - - - - - Your log has not been updated. - - - - - No QSO was updated with the data coming from LoTW. This may be because of errors in the logfile or simply because your log was already updated. - - - - - All pending QSOs has been marked as queued for LoTW! - - - - - TQSL finished with no error. - - - - - All queued QSOs of this log has been marked as sent for LoTW! - - - - - There was a problem to mark all queued QSOs of this log as sent for LoTW! - - - - - All queued QSOs has been marked as sent to LoTW! - - - - - There was a problem to mark all queued QSOs of this log as sent to LoTW! - - - - - + + UDP Server error The UDP server failed to %1. start or stop - - It seems that there are no QSOs in the database. + + Clears the QSO entry. - - This function is disabled. Go to the Setup->LoTW tab to enable it. - - - - + Status of the DX entity. - + Name of the DX entity. - - + + Name - + QTH - + Power(rx) - + RST(tx) - + RST(rx) - + Freq TX - + Freq RX - + QSO - + QSL - + eQSL - - + + Comment コメント - + Others - + My Data 自局の情報 - + Satellite サテライト通信 - - - KLog ADIF export - - - - - No QSOs have been exported to ADIF. - - - - - KLog has exported %1 QSOs to the ADIF file: %2 - - - - - If you uploaded any QSO to LoTW while you were using TQSL you can now mark them as sent in KLog. - -Do you want to mark as Sent all the QSOs uploaded to LoTW? - - - - - Select the Station Callsign to use when quering LoTW: - - - - - Please check the LoTW setup - - - - - You have not defined a LoTW user or a proper Station Callsign. -Open the LoTW tab in the Setup and configure your LoTW connection. - - - - - KLog - Non-supported mode - - - - - A new mode not supported by KLog has been received from an external program or radio: - - - - - Do you want to keep receiving these alerts? (disabling these alerts will prevent non-valid modes being detected) - - - - - Recommendation: - - - - - Periodically export your data to ADIF to prevent a potential data loss. - - QSOs QSO総数 - + DXCC - + Info @@ -2660,281 +2087,300 @@ Open the LoTW tab in the Setup and configure your LoTW connection. コンファーム済 - + Awards - + Search - + Log - + DX-Cluster DXクラスター - - - + + + + Save ADIF File - - The LoTW upload process has finished and KLog created a file (%1) in your KLog folder. - -Do you want KLog to remove that file? + + LoTW logfile has been properly exported! - - The file has been removed. + + Remember to: - - - KLog - LoTW + + Before uploading: sign the LoTW log; and - - It was not possible to open the debug file for writing. No debug log will be saved! + + After uploading: mark as sent all the queued QSO (LoTW Tools). - - Your log has been updated with the LoTW downloaded QSOs. + + There was no QSO to be exported. - - KLog has updated %1 QSOs from LoTW. + + If you think that some QSO should have been exported, please look for them and ensure that the eQSL LoTW QSL sent box is marked as: - - KLog - Select the Station Callsign. + + Q - Queued - + + There was an error while exporting the LoTW. The log has not been exported! + + + + + Open File ファイルを開く - + + &Modify + + + + My QTH locator. Format should be Maidenhead like IN70AA up to 10 characters. - + - Needed for DXMarathon - + Filling QSOs... - + Abort filling - + Filling DXCC, CQz, ITUz, Continent in QSOs... QSO: - + Number - + Date 日付 - + Time 時刻 - + Band バンド - - + + Mode モード - + Print Log - + Printing the log... - + Abort printing - - + + Printing the log... QSO: - + KLog QSO received - + The following QSO data has been received from WSJT-X to be logged: - + Call - + Freq - + Time On - + Time Off - + RST TX - + RST RX - + DX-Grid - + Comments コメント - + TX Pwr - + Operator オペレーター - + Local-Grid - + If the received mode is correct, please contact KLog development team and request support for that mode - - KLog - Duplicated satellite + + Do you want to keep receiving this alerts? (disabling this alerts will prevent that non-valid modes are detected) - + + A new mode not supported by KLog has been received from an external software or radio: + + + + A duplicated satellite has been detected in the file and will not be imported. - + Please check the satellite information file and ensure it is properly populated. - + Now you will see a more detailed error that can be used for debugging... - + An unexpected error ocurred!! - + If the problem persists, please contact the developers - + for analysis: - + Error in function - + Error code - + Error text - + Failed query - - KLog - Show errors + + Recomendation: - + + Export, periodically, your data to ADIF to prevent a potential data loss. + + + + Do you want to keep showing errors? @@ -2950,77 +2396,77 @@ Do you want KLog to remove that file? MainWindowInputEQSL - + Date of the ClubLog upload. ClubLogにアップロードした日付 - + Date of the eQSL sending. eQSLを送付した日付 - + Date of the eQSL reception. eQSLを受領した日付 - + Date of the LoTW sending. - + Date of the LoTW reception. - + Status of the LoTW sending. - + Status of the LoTW reception. - + LoTW Sent - + LoTW Rec - + Status on ClubLog. ClubLogの状況 - + Status of the eQSL sending. eQSLの送付状況 - + Status of the eQSL reception. eQSLの受領状況 - + ClubLog - + eQSL Sent eQSL送付 - + eQSL Rec eQSL受領 @@ -3160,68 +2606,64 @@ Do you want KLog to remove that file? MainWindowMyDataTab + Watt - W + W - - Watts - - - - + Keep this data このデータを保持 - - + + Data entered in this tab will be copied into the next QSO. - + Power used for the QSO in watts. - + Logging operator's callsign. ログを記入したオペレーターのコールサイン - + Callsign used over the air. 交信に用いたコールサイン - - + + My QTH locator. 自局QTHのグリッドロケーター - + Power 送信出力 - + Operator オペレーター - + Station Callsign 無線局のコールサイン - + My Locator 自局のグリッドロケーター - + My QTH locator. Format should be Maidenhead like IN70AA up to 10 characters. @@ -3260,7 +2702,7 @@ Do you want KLog to remove that file? - + Locator of the DX station. This box is synchronized with the Locator box in the QSO tab. @@ -3301,54 +2743,50 @@ Do you want KLog to remove that file? - + Locator of the DX station. Format should be Maidenhead like IN70AA up to 10 characters. - + Not Sat QSO 衛星QSOではない - + KLog has detected a satellite name that it does not recognise. If it should use one of the names of known satellites instead, please select it from the list. Alternatively, please contact the development team to add the new satellite name. 識別不可能な衛星の名称が入力されているのを発見しました. 別の名称でも呼ばれており、その名称がリストにあるならば、その名称を使ってください. もしくは開発チームにこの新しい衛星の名称を加えるよう連絡してください. - - Please be aware that the satellite name will not be saved if it is not in the list, so that information may be lost! - - - + Please know that the satellite name will not be saved if it is not in the list so that information may be lost! - リストにない衛星の名称は保存できません. したがって情報が失われてしまうことをご承知おきください! + リストにない衛星の名称は保存できません. したがって情報が失われてしまうことをご承知おきください! - + RX Frequency in MHz. Frequency is not in a hamradio band! - + RX Frequency in MHz. - + TX Frequency in MHz. Frequency is not in a hamradio band! - + TX Frequency in MHz. - + Other - Sat not in the list その他、リストにない衛星 @@ -3359,7 +2797,7 @@ Frequency is not in a hamradio band! - + The satellite you have in your QSO is: QSO情報に記録された衛星の名称は以下のものです: @@ -3367,586 +2805,484 @@ Frequency is not in a hamradio band! QObject - - + + Database Error データベース エラー - + KLog DB needs to be upgraded. KLog DBを更新する必要があります. - + Do you want to upgrade it now? いま更新しますか? - + If DB is not upgraded KLog may not work properly. DBを更新しないとKLogは正しく動作しない可能性があります. - - - - - - KLog - DB update - - - - + KLog has detected a previous log in the DB. All data will be migrated to a newly created DX type log for you. DBの中に以前のバージョンのログを発見しました。すべてのデータを新しく作成されるDXタイプのログに移行します。 - + KLog: Enter Station callsign KLog: 無線局のコールサインを入力してください - + Enter the station callsign used in this log このログで使用する無線局のコールサインを入力してください - + Station Callsign 無線局のコールサイン + All the data was migrated correctly. You should now go to Setup->Preferences->Logs to check that everything is OK. - すべてのデータが正しく移行できました. メニューのSetup->Preferences->Logsから、問題ないことを確認してください. + すべてのデータが正しく移行できました. メニューのSetup->Preferences->Logsから、問題ないことを確認してください. - - - - - + + + + + QSO: - - - - + + + + Canceling this update will cause data inconsistencies and possibly data loss. Do you still want to cancel? 更新を中止するとデータに矛盾が生じたり、データが失われる可能性があります.  更新を中止しますか? - - + + Progress: 進捗状況: - + Updating DXCC award information... - + Updating DXCC Award information... - + Updating WAZ award information... - + Updating WAZ Award information... - - + + Updating mode information... モードの情報を更新しています... - - All the data was migrated correctly. You should now go to Setup->Preferences->Logs to check that everything is okay. - - - - - - - - - - + + + + + + + Abort updating 更新の中止 - - - - + + + + Updating bands information... バンドの情報を更新しています... - + Updating bands information in %1 status... %1 用のバンドの情報を更新しています... - + Updating mode information in %1 status... %1 用のモードの情報を更新しています... - + New One, work it! New Oneです. 交信すべし! + + + + + + + - - - - - - - Needed, work it! 交信すべし! - - - - + + + + Worked but not confirmed 交信済だけど未コンファーム - + Confirmed コンファーム済 - + Not identified 不明 - + Install wizard was canceled before completing... インストールウィザードは操作完了前に中断されました... - + Do you want to remove the KLog dir from your disk? KLog ディレクトリーをディスクドライブから削除しますか? - + Your KLog dir has been removed KLog ディレクトリは削除されました - + I could not remove your KLog dir. You should do it manually if you want it removed from your hard disk. KLog ディレクトリーが削除できませんでした. ハードディスクから削除したい場合は手動で削除してください. - + Your KLog dir could not be removed. You should do it manually if you want it removed from your hard disk. KLog ディレクトリーが削除できませんでした. ハードディスクから削除したい場合は手動で削除してください. - + Remember that your KLog dir is on your system... KLog ディレクトリーはシステム中に残ったままです... + - + - Thank you for running KLog! KLogを使用してくださりありがとうございます! - + Updating information... - + Updating DXCC and Continent information... - - - A wrong call has been found: %1. Please enter a new call or confirm that the current one is a good call. - - - - - An empty callsign has been detected. If it is possible, please enter the right call. - - - - - KLog - Not valid callsign found - - - - - RotatorWidget - - - Rotator - - SearchWidget - + &Clear クリア(&C) - - - + + + &Select All すべて選択(&S) - + &Search 検索(&S) + All - すべてのログ + すべてのログ - + &Export Highlighted 選択した項目をエクスポート(&E) - - All logs - - - - + Clear the searches. 検索結果をクリアします. - + Export the search result to an ADIF file. 検索結果をADIFファイルにエクスポートします. - + Select/Unselect all the QSOs shown. 表示されたQSOすべてを選択・選択解除します. - + Search in the log. ログを検索します. - + Search in all logs. すべてのログを検索します. + Enter the QRZ to search for. - 検索するコールサインを入力してください. + 検索するコールサインを入力してください. - - Enter the QRZ to search for. Enter '*' to show all the QSOs... it may be slow in big logs! - - - - + Search results. 検索結果. - - Select the Station Callsign used to do this QSO. - - - - - + + QRZ コールサイン - - + + Date/Time 日付/時刻 - - + + Band バンド - - + + Mode モード - - + + QSL Sent QSL送付 - - - + + + QSL Rcvd QSL受領状況 - + Station Callsign 無線局のコールサイン - - + + ID - - All in log - - - - - Not defined - - - - - Searching for the QSOs... -(It may take long in big logs.) - - - - - KLog - Search - - - - - + + &Clear selection 選択をクリア(&C) - + Save File ファイルに保存 - + QSL Send QSLカードの送付 - + &Delete 削除(&D) - + Delete a QSO QSOのレコードを削除します - + &Edit QSO QSOの編集(&E) - + Edit this QSO QSOのレコードを編集します - + Via &bureau ビューロー経由(&b) - + Send this QSL via bureau QSLカードをビューロー経由で送ります - + D&irect ダイレクト(&i) - + Send this QSL via direct QSLカードをダイレクトで送ります - + &Request my QSL 自分のQSLカードがリクエストされた (&R) - + Mark my QSL as requested QSLカードがリクエストされているとマークします - - Via Direct and mark DX QSL as requested - - - - - Send this QSL via direct and mark DX QSL as requested - - - - - Via Bureau and mark DX QSL as requested - - - - - Send this QSL via bureau and mark DX QSL as requested - - - - - Via bureau and mark my QSL as requested - - - - - QSL received via bureau and mark my QSL as requested - - - - - Direc&t and mark as my QSL requested - - - - - QSL received via direct and mark my QSL as requested - - - + Via Direct && mark DX QSL as requested - ダイレクトで送付、相手局にリクエスト + ダイレクトで送付、相手局にリクエスト + Send this QSL via direct & mark DX QSL as requested - QSLカードをダイレクトで送ったこと、および相手のQSLカードにリクエストのマークをします + QSLカードをダイレクトで送ったこと、および相手のQSLカードにリクエストのマークをします + Via Bureau && mark DX QSL as requested - ビューロー経由で送付、相手局にリクエスト + ビューロー経由で送付、相手局にリクエスト + Send this QSL via bureau & mark DX QSL as requested - QSLカードをビューロー経由で送ったこと、および相手のQSLカードにリクエストのマークをします + QSLカードをビューロー経由で送ったこと、および相手のQSLカードにリクエストのマークをします - + &Request the QSL QSLカードがリクエストされた (&R) - + Mark the QSL as requested QSLカードがリクエストされていることをマークします + Via bureau && mark my QSL as requested - ビューロー経由で受領 && 自分のQSLはリクエスト + ビューロー経由で受領 && 自分のQSLはリクエスト + QSL received via bureau & mark my QSL as requested - QSLカードをビューロー経由で受け取ったこと、および自分のQSLカードがリクエストされていることをマークします + QSLカードをビューロー経由で受け取ったこと、および自分のQSLカードがリクエストされていることをマークします - + Via bureau ビューロー経由 - + QSL received via bureau QSLカードをビューロー経由で受け取りました + Direc&t && mark as my QSL requested - ダイレクトを受領、QSLカードがリクエストされた (&t) + ダイレクトを受領、QSLカードがリクエストされた (&t) + QSL received via direct & mark my QSL as requested - QSLカードをダイレクトで受け取ったこと、および自分のQSLカードがリクエストされていることをマークします + QSLカードをダイレクトで受け取ったこと、および自分のQSLカードがリクエストされていることをマークします - + Direc&t ダイレクト(&t) - + QSL received via direct QSLカードをダイレクトで受け取りました - + You have requested to delete the QSO with: %1 - + Are you sure? 本当に削除しますか? - + Needed QSO to send the QSL QSLカード送付の必要があるQSO - + My QSL requested to be sent 自分のQSLカードがリクエストされている - - + + DX QSL pending to be received 相手局のQSLカードをまだ受け取っていない @@ -3954,163 +3290,145 @@ Frequency is not in a hamradio band! SetupDialog - + My Data 自局の情報 - - - + + + Bands/Modes バンドとモード - - + + DX-Cluster DXクラスター - - - + + + Colors 表示色 - - - + + + Misc その他 - - + + World Editor ワールドエディター - - - + + + Logs ログ - - + + Satellites - - + + HamLib - - Interfaces - - - - - + + Cancel キャンセル - - Ok - - - - + + OK - - + + Config Dialog 設定 - - + + User data ユーザー情報 - + D&X-Cluster D&Xクラスター - + ClubLog - - LoTW - - - - + WSJT-X - + You need to enter at least one log in the Logs tab. 「ログ」タブで少なくともひとつログを入力してください. - + Do you want to add one log in the Logs tab or exit KLog? (Click Yes to add a log or No to exit KLog) - + World ワールド - - DB has not been moved to new path. - - - - + Go to the Misc tab and click on Move DB or the DB will not be moved to the new location. - + Go to the User tab and enter valid QRZ. - + You need to enter at least a valid QRZ. 少なくともひとつ適切なコールサインを入力してください. + DB has not been moved to new path - DBは新しいパスに移動されていません + DBは新しいパスに移動されていません - + You have not selected the kind of log you want. ログの種類が選択されていません. - + You will be redirected to the Log tab. Please add and select the kind of log you want to use. この後、「ログ」タブに誘導されます. @@ -4120,113 +3438,113 @@ Please add and select the kind of log you want to use. SetupEntityDialog - + Entity エンティティ - + CQ - + ITU - + Latitude 緯度 - + Longitude 経度 - + UTC - + Main prefix 主なプリフィクス - + ARRL ID - + Comma separated possible prefixes, e.g. EA1, EA2, ... その他の使用される可能性のあるプリフィクスをコンマで区切って入力. 例 JA1, JA2,... - + Prefixes その他のプリフィクス - + Name of the Entity. - + CQ zone. - + ITU zone. - - + + Longitude of the Entity. - + Local time difference to UTC. - + Main prefix of the entity. - + ARRL ID. - + Date of the deletion. - + Deleted 消滅 - + Cancel キャンセル - - Ok - + + OK + - + Entity Dialog エンティティ設定ウィンドウ @@ -4234,12 +3552,12 @@ Please add and select the kind of log you want to use. SetupPageBandMode - + Bands バンド - + Modes モード @@ -4247,62 +3565,62 @@ Please add and select the kind of log you want to use. SetupPageClubLog - + &Callsign コールサイン(&C) - + ClubLog &password ClubLogパスワード(&p) - + ClubLog &email ClubLog &email - + Enter the email you used to register in ClubLog. ClubLogに登録したemailを入力してください. - + Enter the callsign you used to register in ClubLog. ClubLogに登録したコールサインを入力してください. - + Enter your password in ClubLog. ClubLogのパスワードを入力してください. - + &Send QSOs in real time QSOデータをリアルタイムで送信(&S) - + &Activate ClubLog ClubLogサポート機能を使う(&A) - + Use QSO Station &Callsign QSOの際のコールサインを使用(&C) - + Send each QSO to ClubLog in real time, as they are added (or modified) in KLog. - + Starts the ClubLog support in KLog. - + Use the Station Callsign defined in each QSO instead of the one defined here. @@ -4310,77 +3628,77 @@ Please add and select the kind of log you want to use. SetupPageColors - + New One - + Needed in this band このバンドで未交信 - + Worked in this band このバンドで交信済 - + Confirmed in this band このバンドでコンファーム済 - + Default デフォルト - + WSJT-X palette - + Default palette - + Color when the DXCC is an ATNO (All Time New One). - + DXCC is confirmed in this band. - + Default color. - + Sets a palette of colors similar to the one used in WSJT-X. - + Sets the default palette. - + This DXCC was worked before in another band but not in the selected band. It may be needed due to the CQ, ITU, Grid, ... - + Worked DXCC, but not confirmed in this band. - + Choose a color 色の選択 @@ -4388,95 +3706,80 @@ Please add and select the kind of log you want to use. SetupPageDxCluster - + Add 追加 - + Delete 削除 - + Show &HF spots Show HF spots &HFスポット情報を表示 - + Show V/&UHF spots Show V/UHF spots V/&UHFスポット情報を表示 - + Show W&ARC spots Show WARC spots W&ARCスポット情報を表示 - + Show &worked spots Show worked spots 交信済のスポット情報を表示(&w) - + Show &confirmed spots Show confirmed spots コンファーム済のスポット情報を表示(&c) - + Show ANN/&FULL messages Show ANN/FULL messages ANN/&FULLメッセージを表示 - + Show WW&V messages Show WWV messages WW&Vメッセージを表示 - + Show WC&Y messages Show WCY messages WC&Yメッセージを表示 - - Save DX Cluster activity - - - - - Saves all the DX-Cluster activity to a file in the KLog folder - - - - + DX Spots DXスポット - - Others - - - - + Messages メッセージ - + KLog: Add a DXCluster server KLog: DXクラスターサーバーを追加 - + Add the address followed by the :port Example: dxfun.com:8000 If no port is specified, 41112 will be used by default: @@ -4488,765 +3791,674 @@ If no port is specified, 41112 will be used by default: SetupPageHamLib - + Activate HamLib - + Activates the hamlib support that will enable the connection to a radio. - + Read-Only mode - + If enabled, the KLog will read Freq/Mode from the radio but will never send any command to the radio. - + Radio - + Select your rig. - + Defines the interval to pool the radio in msecs. - + Pool interval - + Port - + Select the serial port. Only the serial ports that are detected are shown. - + Scan - + Click to identify the serial ports available in your computer. - + Bauds - + Select the serial port speed. - + 5 bits - + 6 bits - + 7 bits - + 8 bits - + Data bits - + Select the serial data bits. - + None - + Hardware - + Software XON/XOFF - + Flow control - + Select the serial flow control - + No parity - + Even - + Odd - + Space - + Mark - + Parity - + Select the serial parity. - + 1 bit - + 1.5 bits - + 2 bits - + Stop bits - + Select the serial stop bits. - - SetupPageInterfacesWindows - - - UDP port number where the PSTRotator Server will listen for packets. - - - - - Default port is 12040. - - - - - PST Rotator UDP Port - - - - - Hostname or IP address of the computer running PSTRotator. Leave it as localhost if you are running KLog and PSTRotator in the same computer. - - - - - PST Rotator host - - - - - Send antenna bearing to PST Rotator - - - - - SetupPageLoTW - - - LoTW upload - - - - - TQSL Path - - - - - Route to TQSL - - - - - Use TQSL - - - - - Path to the TQSL software. - - - - - Enable the LoTW integration with TQSL. You will need to have TQSL installed - - - - - User: - - - - - Password: - - - - - Enter your password LoTW here. Warning: The password will be save on clear in the KLog config file!! If you don't want to enter the password, KLog will ask you when it is needed. - - - - - LoTW download - - - - - - Enter your LoTW user - - - - - - Enter your password LoTW here. Warning: The password will be save on clear in the KLog config file!! (If you don't want to enter the password, KLog will ask you when it is needed.) - - - - - Select File - - - SetupPageLogs - + &New New 新規ログ(&N) - + &Edit 編集(&E) - + &Remove 削除(&R) - + KLog - + Do you really want to remove this log? このログを本当に削除しますか? + All the QSOs from this log will be also deleted... - このログに含まれるすべてのQSOデータが削除されます... + このログに含まれるすべてのQSOデータが削除されます... - + Operators - + An error has occurred showing the following error code: 次のエラーコードが発生しました: - + Log has not been removed. (#3) ログが削除されませんでした(#3) - + Log has not been removed. (#2) ログが削除されませんでした(#2) - + Log has not been removed. (#1) ログが削除されませんでした(#1) - + KLog - SetupPageLogs - + Date 日付 - + Add a new log. - + Edit the selected log. - + Remove the selected log. - + Select the log you want to open. - - All the QSOs from this log will also be deleted... - - - - + ID - + Station Callsign 無線局のコールサイン - + Comments コメント + Type - タイプ + タイプ SetupPageLogsNew - + &Ok - + &Cancel キャンセル(&C) + Select categories - カテゴリーの選択 + カテゴリーの選択 - + &Date 日付(&D) - + &Station Callsign 無線局のコールサイン(&S) - + &Operators オペレーター(&O) - + Comm&ent コメント(&e) - + Callsign used for this log. - + Comma separated list of operators: callsign1, callsign2. コンマで区切られたオペレーターのリスト: callsign1, callsign2. {1,?} - + Start date of this log. - + Add a comment about this log. + &Type of Operation - 運用のタイプ(&T) + 運用のタイプ(&T) + + Select the kind of operation for this log. + + + + &Mode Category - モードカテゴリー(&M) + モードカテゴリー(&M) + + Select the mode category. + + + + O&perators Category - オペレーターカテゴリー(&p) + オペレーターカテゴリー(&p) + + Select the operators category. + + + + &Assisted Category - アシステッドカテゴリー(&A) + アシステッドカテゴリー(&A) + + Select the assisted category. + + + + Po&wer Category - 送信出力カテゴリー(&w) + 送信出力カテゴリー(&w) + + Select the power category. + + + + &Bands Category - バンドカテゴリー(&B) + バンドカテゴリー(&B) + + Select the bands category. + + + + O&verlay - オーバーレイ(&v) + オーバーレイ(&v) + + Select the Overlay category. + + + + + Categories not OK - 不適切なカテゴリー選択 + 不適切なカテゴリー選択 - + You need to enter a valid QRZ in the Station Callsign box. The log will not be opened. 無線局のコールサイン欄に適切なコールサインを入力してください。 ログは作成されません。 + You selected an invalid combination. The log will not be opened. - 適切な組み合わせが選択されていません。 + 適切な組み合わせが選択されていません。 ログは作成されません。 + Categories OK - 適切なカテゴリー選択 + 適切なカテゴリー選択 SetupPageMisc - + &Imperial system Imperial system インチ・ヤード表記(&I) - + &Log in real time Log in real time 現在時刻でログを記録(&L) - + &Time in UTC Time in UTC 時刻のUTC表記(&T) - + &Save ADIF on exit Save ADIF on exit 終了時にADIFを保存(&S) - + Use this &default filename Use this default filename 次のデフォルトのファイル名を使用(&d) - + Mark &QSO to send QSL when QSL is received Mark QSO to send QSL when QSL is received &QSLカード受領時に発送にマークする - + Complete QSO with previous data 以前のデータを使ってQSOの項目を埋める - - &Keep My Data for all QSOs - - - - + Manage DX-Marathon - + Activate the application debug log - - The search box will also show the callsign on the air to do the QSO. + + Sort log based in date & time - - If new version checking is selected, KLog will send the developer your callsign, KLog version and Operating system to help in improving KLog. - - - - + Check it for Imperial system (Miles instead of Kilometers). - + Select to use the following name for the logfile without being asked for it again. ログファイルには次のファイル名を用い、以後、尋ねられないようにするには、チェックをいれてください. - + Select if you want to manage DX-Marathon. - + This is the default file where ADIF data will be saved. ADIF形式でファイルを保存するときのデフォルトのファイル名. - + Activates the application debug log. This may be useful if something is not working as expected. A debug file will be created in the KLog directory. - - Click to mark as Queued (to be sent) all the eQSL (LoTW and eQSL) in all the new QSO by default. - - - - + Please specify an existing directory where the database (logbook.dat) will be saved. データベース (logbook.dat) が保存される既存のディレクトリーを指定してください. + The search box will show also the callsign on the air to do the QSO. - 検索結果にそのQSOのときに使用したコールサインもあわせて表示します + 検索結果にそのQSOのときに使用したコールサインもあわせて表示します - + All the data from the My Data tab will be used or data from the previous QSO will be maintained. チェックすれば自局のデータ欄の情報で上書きします。チェックしなければ直前のQSOのときの情報を保持します。 + If new version checking is selected, KLog will send the developer your callsign, KLog version & Operating system to help in improving KLog. - 新しいバージョンのチェックを選択している場合、KLogは改良の手助けとなる情報(コールサイン、KLogのバージョン、OSの種類)を開発者に送信します. + 新しいバージョンのチェックを選択している場合、KLogは改良の手助けとなる情報(コールサイン、KLogのバージョン、OSの種類)を開発者に送信します. - + Show the Station &Callsign used in the search box 検索結果に使用した無線局のコールサインも表示する(&C) - + &Check for new versions automatically 新しいバージョンを自動でチェックする (&C) - + QSOs will be marked as pending to send a QSL if you receive the DX QSL and have not sent yours. 相手局のQSLカードを受領して、かつ自分のQSLカードを送付していなければ、QSLカードの送付待ちとしてマークをします. - + Check if there is a new release of KLog available every time you start KLog. KLogの起動時に新しいバージョンがリリースされているかをチェックします. - + &Provide Info for statistics 統計情報を提供する (&P) + &Reset to My Data for all QSOs - すべてQSOに自局のデータを設定(&R) + すべてQSOに自局のデータを設定(&R) - - Mark sent eQSL && LoTW in new QSO as queued - - - - + Move DB DBを移動 - + Select to use real time. 現在時刻のログ記入を行う場合、チェックをいれてください - + Select to use UTC time. 時刻のUTC表記を行う場合、チェックを入れてください - + Select if you want to save to ADIF on exit. 終了時にADIF形式で保存したい場合、チェックをいれてください - + Complete the current QSO with previous QSO data. 現在のQSOの各項目を埋めるのに、以前のQSOのデータを使用します. - + This is the directory where the database (logbook.dat) will be saved. このディレクトリーにデータベース (logbook.dat) が保存されます. - + Click to change the path of the database. データベースのパスを変更するにはクリック. - + + Click to enable that log will be sorted based on date & time when clicking on the date column. It may be a little bit slower. + + + + This is the directory where DB (logbook.dat) will be saved. このディレクトリーにDB (logbook.dat) が保存されます. - + Click to change the default ADIF file. デフォルトのADIFファイルを変更するにはクリックしてください. - + Click to move the DB to the new directory. DBを新しいディレクトリーに移動するにはクリックしてください. - + Select Directory ディレクトリーを選択 - - KLog - Move DB - - - - + File moved ファイルを移動しました - + File copied ファイルをコピーしました - - File already exist. - - - - - The destination file already exist and KLog will not replace it. Please remove the file from the destination folder before moving the file with KLog to make sure KLog can copy the file. - - - - + File NOT copied ファイルがコピーされませんでした - - The file was not copied due to an unknown problem. - - - - + The target directory does not exist. Please select an existing directory. 移動先のディレクトリーが存在しません. 既存のディレクトリーを指定してください. - - + + Browse 参照 - + Open File ファイルを開く @@ -5254,154 +4466,154 @@ The log will not be opened. SetupPageSats - + &New 新規ログ(&N) - + &Edit 編集(&E) - + &Remove 削除(&R) - + &Import - + E&xport - + Add a new satellite. - + Edit the selected satellite. - + Remove the selected satellite. - + + Import a satellites file. It will replace the satellites you have now configured. + + + + Export your current satellites to a file. - + Select the sat you want to open. - + KLog - + Do you really want to remove this satellite? - - Import a satellites file. It will replace the satellites you have in the current list. + + This satellite will not be longer available to be selected ... - - This satellite will no be longer available to be selected ... - - - - + Sat has not been removed. (#3) - + Sat has not been removed. (#2) - + Sat has not been removed. (#1) - + ID - + Short - + Name - + Uplink - + Downlink - + Modes モード - + An error has occurred showing the following error code: 次のエラーコードが発生しました: - + KLog - SetupPageSats - + Open Satellites File - + KLog warning - + An unexpected error ocurred while importing the satellite data. It may be caused because the file you are trying to import does not have the right format. - + Please check the format or contact the developer for analysis with the error code: - + Save Satellites File @@ -5409,332 +4621,332 @@ It may be caused because the file you are trying to import does not have the rig SetupPageSatsNew - + Short name - + Sat name - + UpLink アップリンク - + DownLink ダウンリンク - + Modes モード - + &Ok - + &Cancel キャンセル(&C) - + Enter the short name. Try to use the LoTW short name so you can upload your QSO to LoTW afterwards. - + Enter the name of the satellite. - + Enter the uplink frequencies in this format: 144.300 - + Enter the downlink frequencies in this format: 144.300 - + Enter the modes in this format: USB - - Some of the data you have entered is not correct; the satellite can't be added. + + Some of the data you have entered is not correct, the satellite can't be added. SetupPageUDP - + Start UDP Server - + + Log automatically QSOs from WSJT-X + + + + + Allow WSJT-X to send logged QSO to KLog + + + + + QSO logged in WSJT-X will be sent to KLog and KLog will ask before logging into KLog unless "%1" is selected + + + + + KLog will log automatically any QSO coming from WSJT-X without any manual confirmation. + + + + + Receive and Update QSO data to KLog + + + + KLog will automatically show and update data coming from WSJT-X (DX callsign, locator, RPT, ...) - - Automatically log QSOs from WSJT-X + + Make sure it is the same port where the other programs are sending the data to. Default port is 2237. - - Allow WSJT-X to send logged QSOs to KLog - - - - - QSOs logged in WSJT-X will be sent to KLog and KLog will ask before logging into KLog unless "%1" is selected - - - - - KLog will automatically log any QSO coming from WSJT-X without any manual confirmation. - - - - - Receive QSOs data and update to KLog - - - - + UDP port number where the UDP Server will listen for packets. - - Make sure it is the same port that the other programs are sending the data to. Default port is 2237. - - - - + UDP Server will receive QSOs sent from other programs like WSJT-X allowing you to log in KLog automatically from those programs. - + UDP Port - - QSOs notification timeout (milisecs) + + QSO notification timeout (milisecs) - - Miliseconds that the notification of QSOs received from WSJTX will be shown. + + Milliseconds that the notification of QSO received from WSJTX will be shown. SetupPageUserDataPage - + &Personal data Personal data 個人の情報(&P) - + Station &data Station data 無線局の情報(&d) - + &Name Name 名前(&N) - + &Address Address 住所(&A) - + Cit&y City 市町村(&y) - + &Zip Code Zip Code 郵便番号(&Z) - + Pro&v/State Prov/State 厳密にはProv/Stateじゃないですけど 都道府県(&v) - + Countr&y Country 国(&y) - - - + + + Enter your information for rig リグの情報を入力してください - - - + + + Enter your information for antenna アンテナの情報を入力してください - + Enter your name. - + Enter your address - 1st line. - + Enter your address - 2nd line. - + Enter your address - 3rd line. - + Enter your address - 4th line. - + Enter your city. - + Enter your zip code. - + Enter your province or state. - + Enter your country. - + Enter your power information. - + &Rig 1 リグ 1(&R) - + R&ig 2 リグ 2(&i) - + Ri&g 3 リグ 3(&g) - + Antenna &1 アンテナ &1 - + Antenna &2 アンテナ &2 - + Antenna &3 アンテナ &3 - + Po&wer 送信出力(&w) - + Enter the station callsign that will be used for logging. - + Enter the locator of your station. Alternatively, KLog can use an approximate locator based on your callsign. 自局のグリッドロケーターを入力してください. 入力されなければKLogはコールサインの情報をもとにグリッドロケーターを推測して表示します. - + &QRZ コールサイン(&Q) - + &Operators オペレーター(&O) - + &CQ Zone CQゾーン(&C) - + &ITU Zone ITUゾーン(&I) - - + + &Locator グリッドロケーター(&L) - + &Locator (not valid) グリッドロケーター(不適合)(&L) - + Enter the operators (comma separated if more than one). オペレーター名を入力してください。(複数の場合はコンマで区切って入力してください。) @@ -5742,172 +4954,139 @@ It may be caused because the file you are trying to import does not have the rig SetupPageWorldEditor - + Add 追加 - + Delete 削除 - + Edit - + Export World - + Import World - - - - + + + + Still not implemented. - + Import a new cty.csv file - + An entities information file (cty.csv) has been detected in your KLog folder and will be loaded. DXCC情報取得のファイル (cty.csv) がKLogフォルダーに見つかりました. ファイルをロードします. - + No entities information file (cty.csv) has been detected in your KLog folder. DXCC情報取得のファイル (cty.csv) がKLogフォルダーに見つかりません. - + KLog will not be able to show entities information. KLogはDXCC情報の表示ができません. - + Prefix プリフィクス - + Entity エンティティ - + ARRL ID - + Continent 大陸名 - + CQ Zone CQゾーン - + ITU Zone ITUゾーン - + UTC - + Latitude 緯度 - + Longitude 経度 - + Deleted 消滅 - + Since Date 交信有効期間はじめ - + To Date 交信有効期間おわり - + Open File ファイルを開く - + BigCTY (*.csv) - + Entities information has been updated. DXCC情報が更新されました. - + Entities information has not been updated. DXCC情報が更新されませんでした. - - ShowAdifImportWidget - - - The following QSOs are those QSOs that you have received the LoTW confirmation. - - - - - Ok - - - - - DX - - - - - Date/Time - 日付/時刻 - - - - Band - バンド - - - - Mode - モード - - ShowErrorDialog @@ -6028,37 +5207,37 @@ It may be caused because the file you are trying to import does not have the rig StatsCQZPerYearBarChartWidget - + CQ Zones per year - + Reading data ... - + Abort reading 読込みの中止 - + CQ zones - + CQ zones per year - + Reading data ... - + Years: %1/%2 @@ -6125,7 +5304,7 @@ It may be caused because the file you are trying to import does not have the rig - QSOs per band distribution + QSO per band distribution @@ -6274,7 +5453,7 @@ It may be caused because the file you are trying to import does not have the rig - QSOs per mode distribution + QSO per mode distribution @@ -6505,97 +5684,77 @@ It may be caused because the file you are trying to import does not have the rig - - <b>Tip #5:</b><br>Do you know...<br>You can enter a '*' in the search box, in the search window to search for all the QSOs done with one specific station callsign? + + <b>Tip #5:</b><br>Do you know...<br>You can export your QSO marked as requested, via LoTW, in your log with <a href="#FileExportLoTWADIF">File->Export ADIF for LoTW...</a> to create an ADIF file that you will be able to import in TQSL to be signed and uploaded to LoTW?<br><br>You have to mark as Q-Queued all the QSOs you want to be exported to be sent to LoTW. + Translator: Please make sure that the name of the link is coherent with the menu File->Export ADIF for LoTW... - + <b>Tip #6:</b><br>Do you know...<br>You can find the file containing all your log and other information in the logbook.dat file and the klogrc file, containing the KLog config file in the KLog folder by opening the <a href="#FileOpenKLogFolder">File->KLog folder</a> menu? Translator: Please make sure that the name of the link is coherent with the menu File->KLog folder - + <b>Tip #7:</b><br>Do you know...<br>You can find the QSLs that you still need to send with <a href="#ToolsSendPendingQSL">Tools->QSL tools...->Find My-QSLs pending to send</a>.<bR>This tool will list you in the search box all the QSOs with the QSL-Sent marked as <i>Requested</i>. Translator: Please make sure that the name of the link is coherent with the menu QSL tools...->Find My-QSLs pending to send - + <b>Tip #8:</b><br>Do you know...<br>You can find the QSLs that you are still waiting for with <a href="#ToolsReceivePendingQSL">Tools->QSL tools...->Find DX-QSLs pending to receive</a>.<bR>This tool will list you in the search box all the QSOs with the QSL-Sent marked as <i>Sent</i> but you have still not received the QSL card from the DX. Translator: Please make sure that the name of the link is coherent with the menu QSL tools...->Find DX-QSLs pending to receive - + <b>Tip #9:</b><br>Do you know...<br>You can find the QSLs that you are still waiting for with <a href="#ToolsReceiveRecPendingQSL">Tools->QSL tools...->Find requested pending to receive</a>.<bR>This tool will list you in the search box all the QSOs with the QSL-Rec marked as <i>Requested</i> but you have still not received the QSL card from the DX. Translator: Please make sure that the name of the link is coherent with the menu QSL tools...->Find requested pending to receive - + <b>Tip #10:</b><br>Do you know...<br>You can subscribe to the <a href=https://t.me/klogchat>English KLog Telegram group</a> to discuss about KLog in English? - + <b>Tip #11:</b><br>Do you know...<br>You can subscribe to the <a href=https://t.me/KLogES>Spanish Telegram group</a> to discuss about KLog in Spanish? - - <b>Tip #12:</b><br>Do you know...<br>You can subscribe to <a href=https://lists.nongnu.org/mailman/listinfo/klog-users>KLog-users mailing list</a> to discuss via email about KLog in English? + + <b>Tip #12:</b><br>Do you know...<br>You can subscribe to <a href=http://lists.nongnu.org/mailman/listinfo/klog-users>KLog-users mailing list</a> to discuss via email about KLog in English? - + <b>Tip #13:</b><br>Do you know...<br>You can <a href=https://twitter.com/_ea4k>follow EA4K on twitter</a> to get updates about KLog? - + <b>Tip #14:</b><br>Do you know...<br>You can write your own <a href=https://www.eham.net/reviews/detail/3118>review in eHam.net about KLog</a> to help other users to decide to use KLog? - + <b>Tip #15:</b><br>Do you know...<br>You can join the development team by simply <a href=https://www.klog.xyz/contact>Contacting us</a>? - + <b>Tip #16:</b><br>Do you know...<br>That there are many ways to contribute to KLog and some of them are listed in the <a href=https://www.klog.xyz/contrib>KLog Contribute</a> page? - + <b>Tip #17:</b><br>Do you know...<br>You can support translating KLog into your language? Please check <a href=https://www.klog.xyz/contrib/translations>KLog Translations</a> page. - - <b>Tip #18:</b><br>Do you know...<br>You can double-click on an entity name in the DXCC table and all the QSOs with that DXCC Entity will be shown in the search box? - - - - - <b>Tip #19:</b><br>Do you know...<br>You can right-click on a QSO and select <i>Check in QRZ.com</i> to check that callsign in QRZ.com? - - - - - <b>Tip #20:</b><br>Do you know...<br>You can see the QSO that confirms one specific DXCC entity in one specific band by poiting your mouse over that band in the DXCC widget? - - - - - <b>Tip #21:</b><br>Do you know...<br>You can upload your QSO marked as queued to LoTW via TQSL with <a href="#ToolsUploadLoTW">Tools->Upload to LoTW...</a> ?<br><br>You have to configure TQSL in the preferences to be able to use this functionality. - Translator: Please make sure that the name of the link is coherent with the menu File->Export ADIF for LoTW... - - - - + TIP-Default: Text @@ -6641,12 +5800,12 @@ It may be caused because the file you are trying to import does not have the rig 大陸名 - + Abort reading 読込みの中止 - + Reading cty.csv... cty.csvを読みこんでいます… diff --git a/translations/klog_pl.ts b/translations/klog_pl.ts index 1c82b365..2e28f96d 100644 --- a/translations/klog_pl.ts +++ b/translations/klog_pl.ts @@ -19,12 +19,14 @@ KLog jest darmowym programem logującym dla krótkofalowców. + Please know that this is an BETA release and it may contain many bugs.<br>Backup your data before using this software! - Proszę zwrócić uwagę że jest to wersja BETA wydanie może zawierać liczne błędy.<br> Proszę wykonać kopię zapasową przed użyciem tego programu! + Proszę zwrócić uwagę że jest to wersja BETA wydanie może zawierać liczne błędy.<br> Proszę wykonać kopię zapasową przed użyciem tego programu! + KLog has been fully rewritten from the 0.6.2 to be able to provide a cross-platform application that runs in the main operating systems (Linux, macOS & Windows) and provide new functionalities that KLog was not providing. - KLOG został całkowicie przepisany rozpoczynając od wersji 0.6.2 tak aby była możliwość pracy na wielu systemach operacyjnych ( Linux, macOS & Windows ) Zawiera również nowe funkcje którch KLOG nie było we wcześniejszych wydaniach. + KLOG został całkowicie przepisany rozpoczynając od wersji 0.6.2 tak aby była możliwość pracy na wielu systemach operacyjnych ( Linux, macOS & Windows ) Zawiera również nowe funkcje którch KLOG nie było we wcześniejszych wydaniach. @@ -59,16 +61,6 @@ Be aware that you can enable/disable this feature from the Misc tab in the Setup page Proszę zauważyć że istnieje możliwość wyłączenie \ włączenie tej funkcji w zakładce Inne w menu głównym - - - Please be aware that this is a development release and it may contain many bugs.<br>Backup your data before using this software! - - - - - Since 0.6.2, KLog has been fully rewritten to provide a cross-platform application that runs on all major operating systems (Linux, macOS and Windows) and to support new functionality. - - Author @@ -118,7 +110,7 @@ - KLog developers have included a feature that reports some user data to the KLog server with the sole purpose of identifying the number of installed versions, to focus development in one direction or another taking into account users' needs. + KLog developers have included a feature that reports some user data to the KLog server with the sole purpose of identifying the number of installed versions, to focus development in one direction or another taking into account user's needs. @@ -152,94 +144,6 @@ Prywatność - - AdifLoTWExportWidget - - - Select the Station Callsign that you want to use to upload the log. - - - - - Select the start date to export the QSOs. The default date is the date of the first QSO with this station callsign. - - - - - Select the end date to export the QSOs. The default date is the date of the last QSO with this station callsign. - - - - - Station callsign - - - - - Start date - - - - - End date - - - - - Ok - OK - - - - Cancel - Anuluj - - - - DX - - - - - Date/Time - Data/Czas - - - - Band - Pasmo - - - - Mode - Emisja - - - - Not defined - - - - - All - Wszystko - - - - QSOs: - - - - - This table shows the QSOs that will be sent to LoTW. - - - - - This table shows the QSOs that will be exported to ADIF. - - - AwardsWidget @@ -338,22 +242,22 @@ - Number of QSOs worked in the selected year. + Number of QSOs worked on the selected year. - Number of DXCCs worked in the selected year. + Number of DXCC worked on the selected year. - Number of CQ Zones worked in the selected year. + Number of CQ Zones worked on the selected year. - Score for the DXMarathon in the selected year. + Score for the DXMarathon on the selected year. @@ -388,60 +292,52 @@ CTYPage - + Country data download Lista krajów została pobran - + KLog needs country data... Klog wymga danych państwa... - + &Download &Pobieranie - + &Ignore &Ignorownie - + Country data needed Wymagana lista krajów + + + KLog uses the cty.csv file from http://www.country-files.com/ to get DXCC information. + Klog korzysta z pliku CSV.CTY który można pobrać ze strony http://www.country-files.com/. + - KLog uses the cty.csv file from https://www.country-files.com/ to get DXCC information. - + You need to download the cty.csv file if you want KLog to show you the countries, locator, ... of the QSOs you do. + Wymagane jest pobranie pliku CSV.CTY aby Klog mógł podawać dane państ oraz lokator, ...QSO które prowadzisz. - You need to download the cty.csv file if you want KLog to show you the countries, locator, etc. of the QSOs you do. - - - - KLog uses the cty.csv file from http://www.country-files.com/ to get DXCC information. - Klog korzysta z pliku CSV.CTY który można pobrać ze strony http://www.country-files.com/. - - - You need to download the cty.csv file if you want KLog to show you the countries, locator, ... of the QSOs you do. - Wymagane jest pobranie pliku CSV.CTY aby Klog mógł podawać dane państ oraz lokator, ...QSO które prowadzisz. - - - Click on Download to download now. Proszę nacisnąć Pobierz aby zacząć pobieranie. - + KLog Klog - + I can't find the host. Please check your network and try again Do you want to try again? Nie mogę odnaleźć host. Proszę sprawdzić swoje połączenie sieciowe oraz spróbować ponownie @@ -456,31 +352,27 @@ Czy chciałbyś spróbować ponownie? Aktualizacja + ID - ID + ID - + Entity Jednostka - - Prefix - - - - + Pref: - + CQ: - + ITU: @@ -490,7 +382,7 @@ Czy chciałbyś spróbować ponownie? - + Entity not worked in this band. @@ -498,124 +390,119 @@ Czy chciałbyś spróbować ponownie? DXClusterWidget - + Click on Connect to connect to the DX-Cluster server Naciśnij Połącz aby połączyć z DX-Cluterem - - + + Connect Połącz - - - - + + + + Clear Wyczyść - + Click on connect to connect to the DX-Cluster Naciśnij na Połącz aby połączyć z DX-Cluster - + Trying to connect to the server Próba nawiązania połączenia z serwerem - + + - KLog DXCluster Klog DX Cluster - + The host was not found. Please check: Host nie został odnaleziony. Proszę sprawdzić: - + - your network connection; - the host name and port settings. - połączenie sieciowe; - nazwa hosta oraz ustawienia portów. - + The connection was refused by the peer. Make sure the DXCluster server is running, and check that the host name and port settings are correct. Połączenie zostało odrzucone przez peer Upewnij się że DX Cluster jest włączony oraz sprawdź czy ustawienia są prawidłowe. - + The following error occurred: %1. Pojawił się pewien błąd:%1. - + Connected to server Połączono z serwerem - - - + + + KLog message Wiadomość KLog - - + + Enter your callsign to connect to the cluster: Wprowadź swój znak aby połączyć się z clusterem: - + Enter your password to connect to the cluster: (Just hit enter for no password) Wprowadź swoje hasło aby połączyć się z Clusterem: ( Naciśnij Enter aby połączyć bez hasła ) - - + + Disconnect Rozłącz - + Not logged on, you may need to enter your callsign again. Nie zalogowano, być może konieczne będzie wpisać Twój znak ponownie. - + Enter here the commands to be sent to the DX-Cluster server. - + Connection closed by the server Połączenie zamknięte przez serwer - + Click on Connect to connect to the DX-Cluster server. - + Send Wyślij - - - It was not possible to open the file to save the DX-Spots for writing. DX-Cluster activity will not be saved! - - DataProxy_SQLite @@ -625,177 +512,177 @@ Czy chciałbyś spróbować ponownie? Wersja oprogramowania w DB jest zero - + + No query failed + + + + Aircraft Scatter Common term in hamradio, do not translate if not sure - + Aurora - + Aurora-E - + Back scatter Common term in hamradio, do not translate if not sure - + Earth-Moon-Earth - + Sporadic E - + Internet-assisted - + Ionoscatter Common term in hamradio, do not translate if not sure - + Meteor scatter Common term in hamradio, do not translate if not sure - + Terrestrial or atmospheric repeater or transponder - + Rain scatter Common term in hamradio, do not translate if not sure - + Satellite Satelita - + Bureau Common term in hamradio, do not translate if not sure - + Manager Common term in hamradio, do not translate if not sure - + All QSOs have been updated with a DXCC and the Continent. - + Field Aligned Irregularities Common term in hamradio, do not translate if not sure - - Query didn't failed - - - - + F2 Reflection Common term in hamradio, do not translate if not sure - + Trans-equatorial Common term in hamradio, do not translate if not sure - + Tropospheric ducting Common term in hamradio, do not translate if not sure - - + + Yes - - + + No - - + + Requested - - + + Ignore/Invalid - + Validated - + Queued - + Uploaded - + Do not upload - + Modified - + Direct Direct - + Electronic - + KLog DXCC KLog DXCC @@ -803,22 +690,22 @@ Czy chciałbyś spróbować ponownie? DownLoadCTY - + Download of cty.csv failed with the following error code: Pobieranie pliku CTY.CSV zakończone z błędem o kodzie: - + Download of cty.csv done. Pobieranie pliku CTY.CSV ukończone. - + There is already a cty.csv file in the folder but it will be replaced with the new one. Plik CTY.CSV już znajduje się w folderze ale zostnie on zastąpiony nowym. - + Could not open %1 for writing @@ -826,234 +713,159 @@ Czy chciałbyś spróbować ponownie? FileManager - - - + + Writing ADIF file... Zapisywanie pliku ADIF... - - - - + + + Abort writing Przerwij zapisywanie - + Writing ADIF file... QSO: Zapisywanie pliku ADIF... QSO: - + It seems that there are some duplicated QSOs in the ADIF file you are importing. Do you want to continue? (Duped QSOs will not be imported) Wygląda na to że w pliku ADIF który właśnie importujesz znajduje się kilka zduplikowanych QSO. Czy nadal chcesz kontynuować? ( Zduplikowane QSO nie będą zaimportowane ) - - - + You have canceled the file export. The file will be removed and no data will be exported. Eksport pliku zosał anulowany. Plik zostanie usunięty oraz żadne dane wyeksportowane. - - - - - + + Please select the station callsign you want to export the log from: + + + + + Do you still want to cancel? Czy nadal chcesz anulować? - + There is more than one log in this logfile. W tym pliku logu znajduje się więcej niż jeden log. - + All logs will be imported into the current log. Wszystkie logi zostaną zaimportowane do bierzącego logu. - + Do you want to continue? Czy nadal chcesz kontynuować? - + Importing ADIF file... Importowanie pliku ADIF... - - - - + + QSO: QSO: - + This QSO had: To QSO miało: - + Do you want to continue with the current file? Czy nadal chcesz kontynuować z obecnym plikiem? + The log that you have selected contains more than just one station callsign. - Log który właśnie został zaznaczony zawiera więcej niż jeden znak stacji. + Log który właśnie został zaznaczony zawiera więcej niż jeden znak stacji. + Station Callsign: - Znak Stacji: + Znak Stacji: + Define Station Callsign - Zdefinuj Znak Stacji + Zdefinuj Znak Stacji + You have selected no callsign. KLog will export QSOs without a station callsign defined and those with the call you are entering here. - Nie wybrano żadnego znaku. KLog wyeksportuje wszystkie QSO bez znaku stacji oraz te ze znakiem stacji który wpiszesz tutaj. + Nie wybrano żadnego znaku. KLog wyeksportuje wszystkie QSO bez znaku stacji oraz te ze znakiem stacji który wpiszesz tutaj. + Enter the station callsign to use for this log or leave it empty for QSO without station callsign defined: - Wprowadż znak stacji aby używać go z tym Logiem, lub pozostaw puste miejsce dlaQSO bez znaku: + Wprowadż znak stacji aby używać go z tym Logiem, lub pozostaw puste miejsce dlaQSO bez znaku: + No station callsign has been selected and therefore no log will be exported - Nie wybrano żadnego znaku i dlatego żaden log nie zostanie wyeksportowany + Nie wybrano żadnego znaku i dlatego żaden log nie zostanie wyeksportowany - + Exporting LoTW ADIF file... Eksportowanie pliku ADIF do LOTW... - + Writing Cabrillo file... Zapisywanie pliki Cabrillo... - + KLog: Cabrillo Log Export not implemented KLog: Eksport Logu do formatu Cabrillo nie jest jeszcze możliwy - + I am sorry but the Cabrillo Export To File feature has still not been implemented. Bardzo mi przykro ale eksport pliku do formatu Cabrillo nie został jeszcze wdrożony. - + Reading LoTW file... Wczytywanie pliku LOTW... - + + You have cancelled the file import. The file will be removed and no data will be imported. + + + + Reading ADIF file... Wczytywanie pliku ADIF... - - KLog - Error - - - - - - The selected log does not exist, please check it again. - - - - - The selected callsign (%1) is not valid, please check it again. - - - - - - The file %1 can't be opened. - - - - - - There are no QSOs pending to be uploaded with that station callsign. - - - - - - - - KLog - Invalid call detected - - - - - - - - An invalid callsign has been detected %1. Do you want to export this callsign anyway (click on Yes) or remove the call from the exported log file? - - - - - - - - Exporting wrong calls may create problems in the applications you are potentially importing this logfile to. It may, however, be a good callsign that is wrongly identified by KLog as not valid. You can, however, edit the ADIF file once the export process is finished. - - - - - - - - - KLog - User cancelled - - - - - The selected callsign (%1) is not valid, please check it again to export the log. - - - - - Exporting ADIF file... - - - - - KLog - Log selection - - - - - KLog has found one QSO without the Station Callsign defined. - -Enter the Station Callsign that was used to do this QSO on %1: - - - + This QSO is not including the minimum data to consider a QSO as valid!. - To QSO nie zawiera minimalnej ilości danych aby uznać je za zaliczone!. + To QSO nie zawiera minimalnej ilości danych aby uznać je za zaliczone!. - + Please edit the ADIF file and make sure that it include at least: Proszę o sprawdzenie pliku ADIF oraz upewnienie się że zawiera przynajmniej: - + and oraz @@ -1062,12 +874,14 @@ Enter the Station Callsign that was used to do this QSO on %1: Wygląda na to że w tym Logu brakuje RST TX. - + + Click on Yes to add a default 59 to all QSO with a similar problem. Naciśniej Tak aby dodać domyślnie 59 do wszystkich QSO z podobnym problemem. - + + If you select NO, the QSO may not be imported. Jeśli wybierzesz NIE, QSO może nie zostać zaimportowane. @@ -1076,130 +890,61 @@ Enter the Station Callsign that was used to do this QSO on %1: Wygląda na to że w tym Logu brakuje informacji RST TX. - - + + Abort reading Przerwij wczytywanie - - KLog - Duplicated QSOs - - - - - - You have canceled the file import. The file will be removed and no data will be imported. - - - - - KLog - File not opened - - - - - It was not possible to open the file %1 for reading. - - - - - KLog was not able to read the LoTW file - - - - - Importing LoTW ADIF file... - - - - - This QSO is not including the minimum data to consider a QSO as valid! - - - - + - The band missing and the following call: - Brakuje pasma w wybranym QSO: + - The call missing but was done at this time: - - Brakuje Znaku ? + - Brakuje Znaku ? - + - The mode missing and the following call: - Brakuje emisji dla wybranego znaku: - + - The date missing and the following call: - Brakuje daty dla wybranego znaku: - + - The time missing and the following call: - Brakuje czasu dla wybranego znaku: - + KLog: Not all required data found! KLog: Nie wszystkie wymagane dane zostały znalezione! - - Some QSOs of this log, (i.e.: %1) seems to lack RST-TX information. + + Some QSO of this log, (i.e.: %1) seems to lack of RST-TX information. - - Click on Yes to add a default 59 to all QSOs with a similar problem. - - - - - If you select NO, maybe the QSO will not be imported. - - - - - Some QSOs of this log, (i.e.: %1) seems to lack RST-RX information. - - - - - KLog - Apply to all QSOs in this log? - - - - + KLog: No RST TX found! Klog: Nie znaleziono RST-TX! - + + Some QSO of this log, (i.e.: %1) seems to lack of RST-RX information. + + + + KLog: No RST RX found! Klog: Nie znaleziono odebranych raportów RST-RX! - - - - KLog - No Station callsign entered. - - - - - KLog has found one QSO without the Station Callsign defined. - -Enter the Station Callsign that was used to do this QSO with %1 on %2: - - - - - - KLog - QSO without Station Callsign - - InfoWidget @@ -1334,23 +1079,15 @@ Enter the Station Callsign that was used to do this QSO with %1 on %2: This looks like it's the first time you've run KLog on this computer. Wygląda na to że to pierwszy raz kiedy korzystasz z KLog na tym komputerze. - - KLog is a free hamradio logging program that can run on Linux macOS and Windows. - KLog jest darmowym programem logującym dla radioamatorów który może pracować pod systemami Linux, macOS oraz Windows. - - - It is designed to provide general purpose, DX and contest logging. - Został stworzony do codziennej pracy, DX oraz w zawodach. - - KLog is a free hamradio logging program that can run on Linux, macOS, and Windows. - + KLog is a free hamradio logging program that can run on Linux macOS and Windows. + KLog jest darmowym programem logującym dla radioamatorów który może pracować pod systemami Linux, macOS oraz Windows. - It is designed to provide general purpose DX, and contest logging. - + It is designed to provide general purpose, DX and contest logging. + Został stworzony do codziennej pracy, DX oraz w zawodach. @@ -1411,161 +1148,6 @@ Enter the Station Callsign that was used to do this QSO with %1 on %2: Pamiętaj o tym że KLog jest oprogramowaniem darmowym. - - LoTWUtilities - - - KLog - LoTW password needed - - - - - Please enter your LoTW password: - - - - - KLog - File exist - - - - - There is a file already existing with the name that will be used. - - - - - The file %1 already exist. Do you want to overwrite? - - - - - KLog - Can't write the file - - - - - KLog was not able to save the file %1. -Error returned: %2 - - - - - The file already %1 exist. - - - - - Downloading data to file: %1. - - - - - - KLog - LoTW download - - - - - KLog - Download error - - - - - The downloading error is: %1 - - - - - There was an error while downloading the file from LoTW. - - - - - KLog - Redirection found - - - - - The remote server redirected our connection to %1 - - - - - Do you want to follow the redirection? - - - - - It was not possible for find the file %1 that has been just downloaded. - - - - - It seems that LoTW has no QSO with the Station Callsign you are using (%1). - - - - - Try again and send the downloaded file (%1) to the KLog developer for analysis. - - - - - KLog downloaded %1 QSOs successfully. Do you want to update your log with the downloaded data? - - - - - KLog - File not found - - - - - KLog can't find the downloaded file. - - - - - KLog - LoTW user/password error - - - - - LoTW server did not recognized your user/password - - - - - Check your user and password and ensure your are using the right one before trying again. - - - - - KLog - LoTW No QSOs - - - - - LoTW sent no QSOs - - - - - KLog - LoTW Unknown error - - - - - KLog can't recognize the file that has been downloaded from LoTW. - - - - - Now KLog will process the downloaded QSO and update your local log. - - - LogModel @@ -1612,190 +1194,118 @@ Error returned: %2 LogWindow - + QSL Send QSL wysłane - + QSL Rcvd QSL Otrzymane - + &Delete &Delete - + Delete a QSO Usuń QSO - + &Edit QSO &Edit QSO - + Edit this QSO Edytuj QSO - + Via &bureau Via &bureau - + Send this QSL via bureau Wyśłij QSL przez biuro - + D&irect D&irect - + Send this QSL via direct Wyślij QSL direktem - + Via bureau Przez biuro - + QSL &received via bureau QSL &received via bureau - + Direct Direct - + QSL received via direc&t QSL odebrane przez direct&t - - Check in QRZ.com - - - - - Check this callsign in QRZ.com - - - - - Check in DXHeat.com - - - - - Check this callsign in DXHeat.com - - - - + You have requested to delete this QSO. To QSO zaostało zaznaczone do usnunięcia. - + Are you sure? Czy jesteś pewien? - - MainQSOEntryWidget - - - - - &Add - - - - - &Clear - &Clear - - - - QRZ of the QSO. - - - - - Band of the QSO. - - - - - Mode of the QSO. - - - - - Date of the QSO. - - - - - Time of the QSO. - - - - - Add the QSO to the log. - - - - - Clears the QSO entry. - - - - - KLog will show real time if enabled. - - - - - QRZ - QRZ - - - - &Modify - - - MainWindow - + Starting KLog - &Clear - &Clear + + + + + &Add + - - + + &Clear + &Clear + + + + Status bar... + + + + DX Entity - + &Log Window @@ -1811,33 +1321,28 @@ Error returned: %2 MHz - - + + KLog Klog - + It seems that you have never done a backup or exported your log to ADIF. - - Status bar ... - - - - + It seems that the latest backup you did is older than one month. - + Log backup recommended! - + It is a good practice to backup your full log regularly to avoid loosing data in case of a problem. Once you export your log to an ADIF file, you should copy that file to a safe place, like an USB drive, cloud drive, another computer, ... @@ -1847,438 +1352,502 @@ KLog will remind you to backup on a monthly basis. - + Ready - + An unexpected error ocurred when trying to add the QSO to your log. If the problem persists, please contact the developer for analysis: - - + + You have selected an entity: - - + + that is different from the KLog proposed entity: - + Click on the prefix of the correct entity or Cancel to edit the QSO again. - + Click on the prefix of the right entity or Cancel to correct. - + + + QRZ of the QSO. + + + + + TX RST. - + + RX RST. - - There was an error while updating to Yes the LoTW QSL sent information. + + + TX Exchange. - + + + Band of the QSO. + + + + + + Mode of the QSO. + + + + + + Date of the QSO. + + + + + + Time of the QSO. + + + + + + Add the QSO to the log. + + + + + Clear the box. + + + + + Input + + + + + RSTrx RSTrx - + + RSTtx RSTtx - + + + QRZ QRZ - + + STX + + + + + SRX + + + + Do you really want to exit KLog? - - KLog - File not open + + Invalid characters used in the QRZ - - KLog - Unexpected error - - - - - - KLog - Select correct entity - - - - - KLog - Exit - - - - + &File - + &Import from ADIF... - + Import an ADIF file into the current log. - + Export to ADIF... - + Export the current log to an ADIF logfile. - + Export all logs to ADIF... - + Export ALL the QSOs into one ADIF file, merging QSOs from all the logs. - + + Export Requested QSL to ADIF... + + + + + Export all QSOs requesting QSLs to an ADIF file (e.g. to import it into a QSL tag printing program). + + + + + Export ADIF for LoTW... + + + + + Export an ADIF file to be sent to LoTW. Remember to sign it with TQSL before uploading to LoTW! + + + + &Print Log... - + Print your log. - + KLog folder - + Opens the data folder of KLog. - + E&xit - + &Tools - + Fill in QSO data - + Go through the log reusing previous QSOs to fill missing information in other QSOs. - + + Fill in DXCC data + + + + + Go through the log filling QSOs without a DXCC defined. + + + + QSL tools... - + &Find QSO to QSL - + Shows QSOs for which you should send your QSL and request the DX QSL. - + Find My-QSLs pending to send - + Shows the QSOs with pending requests to send QSLs. You should keep this queue empty! - + &Find DX-QSLs pending to receive - + + Shows the DX-QSL that has been requested or QSLs has been sent with no answer. + + + + &Find requested pending to receive - + + Shows the DX-QSL that has been requested. + + + + LoTW tools... - + + Queue all QSL to be sent of this log + + + + + Mark all non sent QSOs in this log as queued to be uploaded. + + + + + Queue all QSL to be sent + + + + + Mark all non sent QSOs as queued to be uploaded. + + + + + Mark as sent all queued QSO of this log + + + + Mark all queued QSOs in this log as sent to LoTW. - + + Mark all queued QSO as sent + + + + Mark all queued QSOs as sent to LoTW. - - Upload to LoTW - - - - - Sends the log to LoTW calling TQSL. - - - - + &Update cty.csv - - + + For updated DX-Entity data, update cty.csv. - + &Update Satellite Data - + Stats - + Show the statistics of your radio activity. - + &Setup - + &Setup... - + &Help - + Check updates... - + &About... - + &Tips... - + About Qt... - - - - - - - - - - - - + + + + + + + + KLog LoTW - - + + All pending QSO of this log has been marked as queued for LoTW! + + + + + Now you can go to the File menu to export the LoTW ADIF file and upload it to LoTW. - - KLog - TQSL + + + There was a problem to mark all pending QSO of this log as queued for LoTW! - - TQSL is not installed or KLog can't find it. Please check the configuration. + + All pending QSO has been marked as queued for LoTW! - - Error #1: The process was cancelled by the user or TQSL was not configured. No QSOs were uploaded. - - - - - Error #2: Upload was rejected by LoTW, please check your data. - - - - - Error #3: The TQSL server returned an unexpected response. - - - - - Error #4: There was a TQSL error. - - - - - Error #5: There was a TQSLLib error. - - - - - Error #6: It was not possible to open the input file. - - - - - Error #7: It was not possible to open the ouput file. - - - - - Error #8: No QSOs were processed since some QSOs were duplicates or out of date range. - - - - - Error #9: Some QSOs were processed, and some QSOs were ignored because they were duplicates or out of date range. - - - - - Error #10: Command syntax error. KLog sent a bad syntax command. - - - - - Error #11: LoTW Connection error (no network or LoTW is unreachable). - - - - - Error #00: Unexpected error. Please contact the development team. - - - - + The log that you have selected contains more than just one station callsign. Log który właśnie został zaznaczony zawiera więcej niż jeden znak stacji. - + Please select the station callsign you want to mark as sent to LoTW: - + Station Callsign: Znak Stacji: - + Define Station Callsign Zdefinuj Znak Stacji - + You have selected no callsign. KLog will mark QSOs without a station callsign defined and those with the call you are entering here. - + Enter the station callsign to use for this log or leave it empty for QSO without station callsign defined: Wprowadż znak stacji aby używać go z tym Logiem, lub pozostaw puste miejsce dlaQSO bez znaku: - - KLog - No station selected - - - - + No station callsign has been selected and therefore no log will be marked - + + All queued QSO of this log has been marked as sent for LoTW! + + + + + There was a problem to mark all queued QSO of this log as sent for LoTW! + + + + + All queued QSO has been marked as sent to LoTW! + + + + + There was a problem to mark all queued QSO of this log as sent to LoTW! + + + + About... - + KLog update checking result - + Congratulations! Gratulacje! - + You already have the latest version. Już posiadasz najnowszą wersję. @@ -2287,414 +1856,236 @@ KLog will remind you to backup on a monthly basis. Zapisz plik - + You can find the KLog data folder here: - + start - + stop - + + It seems that there are no QSO in the database. + + + + If you are sure that the database contains QSOs and KLog is not able to find them, please contact the developers (see About KLog) for help. - - + + TX Frequency in MHz. - - + + RX Frequency in MHz. - + Power used by the DX. - + Logging operator's callsign. Logowanie znaku operatora. - + Callsign used over the air. Znak używan. - + DX Locator - + My QTH locator. Mój QTH Lokator. - + Name of the DX. - + QTH of the DX. - + Locator of the DX. - + TX Frequency in MHz. Frequency is not in a hamradio band! - + RX Frequency in MHz. Frequency is not in a hamradio band! - + QSO logged from WSJT-X: - + + + RX Exchange. + + + + + It was not possible to open the debug file for writting. No debug log will be saved! + + + + KLog new version detected! - + It seems that you are running this version of KLog for the first time. - + The setup will be open to allow you to do any new setup you may need. - - - KLog - Not valid call - - - - - - The call %1 is not a valid call. Do you really want to add this call to the log? - - - - - - Adding non-valid calls to the log may create problems when applying for awards, exporting ADIF files to other systems or applications. - - - - - - No DXCC - - - - - - None - - - - + The logfile has been modified. - + Do you want to save your changes? - - Shows DX-QSLs for which requests or QSLs have been sent with no answer. - - - - - Shows the DX-QSLs that have been requested. - - - - - Queue all QSLs from this log to be sent - - - - - Mark all non-sent QSOs in this log as queued to be uploaded. - - - - - Queue all QSLs to be sent - - - - - Put all the non-sent QSOs in the queue to be uploaded. - - - - - Mark as sent all queued QSOs of this log - - - - - Mark all queued QSOs as sent - - - - - Download from LoTW - - - - - All pending QSOs of this log has been marked as queued for LoTW! - - - - - - There was a problem to mark all pending QSOs of this log as queued for LoTW! - - - - - Your log has not been updated. - - - - - No QSO was updated with the data coming from LoTW. This may be because of errors in the logfile or simply because your log was already updated. - - - - - All pending QSOs has been marked as queued for LoTW! - - - - - TQSL finished with no error. - - - - - All queued QSOs of this log has been marked as sent for LoTW! - - - - - There was a problem to mark all queued QSOs of this log as sent for LoTW! - - - - - All queued QSOs has been marked as sent to LoTW! - - - - - There was a problem to mark all queued QSOs of this log as sent to LoTW! - - - - - + + UDP Server error The UDP server failed to %1. start or stop - - It seems that there are no QSOs in the database. + + Clears the QSO entry. - - This function is disabled. Go to the Setup->LoTW tab to enable it. - - - - + Status of the DX entity. - + Name of the DX entity. - - + + Name - + QTH - + Power(rx) - + RST(tx) - + RST(rx) - + Freq TX - + Freq RX - + QSO - + QSL - + eQSL - - + + Comment Komentarz - + Others - + My Data Moje dane - + Satellite Satelita - - - KLog ADIF export - - - - - No QSOs have been exported to ADIF. - - - - - KLog has exported %1 QSOs to the ADIF file: %2 - - - - - If you uploaded any QSO to LoTW while you were using TQSL you can now mark them as sent in KLog. - -Do you want to mark as Sent all the QSOs uploaded to LoTW? - - - - - Select the Station Callsign to use when quering LoTW: - - - - - Please check the LoTW setup - - - - - You have not defined a LoTW user or a proper Station Callsign. -Open the LoTW tab in the Setup and configure your LoTW connection. - - - - - KLog - Non-supported mode - - - - - A new mode not supported by KLog has been received from an external program or radio: - - - - - Do you want to keep receiving these alerts? (disabling these alerts will prevent non-valid modes being detected) - - - - - Recommendation: - - - - - Periodically export your data to ADIF to prevent a potential data loss. - - QSOs QSOs - + DXCC DXCC @@ -2703,7 +2094,7 @@ Open the LoTW tab in the Setup and configure your LoTW connection. CQ - + Info @@ -2712,281 +2103,300 @@ Open the LoTW tab in the Setup and configure your LoTW connection. Potwierdzone - + Awards - + Search - + Log - + DX-Cluster DX-Klaster - - - + + + + Save ADIF File - - The LoTW upload process has finished and KLog created a file (%1) in your KLog folder. - -Do you want KLog to remove that file? + + LoTW logfile has been properly exported! - - The file has been removed. + + Remember to: - - - KLog - LoTW + + Before uploading: sign the LoTW log; and - - It was not possible to open the debug file for writing. No debug log will be saved! + + After uploading: mark as sent all the queued QSO (LoTW Tools). - - Your log has been updated with the LoTW downloaded QSOs. + + There was no QSO to be exported. - - KLog has updated %1 QSOs from LoTW. + + If you think that some QSO should have been exported, please look for them and ensure that the eQSL LoTW QSL sent box is marked as: - - KLog - Select the Station Callsign. + + Q - Queued - + + There was an error while exporting the LoTW. The log has not been exported! + + + + + Open File Otwórz plik - + + &Modify + + + + My QTH locator. Format should be Maidenhead like IN70AA up to 10 characters. - + - Needed for DXMarathon - + Filling QSOs... - + Abort filling - + Filling DXCC, CQz, ITUz, Continent in QSOs... QSO: - + Number - + Date Data - + Time Czas - + Band Pasmo - - + + Mode Emisja - + Print Log - + Printing the log... - + Abort printing - - + + Printing the log... QSO: - + KLog QSO received - + The following QSO data has been received from WSJT-X to be logged: - + Call - + Freq - + Time On - + Time Off - + RST TX - + RST RX - + DX-Grid - + Comments Komentarz - + TX Pwr - + Operator Operator - + Local-Grid - + If the received mode is correct, please contact KLog development team and request support for that mode - - KLog - Duplicated satellite + + Do you want to keep receiving this alerts? (disabling this alerts will prevent that non-valid modes are detected) - + + A new mode not supported by KLog has been received from an external software or radio: + + + + A duplicated satellite has been detected in the file and will not be imported. - + Please check the satellite information file and ensure it is properly populated. - + Now you will see a more detailed error that can be used for debugging... - + An unexpected error ocurred!! - + If the problem persists, please contact the developers - + for analysis: - + Error in function - + Error code - + Error text - + Failed query - - KLog - Show errors + + Recomendation: - + + Export, periodically, your data to ADIF to prevent a potential data loss. + + + + Do you want to keep showing errors? @@ -3002,77 +2412,77 @@ Do you want KLog to remove that file? MainWindowInputEQSL - + Date of the ClubLog upload. Data aktualizacji ClubLog. - + Date of the eQSL sending. Data wysłania eQSL. - + Date of the eQSL reception. Data otrzymania eQSL. - + Date of the LoTW sending. - + Date of the LoTW reception. - + Status of the LoTW sending. - + Status of the LoTW reception. - + LoTW Sent - + LoTW Rec - + Status on ClubLog. Status ClubLog. - + Status of the eQSL sending. Status wysłania eQSL. - + Status of the eQSL reception. Status otrzymywanych eQSL. - + ClubLog ClubLog - + eQSL Sent eQSL Wysłane - + eQSL Rec eQSL Otrzymane @@ -3212,68 +2622,64 @@ Do you want KLog to remove that file? MainWindowMyDataTab + Watt - Wat + Wat - - Watts - - - - + Keep this data Zachowaj te dane - - + + Data entered in this tab will be copied into the next QSO. - + Power used for the QSO in watts. - + Logging operator's callsign. Logowanie znaku operatora. - + Callsign used over the air. Znak używan. - - + + My QTH locator. Mój QTH Lokator. - + Power Moc - + Operator Operator - + Station Callsign Znak stacji - + My Locator Mój lokator - + My QTH locator. Format should be Maidenhead like IN70AA up to 10 characters. @@ -3287,7 +2693,7 @@ Do you want KLog to remove that file? - + Other - Sat not in the list Inne - Satelita nie jest na liście @@ -3324,7 +2730,7 @@ Do you want KLog to remove that file? - + Locator of the DX station. This box is synchronized with the Locator box in the QSO tab. @@ -3365,54 +2771,50 @@ Do you want KLog to remove that file? MHz - + Locator of the DX station. Format should be Maidenhead like IN70AA up to 10 characters. - + Not Sat QSO QSO nie przez SAT - + KLog has detected a satellite name that it does not recognise. If it should use one of the names of known satellites instead, please select it from the list. Alternatively, please contact the development team to add the new satellite name. KLog wykrył nazwę satelity która nie została rozpoznana. Jeśli chcesz użyć jednej ze znanych zamiast tej, proszę wybrać ją z listy. Ewentualnie, proszę o kontak z twórcami programu aby satelita mógł zostać do listy w kolejnych wydaniach. + Please know that the satellite name will not be saved if it is not in the list so that information may be lost! - Proszę zauważyć że nazwa satelity nie zostanie zapisana jeśli nie jest nia liście więc informacje mogą zostać utracone! + Proszę zauważyć że nazwa satelity nie zostanie zapisana jeśli nie jest nia liście więc informacje mogą zostać utracone! - + The satellite you have in your QSO is: Satelita w Twoim QSO to: - - Please be aware that the satellite name will not be saved if it is not in the list, so that information may be lost! - - - - + RX Frequency in MHz. Frequency is not in a hamradio band! - + RX Frequency in MHz. - + TX Frequency in MHz. Frequency is not in a hamradio band! - + TX Frequency in MHz. @@ -3420,586 +2822,484 @@ Frequency is not in a hamradio band! QObject - + New One, work it! New One, work it! + + + + + + + - - - - - - - Needed, work it! Potrzebny, zrób QSO! - - - - + + + + Worked but not confirmed Zrobione, ale nie potwierdzone - + Confirmed Potwierdzone - + Not identified Nie zidetyfikowany - - + + Database Error Błąd bazy dancyh - + KLog DB needs to be upgraded. Baza danych KLog musi zostać zaktualizowana. - - - - - - KLog - DB update - - - - + KLog has detected a previous log in the DB. All data will be migrated to a newly created DX type log for you. KLog wykrył poprzedni LOG w bazie dancy. Wszystkie dane zostaną dla Ciebie zaimportowane do nowo utworzonego Logu. - + KLog: Enter Station callsign KLog: Wprowadź znak stacji - + Enter the station callsign used in this log Wprowadź znak używany w KLog - + Station Callsign Znak Stacji + All the data was migrated correctly. You should now go to Setup->Preferences->Logs to check that everything is OK. - Wszystkie dane zostały zaimportowane poprawnie. Przejdź do Ustawień >Właściwości>Logi do sprawdzenia czy wszystko jest OK. + Wszystkie dane zostały zaimportowane poprawnie. Przejdź do Ustawień >Właściwości>Logi do sprawdzenia czy wszystko jest OK. - - - - - + + + + + QSO: QSO: - - - - + + + + Canceling this update will cause data inconsistencies and possibly data loss. Do you still want to cancel? Przerwanie tej aktualizjacji może grozić utratą danych, Czy napewno chcesz przerwać? - - + + Progress: Postęp: - + Updating DXCC award information... - + Updating DXCC Award information... - + Updating WAZ award information... - + Updating WAZ Award information... - - + + Updating mode information... Updating mode information... - + Do you want to upgrade it now? Czy chcesz aktualizować teraz? - + If DB is not upgraded KLog may not work properly. Jeśli DB nie zostanie zauktualizowana KLog może nie działać poprawnie. - - All the data was migrated correctly. You should now go to Setup->Preferences->Logs to check that everything is okay. - - - - - - - - - - + + + + + + + Abort updating Przerwij aktualizowanie - - - - + + + + Updating bands information... Aktualizowanie informacjo o pasmach... - + Updating bands information in %1 status... Updating bands information in %1 status... - + Updating mode information in %1 status... Updating mode information in %1 status... - + Install wizard was canceled before completing... Proces aktualizacji został przerwany przed zakończeniem... - + Do you want to remove the KLog dir from your disk? Czy chcesz usunąć katalog KLoog ze sswojego dysku? - + Your KLog dir has been removed Katalog KLog został usunięty - + I could not remove your KLog dir. You should do it manually if you want it removed from your hard disk. Usunięcie katalogu KLog było nie możliwe. Powinieneś zrobić to manualnie jeśli aby katalog KLog został całkowicie usunięty. - + Your KLog dir could not be removed. You should do it manually if you want it removed from your hard disk. Katalog KLog nie został usunięty. Aby usunąć ten katalog z dysku powinieneś usunąć go ręcznie. - + Remember that your KLog dir is on your system... Pamiętaj że katalog Klo jest w zainstalowany na Twoim systemie... + - + - Thank you for running KLog! Dziękujemy za korzystanie z KLog! - + Updating information... - + Updating DXCC and Continent information... - - - A wrong call has been found: %1. Please enter a new call or confirm that the current one is a good call. - - - - - An empty callsign has been detected. If it is possible, please enter the right call. - - - - - KLog - Not valid callsign found - - - - - RotatorWidget - - - Rotator - - SearchWidget - + &Clear &Clear - - - + + + &Select All &Select All - + &Search &Search + All - Wszystko + Wszystko - + &Export Highlighted &Export Highlighted - - All logs - - - - + Clear the searches. Wyczyść wyszukiwanie. - + Export the search result to an ADIF file. Wyeksportuj wyniki wyszukiwania do pliku ADIF. - + Select/Unselect all the QSOs shown. Zaznacz/Odznacz wszystkie wyświetlone QSO. - + Search in the log. Przeszukaj log. - + Search in all logs. Przeszukaj we wszystkich logach. + Enter the QRZ to search for. - Wprowadź znak aby wyszukać. + Wprowadź znak aby wyszukać. - - Enter the QRZ to search for. Enter '*' to show all the QSOs... it may be slow in big logs! - - - - + Search results. Przeszukaj wyniki. - - Select the Station Callsign used to do this QSO. - - - - - + + QRZ QRZ - - + + Date/Time Data/Czas - - + + Band Pasmo - - + + Mode Emisja - - + + QSL Sent QSL Wysłane - - - + + + QSL Rcvd QSL Otrzymane - + Station Callsign Znak stacji - - + + ID ID - - All in log - - - - - Not defined - - - - - Searching for the QSOs... -(It may take long in big logs.) - - - - - KLog - Search - - - - - + + &Clear selection &Clear selection - + Save File Zapisz plik - + QSL Send QSL Wysłane - + &Delete &Delete - + Delete a QSO Usuń QSO - + &Edit QSO &Edit QSO - + Edit this QSO Edytuj to QSO - + Via &bureau Via &bureau - + Send this QSL via bureau Wyślij to QSL przez biuro - + D&irect D&irect - + Send this QSL via direct Wyślij to QSL direktem - + &Request my QSL &Request my QSL - + Mark my QSL as requested Zaznacz moje QSL jako oczekiwane - - Via Direct and mark DX QSL as requested - - - - - Send this QSL via direct and mark DX QSL as requested - - - - - Via Bureau and mark DX QSL as requested - - - - - Send this QSL via bureau and mark DX QSL as requested - - - - - Via bureau and mark my QSL as requested - - - - - QSL received via bureau and mark my QSL as requested - - - - - Direc&t and mark as my QSL requested - - - - - QSL received via direct and mark my QSL as requested - - - + Via Direct && mark DX QSL as requested - Via Direct && mark DX QSL as requested + Via Direct && mark DX QSL as requested + Send this QSL via direct & mark DX QSL as requested - Wyślij to QSL direktem oraz oznacz QSL jako oczekiwane + Wyślij to QSL direktem oraz oznacz QSL jako oczekiwane + Via Bureau && mark DX QSL as requested - Przez biuro oraz zaznacz DX QSL jako oczekiwane + Przez biuro oraz zaznacz DX QSL jako oczekiwane + Send this QSL via bureau & mark DX QSL as requested - Wyślij to QSL przez biuro oraz zaznacz DX QSL jako oczekiwane + Wyślij to QSL przez biuro oraz zaznacz DX QSL jako oczekiwane - + &Request the QSL &Request the QSL - + Mark the QSL as requested Zaznacz to QSL jako oczekiwane + Via bureau && mark my QSL as requested - Via biuro oraz zaznacz moje QSL jako oczekiwane + Via biuro oraz zaznacz moje QSL jako oczekiwane + QSL received via bureau & mark my QSL as requested - QSL otrzymane przez biuro oraz zaznacz QSL jako oczekiwane + QSL otrzymane przez biuro oraz zaznacz QSL jako oczekiwane - + Via bureau Via biuro - + QSL received via bureau QSL otrzymane via biuro + Direc&t && mark as my QSL requested - Direc&t && mark as my QSL requested + Direc&t && mark as my QSL requested + QSL received via direct & mark my QSL as requested - QSL otrzymane direktem oraz zaznacz moje QSL jako oczekiwane + QSL otrzymane direktem oraz zaznacz moje QSL jako oczekiwane - + Direc&t Direc&t - + QSL received via direct QSL otrzymane direktem - + You have requested to delete the QSO with: %1 - + Are you sure? Czy jesteś pewien? - + Needed QSO to send the QSL QSO wymagne aby wysłać QSL - + My QSL requested to be sent Moje QSL jako oczekiwane - - + + DX QSL pending to be received DX QSL jako oczekjące @@ -4007,165 +3307,147 @@ Frequency is not in a hamradio band! SetupDialog - + My Data Moje dane - - - + + + Bands/Modes Pasma/Emisje - - + + DX-Cluster DX-Klaster - - - + + + Colors Kolory - - - + + + Misc Inne - - + + World Editor Edycja Znaków - - - + + + Logs Logi - - + + Satellites - - + + HamLib - - Interfaces - - - - - Ok - OK - - - + ClubLog ClubLog - - LoTW - - - - + Do you want to add one log in the Logs tab or exit KLog? (Click Yes to add a log or No to exit KLog) - - DB has not been moved to new path. - - - - + Go to the Misc tab and click on Move DB or the DB will not be moved to the new location. - + Go to the User tab and enter valid QRZ. - - + + Cancel Anuluj - + + OK OK - - + + Config Dialog Okno konfiguracji - - + + User data Dane użytkownika - + D&X-Cluster D&X-Cluster + DB has not been moved to new path - DB nie została przeniesiona w nowe miejsce + DB nie została przeniesiona w nowe miejsce - + You will be redirected to the Log tab. Please add and select the kind of log you want to use. Zstaniesz przekierowany do zakłdki Log. Proszę wybrać z którego logu chcesz obecnie korzystać. - + World Świat - + WSJT-X - + You need to enter at least one log in the Logs tab. Wymagane jest abyś dodał przynajmniej jeden Log w zakładce Log. - + You need to enter at least a valid QRZ. Wmagane jest wprowadzenie przynajmniej jednego aktualnego znaku. - + You have not selected the kind of log you want. Nie zanaczono żadnego logu. @@ -4173,117 +3455,113 @@ Proszę wybrać z którego logu chcesz obecnie korzystać. SetupEntityDialog - + Entity Jednostka - + CQ CQ - + ITU ITU - + Latitude Szerokość - + Longitude Szerokość - + UTC UTC - + Main prefix Główny Prefiks - + ARRL ID ARRL ID - + Comma separated possible prefixes, e.g. EA1, EA2, ... Prefixy oddzielpone przecinkiem Np EA1, EA2, ... - + Prefixes Prefiksy - + Name of the Entity. - + CQ zone. - + ITU zone. - - + + Longitude of the Entity. - + Local time difference to UTC. - + Main prefix of the entity. - + ARRL ID. - + Date of the deletion. - + Deleted Usunięty - + Cancel Anuluj - - Ok - OK - - + OK - OKOK + OKOK - + Entity Dialog Opis Jednostki @@ -4291,12 +3569,12 @@ Proszę wybrać z którego logu chcesz obecnie korzystać. SetupPageBandMode - + Bands Pasma - + Modes Emisje @@ -4304,62 +3582,62 @@ Proszę wybrać z którego logu chcesz obecnie korzystać. SetupPageClubLog - + &Callsign &Callsign - + ClubLog &password ClubLog &password - + ClubLog &email ClubLog &email - + Enter the email you used to register in ClubLog. Wprowadź e-mail którego użyłeś podczas rejestracji w ClubLog. - + Enter the callsign you used to register in ClubLog. Wprowadź znak który podałeś podczas rejestracji w ClubLog. - + Enter your password in ClubLog. Wprowadź swoje hasło do ClubLog. - + &Send QSOs in real time &Send QSO in real time - + &Activate ClubLog &Active ClubLog - + Use QSO Station &Callsign Użyj znaku stacji &Callsign - + Send each QSO to ClubLog in real time, as they are added (or modified) in KLog. - + Starts the ClubLog support in KLog. - + Use the Station Callsign defined in each QSO instead of the one defined here. @@ -4367,77 +3645,77 @@ Proszę wybrać z którego logu chcesz obecnie korzystać. SetupPageColors - + New One Nowy kraj - + Needed in this band Potrzebny na tym paśmie - + Worked in this band Zrobiony na tym paśmie - + Confirmed in this band Potwierdzony na tym paśmie - + Default Domyślny - + WSJT-X palette - + Default palette - + Color when the DXCC is an ATNO (All Time New One). - + DXCC is confirmed in this band. - + Default color. - + Sets a palette of colors similar to the one used in WSJT-X. - + Sets the default palette. - + This DXCC was worked before in another band but not in the selected band. It may be needed due to the CQ, ITU, Grid, ... - + Worked DXCC, but not confirmed in this band. - + Choose a color Wybierz kolor @@ -4445,87 +3723,72 @@ Proszę wybrać z którego logu chcesz obecnie korzystać. SetupPageDxCluster - + Add Dodaj - + Delete Usuń - + Show &HF spots Pokaż &HF spots - + Show V/&UHF spots Pokaż V/&UHF spots - + Show W&ARC spots Pokaż W&ARC spots - + Show &worked spots Pkaż &worked spots - + Show &confirmed spots Pokaż &confirmed spots - + Show ANN/&FULL messages Pokaż ANN/&FULL messages - + Show WW&V messages Pokaż WW&V messages - + Show WC&Y messages Pokaż WC&Y messages - - Save DX Cluster activity - - - - - Saves all the DX-Cluster activity to a file in the KLog folder - - - - + DX Spots DX spot - - Others - - - - + Messages Wiadomość - + KLog: Add a DXCluster server KLog: Dodaj server DXCluster - + Add the address followed by the :port Example: dxfun.com:8000 If no port is specified, 41112 will be used by default: @@ -4537,401 +3800,295 @@ Jeśli numer portu nie zostanie podany, port 41112 zostanie użyty jako domyśln SetupPageHamLib - + Activate HamLib - + Activates the hamlib support that will enable the connection to a radio. - + Read-Only mode - + If enabled, the KLog will read Freq/Mode from the radio but will never send any command to the radio. - + Radio - + Select your rig. - + Defines the interval to pool the radio in msecs. - + Pool interval - + Port - + Select the serial port. Only the serial ports that are detected are shown. - + Scan - + Click to identify the serial ports available in your computer. - + Bauds - + Select the serial port speed. - + 5 bits - + 6 bits - + 7 bits - + 8 bits - + Data bits - + Select the serial data bits. - + None - + Hardware - + Software XON/XOFF - + Flow control - + Select the serial flow control - + No parity - + Even - + Odd - + Space - + Mark - + Parity - + Select the serial parity. - + 1 bit - + 1.5 bits - + 2 bits - + Stop bits - + Select the serial stop bits. - - SetupPageInterfacesWindows - - - UDP port number where the PSTRotator Server will listen for packets. - - - - - Default port is 12040. - - - - - PST Rotator UDP Port - - - - - Hostname or IP address of the computer running PSTRotator. Leave it as localhost if you are running KLog and PSTRotator in the same computer. - - - - - PST Rotator host - - - - - Send antenna bearing to PST Rotator - - - - - SetupPageLoTW - - - LoTW upload - - - - - TQSL Path - - - - - Route to TQSL - - - - - Use TQSL - - - - - Path to the TQSL software. - - - - - Enable the LoTW integration with TQSL. You will need to have TQSL installed - - - - - User: - - - - - Password: - - - - - Enter your password LoTW here. Warning: The password will be save on clear in the KLog config file!! If you don't want to enter the password, KLog will ask you when it is needed. - - - - - LoTW download - - - - - - Enter your LoTW user - - - - - - Enter your password LoTW here. Warning: The password will be save on clear in the KLog config file!! (If you don't want to enter the password, KLog will ask you when it is needed.) - - - - - Select File - - - SetupPageLogs - + &New &New - + &Edit &Edit - + &Remove &Remove - + KLog Klog - - All the QSOs from this log will also be deleted... - - - - + Log has not been removed. (#3) Log nie został usunięty. (#3) - + Do you really want to remove this log? Czy na pewno chcesz usunąć ten Log? - + Add a new log. - + Edit the selected log. - + Remove the selected log. - + Select the log you want to open. + All the QSOs from this log will be also deleted... - Wszystkie QSO z tego Logu zostaną usunięte... + Wszystkie QSO z tego Logu zostaną usunięte... - + Log has not been removed. (#2) Log nie został usunięty. (#2) - + Log has not been removed. (#1) Log nie został usunięty. (#1) - + ID ID - + Date Data - + Station Callsign Znak stacji - + Operators - + Comments Komentarz + Type - Rodzaj + Rodzaj - + An error has occurred showing the following error code: Wystąpił błąd o wskazanym kodzie błędu: - + KLog - SetupPageLogs Klog -SetupPageLogs @@ -4939,356 +4096,371 @@ Jeśli numer portu nie zostanie podany, port 41112 zostanie użyty jako domyśln SetupPageLogsNew - + &Date &Date - + &Station Callsign &Satation Callsign - + &Operators &Operators - + Comm&ent Comm&ent - + &Ok &OK - + &Cancel &Cancel + Select categories - Zaznacz kategorie + Zaznacz kategorie - + Callsign used for this log. - + Comma separated list of operators: callsign1, callsign2. Lista operatorów oddzielona przecinkiem: Znak Sacji1, Znak Stacji2. {1,?} - + Start date of this log. - + Add a comment about this log. + + Select the kind of operation for this log. + + + + + Select the mode category. + + + + + Select the operators category. + + + + + Select the assisted category. + + + + + Select the power category. + + + + + Select the bands category. + + + + + Select the Overlay category. + + + + &Type of Operation - &Type of Operation + &Type of Operation + &Mode Category - &Mode Category + &Mode Category + O&perators Category - O&perators Category + O&perators Category + &Assisted Category - &Assisted Category + &Assisted Category + Po&wer Category - Po&wer Category + Po&wer Category + &Bands Category - &Bands Category + &Bands Category + O&verlay - O&verlay + O&verlay + + Categories not OK - Kategorie nie poprawne + Kategorie nie poprawne - + You need to enter a valid QRZ in the Station Callsign box. The log will not be opened. Wpisz aktualny znak QRZ w polu Znak Stacji. Log nie zostanie otwarty. + You selected an invalid combination. The log will not be opened. - Nie odpowiednie zostawienie zostało wybrane. + Nie odpowiednie zostawienie zostało wybrane. Log nie zostanie otwarty. + Categories OK - Kategorie OK + Kategorie OK SetupPageMisc - + &Imperial system &Imperial system - + &Log in real time &Log in real time - + &Time in UTC &Time in UTC - + &Save ADIF on exit &Save ADIF on exit - + Use this &default filename Use this &default filname - + Mark &QSO to send QSL when QSL is received Mark &QSO to send QSL when QSL is recived - + Complete QSO with previous data Uzupełnij QSO ze wcześniejszymi danymi - + Show the Station &Callsign used in the search box Show the Station &Callsign used in the search box + &Reset to My Data for all QSOs - &Reset to My Data for all QSOs + &Reset to My Data for all QSOs - + Manage DX-Marathon - + Activate the application debug log - + + Sort log based in date & time + + + + QSOs will be marked as pending to send a QSL if you receive the DX QSL and have not sent yours. QSO zostanie oznaczone jako oczekujące QSL jeśli otrzymasz kartę QSL a Twoja jeszcze nie została wysłana. + If new version checking is selected, KLog will send the developer your callsign, KLog version & Operating system to help in improving KLog. - Jeśli nowa wersja zosyanie wybrana wówczas KLog wyśle do twórców programy używaną wersję KLog oraz system operacyjny na którym KLog został zainstalowany, w celu ulepszenia KLog. + Jeśli nowa wersja zosyanie wybrana wówczas KLog wyśle do twórców programy używaną wersję KLog oraz system operacyjny na którym KLog został zainstalowany, w celu ulepszenia KLog. - + Check it for Imperial system (Miles instead of Kilometers). - + Select to use the following name for the logfile without being asked for it again. Proszę zaznaczyć wybrnaną nazwę pliku aby nie być ponownie pytany o jego nazwę. - + Select if you want to manage DX-Marathon. - + This is the default file where ADIF data will be saved. To jest domyślna nazwa pliku w którym ADIF zostanie zapisany. - + Activates the application debug log. This may be useful if something is not working as expected. A debug file will be created in the KLog directory. - + Please specify an existing directory where the database (logbook.dat) will be saved. Proszę wybrać istniejący katalog w którym baza danych programu ( logbook.dat) zostanie zapisana. - + &Check for new versions automatically &Check for new version automaticlly - + &Provide Info for statistics &Provide info for statistics - - Mark sent eQSL && LoTW in new QSO as queued - - - - - + + Browse Przeglądaj - + Move DB Przenieś DB + The search box will show also the callsign on the air to do the QSO. - W polu wyszukiwania zostanie wskazany również znak stacji pracującej z którą można zrobić QSO. + W polu wyszukiwania zostanie wskazany również znak stacji pracującej z którą można zrobić QSO. - + All the data from the My Data tab will be used or data from the previous QSO will be maintained. Zostaną wykorzystane wszystkie dane zapisane w zakładce Moje Dane lub dane z poprzednich QSO zostaną zaktualizowane. - + Check if there is a new release of KLog available every time you start KLog. Sprawdź czy są dostępne nowe wydania KLog każdorazowno kiedy KLog jest uruchamiany. - + Select to use real time. Zaznacz aby pracować w czasie rzeczywistym. - + Select to use UTC time. Zaznacz aby użyć czasu UTC. - + Select if you want to save to ADIF on exit. Zaznacz aby zapisać do ADIF przy wyjściu z programu. - + Complete the current QSO with previous QSO data. Uzupełnij obecne QSO danymi z poprzednich QSO. - + This is the directory where the database (logbook.dat) will be saved. To jest katalog w którym baza danych ( logbook.dat) zostanie zapisana. - + Click to change the path of the database. Kliknij aby zmienić miejsce w którym baza danych zostanie zapisana. - + + Click to enable that log will be sorted based on date & time when clicking on the date column. It may be a little bit slower. + + + + This is the directory where DB (logbook.dat) will be saved. To jest katalog w którym DB ( logbook.dat ) zostanie zapisana. - + Click to change the default ADIF file. Kliknij aby zmienić domyślny plik ADIF. - - &Keep My Data for all QSOs - - - - - The search box will also show the callsign on the air to do the QSO. - - - - - If new version checking is selected, KLog will send the developer your callsign, KLog version and Operating system to help in improving KLog. - - - - + Click to move the DB to the new directory. Kliknij aby przenieść DB do nowego katalogu. - - Click to mark as Queued (to be sent) all the eQSL (LoTW and eQSL) in all the new QSO by default. - - - - + Open File Otwórz plik - + Select Directory Zaznacz Katalog - - KLog - Move DB - - - - + File moved Plik przeniesiony - + File copied Plik skopiowany - - File already exist. - - - - - The destination file already exist and KLog will not replace it. Please remove the file from the destination folder before moving the file with KLog to make sure KLog can copy the file. - - - - + File NOT copied Plik NIE skopiowany - - The file was not copied due to an unknown problem. - - - - + The target directory does not exist. Please select an existing directory. Katalog docelowy nie istnieje . Proszę wybrać istniejący katalog. @@ -5296,154 +4468,154 @@ Log nie zostanie otwarty. SetupPageSats - + &New &New - + &Edit &Edit - + &Remove &Remove - + &Import - + E&xport - + Add a new satellite. - + Edit the selected satellite. - + Remove the selected satellite. - + + Import a satellites file. It will replace the satellites you have now configured. + + + + Export your current satellites to a file. - + Select the sat you want to open. - + KLog Klog - + Do you really want to remove this satellite? - - Import a satellites file. It will replace the satellites you have in the current list. + + This satellite will not be longer available to be selected ... - - This satellite will no be longer available to be selected ... - - - - + Sat has not been removed. (#3) - + Sat has not been removed. (#2) - + Sat has not been removed. (#1) - + ID ID - + Short - + Name - + Uplink - + Downlink - + Modes Emisje - + An error has occurred showing the following error code: Wystąpił błąd o wskazanym kodzie błędu: - + KLog - SetupPageSats - + Open Satellites File - + KLog warning - + An unexpected error ocurred while importing the satellite data. It may be caused because the file you are trying to import does not have the right format. - + Please check the format or contact the developer for analysis with the error code: - + Save Satellites File @@ -5451,323 +4623,323 @@ It may be caused because the file you are trying to import does not have the rig SetupPageSatsNew - + Short name - + Sat name - + UpLink UpLink - + DownLink DownLink - + Modes Emisje - + &Ok &OK - + &Cancel &Cancel - + Enter the short name. Try to use the LoTW short name so you can upload your QSO to LoTW afterwards. - + Enter the name of the satellite. - + Enter the uplink frequencies in this format: 144.300 - + Enter the downlink frequencies in this format: 144.300 - + Enter the modes in this format: USB - - Some of the data you have entered is not correct; the satellite can't be added. + + Some of the data you have entered is not correct, the satellite can't be added. SetupPageUDP - + Start UDP Server - + + Log automatically QSOs from WSJT-X + + + + + Allow WSJT-X to send logged QSO to KLog + + + + + QSO logged in WSJT-X will be sent to KLog and KLog will ask before logging into KLog unless "%1" is selected + + + + + KLog will log automatically any QSO coming from WSJT-X without any manual confirmation. + + + + + Receive and Update QSO data to KLog + + + + KLog will automatically show and update data coming from WSJT-X (DX callsign, locator, RPT, ...) - - Automatically log QSOs from WSJT-X + + Make sure it is the same port where the other programs are sending the data to. Default port is 2237. - - Allow WSJT-X to send logged QSOs to KLog - - - - - QSOs logged in WSJT-X will be sent to KLog and KLog will ask before logging into KLog unless "%1" is selected - - - - - KLog will automatically log any QSO coming from WSJT-X without any manual confirmation. - - - - - Receive QSOs data and update to KLog - - - - + UDP port number where the UDP Server will listen for packets. - - Make sure it is the same port that the other programs are sending the data to. Default port is 2237. - - - - + UDP Server will receive QSOs sent from other programs like WSJT-X allowing you to log in KLog automatically from those programs. - + UDP Port - - QSOs notification timeout (milisecs) + + QSO notification timeout (milisecs) - - Miliseconds that the notification of QSOs received from WSJTX will be shown. + + Milliseconds that the notification of QSO received from WSJTX will be shown. SetupPageUserDataPage - + &Personal data &Personal data - + Station &data Station &data - + Enter your name. - + Enter your address - 1st line. - + Enter your address - 2nd line. - + Enter your address - 3rd line. - + Enter your address - 4th line. - + Enter your city. - + Enter your zip code. - + Enter your province or state. - + Enter your country. - + &Name &Name - + &Address &Address - + Cit&y Cit&y - + &Zip Code &Zip Code - + Pro&v/State Pro&v/State - + Countr&y Countr&y - - - + + + Enter your information for rig Wpisz informacje o swoim radiu - - - + + + Enter your information for antenna Wpisz informacje o swojej antenie - + Enter your power information. - + Enter the station callsign that will be used for logging. - + Enter the locator of your station. Alternatively, KLog can use an approximate locator based on your callsign. Wpisz lokator swojej stacji. Alternatywnie KLog może skorzystać z przybliżonej lokalizacji bazując na Twoim znaku wywoławczym. - + &Rig 1 &Rig 1 - + R&ig 2 R&ig 2 - + Ri&g 3 Ri&g 3 - + Antenna &1 Antenna &1 - + Antenna &2 Antenna &2 - + Antenna &3 Antenna &3 - + Po&wer Po&wer - + Enter the operators (comma separated if more than one). Wpisz operatorów ( skorzystaj z przecinka jeśli więcej niż jeden ). - + &QRZ &QRZ - + &Operators &Operators - + &CQ Zone &CQ Zone - + &ITU Zone &ITU Zone - - + + &Locator &Locator - + &Locator (not valid) &Locator (not valid) @@ -5775,172 +4947,139 @@ It may be caused because the file you are trying to import does not have the rig SetupPageWorldEditor - + Add Dodaj - + Delete Usuń - + Edit - + Export World - + Import World - - - - + + + + Still not implemented. - + Import a new cty.csv file - + An entities information file (cty.csv) has been detected in your KLog folder and will be loaded. Plik z informacjami jednostek DXCC ( cty.csv ) został wykryty w katalogu KLog i zostanie on wczytany. - + No entities information file (cty.csv) has been detected in your KLog folder. Plik z jednostkami DXCC nie został wykryty ( cty.csv) w folderze KLog. - + KLog will not be able to show entities information. KLog nie będzie mógł pokazać informacji jednostek DXCC. - + Prefix Prefix - + Entity Jednostka - + ARRL ID ARRL ID - + Continent Kontynent - + CQ Zone Strefa CQ - + ITU Zone Strefa ITU - + UTC UTC - + Latitude Szerokość geograficzna - + Longitude Długość geograficzna - + Deleted Usunięty - + Since Date Od daty - + To Date Do daty - + Open File Otwórz plik - + BigCTY (*.csv) BigCTY (*.csv) - + Entities information has been updated. Informacje o jednostkach DXCC zostały zaktualizowane. - + Entities information has not been updated. Informacje o jednostkach DXCC nie zostały zaktualizowane. - - ShowAdifImportWidget - - - The following QSOs are those QSOs that you have received the LoTW confirmation. - - - - - Ok - OK - - - - DX - - - - - Date/Time - Data/Czas - - - - Band - Pasmo - - - - Mode - Emisja - - ShowErrorDialog @@ -6061,37 +5200,37 @@ It may be caused because the file you are trying to import does not have the rig StatsCQZPerYearBarChartWidget - + CQ Zones per year - + Reading data ... - + Abort reading Przerwij wczytywanie - + CQ zones - + CQ zones per year - + Reading data ... - + Years: %1/%2 @@ -6158,7 +5297,7 @@ It may be caused because the file you are trying to import does not have the rig - QSOs per band distribution + QSO per band distribution @@ -6307,7 +5446,7 @@ It may be caused because the file you are trying to import does not have the rig - QSOs per mode distribution + QSO per mode distribution @@ -6538,97 +5677,77 @@ It may be caused because the file you are trying to import does not have the rig - - <b>Tip #5:</b><br>Do you know...<br>You can enter a '*' in the search box, in the search window to search for all the QSOs done with one specific station callsign? + + <b>Tip #5:</b><br>Do you know...<br>You can export your QSO marked as requested, via LoTW, in your log with <a href="#FileExportLoTWADIF">File->Export ADIF for LoTW...</a> to create an ADIF file that you will be able to import in TQSL to be signed and uploaded to LoTW?<br><br>You have to mark as Q-Queued all the QSOs you want to be exported to be sent to LoTW. + Translator: Please make sure that the name of the link is coherent with the menu File->Export ADIF for LoTW... - + <b>Tip #6:</b><br>Do you know...<br>You can find the file containing all your log and other information in the logbook.dat file and the klogrc file, containing the KLog config file in the KLog folder by opening the <a href="#FileOpenKLogFolder">File->KLog folder</a> menu? Translator: Please make sure that the name of the link is coherent with the menu File->KLog folder - + <b>Tip #7:</b><br>Do you know...<br>You can find the QSLs that you still need to send with <a href="#ToolsSendPendingQSL">Tools->QSL tools...->Find My-QSLs pending to send</a>.<bR>This tool will list you in the search box all the QSOs with the QSL-Sent marked as <i>Requested</i>. Translator: Please make sure that the name of the link is coherent with the menu QSL tools...->Find My-QSLs pending to send - + <b>Tip #8:</b><br>Do you know...<br>You can find the QSLs that you are still waiting for with <a href="#ToolsReceivePendingQSL">Tools->QSL tools...->Find DX-QSLs pending to receive</a>.<bR>This tool will list you in the search box all the QSOs with the QSL-Sent marked as <i>Sent</i> but you have still not received the QSL card from the DX. Translator: Please make sure that the name of the link is coherent with the menu QSL tools...->Find DX-QSLs pending to receive - + <b>Tip #9:</b><br>Do you know...<br>You can find the QSLs that you are still waiting for with <a href="#ToolsReceiveRecPendingQSL">Tools->QSL tools...->Find requested pending to receive</a>.<bR>This tool will list you in the search box all the QSOs with the QSL-Rec marked as <i>Requested</i> but you have still not received the QSL card from the DX. Translator: Please make sure that the name of the link is coherent with the menu QSL tools...->Find requested pending to receive - + <b>Tip #10:</b><br>Do you know...<br>You can subscribe to the <a href=https://t.me/klogchat>English KLog Telegram group</a> to discuss about KLog in English? - + <b>Tip #11:</b><br>Do you know...<br>You can subscribe to the <a href=https://t.me/KLogES>Spanish Telegram group</a> to discuss about KLog in Spanish? - - <b>Tip #12:</b><br>Do you know...<br>You can subscribe to <a href=https://lists.nongnu.org/mailman/listinfo/klog-users>KLog-users mailing list</a> to discuss via email about KLog in English? + + <b>Tip #12:</b><br>Do you know...<br>You can subscribe to <a href=http://lists.nongnu.org/mailman/listinfo/klog-users>KLog-users mailing list</a> to discuss via email about KLog in English? - + <b>Tip #13:</b><br>Do you know...<br>You can <a href=https://twitter.com/_ea4k>follow EA4K on twitter</a> to get updates about KLog? - + <b>Tip #14:</b><br>Do you know...<br>You can write your own <a href=https://www.eham.net/reviews/detail/3118>review in eHam.net about KLog</a> to help other users to decide to use KLog? - + <b>Tip #15:</b><br>Do you know...<br>You can join the development team by simply <a href=https://www.klog.xyz/contact>Contacting us</a>? - + <b>Tip #16:</b><br>Do you know...<br>That there are many ways to contribute to KLog and some of them are listed in the <a href=https://www.klog.xyz/contrib>KLog Contribute</a> page? - + <b>Tip #17:</b><br>Do you know...<br>You can support translating KLog into your language? Please check <a href=https://www.klog.xyz/contrib/translations>KLog Translations</a> page. - - <b>Tip #18:</b><br>Do you know...<br>You can double-click on an entity name in the DXCC table and all the QSOs with that DXCC Entity will be shown in the search box? - - - - - <b>Tip #19:</b><br>Do you know...<br>You can right-click on a QSO and select <i>Check in QRZ.com</i> to check that callsign in QRZ.com? - - - - - <b>Tip #20:</b><br>Do you know...<br>You can see the QSO that confirms one specific DXCC entity in one specific band by poiting your mouse over that band in the DXCC widget? - - - - - <b>Tip #21:</b><br>Do you know...<br>You can upload your QSO marked as queued to LoTW via TQSL with <a href="#ToolsUploadLoTW">Tools->Upload to LoTW...</a> ?<br><br>You have to configure TQSL in the preferences to be able to use this functionality. - Translator: Please make sure that the name of the link is coherent with the menu File->Export ADIF for LoTW... - - - - + TIP-Default: Text @@ -6674,12 +5793,12 @@ It may be caused because the file you are trying to import does not have the rig Kontynent - + Reading cty.csv... Wczytywanie cty.csv... - + Abort reading Przerwij wczytywanie diff --git a/udpserver.cpp b/udpserver.cpp index 12e50553..d0eed4da 100644 --- a/udpserver.cpp +++ b/udpserver.cpp @@ -4,7 +4,7 @@ UDPServer::UDPServer(QObject *parent) : QObject(parent) { - //qDebug() << "UDPServer::UDPServer" << endl; + //qDebug() << "UDPServer::UDPServer" << endl; //address = QString("127.0.0.1"); port = 2237; socketServer = new QUdpSocket(this); @@ -18,23 +18,23 @@ UDPServer::UDPServer(QObject *parent) : void UDPServer::slotReadPendingDatagrams() { - //qDebug() << "UDPServer::slotReadPendingDatagrams" << endl; + //qDebug() << "UDPServer::slotReadPendingDatagrams" << endl; while (socketServer->hasPendingDatagrams()) { QByteArray datagram; datagram.resize(socketServer->pendingDatagramSize()); QHostAddress sender; quint16 senderPort; - //qDebug() << "UDPServer::slotReadPendingDatagrams: length = " << QString::number(socketServer->pendingDatagramSize()) << endl; + //qDebug() << "UDPServer::slotReadPendingDatagrams: length = " << QString::number(socketServer->pendingDatagramSize()) << endl; socketServer->readDatagram(datagram.data(), datagram.size(), &sender, &senderPort); parse (datagram); - //qDebug() << "UDPServer::slotReadPendingDatagrams: = " << datagram << endl; + //qDebug() << "UDPServer::slotReadPendingDatagrams: = " << datagram << endl; } } bool UDPServer::start() { - //qDebug() << "UDPServer::start "<< endl; + //qDebug() << "UDPServer::start "<< endl; socketServer->bind(QHostAddress::AnyIPv4, port, QUdpSocket::ShareAddress); groupAddress = QHostAddress("127.0.0.1"); socketServer->joinMulticastGroup(groupAddress); @@ -52,7 +52,7 @@ bool UDPServer::start() void UDPServer::parse(const QByteArray &msg) { - //qDebug() << "UDPServer::parse"<< endl; + //qDebug() << "UDPServer::parse"<< endl; quint32 magic; quint32 schema; quint32 type; @@ -95,31 +95,31 @@ void UDPServer::parse(const QByteArray &msg) in.setByteOrder(QDataStream::BigEndian); { - //qDebug() << "UDPServer::parse: - Magic GOOD FORMAT = " << QString::number(magic)<< endl; + //qDebug() << "UDPServer::parse: - Magic GOOD FORMAT = " << QString::number(magic)<< endl; } - //qDebug() << "UDPServer::parse Version = " << QString::number(in.version())<< endl; + //qDebug() << "UDPServer::parse Version = " << QString::number(in.version())<< endl; in >> magic >> schema >> type >> id; //QByteArray ba4(QByteArray::fromRawData(cart, 6)); //in.readRawData(type, size) - //qDebug() << "UDPServer::parse: - Magic = " << QString::number(magic)<< endl; - //qDebug() << "UDPServer::parse: - schema = " << QString::number(schema)<< endl; - //qDebug() << "UDPServer::parse: - type = " << QString::number(type)<< endl; + //qDebug() << "UDPServer::parse: - Magic = " << QString::number(magic)<< endl; + //qDebug() << "UDPServer::parse: - schema = " << QString::number(schema)<< endl; + //qDebug() << "UDPServer::parse: - type = " << QString::number(type)<< endl; if (magic != 2914831322) { - //qDebug() << "UDPServer::parse: - Magic BAD FORMAT = " << QString::number(magic)<< endl; + //qDebug() << "UDPServer::parse: - Magic BAD FORMAT = " << QString::number(magic)<< endl; return; } switch (type) { case 0: - //qDebug() << "UDPServer::parse: - type = " << QString::number(type) << " - OUT/IN - Heartbeat" << endl; + //qDebug() << "UDPServer::parse: - type = " << QString::number(type) << " - OUT/IN - Heartbeat" << endl; break; case 1: - //qDebug() << "UDPServer::parse: - type" << QString::number(type) << " - OUT - Status" << endl; + //qDebug() << "UDPServer::parse: - type" << QString::number(type) << " - OUT - Status" << endl; // unpack message if (realtime) { @@ -128,14 +128,14 @@ void UDPServer::parse(const QByteArray &msg) >> fast_mode; frequencyDouble = (double)frequency; frequencyDouble = frequencyDouble/1000000; // Change to MHz - //qDebug() << "UDPServer::parse: - Freq quint64 = " << QString::number(frequency) << endl; - //qDebug() << "UDPServer::parse: - Freq double = " << QString::number(frequencyDouble) << endl; + //qDebug() << "UDPServer::parse: - Freq quint64 = " << QString::number(frequency) << endl; + //qDebug() << "UDPServer::parse: - Freq double = " << QString::number(frequencyDouble) << endl; emit status_update (type, dx_call, frequencyDouble, mode, report, de_call, de_grid, dx_grid, sub_mode); } else { - //qDebug() << "UDPServer::parse: realtime = FALSE" << endl; + //qDebug() << "UDPServer::parse: realtime = FALSE" << endl; } @@ -151,16 +151,16 @@ void UDPServer::parse(const QByteArray &msg) break; case 2: - //qDebug() << "UDPServer::parse: - type = " << QString::number(type) << " - OUT - Decode" << endl; + //qDebug() << "UDPServer::parse: - type = " << QString::number(type) << " - OUT - Decode" << endl; break; case 3: - //qDebug() << "UDPServer::parse: - type = " << QString::number(type) << " - OUT - Clear" << endl; + //qDebug() << "UDPServer::parse: - type = " << QString::number(type) << " - OUT - Clear" << endl; break; case 4: - //qDebug() << "UDPServer::parse: - type = " << QString::number(type) << " - IN - Replay " << endl; + //qDebug() << "UDPServer::parse: - type = " << QString::number(type) << " - IN - Replay " << endl; break; case 5: - //qDebug() << "UDPServer::parse: - type = " << QString::number(type) << " - OUT - QSO logged" << endl; + //qDebug() << "UDPServer::parse: - type = " << QString::number(type) << " - OUT - QSO logged" << endl; if (logging) { in >> time_off >> dx_call >> dx_grid >> frequency >> mode >> report_sent >> report_received >> tx_power >> comments >> name >> time_on >> de_call >> de_grid; @@ -173,7 +173,7 @@ void UDPServer::parse(const QByteArray &msg) } else { - //qDebug() << "UDPServer::parse: logging = FALSE" << endl; + //qDebug() << "UDPServer::parse: logging = FALSE" << endl; } @@ -182,48 +182,48 @@ void UDPServer::parse(const QByteArray &msg) //out << type; //emit status_update (out); - //qDebug() << "UDPServer::parse: - DXCall = " << dx_call << endl; - //qDebug() << "UDPServer::parse: - Grid = " << dx_grid << endl; - //qDebug() << "UDPServer::parse: - Freq = " << QString::number(frequency) << endl; - //qDebug() << "UDPServer::parse: - Mode = " << mode << endl; - //qDebug() << "UDPServer::parse: - ReportSent = " << report_sent << endl; - //qDebug() << "UDPServer::parse: - TX_PWR = " << tx_power << endl; - //qDebug() << "UDPServer::parse: - Comments = " << comments << endl; - //qDebug() << "UDPServer::parse: - Name = " << name << endl; - //qDebug() << "UDPServer::parse: - Time = " << time_on.toString("HHMMSSzzz") << endl; + //qDebug() << "UDPServer::parse: - DXCall = " << dx_call << endl; + //qDebug() << "UDPServer::parse: - Grid = " << dx_grid << endl; + //qDebug() << "UDPServer::parse: - Freq = " << QString::number(frequency) << endl; + //qDebug() << "UDPServer::parse: - Mode = " << mode << endl; + //qDebug() << "UDPServer::parse: - ReportSent = " << report_sent << endl; + //qDebug() << "UDPServer::parse: - TX_PWR = " << tx_power << endl; + //qDebug() << "UDPServer::parse: - Comments = " << comments << endl; + //qDebug() << "UDPServer::parse: - Name = " << name << endl; + //qDebug() << "UDPServer::parse: - Time = " << time_on.toString("HHMMSSzzz") << endl; break; case 6: - //qDebug() << "UDPServer::parse: - type = " << QString::number(type) << " - OUT - Close " << endl; + //qDebug() << "UDPServer::parse: - type = " << QString::number(type) << " - OUT - Close " << endl; break; case 7: - //qDebug() << "UDPServer::parse: - type = " << QString::number(type) << " - IN - Replay" << endl; + //qDebug() << "UDPServer::parse: - type = " << QString::number(type) << " - IN - Replay" << endl; break; case 8: - //qDebug() << "UDPServer::parse: - type = " << QString::number(type) << " - IN - Halt TX" << endl; + //qDebug() << "UDPServer::parse: - type = " << QString::number(type) << " - IN - Halt TX" << endl; break; case 9: - //qDebug() << "UDPServer::parse: - type = " << QString::number(type) << " - IN - Free Text" << endl; + //qDebug() << "UDPServer::parse: - type = " << QString::number(type) << " - IN - Free Text" << endl; break; case 10: - //qDebug() << "UDPServer::parse: - type = " << QString::number(type) << " - OUT - WSPR Decode" << endl; + //qDebug() << "UDPServer::parse: - type = " << QString::number(type) << " - OUT - WSPR Decode" << endl; break; default: //NO - //qDebug() << "UDPServer::parse: - type = " << QString::number(type) << " - ERROR on Type" << endl; + //qDebug() << "UDPServer::parse: - type = " << QString::number(type) << " - ERROR on Type" << endl; break; } - //qDebug() << "UDPServer::parse: - Magic: = " << QString::number(magic)<< endl; + //qDebug() << "UDPServer::parse: - Magic: = " << QString::number(magic)<< endl; } bool UDPServer::stop() { - //qDebug() << "UDPServer::stop"<< endl; + //qDebug() << "UDPServer::stop"<< endl; socketServer->close(); if (socketServer->isValid()) { @@ -238,7 +238,7 @@ bool UDPServer::stop() void UDPServer::setPort(const int _port) { - //qDebug() << "UDPServer::setPort: " << QString::number(_port) << endl; + //qDebug() << "UDPServer::setPort: " << QString::number(_port) << endl; if ((_port >= 0) && (_port<=65535)) { port = _port; @@ -247,14 +247,14 @@ void UDPServer::setPort(const int _port) void UDPServer::setLogging(const bool _t) { - //qDebug() << "UDPServer::setLogging: " << endl; + //qDebug() << "UDPServer::setLogging: " << endl; if (_t) { - //qDebug() << "UDPServer::setLogging: TRUE " << endl; + //qDebug() << "UDPServer::setLogging: TRUE " << endl; } else { - //qDebug() << "UDPServer::setLogging: FALSE" << endl; + //qDebug() << "UDPServer::setLogging: FALSE" << endl; } logging = _t; } @@ -262,14 +262,14 @@ void UDPServer::setLogging(const bool _t) void UDPServer::setRealTimeUpdate(const bool _t) { - //qDebug() << "UDPServer::setRealTimeUpdate: " << endl; + //qDebug() << "UDPServer::setRealTimeUpdate: " << endl; if (_t) { - //qDebug() << "UDPServer::setRealTimeUpdate: TRUE " << endl; + //qDebug() << "UDPServer::setRealTimeUpdate: TRUE " << endl; } else { - //qDebug() << "UDPServer::setRealTimeUpdate: FALSE" << endl; + //qDebug() << "UDPServer::setRealTimeUpdate: FALSE" << endl; } realtime = _t; } diff --git a/udpserver.h b/udpserver.h index 4e6fdab6..b297f5c7 100644 --- a/udpserver.h +++ b/udpserver.h @@ -11,7 +11,7 @@ class UDPServer : public QObject Q_OBJECT public: - explicit UDPServer(QObject *parent = nullptr); + explicit UDPServer(QObject *parent = 0); bool start(); bool stop(); bool isStarted(); diff --git a/updatesatsdata.cpp b/updatesatsdata.cpp index e6234aff..274aae57 100644 --- a/updatesatsdata.cpp +++ b/updatesatsdata.cpp @@ -8,23 +8,23 @@ UpdateSatsData::UpdateSatsData(DataProxy_SQLite *dp, QObject *parent) : QObject( bool UpdateSatsData::satDataFileRead(const QString& tfileName) { - //qDebug() << "UpdateSatsData::satDataFileRead: " << tfileName << endl; + //qDebug() << "UpdateSatsData::satDataFileRead: " << tfileName << endl; QString fileName = tfileName; bool errorFound = true; QFile file( fileName ); if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) { - //qDebug() << "UpdateSatsData::satDataFileRead File not found" << fileName << endl; + //qDebug() << "UpdateSatsData::satDataFileRead File not found" << fileName << endl; return false; } if (dataProxy->clearSatList()) { - //qDebug() << "UpdateSatsData::satDataFileRead Sats YES deleted" << endl; + //qDebug() << "UpdateSatsData::satDataFileRead Sats YES deleted" << endl; } else { - //qDebug() << "UpdateSatsData::satDataFileRead Sats NOT deleted" << endl; + //qDebug() << "UpdateSatsData::satDataFileRead Sats NOT deleted" << endl; return false; } @@ -64,12 +64,12 @@ bool UpdateSatsData::satDataFileRead(const QString& tfileName) progress.setMaximum(numberOfSats); - //qDebug() << "UpdateSatsData::satDataFileRead: END OF HEADER" << endl; + //qDebug() << "UpdateSatsData::satDataFileRead: END OF HEADER" << endl; //file.seek(pos); //START reading SAT data... - //qDebug() << "UpdateSatsData::satDataFileRead: Start reading data" << endl; + //qDebug() << "UpdateSatsData::satDataFileRead: Start reading data" << endl; QStringList fields, fieldToAnalyze;//, qsToPass; fields.clear(); @@ -87,32 +87,32 @@ bool UpdateSatsData::satDataFileRead(const QString& tfileName) while (!noMoreRegisters) { - //qDebug() << "UpdateSatsData::satDataFileRead: While Start" << endl; + //qDebug() << "UpdateSatsData::satDataFileRead: While Start" << endl; if (!file.atEnd()) { line.clear(); line.append(file.readLine().trimmed().toUpper()); fields.clear(); - //qDebug() << "UpdateSatsData::satDataFileRead-line:" << line << endl; + //qDebug() << "UpdateSatsData::satDataFileRead-line:" << line << endl; fields << line.split("<", QString::SkipEmptyParts); foreach (aux, fields) { aux = aux.simplified(); - //qDebug() << "UpdateSatsData::satDataFileRead-aux:" << aux << endl; + //QDebug() << "UpdateSatsData::satDataFileRead-aux:" << aux << endl; fieldToAnalyze = util->getValidADIFFieldAndData("<" + aux); if (fieldToAnalyze.size() == 2) { field = fieldToAnalyze.at(0); data = fieldToAnalyze.at(1); - //qDebug() << "UpdateSatsData::satDataFileRead-Field:" << field << endl; - //qDebug() << "UpdateSatsData::satDataFileRead-Data:" << data << endl; + //QDebug() << "UpdateSatsData::satDataFileRead-Field:" << field << endl; + //QDebug() << "UpdateSatsData::satDataFileRead-Data:" << data << endl; if (field == "EOR") { - //qDebug() << "UpdateSatsData::satDataFileRead - EOR DETECTED!" << endl; + //QDebug() << "UpdateSatsData::satDataFileRead - EOR DETECTED!" << endl; if (haveId && haveName) { - //qDebug() << "UpdateSatsData::satDataFileRead - EOR DETECTED and have it all!" << endl; + //QDebug() << "UpdateSatsData::satDataFileRead - EOR DETECTED and have it all!" << endl; haveId = false; haveName = false; //haveUpLink = false; @@ -123,7 +123,7 @@ bool UpdateSatsData::satDataFileRead(const QString& tfileName) errorFound = true; return false; } - //qDebug() << "UpdateSatsData::satDataFileRead - Satellite added: " << satID << endl; + //QDebug() << "UpdateSatsData::satDataFileRead - Satellite added: " << satID << endl; satID = QString(); satName = QString(); satUpLink = QString(); @@ -150,35 +150,35 @@ bool UpdateSatsData::satDataFileRead(const QString& tfileName) { satID = data; haveId = true; - //qDebug() << "UpdateSatsData::satDataFileRead - Detected: " << "APP_KLOG_SATS_ARRLID" << endl; + //qDebug() << "UpdateSatsData::satDataFileRead - Detected: " << "APP_KLOG_SATS_ARRLID" << endl; } else if (field == "APP_KLOG_SATS_NAME") { satName = data; haveName = true; - //qDebug() << "UpdateSatsData::satDataFileRead - Detected: " << "APP_KLOG_SATS_NAME" << endl; + //qDebug() << "UpdateSatsData::satDataFileRead - Detected: " << "APP_KLOG_SATS_NAME" << endl; } else if (field == "APP_KLOG_SATS_UPLINK") { satUpLink = data; //haveUpLink = true; - //qDebug() << "UpdateSatsData::satDataFileRead - Detected: " << "APP_KLOG_SATS_UPLINK" << endl; + //qDebug() << "UpdateSatsData::satDataFileRead - Detected: " << "APP_KLOG_SATS_UPLINK" << endl; } else if (field == "APP_KLOG_SATS_DOWNLINK") { satDownLink = data; //haveDownLink = true; - //qDebug() << "UpdateSatsData::satDataFileRead - Detected: " << "APP_KLOG_SATS_DOWNLINK" << endl; + //qDebug() << "UpdateSatsData::satDataFileRead - Detected: " << "APP_KLOG_SATS_DOWNLINK" << endl; } else if (field == "APP_KLOG_SATS_MODE") { satMode = data; //haveMode = true; - //qDebug() << "UpdateSatsData::satDataFileRead - Detected: " << "APP_KLOG_SATS_MODE" << endl; + //qDebug() << "UpdateSatsData::satDataFileRead - Detected: " << "APP_KLOG_SATS_MODE" << endl; } else if (field == "APP_KLOG_DATA") { - //qDebug() << "UpdateSatsData::satDataFileRead - Detected: " << "APP_KLOG_DATA" << endl; + //qDebug() << "UpdateSatsData::satDataFileRead - Detected: " << "APP_KLOG_DATA" << endl; if (data != "SATS") { return false; @@ -186,27 +186,27 @@ bool UpdateSatsData::satDataFileRead(const QString& tfileName) } } } - //qDebug() << "UpdateSatsData::satDataFileRead: foreach end" << endl; + //qDebug() << "UpdateSatsData::satDataFileRead: foreach end" << endl; } - //qDebug() << "UpdateSatsData::satDataFileRead: out of foreach" << endl; + //qDebug() << "UpdateSatsData::satDataFileRead: out of foreach" << endl; } else { noMoreRegisters = true; } - //qDebug() << "UpdateSatsData::satDataFileRead: While END" << endl; + //qDebug() << "UpdateSatsData::satDataFileRead: While END" << endl; } if (errorFound) { - //qDebug() << "UpdateSatsData::satDataFileRead: errorFound = true" << endl; + //qDebug() << "UpdateSatsData::satDataFileRead: errorFound = true" << endl; return false; } else { - //qDebug() << "UpdateSatsData::satDataFileRead: END" << endl; + //qDebug() << "UpdateSatsData::satDataFileRead: END" << endl; emit satsUpdatedSignal(true); QMessageBox msgBox; msgBox.setIcon(QMessageBox::Information); @@ -215,7 +215,7 @@ bool UpdateSatsData::satDataFileRead(const QString& tfileName) } - //qDebug() << "UpdateSatsData::satDataFileRead: END " << endl; + //qDebug() << "UpdateSatsData::satDataFileRead: END " << endl; return true; } @@ -224,7 +224,7 @@ bool UpdateSatsData::satDataFileRead(const QString& tfileName) bool UpdateSatsData::readSatDataFile() { - //qDebug() << "UpdateSatsData::readSatDataFile: " << endl; + //qDebug() << "UpdateSatsData::readSatDataFile: " << endl; //QString fileName = QFileDialog::getOpenFileName(0, tr("Open File"), "/home", "Sat data (*.dat)"); @@ -237,9 +237,9 @@ bool UpdateSatsData::readSatDataFile() } else { - //qDebug() << "MainWindow::slotADIFImport -1" << endl; + //qDebug() << "MainWindow::slotADIFImport -1" << endl; return satDataFileRead(fileName); //filemanager->adifReadLog(fileName, currentLog); } - //qDebug() << "UpdateSatsData::readSatDataFile: END" << endl; + //qDebug() << "UpdateSatsData::readSatDataFile: END" << endl; } diff --git a/updatesatsdata.h b/updatesatsdata.h index 8915ddde..a5007bf9 100644 --- a/updatesatsdata.h +++ b/updatesatsdata.h @@ -22,7 +22,7 @@ * 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 . * + * along with KLog. If not, see . * * * *****************************************************************************/ #include diff --git a/utilities.cpp b/utilities.cpp index b38ca2b0..589544e4 100644 --- a/utilities.cpp +++ b/utilities.cpp @@ -2,10 +2,10 @@ Utilities::Utilities() { - //qDebug() << "Utilities::Utilities" << endl; + //qDebug() << "Utilities::Utilities" << endl; //dbPath = getKLogDBFile(); softwareVersion = "0.0"; - //qDebug() << "Utilities::Utilities - END" << endl; + //qDebug() << "Utilities::Utilities - END" << endl; } Utilities::~Utilities() @@ -15,7 +15,7 @@ Utilities::~Utilities() void Utilities::setVersion(const QString &_v) { - //qDebug() << "Utilities::setVersion: " << _v << endl; + //qDebug() << "Utilities::setVersion: " << _v << endl; softwareVersion = _v; } @@ -26,7 +26,7 @@ QString Utilities::getVersion() double Utilities::getVersionDouble() { - //qDebug() << "Utilities::getVersionDouble: " << softwareVersion << endl; + //qDebug() << "Utilities::getVersionDouble: " << softwareVersion << endl; if (softwareVersion.count('.')>1) { @@ -36,17 +36,17 @@ double Utilities::getVersionDouble() QString decimals = softwareVersion.section('.', pos, -1); decimals.remove('.'); first = first + "." + decimals; - //qDebug() << "Utilities::getVersionDouble - returning: " << first << endl; + //qDebug() << "Utilities::getVersionDouble - returning: " << first << endl; return first.toDouble(); } - //qDebug() << "Utilities::getVersionDouble: no points detected" << endl; + //qDebug() << "Utilities::getVersionDouble: no points detected" << endl; return softwareVersion.toDouble(); } int Utilities::getProgresStepForDialog(int totalSteps) { - //qDebug() << "Utilities::getProgresStepForDialog"; + //qDebug() << "Utilities::getProgresStepForDialog"; if (totalSteps <=100) return 1; else if (totalSteps <=1000) @@ -59,15 +59,13 @@ int Utilities::getProgresStepForDialog(int totalSteps) return 20; else if (totalSteps <=9999) return 25; - else if (totalSteps <=20000) - return 100; else - return 250; + return 50; } bool Utilities::trueOrFalse(const QString &_s) {// reads a String and return true if s.upper()== TRUE :-) - //qDebug() << "Utilities::trueOrFalse: " << _s << endl; + //qDebug() << "Utilities::trueOrFalse: " << _s << endl; if ( (_s.toUpper()) == "TRUE") { @@ -82,8 +80,9 @@ bool Utilities::trueOrFalse(const QString &_s) QString Utilities::checkAndFixASCIIinADIF(const QString &_data) { - //qDebug() << "SetupDialog::checkAndFixASCIIinADIF " << _data << endl; + //qDebug() << "SetupDialog::checkAndFixASCIIinADIF " << _data << endl; // This function is not really working with ASCII but with Unicode + //TODO: this function is also in the FileManager class. Maybe I should call that one and keep just one copy ushort unicodeVal; QString st = _data; @@ -97,7 +96,7 @@ QString Utilities::checkAndFixASCIIinADIF(const QString &_data) { newString.append(st.at(i)); } - //qDebug() << "SetupDialog::checkAndFixunicodeinADIF: " << st.at(i) <<" = " << QString::number(unicodeVal) << endl; + //qDebug() << "SetupDialog::checkAndFixunicodeinADIF: " << st.at(i) <<" = " << QString::number(unicodeVal) << endl; } // Show into another lineEdit @@ -107,17 +106,17 @@ QString Utilities::checkAndFixASCIIinADIF(const QString &_data) void Utilities::printQString(const QStringList &_qs) { - //qDebug() << "Utilities::printQString: COMMENT THIS CALL BEFORE RELEASING" << endl; + //qDebug() << "Utilities::printQString: COMMENT THIS CALL BEFORE RELEASING" << endl; if (_qs.length()<1) { - //qDebug() << "Utilities::printQString: EMPTY QStringList received!!" << endl; + //qDebug() << "Utilities::printQString: EMPTY QStringList received!!" << endl; return; } for (int i=0; i<_qs.length()-1;i++) { - //qDebug() << _qs.at(i) << "/" ; + //qDebug() << _qs.at(i) << "/" ; } - //qDebug() << _qs.at(_qs.length()-1) << endl; + //qDebug() << _qs.at(_qs.length()-1) << endl; } QString Utilities::getAgent(const QString &_klogversion) @@ -139,8 +138,6 @@ QString Utilities::getAgent(const QString &_klogversion) return "KLog-OSX-" + version; #elif defined(Q_OS_MAC) return "KLog-MAC-" + version; -#elif defined(Q_OS_DARWIN) - return "KLog-DARWIN-" + version; #elif defined(Q_OS_AIX) return "KLog-aix-" + version; #elif defined(Q_OS_ANDROID) @@ -199,12 +196,12 @@ QString Utilities::getAgent(const QString &_klogversion) QString Utilities::getHomeDir() { //TODO: To be removed when the defaultDir is saved in the config file -#if defined(Q_OS_WIN) - //qDebug() << "WINDOWS DETECTED!: " << QDir::homePath() + "/klog" << endl; +#ifdef Q_OS_WIN + //qDebug() << "WINDOWS DETECTED!: " << QDir::homePath() + "/klog" << endl; return QDir::homePath()+"/klog"; // We create the \klog for the logs and data #else - //qDebug() << "NO WINDOWS DETECTED!" << endl; + //qDebug() << "NO WINDOWS DETECTED!" << endl; return QDir::homePath()+"/.klog"; // We create the ~/.klog for the logs and data #endif } @@ -217,7 +214,7 @@ QString Utilities::getKLogDefaultDatabaseFile() QString Utilities::getKLogDBFile() { - //qDebug() << "Utilities::getKLogDBFile: start " << endl; + //qDebug() << "Utilities::getKLogDBFile: start " << endl; dbPath = getKLogDefaultDatabaseFile(); QFile file(getCfgFile()); @@ -241,14 +238,14 @@ QString Utilities::getKLogDBFile() } - //qDebug() << "Utilities::getKLogDBFile: path to use: " << dbPath << endl; + //qDebug() << "Utilities::getKLogDBFile: path to use: " << dbPath << endl; return dbPath + "/logbook.dat"; } bool Utilities::processConfigLine(const QString &_line) { - //qDebug() << "Utilities::processConfigLine: " << _line << endl; + //qDebug() << "Utilities::processConfigLine: " << _line << endl; QString line = _line.simplified(); //line.simplified(); @@ -258,11 +255,11 @@ bool Utilities::processConfigLine(const QString &_line) if (line.startsWith('#')){ - //qDebug() << "Utilities::processConfigLine: notes Line!" << endl; + //qDebug() << "Utilities::processConfigLine: notes Line!" << endl; return true; } if (!( (line.contains('=')) && (line.contains(';')))){ - //qDebug() << "Utilities::processConfigLine: Wrong Line!" << endl; + //qDebug() << "Utilities::processConfigLine: Wrong Line!" << endl; return false; } QString field = (values.at(0)).toUpper(); @@ -276,7 +273,7 @@ bool Utilities::processConfigLine(const QString &_line) if (field == "DBPATH") { - //qDebug() << "Utilities::processConfigLine: dbPATH found: " << value << endl; + //qDebug() << "Utilities::processConfigLine: dbPATH found: " << value << endl; dbPath = value; } return true; @@ -285,15 +282,15 @@ bool Utilities::processConfigLine(const QString &_line) /* QString Utilities::getKLogDatabaseFile(const QString &_file) { - //qDebug() << "Utilities::getKLogDatabaseFile:" << _file << endl; + //qDebug() << "Utilities::getKLogDatabaseFile:" << _file << endl; if ( QFile::exists(_file + "/logbook.dat") ) { - //qDebug() << "Utilities::getKLogDatabaseFile:returning: " << _file + "/logbook.dat" << endl; + //qDebug() << "Utilities::getKLogDatabaseFile:returning: " << _file + "/logbook.dat" << endl; return _file + "/logbook.dat"; } else {} - //qDebug() << "Utilities::getKLogDatabaseFile: Does not exist so default: " << getKLogDefaultDatabaseFile() << endl; + //qDebug() << "Utilities::getKLogDatabaseFile: Does not exist so default: " << getKLogDefaultDatabaseFile() << endl; return getKLogDefaultDatabaseFile(); } */ @@ -301,12 +298,12 @@ QString Utilities::getKLogDatabaseFile(const QString &_file) QString Utilities::getCfgFile() { //TODO: To be removed when the defaultDir is saved in the config file -#if defined(Q_OS_WIN) - //qDebug() << "WINDOWS DETECTED!: " << getHomeDir() + "/klogrc.cfg" << endl; +#ifdef Q_OS_WIN + //qDebug() << "WINDOWS DETECTED!: " << getHomeDir() + "/klogrc.cfg" << endl; return getHomeDir() + "/klogrc.cfg"; #else - //qDebug() << "NO WINDOWS DETECTED!: " << getHomeDir() + "/klogrc.cfg" << endl; + //qDebug() << "NO WINDOWS DETECTED!: " << getHomeDir() + "/klogrc.cfg" << endl; return getHomeDir() + "/klogrc"; #endif @@ -315,61 +312,17 @@ QString Utilities::getCfgFile() QString Utilities::getDebugLogFile() { -#if defined(Q_OS_WIN) - //qDebug() << "WINDOWS DETECTED!: " << getHomeDir() + "/klogrc.cfg" << endl; +#ifdef Q_OS_WIN + //qDebug() << "WINDOWS DETECTED!: " << getHomeDir() + "/klogrc.cfg" << endl; return getHomeDir() + "/klogdebug.log"; #else - //qDebug() << "NO WINDOWS DETECTED!: " << getHomeDir() + "/klogrc.cfg" << endl; + //qDebug() << "NO WINDOWS DETECTED!: " << getHomeDir() + "/klogrc.cfg" << endl; return getHomeDir() + "/klogdebug.log"; #endif } -QString Utilities::getSaveSpotsLogFile() -{ - QString filename = "/" + (QDateTime::currentDateTime()).toString("yyyyMMdd") + "-klogdxcluster.txt"; - - return getHomeDir() + filename; - -} - -QString Utilities::getTQSLsFileName() -{ - //qDebug() << "Utilities::getTQSLsFileName: " << endl; - -#if defined(Q_OS_WIN) - //qDebug() << "WINDOWS DETECTED!: " << endl; - return "tqsl.exe"; -#elif defined(Q_OS_MACOS) - //qDebug() << "macOS DETECTED!: " << endl; - return "tqsl"; -#else - //qDebug() << "NO WINDOWS/macOS DETECTED!: " << endl; - return "tqsl"; -#endif - -} - -QString Utilities::getTQSLsPath() -{ - //qDebug() << "Utilities::getDefaultProgramsPath " << endl; - -#if defined(Q_OS_WIN64) - //qDebug() << "WINDOWS DETECTED!: " << endl; - return "C:/Program Files/TrustedQSL/"; -#elif defined(Q_OS_WIN32) - return "C:/Program Files (x86)/TrustedQSL/"; -#elif defined(Q_OS_MACOS) - //qDebug() << "macOS DETECTED!: " << endl; - return "/Applications/tqsl.app/Contents/MacOS/"; -#else - //qDebug() << "NO WINDOWS/macOS DETECTED!: " << endl; - return "/usr/bin/"; - -#endif - -} QString Utilities::getCTYFile() { @@ -397,258 +350,49 @@ QDate Utilities::getDefaultDate() bool Utilities::isValidDate(const QDate _d) { - //qDebug() << "Utilities::isValidDate: " << _d.toString("yyyyMMdd") << endl; + //qDebug() << "Utilities::isValidDate: " << _d.toString("yyyyMMdd") << endl; if (_d.isValid()) { if ( _d > QDate::fromString("18000101", "yyyyMMdd") ) { - //qDebug() << "Utilities::isValidDate: OK" << endl; + //qDebug() << "Utilities::isValidDate: OK" << endl; return true; } } - //qDebug() << "Utilities::isValidDate: Error" << endl; + //qDebug() << "Utilities::isValidDate: Error" << endl; return false; } bool Utilities::isValidDateTime(const QString &_d) { - //qDebug() << "Utilities::isValidDateTime: " << _d << endl; + //qDebug() << "Utilities::isValidDateTime: " << _d << endl; QDateTime _dateTime = QDateTime::fromString(_d, "yyyyMMddhhmmss"); if ( _dateTime.isValid() ) { - //qDebug() << "Utilities::isValidDateTime: 1" << endl; + //qDebug() << "Utilities::isValidDateTime: 1" << endl; return isValidDate(_dateTime.date()); } - //qDebug() << "Utilities::isValidDateTime: Error" << endl; + //qDebug() << "Utilities::isValidDateTime: Error" << endl; return false; } bool Utilities::isValidCall(const QString &_c) { - //qDebug() << "Utilities::isValidCall: " << _c << endl; - //Rules: http://life.itu.int/radioclub/rr/art19.pdf if (_c.length()<3) { - //qDebug() << "Utilities::isValidCall: FALSE-1: " << _c << endl; return false; } - - if ( !(_c.at(0).isLetterOrNumber()) ) + /* + QRegularExpression rx; + rx.setPattern("[a-zA-Z0-9]{1,3}[0123456789[]"); + rx.setPattern("^\d[A-Z]{2}$"); + if (rx.match(testLocator).hasMatch()) { - //qDebug() << "Utilities::isValidCall: FALSE-2: " << _c << endl; - return false; + //qDebug() << "Locator::isValidLocator: Match 2: " << testLocator; + return true; } - - - QString call = _c; - //qDebug() << "Utilities::isValidCall: -10 " << endl; - if ((call.contains('/')) || (call.contains('\\'))) - { - call.replace('\\', '/'); - if (call.count('/')>2) - { - //qDebug() << "Utilities::isValidCall: FALSE-3: " << call << endl; - return false; - } - - QStringList parts; - parts.clear(); - parts << call.split('/'); - - if ((parts.at(0)).length()==(parts.at(1)).length()) - { - if ((((parts.at(0)).back()).isLetter()) && !(((parts.at(1)).back()).isLetter())) - { - call = parts.at(0); - } - else - { - call = parts.at(1); - } - } - else if ((parts.at(0)).length()>(parts.at(1)).length()) - { - call = parts.at(0); - if (parts.length()>2) - { - if( (parts.at(2)).length() > call.length() ) - { - call = parts.at(2); - } - } - } - else - { - call = parts.at(1); - if (parts.length()>2) - { - if( (parts.at(2)).length() > call.length() ) - { - call = parts.at(2); - } - } - } - } - //qDebug() << "Utilities::isValidCall: -20 " << endl; - for (int i=0; i validFirstLetters = {'A', 'B', 'C', 'D', 'E', 'F', 'G', 'I', 'H', 'J', 'K', 'L', 'M', 'N', 'P', 'R', 'S', 'T' ,'U', 'V', 'W', 'Z'}; - - if ((firstChar.isLetter()) && (secondChar.isDigit()) && (!validFirstLetters.contains(firstChar)) ) - { - if (validFirstLetters.contains(firstChar)) - { - if (firstChar == 'C') - { - if ((secondChar == '1') || (secondChar == '7')) - { - //qDebug() << "Utilities::isValidCall: FALSE-7.1: " << call << endl; - return false; - } - } - if (firstChar == 'D') - { - if ((secondChar == '5') ) - { - //qDebug() << "Utilities::isValidCall: FALSE-7.2: " << call << endl; - return false; - } - } - if (firstChar == 'E') - { - if (!(secondChar == '2') && !(secondChar == '3') && !(secondChar == '4')) - { - //qDebug() << "Utilities::isValidCall: FALSE-7.3: " << call << endl; - return false; - } - } - if (firstChar == 'H') - { - if ((secondChar == '1') ) - { - //qDebug() << "Utilities::isValidCall: FALSE-7.4: " << call << endl; - return false; - } - } - if (firstChar == 'J') - { - if ((secondChar == '1') || (secondChar == '9')) - { - //qDebug() << "Utilities::isValidCall: FALSE-7.5: " << call << endl; - return false; - } - } - if (firstChar == 'P') - { - if (secondChar == '1') - { - //qDebug() << "Utilities::isValidCall: FALSE-7.6: " << call << endl; - return false; - } - } - if (firstChar == 'S') - { - if ((secondChar == '1') || (secondChar == '6')) - { - //qDebug() << "Utilities::isValidCall: FALSE-7.7: " << call << endl; - return false; - } - } - if (firstChar == 'T') - { - if (secondChar == '0') - { - //qDebug() << "Utilities::isValidCall: FALSE-7.8: " << call << endl; - return false; - } - } - if (firstChar == 'V') - { - if ((secondChar == '1') || (secondChar == '9')) - { - //qDebug() << "Utilities::isValidCall: FALSE-7.9: " << call << endl; - return false; - } - } - if (firstChar == 'Z') - { - if (!(secondChar == '2') && !(secondChar == '3')) - { - //qDebug() << "Utilities::isValidCall: FALSE-7.10: " << call << endl; - return false; - } - } - - } - else - { - //qDebug() << "Utilities::isValidCall: FALSE-8: " << call << endl; - return false; - } - - //qDebug() << "Utilities::isValidCall: FALSE-9: " << call << endl; - return false; - } - - - //Amateur and experimental stations19.68 - //1) –one character - // (provided that it is the letter B, F, G, I, K, M, N, R or W) - // and a single digit, - // followed by a group of not more than four characters, - // the last of which shall be a letter, - - - //2) or–two characters and a single digit, - // followed by a group of not more than four characters, the last of which shall be a letter. - - // 5(WRC-03)19.68A1A) On special occasions, for temporary use, administrations may authorize - // use of call signs with more than the four characters referred to in No. 19.68.(WRC-03 - - - //qDebug() << "Utilities::isValidCall: TRUE: " << call << endl; + if () + */ return true; } @@ -756,16 +500,16 @@ bool Utilities::isValidName(const QString &_b) bool Utilities::isDBFileExisting() { - //qDebug() << "Utilities::isDBFileExisting: " << getKLogDBFile() << endl; + //qDebug() << "Utilities::isDBFileExisting: " << getKLogDBFile() << endl; if (QFile::exists(getKLogDBFile())) { - //qDebug() << "Utilities::isDBFileExisting - true" << endl; + //qDebug() << "Utilities::isDBFileExisting - true" << endl; return true; } else { - //qDebug() << "Utilities::isDBFileExisting - false" << endl; + //qDebug() << "Utilities::isDBFileExisting - false" << endl; return false; } //return false; @@ -773,16 +517,16 @@ bool Utilities::isDBFileExisting() bool Utilities::isDBFileExisting(const QString &_file) { - //qDebug() << "Utilities::isDBFileExisting2: " << _file << endl; + //qDebug() << "Utilities::isDBFileExisting2: " << _file << endl; if (QFile::exists(_file)) { - //qDebug() << "Utilities::isDBFileExisting2 - true" << endl; + //qDebug() << "Utilities::isDBFileExisting2 - true" << endl; return true; } else { - //qDebug() << "Utilities::isDBFileExisting2 - false" << endl; + //qDebug() << "Utilities::isDBFileExisting2 - false" << endl; return false; } //return false; @@ -790,7 +534,7 @@ bool Utilities::isDBFileExisting(const QString &_file) bool Utilities::isValidADIFField(const QString &_b) { - //qDebug() << "Utilities::isValidADIFField: " << _b << endl; + //qDebug() << "Utilities::isValidADIFField: " << _b << endl; /* This functions checks if the ADIF field has the proper format. Data @@ -798,7 +542,7 @@ bool Utilities::isValidADIFField(const QString &_b) if (!((_b.startsWith('<')) && (_b.count('>')) == 1 )) { - //qDebug() << "Utilities::isValidADIFField: BAD FORMAT: No < or > delimiters: " << _b << endl; + //qDebug() << "Utilities::isValidADIFField: BAD FORMAT: No < or > delimiters: " << _b << endl; return false; } if (_b.simplified() == "") @@ -813,7 +557,7 @@ bool Utilities::isValidADIFField(const QString &_b) if (qs.size()!= 2) { - //qDebug() << "Utilities::isValidADIFField-0 (not two): " << QString::number(qs.size()) << endl; + //qDebug() << "Utilities::isValidADIFField-0 (not two): " << QString::number(qs.size()) << endl; return false; } @@ -822,8 +566,8 @@ bool Utilities::isValidADIFField(const QString &_b) //data = data.simplified(); QString dataType = QString(); - //qDebug() << "Utilities::isValidADIFField-Field: " << field << endl; - //qDebug() << "Utilities::isValidADIFField_Data: " << data << endl; + //qDebug() << "Utilities::isValidADIFField-Field: " << field << endl; + //qDebug() << "Utilities::isValidADIFField_Data: " << data << endl; int length = data.length(); int separatorPosition = 0; @@ -835,7 +579,7 @@ bool Utilities::isValidADIFField(const QString &_b) dataType = field.section(':', 2, 2); if (!validDataTypes.contains(dataType.toUpper())) { - //qDebug() << "Utilities::isValidADIFField - FORMAT ERROR: Wrong data type: " << dataType << endl; + //qDebug() << "Utilities::isValidADIFField - FORMAT ERROR: Wrong data type: " << dataType << endl; return false; } } @@ -845,30 +589,30 @@ bool Utilities::isValidADIFField(const QString &_b) } else { - //qDebug() << "Utilities::isValidADIFField - FORMAT ERROR, more than 2 \":\" - " << field << endl; + //qDebug() << "Utilities::isValidADIFField - FORMAT ERROR, more than 2 \":\" - " << field << endl; return false; } if ( length != separatorPosition) { - //qDebug() << "Utilities::isValidADIFField: Data Length problem: " << (field) << "/" << data << " - " << QString::number(length) << "/" << QString::number(separatorPosition) << endl; + //qDebug() << "Utilities::isValidADIFField: Data Length problem: " << (field) << "/" << data << " - " << QString::number(length) << "/" << QString::number(separatorPosition) << endl; return false; } if (separatorPosition <= 0) { - //qDebug() << "Utilities::isValidADIFField: Length problem <= 0" << endl; + //qDebug() << "Utilities::isValidADIFField: Length problem <= 0" << endl; return false; } - //qDebug() << "FileManager::checkADIFValidFormat: Return true" << endl; + //qDebug() << "FileManager::checkADIFValidFormat: Return true" << endl; return true; } QStringList Utilities::getValidADIFFieldAndData(const QString &_b) { - //qDebug() << "Utilities::getValidADIFFieldAndData: " << _b << endl; + //qDebug() << "Utilities::getValidADIFFieldAndData: " << _b << endl; /* This functions checks if the ADIF field has the proper format. Data @@ -878,16 +622,16 @@ QStringList Utilities::getValidADIFFieldAndData(const QString &_b) if (!(_b.startsWith('<'))) { - //qDebug() << "Utilities::getValidADIFFieldAndData: BAD FORMAT: No < or > delimiters: " << _b << endl; + //qDebug() << "Utilities::getValidADIFFieldAndData: BAD FORMAT: No < or > delimiters: " << _b << endl; return QStringList(); } if (_b.simplified() == "") { - //qDebug() << "Utilities::getValidADIFFieldAndData: EOR" << endl; + //qDebug() << "Utilities::getValidADIFFieldAndData: EOR" << endl; result << "EOR" << "EOR"; return result; } - //qDebug() << "Utilities::getValidADIFFieldAndData: -20" << endl; + //qDebug() << "Utilities::getValidADIFFieldAndData: -20" << endl; QStringList validDataTypes = {"B", "N", "D", "T", "S", "I", "M", "G", "E", "L"}; QStringList qs; qs.clear(); @@ -895,18 +639,18 @@ QStringList Utilities::getValidADIFFieldAndData(const QString &_b) if (qs.size()!= 2) { - //qDebug() << "Utilities::getValidADIFFieldAndData-0 (not two): " << QString::number(qs.size()) << endl; + //qDebug() << "Utilities::getValidADIFFieldAndData-0 (not two): " << QString::number(qs.size()) << endl; return result; } - //qDebug() << "Utilities::getValidADIFFieldAndData: -30" << endl; + //qDebug() << "Utilities::getValidADIFFieldAndData: -30" << endl; //QString field = (qs.at(0)).right((qs.at(0)).length() - 1); QString field = (qs.at(0)).right((qs.at(0)).length() - 1); QString data = (qs.at(1)).simplified(); //data = data.simplified(); QString dataType = QString(); - //qDebug() << "Utilities::getValidADIFFieldAndData-Field: " << field << endl; - //qDebug() << "Utilities::getValidADIFFieldAndData_Data: " << data << endl; + //qDebug() << "Utilities::getValidADIFFieldAndData-Field: " << field << endl; + //qDebug() << "Utilities::getValidADIFFieldAndData_Data: " << data << endl; int length = data.length(); int separatorPosition = 0; @@ -916,11 +660,11 @@ QStringList Utilities::getValidADIFFieldAndData(const QString &_b) { // DATE:8:D / 20141020 separatorPosition = (field.section(':', 1, 1)).toInt(); dataType = field.section(':', 2, 2); - //qDebug() << "Utilities::getValidADIFFieldAndData - DataType: -" << dataType << "-" << endl; + //qDebug() << "Utilities::getValidADIFFieldAndData - DataType: -" << dataType << "-" << endl; if (!validDataTypes.contains(dataType.toUpper())) { - //qDebug() << "Utilities::getValidADIFFieldAndData - FORMAT ERROR: Wrong data type: " << dataType << endl; + //qDebug() << "Utilities::getValidADIFFieldAndData - FORMAT ERROR: Wrong data type: " << dataType << endl; return result; } } @@ -930,62 +674,26 @@ QStringList Utilities::getValidADIFFieldAndData(const QString &_b) } else { - //qDebug() << "Utilities::getValidADIFFieldAndData - FORMAT ERROR, more than 2 \":\" - " << field << endl; + //qDebug() << "Utilities::getValidADIFFieldAndData - FORMAT ERROR, more than 2 \":\" - " << field << endl; return result; } - //qDebug() << "Utilities::getValidADIFFieldAndData: -60" << endl; + //qDebug() << "Utilities::getValidADIFFieldAndData: -60" << endl; if ( length != separatorPosition) { - //qDebug() << "Utilities::getValidADIFFieldAndData: Data Length problem: " << (field) << "/" << data << " - " << QString::number(length) << "/" << QString::number(separatorPosition) << endl; + //qDebug() << "Utilities::getValidADIFFieldAndData: Data Length problem: " << (field) << "/" << data << " - " << QString::number(length) << "/" << QString::number(separatorPosition) << endl; return result; } if (separatorPosition <= 0) { - //qDebug() << "Utilities::getValidADIFFieldAndData: Length problem <= 0" << endl; + //qDebug() << "Utilities::getValidADIFFieldAndData: Length problem <= 0" << endl; return result; } - //qDebug() << "Utilities::getValidADIFFieldAndData: -90: f: " << field << endl; - //qDebug() << "Utilities::getValidADIFFieldAndData: -90: d: " << data<< endl; + //qDebug() << "Utilities::getValidADIFFieldAndData: -90: f: " << field << endl; + //qDebug() << "Utilities::getValidADIFFieldAndData: -90: d: " << data<< endl; //field = field.section(':', 0, 0); result.clear(); result << field.section(':', 0, 0) << data; - //qDebug() << "Utilities::checkADIFValidFormat: Return true: " << result.at(0) << "/" << result.at(1) << endl; + //qDebug() << "FileManager::checkADIFValidFormat: Return true: " << result.at(0) << "/" << result.at(1) << endl; return result; } - -QString Utilities::getAValidCall (const QString &_wrongCall) -{ - //qDebug() << "Utilities::getAValidCall: " << _wrongCall << endl; - QString _confirmedCall; - _confirmedCall.clear(); - - bool ok; - if (_wrongCall.length() > 0) - { - - //qDebug() << "Utilities::getAValidCall (Don't have VALID CALL): " << _wrongCall << endl; - _confirmedCall = QString(QObject::tr("A wrong call has been found: %1. Please enter a new call or confirm that the current one is a good call.")).arg(_wrongCall); - } - else - { - //qDebug() << "Utilities::getAValidCall (Don't have ANY CALL): " << _wrongCall << endl; - _confirmedCall = QString(QObject::tr("An empty callsign has been detected. If it is possible, please enter the right call.")); - } - - QString text = QInputDialog::getText(nullptr, QObject::tr("KLog - Not valid callsign found"), - _confirmedCall, QLineEdit::Normal, _wrongCall, &ok); - if (!(ok && isValidCall(text))) - { - _confirmedCall = text; - } - else - { - _confirmedCall = QString(); - } - - - - //qDebug() << "Utilities::getAValidCall: " << _confirmedCall << endl; - return _confirmedCall; -} diff --git a/utilities.h b/utilities.h index 79dc1472..2da6dde6 100644 --- a/utilities.h +++ b/utilities.h @@ -22,7 +22,7 @@ * 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 . * + * along with KLog. If not, see . * * * *****************************************************************************/ /* @@ -37,8 +37,6 @@ #include "locator.h" #include -enum ExportMode {ModeLotW, ModeADIF}; - class Utilities { public: @@ -56,13 +54,11 @@ public: //QString getKLogDatabaseFile(const QString &_file); bool isDBFileExisting(); bool isDBFileExisting(const QString &_file); - QString getTQSLsFileName(); - QString getTQSLsPath(); // Depending on the OS where are usually installed the executables + QString getHomeDir(); QString getCfgFile(); QString getCTYFile(); QString getDebugLogFile(); - QString getSaveSpotsLogFile(); void setVersion(const QString &_v); QString getVersion(); @@ -85,10 +81,7 @@ public: bool isValidComment(const QString &_b); bool isValidName(const QString &_b); bool isValidADIFField(const QString &_b); - - QStringList getValidADIFFieldAndData(const QString &_b); - QString getAValidCall (const QString &_wrongCall); private: diff --git a/widgets/adiflotwexportwidget.cpp b/widgets/adiflotwexportwidget.cpp deleted file mode 100644 index 2ff5caa5..00000000 --- a/widgets/adiflotwexportwidget.cpp +++ /dev/null @@ -1,271 +0,0 @@ -#include "adiflotwexportwidget.h" - - -AdifLoTWExportWidget::AdifLoTWExportWidget(DataProxy_SQLite *dp, const QString &_parentFunction, QWidget *parent) : QWidget(parent) -{ - dataProxy = dp; - stationCallsignComboBox = new QComboBox; - startDate = new QDateEdit; - endDate = new QDateEdit; - okButton = new QPushButton; - cancelButton = new QPushButton; - tableWidget = new QTableWidget; - topLabel = new QLabel; - numberLabel = new QLabel; - selectedEMode = ModeLotW; //By default this widget will be used for LoTW Export. - - createUI(); -} - -void AdifLoTWExportWidget::createUI() -{ - fillStationCallsignComboBox(); - stationCallsignComboBox->setToolTip(tr("Select the Station Callsign that you want to use to upload the log.")); - - startDate->clear(); - startDate->setToolTip(tr("Select the start date to export the QSOs. The default date is the date of the first QSO with this station callsign.")); - - endDate->clear(); - - //endDate->setDate(QDate::currentDate()); - startDate->setToolTip(tr("Select the end date to export the QSOs. The default date is the date of the last QSO with this station callsign.")); - //endDate->setToolTip(tr("Select the last date to export the QSOs. The default date is today.")); - - QLabel *stationLabel = new QLabel; - stationLabel->setText(tr("Station callsign")); - - QLabel *startLabel = new QLabel; - startLabel->setText(tr("Start date")); - - QLabel *endLabel = new QLabel; - endLabel->setText(tr("End date")); - - okButton->setText(tr("Ok")); - cancelButton->setText(tr("Cancel")); - - - hv = tableWidget->verticalHeader(); - hv->hide(); - hv->setStretchLastSection(true); - hh = tableWidget->horizontalHeader(); - - QStringList header; - header.clear(); - header << tr("DX") << tr("Date/Time") << tr("Band") << tr("Mode"); - tableWidget->setColumnCount(header.length()); - tableWidget->setHorizontalHeaderLabels(header); - - QGridLayout *mainLayout = new QGridLayout; - mainLayout->addWidget(topLabel, 0, 0, 1, -1); - mainLayout->addWidget(stationLabel, 1, 0); - mainLayout->addWidget(stationCallsignComboBox, 2, 0); - mainLayout->addWidget(startLabel, 1, 1); - mainLayout->addWidget(startDate, 2, 1); - mainLayout->addWidget(endLabel, 1, 2); - mainLayout->addWidget(endDate, 2, 2); - mainLayout->addWidget(tableWidget, 3, 0, 1, -1); - mainLayout->addWidget(numberLabel, 4, 0); - mainLayout->addWidget(okButton, 4, 1); - mainLayout->addWidget(cancelButton, 4, 2); - - setLayout(mainLayout); - connect(startDate, SIGNAL(dateChanged(QDate)), this, SLOT(slotDateChanged())) ; - connect(endDate, SIGNAL(dateChanged(QDate)), this, SLOT(slotDateChanged() )); - connect(stationCallsignComboBox, SIGNAL(currentIndexChanged (int)), this, SLOT(slotStationCallsignChanged() ) ) ; - connect(okButton, SIGNAL(clicked()), this, SLOT(slotOKPushButtonClicked() ) ); - connect(cancelButton, SIGNAL(clicked()), this, SLOT(slotCancelPushButtonClicked() ) ); -} - -void AdifLoTWExportWidget::fillStationCallsignComboBox() -{ - stationCallsignComboBox->clear(); - stationCallsignComboBox->addItem(tr("Not defined")); - if (currentExportMode == ModeADIF) - { - stationCallsignComboBox->addItem(tr("All")); - } - stationCallsignComboBox->addItems(dataProxy->getStationCallSignsFromLog(-1)); -} - -void AdifLoTWExportWidget::setTopLabel() -{ - -} - -void AdifLoTWExportWidget::fillTable() -{ - //qDebug() << "AdifLoTWExportWidget::fillTable " << endl; - //header << tr("DX") << tr("Date/Time") << tr("Band") << tr("Mode"); - /* - QTableWidgetItem *newItem = new QTableWidgetItem(tr("%1").arg((row+1)*(column+1))); - tableWidget->setItem(row, column, newItem); - */ - //QList DataProxy_SQLite::getQSOsListLoTWNotSent(const QString &_stationCallsign, const QDate &_startDate, const QDate &_endDate, bool justQueued) - QList qsos; - qsos.clear(); - bool justQueued; - switch (currentExportMode) - { - case ModeADIF: - justQueued = false; - break; - case ModeLotW: - justQueued = true; - - break; - } - - if (stationCallsignComboBox->currentIndex() == 0) - { // Not defined station_callsign (blank) - // - qsos.append(dataProxy->getQSOsListLoTWNotSent(QString(), startDate->date(), endDate->date(), justQueued)); - } - else if(stationCallsignComboBox->currentIndex() == 1) - { // ALL stations, no matter the station. - qsos.append(dataProxy->getQSOsListLoTWNotSent("ALL", startDate->date(), endDate->date(), justQueued)); - } - else - { - qsos.append(dataProxy->getQSOsListLoTWNotSent(stationCallsignComboBox->currentText(), startDate->date(), endDate->date(), justQueued)); - } - //qsos.append(dataProxy->getQSOsListLoTWNotSent(stationCallsignComboBox->currentText(), startDate->date(), endDate->date(), true)); - //qDebug() << "AdifLoTWExportWidget::fillTable QSOS: " << QString::number(qsos.length()) << endl; - - QString aux, prefix; - //qDebug() << "AdifLoTWExportWidget::fillTable: -3" << endl; - tableWidget->clearContents(); - tableWidget->setRowCount(0); - if (tableWidget->columnCount()>0) - { - //qDebug() << "AdifLoTWExportWidget::fillTable pre FOR" << endl; - for (int i=0; isetText(tr("QSOs: ") + QString::number(qsos.count())); - if (qsos.count()>0) - { - //qDebug() << "AdifLoTWExportWidget::fillTable Enable OKButton" << endl; - okButton->setEnabled(true); - - } - else - { - //qDebug() << "AdifLoTWExportWidget::fillTable Disable OKButton" << endl; - okButton->setEnabled(false); - } - //qDebug() << "AdifLoTWExportWidget::fillTable END" << endl; -} - -void AdifLoTWExportWidget::addQSO(const int _qsoID) -{ - //qDebug() << "AdifLoTWExportWidget::addQSO: " << QString::number(_qsoID) << endl; - - - QStringList qsoToAdd; - qsoToAdd.clear(); - qsoToAdd << dataProxy->getQSODetailsForLoTWDownload(_qsoID); - - //qDebug() << "AdifLoTWExportWidget::addQSO: Columns: " << QString::number(tableWidget->columnCount()) << endl; - //qDebug() << "AdifLoTWExportWidget::addQSO: qsoToAdd-length: " << QString::number(qsoToAdd.length()) << endl; - - if (qsoToAdd.length() == tableWidget->columnCount()) - { - tableWidget->insertRow(tableWidget->rowCount()); - - for (int i = 0; isetTextAlignment(Qt::AlignCenter); - newItemID->setFlags(Qt::NoItemFlags); - tableWidget->setItem(tableWidget->rowCount()-1, i, newItemID); - } - - //QTableWidgetItem *newItem = new QTableWidgetItem(tr("%1").arg(pow(row, column+1))); - //tableWidget->setItem(row, column, newItem); - - } - - //qDebug() << "AdifLoTWExportWidget::addQSO: - END" << endl; -} - -void AdifLoTWExportWidget::slotStationCallsignChanged() -{ - //qDebug() << "AdifLoTWExportWidget::slotStationCallsignChanged" << endl; - startDate->setDate(dataProxy->getFirstQSODateFromCall(stationCallsignComboBox->currentText())); - endDate->setDate(dataProxy->getLastQSODateFromCall(stationCallsignComboBox->currentText())); - //startDate->setDate(QDate::fromString((dataProxy->getFirstQSODateFromCall(stationCallsignComboBox->currentText())), "yyyy/MM/dd")); - //endDate->setDate(QDate::fromString((dataProxy->getLastQSODateFromCall(stationCallsignComboBox->currentText())), "yyyy/MM/dd")); - fillTable(); - //qDebug() << "AdifLoTWExportWidget::slotStationCallsignChanged - END" << endl; -} - -void AdifLoTWExportWidget::slotDateChanged() -{ - //slotStationCallsignChanged(); - fillTable(); -} - -void AdifLoTWExportWidget::slotOKPushButtonClicked() -{ - this->hide(); - if (stationCallsignComboBox->currentIndex() == 0) - { - emit selection(stationCallsignComboBox->currentText(), startDate->date(), endDate->date(), currentExportMode); - } - else if (stationCallsignComboBox->currentIndex() == 1) - { - emit selection("ALL", startDate->date(), endDate->date(), currentExportMode); - } - else - { - emit selection(stationCallsignComboBox->currentText(), startDate->date(), endDate->date(), currentExportMode); - } - - close(); -} - -void AdifLoTWExportWidget::slotCancelPushButtonClicked() -{ - //qDebug() << "AdifLoTWExportWidget::slotCancelPushButtonClicked" << endl; - close(); -} - -void AdifLoTWExportWidget::closeEvent(QCloseEvent *event) -{ - //qDebug() << "AdifLoTWExportWidget::closeEvent" << endl; - event->accept(); -} - -void AdifLoTWExportWidget::showEvent(QShowEvent *event) -{ - //qDebug() << "AdifLoTWExportWidget::showEvent" << endl; - //startDate->setDate(QDate::fromString((dataProxy->getFirstQSODateFromCall(stationCallsignComboBox->currentText())), "yyyy/MM/dd")); - //endDate->setDate(QDate::fromString((dataProxy->getLastQSODateFromCall(stationCallsignComboBox->currentText())), "yyyy/MM/dd")); - startDate->setDate(dataProxy->getFirstQSODateFromCall(stationCallsignComboBox->currentText())); - endDate->setDate(dataProxy->getLastQSODateFromCall(stationCallsignComboBox->currentText())); - - - event->accept(); -} - -void AdifLoTWExportWidget::setExportMode(const ExportMode _EMode) -{ - currentExportMode = _EMode; - if (currentExportMode == ModeLotW) - { - setWindowTitle("KLog - QSOs to be uploaded to LoTW."); - topLabel->setText(tr("This table shows the QSOs that will be sent to LoTW.")); - } - else - { - setWindowTitle("KLog - QSOs to be exported to ADIF."); - topLabel->setText(tr("This table shows the QSOs that will be exported to ADIF.")); - } - fillStationCallsignComboBox(); -} diff --git a/widgets/adiflotwexportwidget.h b/widgets/adiflotwexportwidget.h deleted file mode 100644 index 770f79b1..00000000 --- a/widgets/adiflotwexportwidget.h +++ /dev/null @@ -1,54 +0,0 @@ -#ifndef ADIFLOTWEXPORTWIDGET_H -#define ADIFLOTWEXPORTWIDGET_H - -#include -#include "dataproxy_sqlite.h" - - - -class AdifLoTWExportWidget : public QWidget -{ - Q_OBJECT - - -public: - explicit AdifLoTWExportWidget(DataProxy_SQLite *dp, const QString &_parentFunction, QWidget *parent = nullptr); - void setExportMode(const ExportMode _EMode); - -protected: - void closeEvent(QCloseEvent *event); - void showEvent(QShowEvent *event); - -private slots: - void slotOKPushButtonClicked(); - void slotCancelPushButtonClicked(); - void slotStationCallsignChanged(); - void slotDateChanged(); - -signals: - void selection(QString _st, QDate _startD, QDate _endD, ExportMode _exportMode); - -private: - void createUI(); - void fillTable(); - void setTopLabel(); - void addQSO(const int _qsoID); - void fillStationCallsignComboBox(); - - - DataProxy_SQLite *dataProxy; - QComboBox *stationCallsignComboBox; - QDateEdit *startDate, *endDate; - QLabel *topLabel, *numberLabel; - - QPushButton *okButton, *cancelButton; - ExportMode selectedEMode; - - QTableWidget *tableWidget; - QHeaderView *hv, *hh; - ExportMode currentExportMode; - -}; - - -#endif diff --git a/widgets/rotator.cpp b/widgets/rotator.cpp deleted file mode 100644 index ff6681fd..00000000 --- a/widgets/rotator.cpp +++ /dev/null @@ -1,101 +0,0 @@ -#include -#include - -#include "rotator.h" - - -RotatorWidget::RotatorWidget(QWidget *parent) : QWidget(parent) - -{ - //qDebug() << "RotatorWidget::RotatorWidget" << endl; - QTimer *timer = new QTimer(this); - //connect(timer, SIGNAL(timeout()), this, SLOT(update())); - //timer->start(1000); - setWindowTitle(tr("Rotator")); - resize(200, 200); -} - -void RotatorWidget::paintEvent(QPaintEvent *) -{ - //qDebug() << "RotatorWidget::paintEvent" << endl; - static const QPoint hourHand[3] = { - QPoint(7, 8), - QPoint(-7, 8), - QPoint(0, -40) - }; - static const QPoint minuteHand[3] = { - QPoint(7, 8), - QPoint(-7, 8), - QPoint(0, -70) - }; - - QColor hourColor(127, 0, 127); - QColor minuteColor(0, 127, 127, 191); - - int side = qMin(width(), height()); - QTime time = QTime::currentTime(); - - QPainter painter(this); - painter.setRenderHint(QPainter::Antialiasing); - painter.translate(width() / 2, height() / 2); - painter.scale(side / 200.0, side / 200.0); - - painter.setPen(Qt::NoPen); - painter.setBrush(hourColor); - - // Paints the hour hand - painter.save(); - painter.rotate(30.0 * ((time.hour() + time.minute() / 60.0))); - painter.drawConvexPolygon(hourHand, 3); - painter.restore(); - - painter.setPen(hourColor); - - // Paints the hours lines - for (int i = 0; i < 12; ++i) { - painter.drawLine(88, 0, 96, 0); - painter.rotate(30.0); - } - - painter.setPen(Qt::NoPen); - painter.setBrush(minuteColor); - - painter.save(); - //Paints the minute hand - painter.rotate(6.0 * (time.minute() + time.second() / 60.0)); - painter.drawConvexPolygon(minuteHand, 3); - painter.restore(); - - painter.setPen(minuteColor); - painter.save(); - // Paints the minutes - for (int j = 0; j < 60; ++j) { - if ((j % 5) != 0) // Skips the hour lines - painter.drawLine(92, 0, 96, 0); - painter.rotate(6.0); - } - painter.restore(); - QPointF point; - //qDebug() << "RotatorWidget::paintEvent width: " << QString::number(width()) << endl; - //qDebug() << "RotatorWidget::paintEvent height: " << QString::number(height()) << endl; - point.setX(20); - point.setY(20); - painter.save(); - //painter.translate(width()/2, 8); - painter.drawText(point, "0"); - - painter.restore(); - -} - -void RotatorWidget::resizeEvent(QResizeEvent *event) -{ - //qDebug() << "RotatorWidget::resizeEvent" << endl; - event->accept(); - - if(event->size().width() > event->size().height()){ - QWidget::resize(event->size().height(),event->size().height()); - }else{ - QWidget::resize(event->size().width(),event->size().width()); - } -} diff --git a/widgets/rotator.h b/widgets/rotator.h deleted file mode 100644 index f3a15ce6..00000000 --- a/widgets/rotator.h +++ /dev/null @@ -1,23 +0,0 @@ -#ifndef ROTATORWIDGET_H -#define ROTATORWIDGET_H - -#include -#include - - -class RotatorWidget : public QWidget -{ - Q_OBJECT - -public: - RotatorWidget(QWidget *parent = nullptr); - - -protected: - void paintEvent(QPaintEvent *event) override; - virtual void resizeEvent(QResizeEvent *event) Q_DECL_OVERRIDE; - -}; - - -#endif diff --git a/widgets/rotatorcontrol.cpp b/widgets/rotatorcontrol.cpp deleted file mode 100644 index dd052f89..00000000 --- a/widgets/rotatorcontrol.cpp +++ /dev/null @@ -1,9 +0,0 @@ -#include "rotatorcontrol.h" - -RotatorControlWidget::RotatorControlWidget(QWidget *parent) : QWidget(parent) - -{ - rotatorWidget = new RotatorWidget(this); - -} - diff --git a/widgets/rotatorcontrol.h b/widgets/rotatorcontrol.h deleted file mode 100644 index 3671fdef..00000000 --- a/widgets/rotatorcontrol.h +++ /dev/null @@ -1,24 +0,0 @@ -#ifndef ROTATORCONTROLWIDGET_H -#define ROTATORCONTROLWIDGET_H - -#include -#include "rotator.h" - - -class RotatorControlWidget : public QWidget -{ - Q_OBJECT - -public: - RotatorControlWidget(QWidget *parent = nullptr); - - -protected: - //void paintEvent(QPaintEvent *event) override; - //virtual void resizeEvent(QResizeEvent *event) Q_DECL_OVERRIDE; -private: - RotatorWidget *rotatorWidget; -}; - - -#endif diff --git a/widgets/showadifimportwidget.cpp b/widgets/showadifimportwidget.cpp deleted file mode 100644 index f86e6c88..00000000 --- a/widgets/showadifimportwidget.cpp +++ /dev/null @@ -1,161 +0,0 @@ -#include "showadifimportwidget.h" - - -ShowAdifImportWidget::ShowAdifImportWidget(DataProxy_SQLite *dp, const QString &_parentFunction, QWidget *parent) : QWidget(parent) -{ - dataProxy = dp; - util = new Utilities; - okButton = new QPushButton; - //cancelButton = new QPushButton; - tableWidget = new QTableWidget; - qsosList.clear(); - setWindowTitle("ShowAdif"); - createUI(); -} - -void ShowAdifImportWidget::createUI() -{ - QLabel *msgLabel = new QLabel; - msgLabel->setText(tr("The following QSOs are those QSOs that you have received the LoTW confirmation.")); - okButton->setText(tr("Ok")); - //cancelButton->setText(tr("Cancel")); - - hv = tableWidget->verticalHeader(); - hv->hide(); - hv->setStretchLastSection(true); - hh = tableWidget->horizontalHeader(); - - QStringList header; - header.clear(); - header << tr("DX") << tr("Date/Time") << tr("Band") << tr("Mode"); - tableWidget->setColumnCount(header.length()); - tableWidget->setHorizontalHeaderLabels(header); - - QGridLayout *mainLayout = new QGridLayout; - mainLayout->addWidget(msgLabel, 0, 0, 1, -1); - mainLayout->addWidget(tableWidget, 1, 0, 1, -1); - - mainLayout->addWidget(okButton, 2, 1); - // mainLayout->addWidget(cancelButton, 2, 2); - - setLayout(mainLayout); - - connect(okButton, SIGNAL(clicked()), this, SLOT(slotOKPushButtonClicked() ) ); - // connect(cancelButton, SIGNAL(clicked()), this, SLOT(slotCancelPushButtonClicked() ) ); -} - -void ShowAdifImportWidget::fillTable() -{ - //qDebug() << "ShowAdifImportWidget::fillTable " << endl; - //header << tr("DX") << tr("Date/Time") << tr("Band") << tr("Mode"); - - //QList qsos; - //qsos.clear(); - //qsos.append(dataProxy->getQSOsListLoTWNotSent(stationCallsignComboBox->currentText(), startDate->date(), endDate->date(), true)); - //qDebug() << "ShowAdifImportWidget::fillTable QSOS: " << QString::number(qsos.length()) << endl; - - QString aux, prefix; - //qDebug() << "ShowAdifImportWidget::fillTable: -3" << endl; - tableWidget->clearContents(); - tableWidget->setRowCount(0); - if (tableWidget->columnCount()>0) - { - //qDebug() << "ShowAdifImportWidget::fillTable pre FOR" << endl; - for (int i=0; icolumnCount()) << endl; - //qDebug() << "ShowAdifImportWidget::addQSO: qsoToAdd-length: " << QString::number(qsoToAdd.length()) << endl; - - if (qsoToAdd.length() == tableWidget->columnCount()) - { - tableWidget->insertRow(tableWidget->rowCount()); - - for (int i = 0; isetTextAlignment(Qt::AlignCenter); - newItemID->setFlags(Qt::NoItemFlags); - tableWidget->setItem(tableWidget->rowCount()-1, i, newItemID); - } - - //QTableWidgetItem *newItem = new QTableWidgetItem(tr("%1").arg(pow(row, column+1))); - //tableWidget->setItem(row, column, newItem); - - } - - //qDebug() << "ShowAdifImportWidget::addQSO: - END" << endl; -} - - -void ShowAdifImportWidget::slotOKPushButtonClicked() -{ - this->hide(); - //emit selection(stationCallsignComboBox->currentText(), startDate->date(), endDate->date()); - close(); -} - - -void ShowAdifImportWidget::closeEvent(QCloseEvent *event) -{ - //qDebug() << "ShowAdifImportWidget::closeEvent" << endl; - event->accept(); -} - -void ShowAdifImportWidget::showEvent(QShowEvent *event) -{ - //qDebug() << "ShowAdifImportWidget::showEvent" << endl; - fillTable(); - event->accept(); -} - -void ShowAdifImportWidget::addQSOToTheList(const QStringList _qso) -{ - //qDebug() << "ShowAdifImportWidget::addQSOToTheList - Start" << endl; - // QRZ-DX, Date-Time(yyyyMMdd-hhmmss), Band, Mode - if (_qso.length()!=4) - { - //qDebug() << "ShowAdifImportWidget::addQSOToTheList - NO valid qso list received" << endl; - return; - } - if (!util->isValidCall(_qso.at(0))) - { - //qDebug() << "ShowAdifImportWidget::addQSOToTheList - NO valid QRZ received" << endl; - return; - } - if (dataProxy->getIdFromBandName(_qso.at(2))<0) - { - //qDebug() << "ShowAdifImportWidget::addQSOToTheList - NO valid BAND received" << endl; - return; - } - if (dataProxy->getIdFromModeName(_qso.at(3))<0) - { - //qDebug() << "ShowAdifImportWidget::addQSOToTheList - NO valid Mode received" << endl; - return; - } - if (!QDateTime::fromString(_qso.at(1), "yyyyMMdd-hhmmss").isValid()) - { - //qDebug() << "ShowAdifImportWidget::addQSOToTheList - NO valid DateTime received" << endl; - return; - } - - - qsosList << _qso; - //qDebug() << "ShowAdifImportWidget::addQSOToTheList QSO Added! - "<< _qso.at(0) <<" - END" << endl; -} diff --git a/widgets/showadifimportwidget.h b/widgets/showadifimportwidget.h deleted file mode 100644 index 956da8d7..00000000 --- a/widgets/showadifimportwidget.h +++ /dev/null @@ -1,46 +0,0 @@ -#ifndef SHOWADIFIMPORTPORTWIDGET_H -#define SHOWADIFIMPORTPORTWIDGET_H - -#include -#include "dataproxy_sqlite.h" -#include "utilities.h" - - -class ShowAdifImportWidget : public QWidget -{ - Q_OBJECT - -public: - explicit ShowAdifImportWidget(DataProxy_SQLite *dp, const QString &_parentFunction, QWidget *parent = nullptr); - void addQSOToTheList(const QStringList _qso); - void clear(); - - -protected: - void closeEvent(QCloseEvent *event); - void showEvent(QShowEvent *event); - -private slots: - void slotOKPushButtonClicked(); - // void slotCancelPushButtonClicked(); - -signals: - //void selection(QString _st, QDate _startD, QDate _endD); - -private: - void createUI(); - void fillTable(); - void addQSO(const QStringList _qso); - - QList qsosList; - DataProxy_SQLite *dataProxy; - Utilities *util; - QPushButton *okButton;//, *cancelButton; - - QTableWidget *tableWidget; - QHeaderView *hv, *hh; - -}; - - -#endif diff --git a/world.cpp b/world.cpp index 7a490355..8487ee23 100644 --- a/world.cpp +++ b/world.cpp @@ -20,7 +20,7 @@ * 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 . * + * along with KLog. If not, see . * * * *****************************************************************************/ @@ -37,7 +37,7 @@ To insert a (key, value) pair into the hash, you can use operator[](): */ World::World(DataProxy_SQLite *dp, const QString &_parentFunction) { - //qDebug() << "World::World(0)" << _parentFunction << endl; + //qDebug() << "World::World(0)" << _parentFunction << endl; constrid = 1; worldModel = new QSqlRelationalTableModel(this); @@ -56,12 +56,12 @@ World::World(DataProxy_SQLite *dp, const QString &_parentFunction) created = false; dataProxy = dp; //awards = new Awards(Q_FUNC_INFO); - //qDebug() << "World::World(0) - END" << endl; + //qDebug() << "World::World(0) - END" << endl; } World::World(DataProxy_SQLite *dp, const QString &_klogDir, const QString &_parentFunction) { - //qDebug() << "World::World(1): Dir" << _klogDir << _parentFunction << endl; + //qDebug() << "World::World(1): Dir" << _klogDir << _parentFunction << endl; constrid = 2; klogDir = _klogDir; kontestVersion = ""; @@ -79,18 +79,18 @@ World::World(DataProxy_SQLite *dp, const QString &_klogDir, const QString &_pare //flagsDir=":/flags/"; locator = new Locator(); dataProxy = dp; - //qDebug() << "World::World(1): - END" << endl; + //qDebug() << "World::World(1): - END" << endl; } World::World(DataProxy_SQLite *dp, const QString &_klogDir, const QString &_kontestVer, const QString &_parentFunction) { - //qDebug() << "World::World(2): Dir" << _klogDir << _parentFunction << endl; + //qDebug() << "World::World(2): Dir" << _klogDir << _parentFunction << endl; constrid = 3; klogDir = _klogDir; kontestVersion = _kontestVer; worldModel = new QSqlRelationalTableModel(this); - //qDebug() << "World::World(2): 1" << endl; + //qDebug() << "World::World(2): 1" << endl; numberOfEntities = 0; progressBarPosition = 0; created = false; @@ -103,66 +103,66 @@ World::World(DataProxy_SQLite *dp, const QString &_klogDir, const QString &_kont utc = 0.0; //appDir = QString(); //flagsDir=":/flags/"; - //qDebug() << "World::World(2): 2" << endl; + //qDebug() << "World::World(2): 2" << endl; locator = new Locator(); - //qDebug() << "World::World(2): 3" << endl; + //qDebug() << "World::World(2): 3" << endl; dataProxy = dp; - //qDebug() << "World::World(2): - END" << endl; + //qDebug() << "World::World(2): - END" << endl; } World::~World() { - //qDebug() << "World::~World" << endl; + //qDebug() << "World::~World" << endl; } bool World::recreate(const QString &_worldFile) { - //qDebug() << "World::recreate: " << _worldFile << endl; + //qDebug() << "World::recreate: " << _worldFile << endl; QSqlQuery query; if (query.exec("DELETE FROM entity")) { - //qDebug() << "World::recreate: EMPTY entity" << endl; + //qDebug() << "World::recreate: EMPTY entity" << endl; if (query.exec("DELETE FROM prefixesofentity")) { - //qDebug() << "World::recreate: EMPTY prefixesofentity" << endl; + //qDebug() << "World::recreate: EMPTY prefixesofentity" << endl; return create(_worldFile); } else {//TODO: Manage the query error - //qDebug() << "World::recreate: FAILED TO EMPTY prefixesofentity" << endl; + //qDebug() << "World::recreate: FAILED TO EMPTY prefixesofentity" << endl; emit queryError(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); return false; } } else {//TODO: Manage the query error - //qDebug() << "World::recreate: FAILED TO EMPTY entity" << endl; + //qDebug() << "World::recreate: FAILED TO EMPTY entity" << endl; emit queryError(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); return false; } - + //qDebug() << "World::recreate: END..." << endl; //return false; } bool World::create(const QString &_worldFile) { - //qDebug() << "World::create: " << _worldFile << endl; + //qDebug() << "World::create: " << _worldFile << endl; //klogDir = _worldFile; - //qDebug() << "World::create: 2 " << klogDir << endl; + //qDebug() << "World::create: 2 " << klogDir << endl; if (readCTYCSV(_worldFile)) { created = true; - //qDebug() << "World::create: TRUE" << endl; + //qDebug() << "World::create: TRUE" << endl; }else { created = false; - //qDebug() << "World::create: FALSE" << endl; + //qDebug() << "World::create: FALSE" << endl; } if (created) @@ -170,15 +170,15 @@ bool World::create(const QString &_worldFile) //dataProxy->updateISONames(); if (dataProxy->updateISONames()) { - //qDebug() << "World::create: updateISONames TRUE" << endl; + //qDebug() << "World::create: updateISONames TRUE" << endl; } else { - //qDebug() << "World::create: updateISONames FALSE" << endl; + //qDebug() << "World::create: updateISONames FALSE" << endl; } } - //qDebug() << "World::create: END" << endl; + //qDebug() << "World::create: END" << endl; return created; } @@ -198,7 +198,7 @@ void World::createWorldModel() QStringList World::processLine(const QString &_line) { - //qDebug() << "World::processLine: received: " << _line << endl; + //qDebug() << "World::processLine: received: " << _line << endl; //QString queryString; QStringList aa; QString line; @@ -208,7 +208,7 @@ QStringList World::processLine(const QString &_line) { line.replace(QChar('\''), QChar('_')); } - //qDebug() << "World::processLine: Received: " << line << endl; + //qDebug() << "World::processLine: Received: " << line << endl; //QSqlQuery query1; nullValue=-1; @@ -216,7 +216,7 @@ QStringList World::processLine(const QString &_line) if ( (line.count(':') == 8 ) ) // First line of an Entity { //United States: 05: 08: NA: 43.00: 87.90: 5.0: K: - //qDebug() << "World::processLine first: " << line << endl; + //qDebug() << "World::processLine first: " << line << endl; numberOfEntities++; list.clear(); list << line.split(':'); @@ -244,7 +244,7 @@ QStringList World::processLine(const QString &_line) //} - //qDebug() << "World::processLine Query - Read/continenId: " << continentName << "/" << QString::number(continentId) << endl; + //qDebug() << "World::processLine Query - Read/continenId: " << continentName << "/" << QString::number(continentId) << endl; //queryString = QString("INSERT INTO entity (id, name, cqz, ituz, continent, latitude, longitude, utc, dxcc, mainprefix) VALUES (NULL,'%1','%2','%3','%4','%5','%6','%7','%8','%9');\n").arg(entityName).arg(cqz).arg(ituz).arg(QString::number(continentId)).arg(lat).arg(lon).arg(utc).arg(numberOfEntities).arg(prefix); aa << entityName << QString::number(cqz) << QString::number(ituz) <getCQzFromEntity(currentEntity); _ituz = dataProxy->getITUzFromEntity(currentEntity); @@ -312,7 +312,7 @@ QStringList World::processLineP(const QString &_line, const int _processingEntit } else // More than just one prefix in the final line { - //qDebug() << "World::processLineP Query (MORE one final)(line):" << line << endl; + //qDebug() << "World::processLineP Query (MORE one final)(line):" << line << endl; _list.clear(); _list << line.split(','); aa.clear(); @@ -321,7 +321,7 @@ QStringList World::processLineP(const QString &_line, const int _processingEntit for (int i = 0; i < _list.size(); ++i) { // PROCESS THE LINE - //qDebug() << "World::processLineP LastLine prefixes" << _list.at(i) << endl; + //qDebug() << "World::processLineP LastLine prefixes" << _list.at(i) << endl; //readZones returns a QStringList: prefix, CQz, ITUz prefixAndZones = readZones(_list.at(i), _cqz, _ituz); //aa.clear(); @@ -329,7 +329,7 @@ QStringList World::processLineP(const QString &_line, const int _processingEntit //return aa; } - //qDebug() << "World::processLineP: END" <getCQzFromEntity(currentEntity); _ituz = dataProxy->getITUzFromEntity(currentEntity); @@ -349,7 +349,7 @@ QStringList World::processLineP(const QString &_line, const int _processingEntit if ((line.split(',')).size() == 1) // Only one prefix in the middle line { // Not usual, added this check for sanity reasons only - //qDebug() << "World::processLine Query: (only one middle) " << endl; + //qDebug() << "World::processLine Query: (only one middle) " << endl; line = line.remove(','); prefixAndZones = readZones(line, _cqz, _ituz); aa.clear(); @@ -359,7 +359,7 @@ QStringList World::processLineP(const QString &_line, const int _processingEntit } else { - //qDebug() << "World::processLine Query: (MORE than one middle) " << endl; + //qDebug() << "World::processLine Query: (MORE than one middle) " << endl; list.clear(); list << line.split(','); @@ -384,7 +384,7 @@ QStringList World::processLineP(const QString &_line, const int _processingEntit QStringList World::readZones (const QString &pref, const int _cq, const int _itu) { //Returns a QStringList: prefix, CQz, ITUz - //qDebug() << "World::readZones: (" << pref << "/" << QString::number(_cq) <<"/" << QString::number(_itu)<< ")" << endl; + //qDebug() << "World::readZones: (" << pref << "/" << QString::number(_cq) <<"/" << QString::number(_itu)<< ")" << endl; QStringList result; int cq = _cq; @@ -399,27 +399,27 @@ QStringList World::readZones (const QString &pref, const int _cq, const int _itu if(aux.count('[')==1) // Check if has special CQz { - //qDebug() << "World::readZones DETECTED [ !!!!" << endl; + //qDebug() << "World::readZones DETECTED [ !!!!" << endl; azone = (aux.midRef(aux.indexOf('[')+1)).toString(); - //qDebug() << "World::readZones (ITU)-1: " << aux << " right of " << QString::number(aux.indexOf('[')) << " = " << azone << endl; + //qDebug() << "World::readZones (ITU)-1: " << aux << " right of " << QString::number(aux.indexOf('[')) << " = " << azone << endl; itu = (azone.left(azone.indexOf(']'))).toInt(); - //qDebug() << "World::readZones (ITU)-2: " << azone.left(azone.indexOf(']')) << endl; + //qDebug() << "World::readZones (ITU)-2: " << azone.left(azone.indexOf(']')) << endl; aux = aux.left(aux.indexOf('[')); - //qDebug() << "World::readZones (ITU): " << pref << "/" << QString::number(itu) << "/" << aux << endl; + //qDebug() << "World::readZones (ITU): " << pref << "/" << QString::number(itu) << "/" << aux << endl; } if(aux.count('(')==1) // Check if has special CQz { - //qDebug() << "World::readZones DETECTED ( !!!!" << endl; + //qDebug() << "World::readZones DETECTED ( !!!!" << endl; azone = (aux.midRef(aux.indexOf('(')+1)).toString(); cq = (azone.left(azone.indexOf(')'))).toInt(); aux = aux.left(aux.indexOf('(')); - //qDebug() << "World::readZones (CQ): " << pref << "/" << QString::number(cq) << "/" << aux << endl; + //qDebug() << "World::readZones (CQ): " << pref << "/" << QString::number(cq) << "/" << aux << endl; } - //qDebug() << "World::readZones (Pref/CQ/ITU): " << pref << "= " << aux <<"/" << QString::number(cq) << "/" << QString::number(itu) << endl; + //qDebug() << "World::readZones (Pref/CQ/ITU): " << pref << "= " << aux <<"/" << QString::number(cq) << "/" << QString::number(itu) << endl; result << aux << QString::number(cq) << QString::number(itu); - //qDebug() << "World::readZones (Pref/CQ/ITU): " << result << endl; + //qDebug() << "World::readZones (Pref/CQ/ITU): " << result << endl; return result; @@ -427,7 +427,7 @@ QStringList World::readZones (const QString &pref, const int _cq, const int _itu int World::getPrefixId(const QString &_qrz) { - //qDebug() << "World::getPrefixId: -" << _qrz <<"-" << endl; + //qDebug() << "World::getPrefixId: -" << _qrz <<"-" << endl; //TODO: Instead of going from long to short, identify prefixes from the begining: // character(may be number) + number @@ -441,27 +441,27 @@ int World::getPrefixId(const QString &_qrz) while ((entityID <= 0) && (aux.length()>=1) ) { - //qDebug() << "World::getPrefixId: in the while before calling dataProxy: " << aux << endl; + //qDebug() << "World::getPrefixId: in the while before calling dataProxy: " << aux << endl; entityID = dataProxy->getDXCCFromPrefix(aux); - //qDebug() << "World::getPrefixId: in the while After calling dataProxy" << endl; + //qDebug() << "World::getPrefixId: in the while After calling dataProxy" << endl; - //qDebug() << "World::getPrefixId: in the while" << aux << " = " << QString::number(entityID) << endl; + //qDebug() << "World::getPrefixId: in the while" << aux << " = " << QString::number(entityID) << endl; if (entityID<=0) { aux.chop(1); } } - //qDebug() << "World::getPrefixId: END: " << _qrz << QString::number(entityID) << endl; + //qDebug() << "World::getPrefixId: END: " << _qrz << QString::number(entityID) << endl; return entityID; } QString World::getQRZEntityName(const QString &_qrz) { - //qDebug() << "World::getQRZEntityName: " << _qrz << endl; + //qDebug() << "World::getQRZEntityName: " << _qrz << endl; if (_qrz.length() < 1 ) { - return QString(); + return ""; } //QString queryString; //QSqlQuery query; @@ -469,7 +469,7 @@ QString World::getQRZEntityName(const QString &_qrz) return getEntityName(prefixIDNumber); /* queryString = "SELECT dxcc FROM prefixesofentity WHERE id=='" + QString::number(prefixIDNumber) +"'"; - //qDebug() << "World::getQRZEntityName: queryString-1: " << queryString << endl; + //qDebug() << "World::getQRZEntityName: queryString-1: " << queryString << endl; query.exec(queryString); query.next(); if (query.isValid()) @@ -481,13 +481,13 @@ QString World::getQRZEntityName(const QString &_qrz) prefixIDNumber = -1; } - //qDebug() << "World::getQRZEntityName: " <<_qrz << " = " << (query.value(0)).toString() << endl; + //qDebug() << "World::getQRZEntityName: " <<_qrz << " = " << (query.value(0)).toString() << endl; queryString = "SELECT name FROM entity WHERE dxcc=='" + QString::number(prefixIDNumber) +"'"; - //qDebug() << "World::getQRZEntityName: queryString-2: " << queryString << endl; + //qDebug() << "World::getQRZEntityName: queryString-2: " << queryString << endl; query.exec(queryString); query.next(); - //qDebug() << "World::getQRZEntityName end: " << _qrz << " = " << (query.value(0)).toString() << endl; + //qDebug() << "World::getQRZEntityName end: " << _qrz << " = " << (query.value(0)).toString() << endl; if (query.isValid()){ return (query.value(0)).toString(); @@ -514,7 +514,7 @@ QString World::getEntityName(const int _entityN) queryString = QString("SELECT name FROM entity WHERE (mainprefix NOT LIKE '*%') AND dxcc='%1'").arg(prefixIDNumber); //queryString = "SELECT name FROM entity WHERE dxcc=='" + QString::number(prefixIDNumber) +"'"; - //qDebug() << "World::getEntityName: queryString-2: " << queryString << endl; + //qDebug() << "World::getEntityName: queryString-2: " << queryString << endl; query.exec(queryString); query.next(); @@ -531,7 +531,7 @@ QString World::getEntityName(const int _entityN) int World::getQRZCqz(const QString &_qrz) { - //qDebug() << "World::getQRZCqz: " << _qrz << endl; + //qDebug() << "World::getQRZCqz: " << _qrz << endl; if (_qrz.length() < 1 ) { @@ -560,7 +560,7 @@ int World::getQRZCqz(const QString &_qrz) int World::getQRZItuz(const QString &_qrz) { - //qDebug() << "World::getQRZItuz: " << _qrz << endl; + //qDebug() << "World::getQRZItuz: " << _qrz << endl; if (_qrz.length() < 1 ) { return -1; @@ -598,7 +598,7 @@ int World::getEntityCqz(const int _enti) queryString = "SELECT cqz FROM prefixesofentity WHERE dxcc=='" + QString::number(_enti) +"'"; query.exec(queryString); query.next(); - //qDebug() << "World::getEntityCqz: " << QString::number(_enti) << " = " << (query.value(0)).toInt() << endl; + //qDebug() << "World::getEntityCqz: " << QString::number(_enti) << " = " << (query.value(0)).toInt() << endl; if (query.isValid()){ return (query.value(0)).toInt(); @@ -625,7 +625,7 @@ int World::getEntityItuz(const int _enti) queryString = "SELECT ituz FROM prefixesofentity WHERE dxcc=='" + QString::number(_enti) +"'"; query.exec(queryString); query.next(); - //qDebug() << "World::getEntityItuz: " << QString::number(_enti) << " = " << (query.value(0)).toInt() << endl; + //qDebug() << "World::getEntityItuz: " << QString::number(_enti) << " = " << (query.value(0)).toInt() << endl; if (query.isValid()){ return (query.value(0)).toInt(); @@ -639,7 +639,7 @@ int World::getEntityItuz(const int _enti) int World::getQRZARRLId(const QString &_qrz) { - //qDebug() << "World::getQRZARRLId" << _qrz << endl; + //qDebug() << "World::getQRZARRLId" << _qrz << endl; if (_qrz.length() < 1 ) { @@ -675,7 +675,7 @@ QString World::getQRZEntityMainPrefix(const QString &_qrz) { query.next(); - //qDebug() << "World::getQRZEntityMainPrefix(id/qrz): " << QString::number(i) << "/" <<_qrz << " = " << (query.value(0)).toString() << endl; + //qDebug() << "World::getQRZEntityMainPrefix(id/qrz): " << QString::number(i) << "/" <<_qrz << " = " << (query.value(0)).toString() << endl; if (query.isValid()){ return (query.value(0)).toString(); @@ -699,8 +699,7 @@ QString World::getEntityMainPrefix(const int _entityN) { if (_entityN <= 0 ) { - return QString(); - //return tr("NONE"); + return ""; } return dataProxy->getEntityMainPrefix(_entityN); /* @@ -788,7 +787,7 @@ bool World::isNewEntity(const int _entityN) QString World::getQRZContinentShortName(const QString &_qrz) { - //qDebug() << "World::getQRZContinentShortName: " << _qrz << endl; + //qDebug() << "World::getQRZContinentShortName: " << _qrz << endl; //QString continentNumber = getQRZContinentNumber (_qrz); return getContinentShortName (getQRZARRLId(_qrz)); @@ -797,7 +796,7 @@ QString World::getQRZContinentShortName(const QString &_qrz) QString World::getContinentShortName(const int _enti) { - //qDebug() << "World::getQRZContinentShortName: " << QString::number(_enti) << endl; + //qDebug() << "World::getQRZContinentShortName: " << QString::number(_enti) << endl; //QString continentNumber = QString::number(_enti); @@ -830,10 +829,10 @@ QString World::getContinentShortName(const int _enti) query.next(); if ( !(query.isValid()) ) { - //qDebug() << "World::getQRZContinentShortName: NO VALID" << endl; + //qDebug() << "World::getQRZContinentShortName: NO VALID" << endl; return "--"; }else{ - //qDebug() << "World::getQRZContinentShortName: VALID" << endl; + //qDebug() << "World::getQRZContinentShortName: VALID" << endl; return (query.value(0)).toString(); } } @@ -844,7 +843,7 @@ QString World::getContinentShortName(const int _enti) QString World::getQRZContinentNumber(const QString &_qrz) { - //qDebug() << "World::getQRZContinentNumber: " << _qrz << endl; + //qDebug() << "World::getQRZContinentNumber: " << _qrz << endl; int i = getQRZARRLId(_qrz); return QString::number(getContinentNumber(i)); @@ -866,15 +865,15 @@ QString World::getQRZContinentNumber(const QString &_qrz) { query.next(); if ( !(query.isValid()) ) { - //qDebug() << "World::getQRZContinentNumber(qrz/i/Cont): NO VALID" << endl; + //qDebug() << "World::getQRZContinentNumber(qrz/i/Cont): NO VALID" << endl; return "-1"; }else{ - //qDebug() << "World::getQRZContinentNumber(qrz/i/Cont): VALID" << endl; + //qDebug() << "World::getQRZContinentNumber(qrz/i/Cont): VALID" << endl; a = (query.value(0)).toString(); } - //qDebug() << "World::getQRZContinentNumber(qrz/i/Cont): " <<_qrz << "/" << QString::number(i) << "/" << a << endl; + //qDebug() << "World::getQRZContinentNumber(qrz/i/Cont): " <<_qrz << "/" << QString::number(i) << "/" << a << endl; return a; } return "-1"; @@ -883,7 +882,7 @@ QString World::getQRZContinentNumber(const QString &_qrz) int World::getContinentNumber(const int _enti) { - //qDebug() << "World::getQRZContinentNumber: " << QString::number(_enti) << endl; + //qDebug() << "World::getQRZContinentNumber: " << QString::number(_enti) << endl; if (_enti <= 0) { return -1; @@ -956,10 +955,10 @@ double World::getQRZLongitude(const QString &_qrz) query.next(); if ( !(query.isValid()) ) { - //qDebug() << "World::getQRZLongitude: NO VALID" << endl; + //qDebug() << "World::getQRZLongitude: NO VALID" << endl; return 0.0; }else{ - //qDebug() << "World::getQRZLongitude: VALID" << endl; + //qDebug() << "World::getQRZLongitude: VALID" << endl; return (query.value(0)).toDouble(); } @@ -996,10 +995,10 @@ double World::getLongitude(const int _enti) query.next(); if ( !(query.isValid()) ) { - //qDebug() << "World::getQRZLongitude: NO VALID" << endl; + //qDebug() << "World::getQRZLongitude: NO VALID" << endl; return 0.0; }else{ - //qDebug() << "World::getQRZLongitude: VALID" << endl; + //qDebug() << "World::getQRZLongitude: VALID" << endl; return (query.value(0)).toDouble(); } @@ -1028,10 +1027,10 @@ double World::getQRZLatitude(const QString &_qrz) query.next(); if ( !(query.isValid()) ) { - //qDebug() << "World::getQRZLatitud: NO VALID" << endl; + //qDebug() << "World::getQRZLatitud: NO VALID" << endl; return 0.0; }else{ - //qDebug() << "World::getQRZLatitud: VALID" << endl; + //qDebug() << "World::getQRZLatitud: VALID" << endl; return (query.value(0)).toDouble(); } } @@ -1064,10 +1063,10 @@ double World::getLatitude(const int _enti) query.next(); if ( !(query.isValid()) ) { - //qDebug() << "World::getQRZLatitud: NO VALID" << endl; + //qDebug() << "World::getQRZLatitud: NO VALID" << endl; return 0.0; }else{ - //qDebug() << "World::getQRZLatitud: VALID" << endl; + //qDebug() << "World::getQRZLatitud: VALID" << endl; return (query.value(0)).toDouble(); } } @@ -1097,11 +1096,11 @@ QString World::getLocator(const int _entityN) /* int World::getBandIdFromFreq(const QString fr) { - //qDebug() << "World::getBandIdFromFreq: " << fr << endl; + //qDebug() << "World::getBandIdFromFreq: " << fr << endl; //Freq should be in MHz QSqlQuery query; QString queryString = QString("SELECT id FROM band WHERE lower <= '%1' and upper >= '%2'").arg(fr).arg(fr); - //qDebug() << "World::getBandIdFromFreq query: " << queryString << endl; + //qDebug() << "World::getBandIdFromFreq query: " << queryString << endl; if (!query.exec(queryString)) @@ -1116,13 +1115,13 @@ int World::getBandIdFromFreq(const QString fr) if (query.isValid()) { b = (query.value(0)).toInt(); - //qDebug() << "World::getBandIdFromFreq value: " << QString::number(b) << endl; + //qDebug() << "World::getBandIdFromFreq value: " << QString::number(b) << endl; //return (query.value(0)).toInt(); return b; } else { - //qDebug() << "World::getBandIdFromFreq value not valid!!" << endl; + //qDebug() << "World::getBandIdFromFreq value not valid!!" << endl; return -1; } } @@ -1179,7 +1178,7 @@ QString World::getQRZEntityPrefixes(const QString &_qrz) bool World::readCTYCSV(const QString &_worldFile) { - //qDebug() << "World::readCTYCSV(): " << _worldFile << endl; + //qDebug() << "World::readCTYCSV(): " << _worldFile << endl; QString tq; tq.clear(); @@ -1193,12 +1192,12 @@ bool World::readCTYCSV(const QString &_worldFile) QFile file( _worldFile ); if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) { - //qDebug() << "World::readCTYCSV() File not found: END FALSE" << fileName << endl; + //qDebug() << "World::readCTYCSV() File not found: END FALSE" << fileName << endl; return false; } else { - //qDebug() << "World::readCTYCSV() File found: " << fileName << endl; + //qDebug() << "World::readCTYCSV() File found: " << fileName << endl; } beginingOfFile = file.pos(); @@ -1211,7 +1210,7 @@ bool World::readCTYCSV(const QString &_worldFile) } numberOfLines++; } - //qDebug() << "World::readCTYCSV() - numberOfEntities: " << QString::number(numberOfEntities) << endl; + //qDebug() << "World::readCTYCSV() - numberOfEntities: " << QString::number(numberOfEntities) << endl; // The file is readed twice: 1: Main entity data; 2: prefixes. @@ -1251,17 +1250,17 @@ bool World::readCTYCSV(const QString &_worldFile) // 0 1 2 3 4 5 6 7 8 9 tq = file.readLine(); - //qDebug() << "World::readCTYCSV(): Line: " << tq << endl; + //qDebug() << "World::readCTYCSV(): Line: " << tq << endl; tq = tq.simplified(); - //qDebug() << "World::readCTYCSV(): Line simplified: " << tq << endl; + //qDebug() << "World::readCTYCSV(): Line simplified: " << tq << endl; tq = tq.trimmed(); - //qDebug() << "World::readCTYCSV(): Line trimmed: " << tq << endl; + //qDebug() << "World::readCTYCSV(): Line trimmed: " << tq << endl; tq.remove(QChar(';'), Qt::CaseInsensitive); - //qDebug() << "World::readCTYCSV(): Line without ;: " << tq << endl; + //qDebug() << "World::readCTYCSV(): Line without ;: " << tq << endl; stringList << tq.split(','); - //qDebug() << "World::readCTYCSV(): Line stringList-0: " << stringList.at(0) << endl; + //qDebug() << "World::readCTYCSV(): Line stringList-0: " << stringList.at(0) << endl; if (( stringList.at(0)).contains(QChar('*'), Qt::CaseInsensitive)) { // This is a special Entity. Not really an ARRL Entity but interesting for the DXer. @@ -1272,8 +1271,8 @@ bool World::readCTYCSV(const QString &_worldFile) while ( (dataProxy->getEntityMainPrefix(entN)).size()>0 ) { - //qDebug() << "World::readCTYCSV() entN: " << QString::number(entN) << endl; - //qDebug() << "World::readCTYCSV() dataProxy->getEntityMainPrefix: " << QString::number(entN) << endl; + //qDebug() << "World::readCTYCSV() entN: " << QString::number(entN) << endl; + //qDebug() << "World::readCTYCSV() dataProxy->getEntityMainPrefix: " << QString::number(entN) << endl; entN = entN + 1000; } @@ -1285,7 +1284,7 @@ bool World::readCTYCSV(const QString &_worldFile) entityNumber = stringList.at(2); } - //qDebug() << "World::readCTYCSV(): Line stringList Length: " << QString::number(stringList.length()) << endl; + //qDebug() << "World::readCTYCSV(): Line stringList Length: " << QString::number(stringList.length()) << endl; if (stringList.size()>=8 ) { @@ -1304,42 +1303,42 @@ bool World::readCTYCSV(const QString &_worldFile) query.addBindValue(entityNumber); // dxcc query.addBindValue(stringList.at(0)); // Mainprefix - //qDebug() << "World::readCTYCSV(): Entity name: " << stringList.at(1) << endl; - //qDebug() << "World::readCTYCSV(): Entity cqz: " << stringList.at(4) << endl; - //qDebug() << "World::readCTYCSV(): Entity ituz: " << stringList.at(5) << endl; - //qDebug() << "World::readCTYCSV(): Entity cont: " << stringList.at(3) << endl; - //qDebug() << "World::readCTYCSV(): Entity lat: " << stringList.at(6) << endl; - //qDebug() << "World::readCTYCSV(): Entity lon: " << stringList.at(7) << endl; - //qDebug() << "World::readCTYCSV(): Entity UTC: " << stringList.at(8) << endl; - //qDebug() << "World::readCTYCSV(): Entity ARRL: " << stringList.at(2) << endl; - //qDebug() << "World::readCTYCSV(): Entity Pref: " << stringList.at(0) << endl; + //qDebug() << "World::readCTYCSV(): Entity name: " << stringList.at(1) << endl; + //qDebug() << "World::readCTYCSV(): Entity cqz: " << stringList.at(4) << endl; + //qDebug() << "World::readCTYCSV(): Entity ituz: " << stringList.at(5) << endl; + //qDebug() << "World::readCTYCSV(): Entity cont: " << stringList.at(3) << endl; + //qDebug() << "World::readCTYCSV(): Entity lat: " << stringList.at(6) << endl; + //qDebug() << "World::readCTYCSV(): Entity lon: " << stringList.at(7) << endl; + //qDebug() << "World::readCTYCSV(): Entity UTC: " << stringList.at(8) << endl; + //qDebug() << "World::readCTYCSV(): Entity ARRL: " << stringList.at(2) << endl; + //qDebug() << "World::readCTYCSV(): Entity Pref: " << stringList.at(0) << endl; if (query.exec()) { - //qDebug() << "World::readCTYDAT(): Entity data added: " << stringList.at(1) << endl; + //qDebug() << "World::readCTYDAT(): Entity data added: " << stringList.at(1) << endl; } else if (query.lastError().number() == 19) { - //qDebug() << "World::readCTYDAT(): Entity data added: error19: " << stringList.at(1) << endl; + //qDebug() << "World::readCTYDAT(): Entity data added: error19: " << stringList.at(1) << endl; emit queryError(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); } else { - //qDebug() << "World::readCTYDAT(): Entity data added: error else: " << stringList.at(1) << endl; + //qDebug() << "World::readCTYDAT(): Entity data added: error else: " << stringList.at(1) << endl; emit queryError(Q_FUNC_INFO, query.lastError().databaseText(), query.lastError().number(), query.lastQuery()); //errorCode = query.lastError().number(); - //qDebug() << "World::readCTYCSV(): Entity data NOT added" << endl; - //qDebug() << "World::readCTYCSV(): LastQuery: " << query.lastQuery() << endl; - //qDebug() << "World::readCTYCSV(): LastError-data: " << query.lastError().databaseText() << endl; - //qDebug() << "World::readCTYCSV(): LastError-driver: " << query.lastError().driverText() << endl; - //qDebug() << "World::readCTYCSV(): LastError-n: " << QString::number(query.lastError().number() ) << endl; + //qDebug() << "World::readCTYCSV(): Entity data NOT added" << endl; + //qDebug() << "World::readCTYCSV(): LastQuery: " << query.lastQuery() << endl; + //qDebug() << "World::readCTYCSV(): LastError-data: " << query.lastError().databaseText() << endl; + //qDebug() << "World::readCTYCSV(): LastError-driver: " << query.lastError().driverText() << endl; + //qDebug() << "World::readCTYCSV(): LastError-n: " << QString::number(query.lastError().number() ) << endl; } - //qDebug() << "World::readCTYCSV(): Entity ADDED or NOT" << endl; + //qDebug() << "World::readCTYCSV(): Entity ADDED or NOT" << endl; if (stringList.size()>8) { tq = stringList.at(9); @@ -1353,7 +1352,7 @@ bool World::readCTYCSV(const QString &_worldFile) //queryP.prepare("INSERT INTO prefixesofentity (id, prefix, dxcc, cqz, ituz) VALUES (?, ?, ?, ?, ?)"); // 0 1 2 3 4 // (id, prefix, dxcc, cqz, ituz) - //qDebug() << "World::readCTYCSV(): Prefix: " << stringListPrefixes.at(i) << endl; + //qDebug() << "World::readCTYCSV(): Prefix: " << stringListPrefixes.at(i) << endl; queryP.addBindValue(QVariant(QVariant::Int)); @@ -1380,7 +1379,7 @@ bool World::readCTYCSV(const QString &_worldFile) if (queryP.exec()) { - //qDebug() << "World::readCTYCSV(): Prefix added: " << stringListPrefixes.at(i) << endl; + //qDebug() << "World::readCTYCSV(): Prefix added: " << stringListPrefixes.at(i) << endl; } else if (queryP.lastError().number() == 19) {} @@ -1390,11 +1389,11 @@ bool World::readCTYCSV(const QString &_worldFile) emit queryError(Q_FUNC_INFO, queryP.lastError().databaseText(), queryP.lastError().number(), queryP.lastQuery()); - //qDebug() << "World::readCTYCSV(): Prefix data NOT added" << endl; - //qDebug() << "World::readCTYCSV(): Prefix LastQuery: " << query.lastQuery() << endl; - //qDebug() << "World::readCTYCSV(): Prefix LastError-data: " << query.lastError().databaseText() << endl; - //qDebug() << "World::readCTYCSV(): Prefix LastError-driver: " << query.lastError().driverText() << endl; - //qDebug() << "World::readCTYCSV(): Prefix LastError-n: " << QString::number(query.lastError().number() ) << endl; + //qDebug() << "World::readCTYCSV(): Prefix data NOT added" << endl; + //qDebug() << "World::readCTYCSV(): Prefix LastQuery: " << query.lastQuery() << endl; + //qDebug() << "World::readCTYCSV(): Prefix LastError-data: " << query.lastError().databaseText() << endl; + //qDebug() << "World::readCTYCSV(): Prefix LastError-driver: " << query.lastError().driverText() << endl; + //qDebug() << "World::readCTYCSV(): Prefix LastError-n: " << QString::number(query.lastError().number() ) << endl; } } @@ -1402,9 +1401,9 @@ bool World::readCTYCSV(const QString &_worldFile) } - //qDebug() << "World::readCTYCSV() tq: " << tq << endl; + //qDebug() << "World::readCTYCSV() tq: " << tq << endl; progress.setLabelText("Reading cty.csv ... \nNow reading " + currentPrefix + " data"); - //qDebug() << "World::readCTYCSV() - progressBarPosition: " << QString::number(progressBarPosition) << endl; + //qDebug() << "World::readCTYCSV() - progressBarPosition: " << QString::number(progressBarPosition) << endl; } QSqlDatabase::database().commit(); @@ -1415,14 +1414,14 @@ bool World::readCTYCSV(const QString &_worldFile) dataProxy->updateISONames(); } - //qDebug() << "World::readCTYCSV() END TRUE " << endl; + //qDebug() << "World::readCTYCSV() END TRUE " << endl; return true; } QString World::changeSlashAndFindPrefix(const QString &_qrz) { - //qDebug() << "World::changeSlashAndFindPrefix: -" << _qrz <<"-" << endl; + //qDebug() << "World::changeSlashAndFindPrefix: -" << _qrz <<"-" << endl; QString aux = _qrz.toUpper(); @@ -1445,7 +1444,7 @@ QString World::changeSlashAndFindPrefix(const QString &_qrz) aux.remove(aux.length()-1,1); } iaux1 = aux.indexOf('/'); - //qDebug() << "World::changeSlashAndFindPrefix: Slash found at: " << QString::number(iaux1) << endl; + //qDebug() << "World::changeSlashAndFindPrefix: Slash found at: " << QString::number(iaux1) << endl; iaux2 = (aux.length())- iaux1; // iaux2 is the length of the second part if (iaux2 < 0){ @@ -1466,7 +1465,7 @@ QString World::changeSlashAndFindPrefix(const QString &_qrz) bool World::checkQRZValidFormat(const QString &_qrz) { - //qDebug() << "World::checkQRZValidFormat: -" << _qrz <<"-" << endl; + //qDebug() << "World::checkQRZValidFormat: -" << _qrz <<"-" << endl; QString aux = changeSlashAndFindPrefix(_qrz.toUpper()); @@ -1557,13 +1556,16 @@ bool World::checkQRZValidFormat(const QString &_qrz) suffix = suffix + aux.at(i); } */ - + //qDebug() << "World::checkQRZValidFormat: Prefix = " << prefix << endl; + //qDebug() << "World::checkQRZValidFormat: Separator = " << separator << endl; + //qDebug() << "World::checkQRZValidFormat: Suffix = " << suffix << endl; + //qDebug() << "World::checkQRZValidFormat: Call = " << prefix+separator+suffix << endl; return true; } QStringList World::getEntitiesNames() { - //qDebug() << "World::getEntitiesNames" << endl; + //qDebug() << "World::getEntitiesNames" << endl; return dataProxy->getEntitiesNames(); } diff --git a/world.h b/world.h index 4098374f..c8774ed4 100644 --- a/world.h +++ b/world.h @@ -22,7 +22,7 @@ * 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 . * + * along with KLog. If not, see . * * * *****************************************************************************/ diff --git a/worldmapwidget.cpp b/worldmapwidget.cpp index 745b1862..2c639146 100644 --- a/worldmapwidget.cpp +++ b/worldmapwidget.cpp @@ -2,7 +2,7 @@ WorldMapWidget::WorldMapWidget() // : mapLabel (new QLabel), scrollArea (new QScrollArea), scaleFactor(1) { - //qDebug() << "WorldMapWidget::WorldMapWidget" << endl; + //qDebug() << "WorldMapWidget::WorldMapWidget" << endl; scrollArea = new QScrollArea; mapQImage = new QImage; @@ -33,58 +33,58 @@ WorldMapWidget::WorldMapWidget() // : mapLabel (new QLabel), scrollArea (new QSc //layout->addWidget(mapLabel); //setLayout(layout); - //qDebug() << "WorldMapWidget::WorldMapWidget - END" << endl; + //qDebug() << "WorldMapWidget::WorldMapWidget - END" << endl; } WorldMapWidget::~WorldMapWidget() { - //qDebug() << "WorldMapWidget::~WorldMapWidget" << endl; + //qDebug() << "WorldMapWidget::~WorldMapWidget" << endl; } void WorldMapWidget::loadMap() { - //qDebug() << "WorldMapWidget::loadMap" << endl; + //qDebug() << "WorldMapWidget::loadMap" << endl; mapQImage->load(":/img/worldmap.j"); *mapQImage = mapQImage->convertToFormat(QImage::Format_RGB32); - //qDebug() << "WorldMapWidget::loadMap-10" << endl; + //qDebug() << "WorldMapWidget::loadMap-10" << endl; //mapLabel->setPixmap(QPixmap::fromImage(*mapQImage)); //mapLabel->setWordWrap(true); - //qDebug() << "WorldMapWidget::loadMap-11" << endl; + //qDebug() << "WorldMapWidget::loadMap-11" << endl; scaleFactor = 1.0; - //qDebug() << "WorldMapWidget::loadMap-12" << endl; + //qDebug() << "WorldMapWidget::loadMap-12" << endl; fitToWindowAct->setEnabled(true); - //qDebug() << "WorldMapWidget::loadMap-13" << endl; + //qDebug() << "WorldMapWidget::loadMap-13" << endl; updateActions(); - //qDebug() << "WorldMapWidget::loadMap-14" << endl; + //qDebug() << "WorldMapWidget::loadMap-14" << endl; // mapNormalizeSize(); if (!fitToWindowAct->isChecked()) { mapLabel->adjustSize(); } - //qDebug() << "WorldMapWidget::loadMap-15" << endl; + //qDebug() << "WorldMapWidget::loadMap-15" << endl; width = mapQImage->width(); height = mapQImage->height(); setImage(*mapQImage); - //qDebug() << "WorldMapWidget::loadMap-Size: " << QString::number(mapQImage->width()) <<"/" << QString::number(mapQImage->height()) << endl; + //qDebug() << "WorldMapWidget::loadMap-Size: " << QString::number(mapQImage->width()) <<"/" << QString::number(mapQImage->height()) << endl; //*mapQImage = mapQImage->scaledToWidth(1260); - //qDebug() << "WorldMapWidget::loadMap-reSize: " << QString::number(mapQImage->width()) <<"/" << QString::number(mapQImage->height()) << endl; + //qDebug() << "WorldMapWidget::loadMap-reSize: " << QString::number(mapQImage->width()) <<"/" << QString::number(mapQImage->height()) << endl; } void WorldMapWidget::drawLocator(const int _x, const int _y, const int _width, const int _height, const bool _confirmed) { - //qDebug() << "WorldMapWidget::drawLocator: " << QString::number(_x) << QString::number(_y) << QString::number(_width) << QString::number(_height) << endl; + //qDebug() << "WorldMapWidget::drawLocator: " << QString::number(_x) << QString::number(_y) << QString::number(_width) << QString::number(_height) << endl; QPainter qPainter(mapQImage); //qPainter.setBrush(Qt::Dense4Pattern); @@ -105,12 +105,12 @@ void WorldMapWidget::drawLocator(const int _x, const int _y, const int _width, c qPainter.end(); setImage(*mapQImage); - //qDebug() << "WorldMapWidget::drawLocator-END" << endl; + //qDebug() << "WorldMapWidget::drawLocator-END" << endl; } void WorldMapWidget::drawLocatorText (const int _x, const int _y, const QString &loc, const bool _confirmed) { - //qDebug() << "WorldMapWidget::Text" << endl; + //qDebug() << "WorldMapWidget::Text" << endl; QPainter qPainter(mapQImage); qPainter.setFont(QFont("Arial", 12, QFont::Bold)); if (_confirmed) @@ -125,13 +125,13 @@ void WorldMapWidget::drawLocatorText (const int _x, const int _y, const QString qPainter.drawText(_x+2,_y-2, loc); qPainter.end(); setImage(*mapQImage); - //qDebug() << "WorldMapWidget::Text-END" << endl; + //qDebug() << "WorldMapWidget::Text-END" << endl; } void WorldMapWidget::drawLocators() { - //qDebug() << "WorldMapWidget::drawLocators" << endl; + //qDebug() << "WorldMapWidget::drawLocators" << endl; if (width < 18 || height < 18) { return; @@ -145,14 +145,14 @@ void WorldMapWidget::drawLocators() { x1 = (i * (width / 180)); y1 = height - ((1+j) * (height / 180)); - //qDebug() << "WorldMapWidget::drawLocators: " << QString::number(x1) << "/" << QString::number(y1) << "/" <scaledToHeight(mapWidth); - //qDebug() << "WorldMapWidget::mapNormalizeSize: Screen: " << QString::number(_xMax) << endl; - //qDebug() << "WorldMapWidget::mapNormalizeSize: Map: " << QString::number(mapWidth) << endl; + //qDebug() << "WorldMapWidget::mapNormalizeSize: Screen: " << QString::number(_xMax) << endl; + //qDebug() << "WorldMapWidget::mapNormalizeSize: Map: " << QString::number(mapWidth) << endl; } diff --git a/worldmapwidget.h b/worldmapwidget.h index 638efeb2..aadb057e 100644 --- a/worldmapwidget.h +++ b/worldmapwidget.h @@ -23,7 +23,7 @@ * 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 . * + * along with KLog. If not, see . * * * *****************************************************************************/ #include