Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • perl/modules/Jabber/lib/BarnOwl/Message/Jabber.pm

    rc854e74 r2f25537  
    2020sub to { shift->{to} };
    2121sub room { shift->{room} };
     22sub nick { shift->{nick} };
    2223sub subject { shift->{subject} };
    2324sub status { shift->{status} }
     
    4142sub long_sender {
    4243    my $self = shift;
     44    if ($self->jtype eq 'groupchat' && $self->nick) {
     45        my $from_jid = Net::Jabber::JID->new($self->from);
     46        if ($from_jid->GetJID('base') eq $self->room &&
     47            $from_jid->GetResource() eq $self->nick) {
     48            return $self->nick;
     49        }
     50    }
    4351    return $self->from;
    4452}
     
    7785    } elsif ($self->jtype eq 'groupchat') {
    7886        my $room = $self->room;
    79         $filter = "jabber-room-$room";
    80         BarnOwl::command(qw[filter], $filter,
    81                          qw[type ^jabber$ and room], "^\Q$room\E\$");
     87        if ($inst) {
     88            my $subject = $self->subject;
     89            $filter = "jabber-room-$room-subject-$subject";
     90            BarnOwl::command(qw[filter], $filter,
     91                             qw[type ^jabber$ and room], "^\Q$room\E\$",
     92                             qw[and subject], "^\Q$subject\E\$");
     93        } else {
     94            $filter = "jabber-room-$room";
     95            BarnOwl::command(qw[filter], $filter,
     96                             qw[type ^jabber$ and room], "^\Q$room\E\$");
     97        }
    8298        return $filter;
    8399    } elsif ($self->login ne 'none') {
Note: See TracChangeset for help on using the changeset viewer.