… | |
… | |
13 | gtk::state $self->{window}, "room::window", $self->{name}, window_size => [600, 400]; |
13 | gtk::state $self->{window}, "room::window", $self->{name}, window_size => [600, 400]; |
14 | |
14 | |
15 | $self->{window}->signal_connect(delete_event => sub { $self->part; 1 }); |
15 | $self->{window}->signal_connect(delete_event => sub { $self->part; 1 }); |
16 | |
16 | |
17 | $self->{window}->add(my $hpane = new Gtk2::HPaned); |
17 | $self->{window}->add(my $hpane = new Gtk2::HPaned); |
|
|
18 | $hpane->set(position_set => 1); |
18 | gtk::state $hpane, "room::hpane", $self->{name}, hpane_position => 200; |
19 | gtk::state $hpane, "room::hpane", $self->{name}, position => 200; |
19 | |
20 | |
20 | $hpane->add(my $vpane = new Gtk2::VPaned); |
21 | $hpane->add(my $vpane = new Gtk2::VPaned); |
|
|
22 | $hpane->set(position_set => 1); |
21 | gtk::state $vpane, "room::vpane", $self->{name}, vpane_position => 200; |
23 | gtk::state $vpane, "room::vpane", $self->{name}, position => 200; |
|
|
24 | gtk::info 1, $vpane; |
22 | |
25 | |
23 | $vpane->add(my $sw = new Gtk2::ScrolledWindow); |
26 | $vpane->add(my $sw = new Gtk2::ScrolledWindow); |
24 | $sw->set_policy("automatic", "always"); |
27 | $sw->set_policy("automatic", "always"); |
25 | |
28 | |
26 | if (0) { |
29 | if (0) { |
… | |
… | |
52 | }); |
55 | }); |
53 | |
56 | |
54 | $hpane->add(my $sw = new Gtk2::ScrolledWindow); |
57 | $hpane->add(my $sw = new Gtk2::ScrolledWindow); |
55 | $sw->set_policy("automatic", "always"); |
58 | $sw->set_policy("automatic", "always"); |
56 | |
59 | |
|
|
60 | if (0) { |
57 | $sw->add($self->{userlist} = new_with_titles Gtk2::ListStore "User", "Rank", "Flags"); |
61 | $sw->add($self->{userlist} = new_with_titles Gtk2::ListStore "User", "Rank", "Flags"); |
58 | ::clist_autosort $self->{userlist}; |
62 | ::clist_autosort $self->{userlist}; |
59 | gtk::state $self->{userlist}, "room::userlist", $self->{name}, clist_column_widths => [120, 30]; |
63 | gtk::state $self->{userlist}, "room::userlist", $self->{name}, clist_column_widths => [120, 30]; |
|
|
64 | } |
60 | |
65 | |
61 | $self; |
66 | $self; |
62 | } |
67 | } |
63 | |
68 | |
64 | sub join { |
69 | sub join { |
… | |
… | |
84 | |
89 | |
85 | sub event_update_users { |
90 | sub event_update_users { |
86 | my ($self) = @_; |
91 | my ($self) = @_; |
87 | |
92 | |
88 | remove Glib::Source delete $self->{update_users} if $self->{update_users}; |
93 | remove Glib::Source delete $self->{update_users} if $self->{update_users}; |
89 | $self->{update_users} ||= timeout_add Glib::Source 100, sub { |
94 | $self->{update_users} ||= add Glib::Timeout 100, sub { |
90 | return unless $self->{joined}; |
95 | return unless $self->{joined}; |
91 | return; |
96 | return; |
92 | |
97 | |
93 | my $l = $self->{userlist}; |
98 | my $l = $self->{userlist}; |
94 | |
99 | |
… | |
… | |
110 | } |
115 | } |
111 | |
116 | |
112 | sub event_update_games { |
117 | sub event_update_games { |
113 | my ($self) = @_; |
118 | my ($self) = @_; |
114 | |
119 | |
115 | $self->{event_update_games} ||= Gtk2->timeout_add(200, sub { |
120 | $self->{event_update_games} ||= add Glib::Timeout 200, sub { |
|
|
121 | return; |
116 | my $l = $self->{gamelist}; |
122 | my $l = $self->{gamelist}; |
117 | |
123 | |
118 | $l->freeze; |
124 | $l->freeze; |
119 | my $pos = $l->get_vadjustment->get_value; |
125 | my $pos = $l->get_vadjustment->get_value; |
120 | $l->clear; |
126 | $l->clear; |
… | |
… | |
128 | $l->get_vadjustment->set_value($pos); |
134 | $l->get_vadjustment->set_value($pos); |
129 | $l->thaw; |
135 | $l->thaw; |
130 | |
136 | |
131 | delete $self->{event_update_games}; |
137 | delete $self->{event_update_games}; |
132 | 0; |
138 | 0; |
133 | }); |
139 | }; |
134 | } |
140 | } |
135 | |
141 | |
136 | sub event_join { |
142 | sub event_join { |
137 | my ($self) = @_; |
143 | my ($self) = @_; |
138 | $self->SUPER::event_join; |
144 | $self->SUPER::event_join; |
… | |
… | |
141 | } |
147 | } |
142 | |
148 | |
143 | sub event_update_roominfo { |
149 | sub event_update_roominfo { |
144 | my ($self) = @_; |
150 | my ($self) = @_; |
145 | |
151 | |
146 | $self->{text}->insert(undef, undef, undef, "\n$self->{owner}: $self->{description}\n"); |
152 | $self->{text}->append_text("\n$self->{owner}: $self->{description}\n"); |
147 | } |
153 | } |
148 | |
154 | |
149 | 1; |
155 | 1; |
150 | |
156 | |