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

Comparing kgsueme/kgsueme/gamelist.pl (file contents):
Revision 1.19 by pcg, Fri Apr 2 23:16:30 2004 UTC vs.
Revision 1.20 by pcg, Fri May 21 15:32:02 2004 UTC

1package gamelist; 1package gamelist;
2 2
3use KGS::Constants; 3use KGS::Constants;
4 4
5use base gtk::widget; 5use Glib::Object::Subclass
6 Gtk2::VPaned;
6 7
7sub new { 8sub new {
8 my $class = shift; 9 my ($class, %arg) = @_;
9 my $self = $class->SUPER::new(@_); 10 my $self = $class->Glib::Object::new;
11 $self->{$_} = delete $arg{$_} for keys %arg;
10 12
11 $self->{widget} = new Gtk2::VPaned; 13 $self->signal_connect (destroy => sub {
14 %{$_[0]} = ();
15 });
16
12 $self->{widget}->set(position_set => 1); 17 $self->set(position_set => 1);
13 gtk::state $self->{widget}, "gamelist::vpane", undef, position => 60; 18 gtk::state $self, "gamelist::vpane", undef, position => 60;
14 19
15 $self->{model1} = new Gtk2::ListStore Glib::Scalar, 20 $self->{model1} = new Gtk2::ListStore Glib::Scalar,
16 Glib::String, Glib::String, Glib::String, Glib::String, Glib::Int, Glib::String, Glib::String; 21 Glib::String, Glib::String, Glib::String, Glib::String, Glib::Int, Glib::String, Glib::String;
17 gtk::state $self->{model1}, "gamelist::model1", undef, modelsortorder => [4, 'descending']; 22 gtk::state $self->{model1}, "gamelist::model1", undef, modelsortorder => [4, 'descending'];
18 23
19 $self->{widget}->add(my $sw = new Gtk2::ScrolledWindow); 24 $self->add(my $sw = new Gtk2::ScrolledWindow);
20 $sw->set_policy("never", "always"); 25 $sw->set_policy("never", "always");
21 $sw->add($self->{view1} = new Gtk2::TreeView $self->{model1}); 26 $sw->add($self->{view1} = new Gtk2::TreeView $self->{model1});
22 $self->{view1}->set (rules_hint => 1, search_column => 2); 27 $self->{view1}->set (rules_hint => 1, search_column => 2);
23 28
24 $self->{model2} = new Gtk2::ListStore Glib::Scalar, 29 $self->{model2} = new Gtk2::ListStore Glib::Scalar,
25 Glib::String, Glib::String, Glib::String, Glib::String, Glib::Int, 30 Glib::String, Glib::String, Glib::String, Glib::String, Glib::Int,
26 Glib::String, Glib::String, Glib::Int, Glib::Int, Glib::Int, Glib::String; 31 Glib::String, Glib::String, Glib::Int, Glib::Int, Glib::Int, Glib::String;
27 gtk::state $self->{model2}, "gamelist::model1", undef, modelsortorder => [4, 'descending']; 32 gtk::state $self->{model2}, "gamelist::model1", undef, modelsortorder => [4, 'descending'];
28 33
29 $self->{widget}->add(my $sw = new Gtk2::ScrolledWindow); 34 $self->add(my $sw = new Gtk2::ScrolledWindow);
30 $sw->set_policy("never", "always"); 35 $sw->set_policy("never", "always");
31 $sw->add($self->{view2} = new Gtk2::TreeView $self->{model2}); 36 $sw->add($self->{view2} = new Gtk2::TreeView $self->{model2});
32 $self->{view2}->set_search_column(1); 37 $self->{view2}->set_search_column(1);
33 $self->{view2}->set (rules_hint => 1, search_column => 2); 38 $self->{view2}->set (rules_hint => 1, search_column => 2);
34 39
113 ########### 118 ###########
114 119
115 $self->{view1}->signal_connect(row_activated => sub { 120 $self->{view1}->signal_connect(row_activated => sub {
116 my ($widget, $path, $column) = @_; 121 my ($widget, $path, $column) = @_;
117 my $game = $self->{model1}->get ($self->{model1}->get_iter ($path), 0); 122 my $game = $self->{model1}->get ($self->{model1}->get_iter ($path), 0);
118 $self->{app}->open_game (%$game); 123 $self->{app}->open_game (%$game); # challenging private game sis allowed
119 1; 124 1;
120 }); 125 });
121 126
122 $self->{view2}->signal_connect(row_activated => sub { 127 $self->{view2}->signal_connect(row_activated => sub {
123 my ($widget, $path, $column) = @_; 128 my ($widget, $path, $column) = @_;
124 my $game = $self->{model2}->get ($self->{model2}->get_iter ($path), 0); 129 my $game = $self->{model2}->get ($self->{model2}->get_iter ($path), 0);
125 $self->{app}->open_game (%$game); 130 $self->{app}->open_game (%$game) unless $game->option == GAMEOPT_PRIVATE;
126 1; 131 1;
127 }); 132 });
128 133
129 $self; 134 $self;
130} 135}

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines