… | |
… | |
69 | } |
69 | } |
70 | |
70 | |
71 | sub update_arch { |
71 | sub update_arch { |
72 | my ($self, $arch, $key, $value) = @_; |
72 | my ($self, $arch, $key, $value) = @_; |
73 | |
73 | |
|
|
74 | # took this out because of a bug when defaults from achetypes came back |
74 | if ($value ne '') { |
75 | # if ($value ne '') { |
75 | |
76 | |
76 | my $al_arch = $Crossfire::ARCH{$arch->{_name}}; |
77 | my $al_arch = $Crossfire::ARCH{$arch->{_name}}; |
77 | if (ref $value) { |
78 | if (ref $value) { |
|
|
79 | $arch->{$key} = $value; |
|
|
80 | |
|
|
81 | } else { |
|
|
82 | if (not defined $al_arch->{$key}) { |
|
|
83 | if (not defined $value) { |
|
|
84 | # try to normalize |
|
|
85 | delete $arch->{$key}; |
|
|
86 | } else { |
|
|
87 | # try to normalize |
78 | $arch->{$key} = $value; |
88 | $arch->{$key} = $value; |
79 | |
89 | } |
80 | } else { |
90 | } else { |
81 | if (not defined $al_arch->{$key}) { |
91 | if ($al_arch->{$key} ne $value) { |
82 | if (not $value) { |
|
|
83 | # try to normalize |
|
|
84 | delete $arch->{$key}; |
|
|
85 | } else { |
|
|
86 | # try to normalize |
|
|
87 | $arch->{$key} = $value; |
92 | $arch->{$key} = $value; |
88 | } |
|
|
89 | } else { |
93 | } else { |
90 | if ($al_arch->{$key} ne $value) { |
|
|
91 | $arch->{$key} = $value; |
|
|
92 | } else { |
|
|
93 | # try to normalize |
94 | # try to normalize |
94 | delete $arch->{$key}; |
95 | delete $arch->{$key}; |
95 | } |
|
|
96 | } |
96 | } |
97 | } |
97 | } |
|
|
98 | } |
98 | |
99 | |
99 | } else { |
100 | # } else { |
100 | |
|
|
101 | delete $arch->{$key}; |
101 | # delete $arch->{$key}; |
102 | } |
102 | # } |
103 | |
103 | |
104 | $self->{change_cb}->($arch) |
104 | $self->{change_cb}->($arch) |
105 | if defined $self->{change_cb}; |
105 | if defined $self->{change_cb}; |
106 | } |
106 | } |
107 | |
107 | |
… | |
… | |
157 | $buf->get_text ($buf->get_start_iter, $buf->get_end_iter, 0) |
157 | $buf->get_text ($buf->get_start_iter, $buf->get_end_iter, 0) |
158 | ); |
158 | ); |
159 | }); |
159 | }); |
160 | } |
160 | } |
161 | |
161 | |
|
|
162 | $self->{ntbook}->append_page (my $v = Gtk2::VBox->new, 'doc'); |
|
|
163 | $v->pack_start (my $sw = Gtk2::ScrolledWindow->new, 1, 1, 0); |
|
|
164 | $sw->set_policy ('automatic', 'automatic'); |
|
|
165 | $sw->add (my $tb = $self->{"doc_txt"} = Gtk2::TextView->new); |
|
|
166 | my $buf = $tb->get_buffer; |
|
|
167 | my $desc = pseudohtml2txt $ar->{desc}; |
|
|
168 | my $use = pseudohtml2txt $ar->{use}; |
|
|
169 | $buf->set_text ("Description:\n\n$desc\n\nUse:\n\n$use"); |
|
|
170 | $tb->set_editable (0); |
|
|
171 | $tb->set_wrap_mode ('word'); |
|
|
172 | |
162 | $self->{ttip}->enable; |
173 | $self->{ttip}->enable; |
163 | |
174 | |
164 | $self->show_all; |
175 | $self->show_all; |
165 | } |
176 | } |
166 | |
177 | |