diff --git a/lib/packgrid.f90 b/lib/packgrid.f90
index bfb0f5f40..300d29e01 100644
--- a/lib/packgrid.f90
+++ b/lib/packgrid.f90
@@ -8,12 +8,40 @@ subroutine packgrid(grid,ng,text)
text=.false.
if(grid.eq.' ') go to 90 !Blank grid is OK
- n=99
+! First, handle signal reports in the original range, -01 to -30 dB
+ if(grid(1:1).eq.'-') then
+ read(grid(2:3),*,err=800,end=800) n
+ if(n.ge.1 .and. n.le.30) then
+ ng=NGBASE+1+n
+ go to 900
+ endif
+ go to 10
+ else if(grid(1:2).eq.'R-') then
+ read(grid(3:4),*,err=800,end=800) n
+ if(n.ge.1 .and. n.le.30) then
+ ng=NGBASE+31+n
+ go to 900
+ endif
+ go to 10
+! Now check for RO, RRR, or 73 in the message field normally used for grid
+ else if(grid(1:4).eq.'RO ') then
+ ng=NGBASE+62
+ go to 900
+ else if(grid(1:4).eq.'RRR ') then
+ ng=NGBASE+63
+ go to 900
+ else if(grid(1:4).eq.'73 ') then
+ ng=NGBASE+64
+ go to 900
+ endif
+
+! Now check for extended-range signal reports: -50 to -31, and 0 to +49.
+10 n=99
c1=grid(1:1)
- read(grid,*,err=1) n
- go to 2
-1 read(grid(2:4),*,err=2) n
-2 if(n.ge.-50 .and. n.le.49) then
+ read(grid,*,err=20) n
+ go to 30
+20 read(grid(2:4),*,err=30) n
+30 if(n.ge.-50 .and. n.le.49) then
if(c1.eq.'R') then
write(grid,1002) n+50
1002 format('LA',i2.2)
@@ -21,33 +49,28 @@ subroutine packgrid(grid,ng,text)
write(grid,1003) n+50
1003 format('KA',i2.2)
endif
- go to 10
- else if(grid(1:2).eq.'RO') then
- ng=NGBASE+62
- go to 100
- else if(grid(1:3).eq.'RRR') then
- ng=NGBASE+63
- go to 100
- else if(grid(1:2).eq.'73') then
- ng=NGBASE+64
- go to 100
+ go to 40
endif
+! Maybe it's free text ?
if(grid(1:1).lt.'A' .or. grid(1:1).gt.'R') text=.true.
if(grid(2:2).lt.'A' .or. grid(2:2).gt.'R') text=.true.
if(grid(3:3).lt.'0' .or. grid(3:3).gt.'9') text=.true.
if(grid(4:4).lt.'0' .or. grid(4:4).gt.'9') text=.true.
- if(text) go to 100
+ if(text) go to 900
-10 call grid2deg(grid//'mm',dlong,dlat)
+! OK, we have a properly formatted grid locator
+40 call grid2deg(grid//'mm',dlong,dlat)
long=dlong
lat=dlat+ 90.0
ng=((long+180)/2)*180 + lat
- go to 100
+ go to 900
90 ng=NGBASE + 1
+ go to 900
+
+800 text=.true.
+900 continue
-100 continue
return
end subroutine packgrid
-
diff --git a/mainwindow.cpp b/mainwindow.cpp
index 04b7626f6..7f9101497 100644
--- a/mainwindow.cpp
+++ b/mainwindow.cpp
@@ -1536,11 +1536,11 @@ void MainWindow::on_genStdMsgsPushButton_clicked() //genStdMsgs button
void MainWindow::on_logQSOButton_clicked() //Log QSO button
{
- int nMHz=144;
+ double dialFreq=g_pWideGraph->dialFreq();
QDateTime t = QDateTime::currentDateTimeUtc();
QString logEntry=t.date().toString("yyyy-MMM-dd,") +
t.time().toString("hh:mm,") + m_hisCall + "," + m_hisGrid + "," +
- QString::number(nMHz) + ",JTMSK\n";
+ QString::number(dialFreq) + "," + m_mode + "\n";
QFile f("wsjt.log");
if(!f.open(QFile::Append)) {
msgBox("Cannot open file \"wsjt.log\".");
diff --git a/widegraph.ui b/widegraph.ui
index b005cd705..9866f675d 100644
--- a/widegraph.ui
+++ b/widegraph.ui
@@ -326,7 +326,7 @@
true
- Dial Freq (kHz)
+ Dial Freq (MHz)
@@ -348,7 +348,7 @@
- 473.000
+ 1.8395