Tue, 03 Feb 2004 06:55:59 +0000
[gaim-migrate @ 8926]
From Alex Smith (madalex):
"In the Buddy List if you turn on 'Show Offline Buddies' then empty
groups are shown regardless of the setting of 'Show Empty Groups'.
This patch for gtkblist.c should fix this. It is a very straightforward
change."
committer: Mark Doliner <markdoliner@pidgin.im>
| 2803 | 1 | #!/usr/bin/perl -w |
| 2 | # licq2gaim.pl | |
| 3 | # | |
| 4 | # Arturo Cisneros, Jr <acjr@hal-pc.org> | |
| 5 | # GPL'd | |
| 6 | ||
| 7 | use strict; | |
| 8 | ||
| 9 | my $DIR = "$ENV{HOME}/.licq"; | |
| 10 | my $GAIM = "$ENV{HOME}/.gaim"; | |
| 11 | my (@UINS, %USERS) = (); | |
| 12 | my $OWNER = ""; | |
| 13 | ||
| 14 | ||
| 15 | get_uins(); | |
| 16 | ||
| 17 | foreach my $uin (@UINS) { | |
| 18 | $USERS{$uin} = get_alias($uin); | |
| 19 | } | |
| 20 | ||
| 21 | get_owner(); | |
| 22 | write_list(); | |
| 23 | ||
| 24 | ||
| 25 | sub get_uins { | |
| 26 | ||
| 27 | opendir(DIR, "$DIR/users") or die "Couldn't open dir $DIR/users/: $!"; | |
| 28 | @UINS = grep !/^\./, readdir DIR; | |
| 29 | closedir(DIR); | |
| 30 | } | |
| 31 | ||
| 32 | sub get_owner { | |
| 33 | ||
| 34 | my @foo = (); | |
| 35 | ||
| 36 | open(FILE, "<$DIR/owner.uin") or die "Couldn't open file $DIR/owner.uin $!"; | |
| 37 | while(<FILE>) { | |
| 38 | next unless /^Uin/; | |
| 39 | @foo = split; | |
| 40 | last; | |
| 41 | } | |
| 42 | close(FILE); | |
| 43 | ||
| 44 | $OWNER = $foo[2]; | |
| 45 | } | |
| 46 | ||
| 47 | sub get_alias { | |
| 48 | ||
| 49 | my @foo = (); | |
| 50 | ||
| 51 | open(FILE, "<$DIR/users/$_[0]") or die "Couldn't open $DIR/users/$_[0]: $!"; | |
| 52 | while(<FILE>) { | |
| 53 | next unless /^Alias/; | |
| 54 | @foo = split / /, $_, 3; | |
| 55 | last; | |
| 56 | } | |
| 57 | close(FILE); | |
| 58 | ||
| 59 | return $foo[2]; | |
| 60 | } | |
| 61 | ||
| 62 | sub write_list { | |
| 63 | ||
| 64 | # Backup Original | |
| 65 | if( -e "$GAIM/$OWNER.3.blist") { | |
| 66 | rename("$GAIM/$OWNER.3.blist","$GAIM/$OWNER.3.bak"); | |
| 67 | } | |
| 68 | ||
| 69 | # Write new file | |
| 70 | open(FILE, ">$GAIM/$OWNER.3.blist") or die "Couldn't open file for writing: $!"; | |
| 71 | print FILE "m 1\n"; | |
| 72 | print FILE "g ICQBuddies\n"; | |
| 73 | while(my($key, $value) = each %USERS) { | |
| 74 | $key =~ s/\.uin$//; | |
| 75 | print FILE "b $key:$value"; | |
| 76 | } | |
| 77 | close(FILE); | |
| 78 | } |