add some flesh to a gtk based console program
[spider.git] / perl / DXChannel.pm
index 45e8d39b9904a3fd87374f4cc742558b39b1de24..e93370dd108c7d40e57cdcbe64212a845131cea4 100644 (file)
@@ -101,6 +101,7 @@ $count = 0;
                  itu => '0,ITU Zone',
                  cq => '0,CQ Zone',
                  enhanced => '5,Enhanced Client,yesno',
+                 gtk => '5,Using GTK,yesno',
                  senddbg => '8,Sending Debug,yesno',
                  width => '0,Column Width',
                  disconnecting => '9,Disconnecting,yesno',
@@ -513,9 +514,11 @@ sub tell_login
 #
 sub tell_buddies
 {
-       my ($self, $m, $call) = @_;
+       my ($self, $m, $call, $node) = @_;
        
        $call ||= $self->{call};
+       $call =~ s/-\d+$//;
+       $m .= 'n' if $node;
        
        # send info to all logged in thingies
        my @dxchan = get_all_users();
@@ -523,7 +526,7 @@ sub tell_buddies
        foreach $dxchan (@dxchan) {
                next if $dxchan == $self;
                next if $dxchan->{call} eq $main::mycall;
-               $dxchan->send($dxchan->msg($m, $call)) if grep $_ eq $call, @{$dxchan->{user}->{buddies}} ;
+               $dxchan->send($dxchan->msg($m, $call, $node)) if grep $_ eq $call, @{$dxchan->{user}->{buddies}} ;
        }
 }
 
@@ -722,6 +725,19 @@ sub process
        }
 }
 
+sub handle_xml
+{
+       my $self = shift;
+       my $r = 0;
+       
+       if (DXXml::available()) {
+               $r = $self->{handle_xml} || 0;
+       } else {
+               delete $self->{handle_xml} if exists $self->{handle_xml};
+       }
+       return $r;
+}
+
 #no strict;
 sub AUTOLOAD
 {