use strict;
-our $VERSION = '$Revision$';
-$VERSION =~ s|[^\d\.]+||g;
-
our $root;
# search local then perl directories
our $wcywin; # wcy window handle
our $chatwin; # chat window handle
+# wants
+our ($wantann, $wantdx, $wantwwv, $wantwcy, $wantchat) = (1, 1, 1, 1, 1);
+
require "$root/local/DXVars.pm" if -e "$root/local/DXVars.pm";
+our ($version, $subversion, $build);
+require "$root/perl/Version.pm";
+
+our $VERSION = "$version.$subversion build $build";
+
# read in the user data
our $userfn = "$ENV{HOME}/.gtkconsole_data";
our $user = read_user_data();
$port = shift @ARGV if @ARGV;
}
-unless ($call && $host) {
+unless ($call) {
+ $call = $main::myalias;
+}
+
+unless ($host) {
my $node = $user->{clusters}->{$user->{node}};
if ($node->{call} || $user->{call}) {
- $call = $node->{call} || $user->{call} || $main::myalias;
- $host = $node->{passwd};
$host = $node->{host};
- $port = $node->{port};
+ $port ||= $node->{port};
}
-}
-unless ($call && $host) {
- if (-e "$root/local/Listeners.pm") {
- require "$root/local/Listeners.pm";
- $host = $main::listen->[0]->[0];
- $port = $main::listen->[0]->[1];
- $host ||= '127.0.0.1';
- $host = "127.0.0.1" if $host eq '0.0.0.0';
- $port ||= 7300;
+ unless ($host) {
+ if (-e "$root/local/Listeners.pm") {
+ require "$root/local/Listeners.pm";
+ $host = $main::listen->[0]->[0];
+ $port = $main::listen->[0]->[1];
+ $host ||= '127.0.0.1';
+ $host = "127.0.0.1" if !$host && ($host eq '0.0.0.0' || $host eq '::');
+ $port ||= 7300;
+ }
}
}
-unless ($host) {
- $host = $user->{clusters}->{$user->{node}}->{host};
- $port = $user->{clusters}->{$user->{node}}->{port};
-}
-
$call ||= '';
$host ||= '';
$port ||= '';
-die "You need a callsign ($call), a hostname($host) and a port($port) to proceed" unless $call && $host;
+die "You need a callsign ($call), a hostname($host) and a port($port) to proceed" unless $call && $host && $port;
#
# start of GTK stuff
gtk_create_main_screen();
-$main->set_title("gtkconsole $VERSION - DXSpider Console - $call \@ $host:$port");
+$main->set_title("DXSpider gtkconsole $VERSION - $call \@ $host:$port");
# connect and send stuff
my $sock = IO::Socket::INET->new(PeerAddr=>$host, PeerPort=>$port);
my $dd = new Data::Dumper([ $u ]);
$dd->Indent(1);
$dd->Quotekeys(0);
+ $dd->Terse(1);
$fh->print($dd->Dumpxs);
$fh->close;
return 1;
}
+sub set_win
+{
+ my $var = shift;
+ $$var = shift;
+}
+
sub gtk_create_main_screen
{
$main = new Gtk2::Window('toplevel');
}
],
},
+ _Screens => {
+ item_type =>'<Branch>',
+ children => [
+ _Dx => {
+ item_type => '<CheckMenuItem>',
+ callback => sub { set_win(\$wantdx, $@)},
+ },
+ _Announce => {
+ item_type => '<CheckItem>',
+ callback => sub { set_win(\$wantann, $@)},
+ },
+ _Chat => {
+ item_type => '<CheckItem>',
+ callback => sub { set_win(\$wantchat, $@)},
+ },
+ _WWV => {
+ item_type => '<CheckItem>',
+ callback => sub { set_win(\$wantwwv, $@)},
+ },
+ _WCY => {
+ item_type => '<CheckItem>',
+ callback => sub { set_win(\$wantwcy, $@)},
+ },
+ ],
+ },
_Help => {
item_type => '<Branch>',