ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/Deliantra-Client/DC/Macro.pm
(Generate patch)

Comparing deliantra/Deliantra-Client/DC/Macro.pm (file contents):
Revision 1.1 by root, Sat Dec 9 02:21:25 2006 UTC vs.
Revision 1.4 by root, Sat Dec 9 22:28:11 2006 UTC

154 $window->connect (key_up => $key_cb); 154 $window->connect (key_up => $key_cb);
155 $window->connect (key_down => $key_cb); 155 $window->connect (key_down => $key_cb);
156 156
157 $window->grab_focus; 157 $window->grab_focus;
158 $window->show; 158 $window->show;
159}
160
161# find macro by event
162sub match_event($) {
163 my ($ev) = @_;
164
165 grep {
166 if (my $key = $_->{accelkey}) {
167 $key->[1] == $ev->{sym}
168 && $key->[0] == ($ev->{mod} & $MODIFIER_MASK)
169 } else {
170 0
171 }
172 } @{ $::PROFILE->{macro} || [] }
159} 173}
160 174
161sub keyboard_setup { 175sub keyboard_setup {
162 my $kbd_setup = new CFPlus::UI::VBox; 176 my $kbd_setup = new CFPlus::UI::VBox;
163 177
321 can_events => 1, 335 can_events => 1,
322 on_button_down => $macro_cb, 336 on_button_down => $macro_cb,
323 ); 337 );
324 338
325 $macros->add (1, $y, new CFPlus::UI::Label 339 $macros->add (1, $y, new CFPlus::UI::Label
326 text => (join "; ", @{ $macro->{action} }), 340 text => (join "; ", @{ $macro->{action} || [] }),
327 tooltip => $tooltip_commands . $tooltip_common, 341 tooltip => $tooltip_commands . $tooltip_common,
328 expand => 1, 342 expand => 1,
329 ellipsise => 3, 343 ellipsise => 3,
330 can_hover => 1, 344 can_hover => 1,
331 can_events => 1, 345 can_events => 1,
340} 354}
341 355
342# this is a shortcut method that asks for a binding 356# this is a shortcut method that asks for a binding
343# and then just binds it. 357# and then just binds it.
344sub quick_macro { 358sub quick_macro {
345 my ($self, $cmds, $end_cb) = @_; 359 my ($cmds, $end_cb) = @_;
346 360
347 my $macro = { 361 my $macro = {
348 action => $cmds, 362 action => $cmds,
349 }; 363 };
350 364
351 trigger_edit $macro, sub { 365 trigger_edit $macro, sub {
352
353 if ($_[0]) { 366 if ($_[0]) {
354 push @{ $::PROFILE->{macro} }, $macro; 367 push @{ $::PROFILE->{macro} }, $macro;
355 $REFRESH_MACRO_LIST->(); 368 $REFRESH_MACRO_LIST->();
356 } 369 }
357 370

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines