… | |
… | |
75 | } else { |
75 | } else { |
76 | |
76 | |
77 | delete $arch->{$key}; |
77 | delete $arch->{$key}; |
78 | } |
78 | } |
79 | |
79 | |
|
|
80 | $self->{change_cb}->($arch) |
|
|
81 | if defined $self->{change_cb}; |
|
|
82 | |
80 | # XXX: maybe update a little bit more intelligent... |
83 | # XXX: maybe update a little bit more intelligent... |
81 | $self->set_arch ($arch); |
84 | $self->set_arch ($arch, $self->{change_cb}); |
82 | } |
85 | } |
83 | |
86 | |
84 | sub set_attr { |
87 | sub set_attr { |
85 | my ($self, $key, $value) = @_; |
88 | my ($self, $key, $value) = @_; |
86 | |
89 | |
… | |
… | |
91 | $self->update_arch ($self->{arch}, $key, $value); |
94 | $self->update_arch ($self->{arch}, $key, $value); |
92 | } |
95 | } |
93 | } |
96 | } |
94 | |
97 | |
95 | sub set_arch { |
98 | sub set_arch { |
96 | my ($self, $arch, $ro) = @_; |
99 | my ($self, $arch, $change_cb) = @_; |
|
|
100 | |
|
|
101 | $self->{change_cb} = $change_cb; |
97 | |
102 | |
98 | $self->{arch} = $arch; |
103 | $self->{arch} = $arch; |
99 | |
104 | |
100 | if ($ro) { |
105 | if (not defined $change_cb) { |
101 | |
106 | |
102 | $self->{al}->set (editable => 0); |
107 | $self->{al}->set (editable => 0); |
103 | $self->{raw_al}->set (editable => 0); |
108 | $self->{raw_al}->set (editable => 0); |
104 | $self->{msg_view}->set (editable => 0); |
109 | $self->{msg_view}->set (editable => 0); |
105 | $self->{lore_view}->set (editable => 0); |
110 | $self->{lore_view}->set (editable => 0); |
… | |
… | |
123 | |
128 | |
124 | $self->{arch_name_lbl}->set_text ( |
129 | $self->{arch_name_lbl}->set_text ( |
125 | $arch->{_name} . ($arch->{name} ? " - $arch->{name}" : "") |
130 | $arch->{_name} . ($arch->{name} ? " - $arch->{name}" : "") |
126 | ); |
131 | ); |
127 | |
132 | |
128 | my $al_arch = $Crossfire::ARCH->{$arch->{_name}}; |
133 | my $al_arch = $Crossfire::ARCH{$arch->{_name}}; |
129 | |
134 | |
130 | if ($al_arch) { |
135 | if ($al_arch) { |
131 | |
136 | |
132 | $self->{al_arch}->set_arch ($al_arch); |
137 | $self->{al_arch}->set_arch ($al_arch); |
133 | |
138 | |
134 | } else { |
139 | } else { |
|
|
140 | print "NOARCH FOR: $arch->{_name}\n"; |
135 | |
141 | |
136 | $self->{al_arch}->set_arch ({ noarch => 'noarch' }); |
142 | $self->{al_arch}->set_arch ({ noarch => 'noarch' }); |
137 | } |
143 | } |
138 | } |
144 | } |
139 | |
145 | |