ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/kgsueme/kgsueme/roomlist.pl
(Generate patch)

Comparing kgsueme/kgsueme/roomlist.pl (file contents):
Revision 1.3 by pcg, Sat May 31 13:58:32 2003 UTC vs.
Revision 1.4 by pcg, Sun Jun 1 04:52:16 2003 UTC

1package roomlist; 1package roomlist;
2
3use KGS::Constants;
2 4
3use base KGS::Listener::Roomlist; 5use base KGS::Listener::Roomlist;
4use base gtk::widget; 6use base gtk::widget;
5 7
6sub new { 8sub new {
19 21
20 $vbox->pack_start((my $sw = new Gtk2::ScrolledWindow), 1, 1, 0); 22 $vbox->pack_start((my $sw = new Gtk2::ScrolledWindow), 1, 1, 0);
21 $sw->set_policy("automatic", "always"); 23 $sw->set_policy("automatic", "always");
22 24
23 $self->{roomlist} = new Gtk2::ListStore Glib::Scalar, Glib::String, Glib::String, Glib::Int, Glib::Int, Glib::Int, Glib::Int; 25 $self->{roomlist} = new Gtk2::ListStore Glib::Scalar, Glib::String, Glib::String, Glib::Int, Glib::Int, Glib::Int, Glib::Int;
26 gtk::state $self->{roomlist}, "roomlist::model", undef, modelsortorder => [2, 'descending'];
24 27
25 $sw->add(my $treeview = new Gtk2::TreeView $self->{roomlist}); 28 $sw->add(my $treeview = new Gtk2::TreeView $self->{roomlist});
26 29
27 $treeview->set_search_column(1); 30 $treeview->set_search_column (1);
28 31
29 my $idx = 1; 32 my $idx = 1;
30 for ("Group", "Room Name", "Users", "Games", "Flags", "Channel") { 33 for ("Group", "Room Name", "Us", "Gs", "Fs", "Ch") {
31 $renderer = $_ eq "Room Name" ? $gtk::text_renderer : $gtk::int_renderer; 34 $renderer = $idx < 3 ? $gtk::text_renderer : $gtk::int_renderer;
32 35
33 # Gtk2-bug, need to keep these objects around 36 # Gtk2-bug, need to keep these objects around
34 my $column = $self->{rlcolumns}[$idx] = Gtk2::TreeViewColumn->new_with_attributes ($_, $renderer, text => $idx); 37 my $column = $self->{rlcolumns}[$idx] = Gtk2::TreeViewColumn->new_with_attributes ($_, $renderer, text => $idx);
35 38
36 $column->set_sort_column_id($idx); 39 $column->set_sort_column_id($idx);
37 $column->set(resizable => 1); 40 $column->set(resizable => 1);
38 $column->set(sizing => 'fixed'); 41 $column->set(sizing => 'fixed');
39 $column->set(clickable => 1); 42 $column->set(clickable => 1);
40 gtk::state $column, "roomlist::model::$_", undef, column_size => [0, 60, 450, 60, 60, 60, 60]->[$idx]; 43 gtk::state $column, "roomlist::model::$_", undef,
44 column_size => [0, 60, 450, 60, 60, 60, 60]->[$idx];
41 $treeview->append_column ($column); 45 $treeview->append_column ($column);
42 46
43 $idx++; 47 $idx++;
44 } 48 }
45 49
75 $l->clear; 79 $l->clear;
76 80
77 my $row = 0; 81 my $row = 0;
78 for (values %{$self->{rooms}}) { 82 for (values %{$self->{rooms}}) {
79 $l->set ($l->append, 83 $l->set ($l->append,
80 0, $_, 84 0 => $_,
81 1, $_->{group}, 85 1 => ($room_group{$_->{group}} || $_->{group}),
82 2, $_->{name}, 86 2 => $_->{name},
83 3, $_->{users}, 87 3 => $_->{users},
84 4, $_->{games}, 88 4 => $_->{games},
85 5, $_->{flags}, 89 5 => $_->{flags},
86 6, $_->{channel}); 90 6 => $_->{channel});
87 } 91 }
88 92
89 delete $self->{event_update}; 93 delete $self->{event_update};
90 0; 94 0;
91 }; 95 };

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines