Fix slots around the time

Fill the slots around the time in the order set/dxgid, set/usstate, set/dxcq or set/dxicq
This commit is contained in:
Dirk Koopman 2021-12-10 15:36:14 +00:00
parent ec2bc54f84
commit ed671609b5
5 changed files with 53 additions and 37 deletions

View File

@ -1,3 +1,8 @@
10Dec21=======================================================================
1. Fix the output of set/dxgrid, set/usstate and set/dxcq or set/dxitu to how
it was always supposed to be since 2003.
09Dec21=======================================================================
1. Moved isregistered to DXChannel for safety...
08Dec21=======================================================================
1. Backport console.pl scrolling and width management changes.
2. Backport show/registered cmd format from mojo.

View File

@ -22,10 +22,10 @@ foreach $call (@args) {
push @out, $self->msg('dxituu', $call);
$user->wantdxitu(0);
}
if ($user->wantusstate) {
push @out, $self->msg('usstateu', $call);
$user->wantusstate(0);
}
# if ($user->wantusstate) {
# push @out, $self->msg('usstateu', $call);
# $user->wantusstate(0);
# }
$user->put;
push @out, $self->msg('dxcqs', $call);
} else {

View File

@ -18,10 +18,10 @@ foreach $call (@args) {
my $user = DXUser::get_current($call);
if ($user) {
$user->wantdxitu(1);
if ($user->wantdxcq) {
push @out, $self->msg('dxcqu', $call);
$user->wantdxcq(0);
}
# if ($user->wantdxcq) {
# push @out, $self->msg('dxcqu', $call);
# $user->wantdxcq(0);
# }
if ($user->wantusstate) {
push @out, $self->msg('usstateu', $call);
$user->wantusstate(0);

View File

@ -20,14 +20,14 @@ foreach $call (@args) {
my $user = DXUser::get_current($call);
if ($user) {
$user->wantusstate(1);
if ($user->wantdxitu) {
push @out, $self->msg('dxituu', $call);
$user->wantdxitu(0);
}
if ($user->wantdxcq) {
push @out, $self->msg('dxcqu', $call);
$user->wantdxcq(0);
}
# if ($user->wantdxitu) {
# push @out, $self->msg('dxituu', $call);
# $user->wantdxitu(0);
# }
# if ($user->wantdxcq) {
# push @out, $self->msg('dxcqu', $call);
# $user->wantdxcq(0);
# }
$user->put;
push @out, $self->msg('usstates', $call);
} else {

View File

@ -958,40 +958,51 @@ sub format_dx_spot
my $t = ztime($_[2]);
my $loc = '';
my $clth = 30 + $self->{width} - 80; # allow comment to grow according the screen width
# --$clth if $self->{consort} eq 'local';
my ($slot1, $slot2) = ('', '');
my $clth = 30 + $self->{width} - 80; # allow comment to grow according the screen width
my $comment = substr (($_[3] || ''), 0, $clth);
$comment =~ s/\t/ /g;
$comment .= ' ' x ($clth - (length($comment)));
if ($self->{user}->wantgrid) {
if (!$slot1 && $self->{user}->wantgrid) {
my $ref = DXUser::get_current($_[1]);
if ($ref && $ref->qra) {
my $cloc = ' ' . substr($ref->qra, 0, 4);
$comment = substr $comment, 0, ($clth - (length($comment)+length($cloc)));
$comment .= $cloc;
$slot1 = ' ' . substr($ref->qra, 0, 4);
}
}
if (!$slot1 && $self->{user}->wantusstate) {
$slot1 = " $_[12]" if $_[12];
}
unless ($slot1) {
if ($self->{user}->wantdxitu) {
$slot1 = sprintf(" %2d", $_[8]) if defined $_[8];
} elsif ($self->{user}->wantdxcq) {
$slot1 = sprintf(" %2d", $_[9]) if defined $_[9];
}
}
$comment = substr($comment, 0, $clth-length($slot1)) . $slot1 if $slot1;
if (!$slot2 && $self->{user}->wantgrid) {
my $origin = $_[4];
$origin =~ s/-#$//; # sigh......
$ref = DXUser::get_current($origin);
my $ref = DXUser::get_current($origin);
if ($ref && $ref->qra) {
$loc = ' ' . substr($ref->qra, 0, 4);
$slot2 = ' ' . substr($ref->qra, 0, 4);
}
}
if (!$slot2 && $self->{user}->wantusstate) {
$slot2 = " $_[13]" if $_[13];
}
unless ($slot2) {
if ($self->{user}->wantdxitu) {
$slot2 = sprintf(" %2d", $_[10]) if defined $_[10];
} elsif ($self->{user}->wantdxcq) {
$slot2 = sprintf(" %2d", $_[11]) if defined $_[11];
}
} elsif ($self->{user}->wantdxitu) {
$loc = ' ' . sprintf("%2d", $_[10]) if defined $_[10];
$comment = substr($comment, 0, $clth-3) . ' ' . sprintf("%2d", $_[8]) if defined $_[8];
} elsif ($self->{user}->wantdxcq) {
$loc = ' ' . sprintf("%2d", $_[11]) if defined $_[11];
$comment = substr($comment, 0, $clth-3) . ' ' . sprintf("%2d", $_[9]) if defined $_[9];
} elsif ($self->{user}->wantusstate) {
$loc = ' ' . $_[13] if $_[13];
$comment = substr($comment, 0, $clth-3) . ' ' . $_[12] if $_[12];
}
return sprintf "DX de %-8.8s%10.1f %-12.12s %-s $t$loc", "$_[4]:", $_[0], $_[1], $comment;
return sprintf "DX de %-8.8s%10.1f %-12.12s %-s $t$slot2", "$_[4]:", $_[0], $_[1], $comment;
}
# send a dx spot