~ubuntu-branches/debian/sid/padre/sid

« back to all changes in this revision

Viewing changes to lib/Padre/Wx/Menu/Edit.pm

  • Committer: Bazaar Package Importer
  • Author(s): Damyan Ivanov, gregor herrmann, Damyan Ivanov
  • Date: 2009-11-18 17:48:27 UTC
  • mfrom: (1.1.7 upstream)
  • Revision ID: james.westby@ubuntu.com-20091118174827-srz62scl23gdl88v
Tags: 0.50.ds1-1
[ gregor herrmann ]
* debian/control: change dependency on "libclass-xsaccessor-array-perl
  (>= 1.02)" to "libclass-xsaccessor-perl (>= 1.05-2) |
  libclass-xsaccessor-array-perl (>= 1.02)".

[ Damyan Ivanov ]
* New upstream release
  + copyright: add a new translator
    - describe share/doc/perlopref copyright and licensing
  + update patches:
    - refresh disable-tcp-server.patch
    - drop fix-man-whatis.patch and fix-pod.patch (merged upstream)
    - drop fix-helpprovider-with-no-perlopref.patch: no longer necessary
* repack.sh: in 0.49 padre.exe moved from script/ to bin/
  + perlopref is now properly licensed
* add perl (>= 5.10.1) as a preferred alternative to versioned (build)
  dependencies on libtest-simple-perl and libpod-simple-perl
* update debian/not-real-manual.list for 0.50 (one file added, two files
  changed in size)
* rules: remove cruft from padre.deb
  + license etc from perlopref directory (already present in d/copyright)
  + remove .po files from the .deb (there are .mo files installed)

Show diffs side-by-side

added added

removed removed

Lines of Context:
9
9
use Padre::Wx       ();
10
10
use Padre::Wx::Menu ();
11
11
 
12
 
our $VERSION = '0.48';
 
12
our $VERSION = '0.50';
13
13
our @ISA     = 'Padre::Wx::Menu';
14
14
 
15
15
 
20
20
# Padre::Wx::Menu Methods
21
21
 
22
22
sub new {
 
23
 
 
24
        # TODO: Convert this to Padre::Action::Edit
 
25
 
23
26
        my $class = shift;
24
27
        my $main  = shift;
25
28
 
32
35
        # Undo/Redo
33
36
        $self->{undo} = $self->add_menu_item(
34
37
                $self,
35
 
                name       => 'edit.undo',
36
 
                id         => Wx::wxID_UNDO,
 
38
                name        => 'edit.undo',
 
39
                id          => Wx::wxID_UNDO,
 
40
                need_editor => 1,
 
41
                need        => sub {
 
42
                        my %objects = @_;
 
43
                        return 0 if !defined( $objects{editor} );
 
44
                        return $objects{editor}->CanUndo;
 
45
                },
37
46
                label      => Wx::gettext('&Undo'),
38
47
                shortcut   => 'Ctrl-Z',
39
48
                menu_event => sub {
44
53
 
45
54
        $self->{redo} = $self->add_menu_item(
46
55
                $self,
47
 
                name       => 'edit.redo',
48
 
                id         => Wx::wxID_REDO,
 
56
                name        => 'edit.redo',
 
57
                id          => Wx::wxID_REDO,
 
58
                need_editor => 1,
 
59
                need        => sub {
 
60
                        my %objects = @_;
 
61
                        return 0 if !defined( $objects{editor} );
 
62
                        return $objects{editor}->CanRedo;
 
63
                },
49
64
                label      => Wx::gettext('&Redo'),
50
65
                shortcut   => 'Ctrl-Y',
51
66
                menu_event => sub {
66
81
 
67
82
        $self->add_menu_item(
68
83
                $edit_select,
69
 
                name       => 'edit.select_all',
70
 
                id         => Wx::wxID_SELECTALL,
71
 
                label      => Wx::gettext('Select all'),
72
 
                shortcut   => 'Ctrl-A',
73
 
                menu_event => sub {
 
84
                name        => 'edit.select_all',
 
85
                id          => Wx::wxID_SELECTALL,
 
86
                need_editor => 1,
 
87
                label       => Wx::gettext('Select all'),
 
88
                shortcut    => 'Ctrl-A',
 
89
                menu_event  => sub {
74
90
                        require Padre::Wx::Editor;
75
91
                        Padre::Wx::Editor::text_select_all(@_);
76
92
                },
80
96
 
81
97
        $self->add_menu_item(
82
98
                $edit_select,
83
 
                name       => 'edit.mark_selection_start',
84
 
                label      => Wx::gettext('Mark selection start'),
85
 
                shortcut   => 'Ctrl-[',
86
 
                menu_event => sub {
 
99
                name        => 'edit.mark_selection_start',
 
100
                need_editor => 1,
 
101
                label       => Wx::gettext('Mark selection start'),
 
102
                shortcut    => 'Ctrl-[',
 
103
                menu_event  => sub {
87
104
                        my $editor = Padre::Current->editor or return;
88
105
                        $editor->text_selection_mark_start;
89
106
                },
91
108
 
92
109
        $self->add_menu_item(
93
110
                $edit_select,
94
 
                name       => 'edit.mark_selection_end',
95
 
                label      => Wx::gettext('Mark selection end'),
96
 
                shortcut   => 'Ctrl-]',
97
 
                menu_event => sub {
 
111
                name        => 'edit.mark_selection_end',
 
112
                need_editor => 1,
 
113
                label       => Wx::gettext('Mark selection end'),
 
114
                shortcut    => 'Ctrl-]',
 
115
                menu_event  => sub {
98
116
                        my $editor = Padre::Current->editor or return;
99
117
                        $editor->text_selection_mark_end;
100
118
                },
102
120
 
103
121
        $self->add_menu_item(
104
122
                $edit_select,
105
 
                name       => 'edit.clear_selection_marks',
106
 
                label      => Wx::gettext('Clear selection marks'),
107
 
                menu_event => sub {
 
123
                name        => 'edit.clear_selection_marks',
 
124
                need_editor => 1,
 
125
                label       => Wx::gettext('Clear selection marks'),
 
126
                menu_event  => sub {
108
127
                        require Padre::Wx::Editor;
109
128
                        Padre::Wx::Editor::text_selection_clear_marks(@_);
110
129
                },
113
132
        # Cut and Paste
114
133
        $self->{cut} = $self->add_menu_item(
115
134
                $self,
116
 
                name       => 'edit.cut',
117
 
                id         => Wx::wxID_CUT,
118
 
                label      => Wx::gettext('Cu&t'),
119
 
                shortcut   => 'Ctrl-X',
120
 
                menu_event => sub {
 
135
                name           => 'edit.cut',
 
136
                id             => Wx::wxID_CUT,
 
137
                need_editor    => 1,
 
138
                need_selection => 1,
 
139
                label          => Wx::gettext('Cu&t'),
 
140
                shortcut       => 'Ctrl-X',
 
141
                menu_event     => sub {
121
142
                        my $editor = Padre::Current->editor or return;
122
143
                        $editor->Cut;
123
144
                },
125
146
 
126
147
        $self->{copy} = $self->add_menu_item(
127
148
                $self,
128
 
                name       => 'edit.copy',
129
 
                id         => Wx::wxID_COPY,
130
 
                label      => Wx::gettext('&Copy'),
131
 
                shortcut   => 'Ctrl-C',
132
 
                menu_event => sub {
 
149
                name           => 'edit.copy',
 
150
                id             => Wx::wxID_COPY,
 
151
                need_editor    => 1,
 
152
                need_selection => 1,
 
153
                label          => Wx::gettext('&Copy'),
 
154
                shortcut       => 'Ctrl-C',
 
155
                menu_event     => sub {
133
156
                        my $editor = Padre::Current->editor or return;
134
157
                        $editor->Copy;
135
158
                },
145
168
 
146
169
        $self->add_menu_item(
147
170
                $edit_copy,
148
 
                name       => 'edit.copy_filename',
149
 
                label      => Wx::gettext('Copy full filename'),
150
 
                menu_event => sub {
 
171
                name        => 'edit.copy_filename',
 
172
                need_editor => 1,
 
173
                need_file   => 1,
 
174
                label       => Wx::gettext('Copy full filename'),
 
175
                menu_event  => sub {
151
176
                        my $document = Padre::Current->document;
152
177
                        return if !defined( $document->{file} );
153
178
                        my $editor = Padre::Current->editor;
157
182
 
158
183
        $self->add_menu_item(
159
184
                $edit_copy,
160
 
                name       => 'edit.copy_basename',
161
 
                label      => Wx::gettext('Copy filename'),
162
 
                menu_event => sub {
 
185
                name        => 'edit.copy_basename',
 
186
                need_editor => 1,
 
187
                need_file   => 1,
 
188
                label       => Wx::gettext('Copy filename'),
 
189
                menu_event  => sub {
163
190
                        my $document = Padre::Current->document;
164
191
                        return if !defined( $document->{file} );
165
192
                        my $editor = Padre::Current->editor;
169
196
 
170
197
        $self->add_menu_item(
171
198
                $edit_copy,
172
 
                name       => 'edit.copy_dirname',
173
 
                label      => Wx::gettext('Copy directory name'),
174
 
                menu_event => sub {
 
199
                name        => 'edit.copy_dirname',
 
200
                need_file   => 1,
 
201
                need_editor => 1,
 
202
                label       => Wx::gettext('Copy directory name'),
 
203
                menu_event  => sub {
175
204
                        my $document = Padre::Current->document;
176
205
                        return if !defined( $document->{file} );
177
206
                        my $editor = Padre::Current->editor;
181
210
 
182
211
        $self->add_menu_item(
183
212
                $edit_copy,
184
 
                name       => 'edit.copy_content',
185
 
                label      => Wx::gettext('Copy editor content'),
186
 
                menu_event => sub {
 
213
                name        => 'edit.copy_content',
 
214
                need_editor => 1,
 
215
                label       => Wx::gettext('Copy editor content'),
 
216
                menu_event  => sub {
187
217
                        my $document = Padre::Current->document;
188
218
                        return if !defined( $document->{file} );
189
219
                        my $editor = Padre::Current->editor;
194
224
        # Paste
195
225
        $self->{paste} = $self->add_menu_item(
196
226
                $self,
197
 
                name       => 'edit.paste',
198
 
                id         => Wx::wxID_PASTE,
199
 
                label      => Wx::gettext('&Paste'),
200
 
                shortcut   => 'Ctrl-V',
201
 
                menu_event => sub {
 
227
                name        => 'edit.paste',
 
228
                need_editor => 1,
 
229
                id          => Wx::wxID_PASTE,
 
230
                label       => Wx::gettext('&Paste'),
 
231
                shortcut    => 'Ctrl-V',
 
232
                menu_event  => sub {
202
233
                        my $editor = Padre::Current->editor or return;
203
234
                        $editor->Paste;
204
235
                },
219
250
 
220
251
        $self->{next_problem} = $self->add_menu_item(
221
252
                $self,
222
 
                name       => 'edit.next_problem',
223
 
                label      => Wx::gettext('&Next Problem'),
224
 
                shortcut   => 'Ctrl-.',
225
 
                menu_event => sub {
 
253
                name        => 'edit.next_problem',
 
254
                need_editor => 1,
 
255
                label       => Wx::gettext('&Next Problem'),
 
256
                shortcut    => 'Ctrl-.',
 
257
                menu_event  => sub {
226
258
                        $main->{syntax}->select_next_problem;
227
259
                },
228
260
        );
229
261
 
230
262
        $self->{quick_fix} = $self->add_menu_item(
231
263
                $self,
232
 
                name       => 'edit.quick_fix',
233
 
                label      => Wx::gettext('&Quick Fix'),
234
 
                shortcut   => 'Ctrl-2',
235
 
                menu_event => sub {
 
264
                name        => 'edit.quick_fix',
 
265
                need_editor => 1,
 
266
                label       => Wx::gettext('&Quick Fix'),
 
267
                shortcut    => 'Ctrl-2',
 
268
                menu_event  => sub {
236
269
 
237
270
                        my $doc = Padre::Current->document;
238
271
                        return if not $doc;
286
319
 
287
320
        $self->{autocomp} = $self->add_menu_item(
288
321
                $self,
289
 
                name       => 'edit.autocomp',
290
 
                label      => Wx::gettext('&AutoComplete'),
291
 
                shortcut   => 'Ctrl-P',
292
 
                menu_event => sub {
 
322
                name        => 'edit.autocomp',
 
323
                need_editor => 1,
 
324
                label       => Wx::gettext('&AutoComplete'),
 
325
                shortcut    => 'Ctrl-Space',
 
326
                menu_event  => sub {
293
327
                        Padre::Wx::Main::on_autocompletion(@_);
294
328
                },
295
329
        );
296
330
 
297
331
        $self->{brace_match} = $self->add_menu_item(
298
332
                $self,
299
 
                name       => 'edit.brace_match',
300
 
                label      => Wx::gettext('&Brace matching'),
301
 
                shortcut   => 'Ctrl-1',
302
 
                menu_event => sub {
 
333
                name        => 'edit.brace_match',
 
334
                need_editor => 1,
 
335
                label       => Wx::gettext('&Brace matching'),
 
336
                shortcut    => 'Ctrl-1',
 
337
                menu_event  => sub {
303
338
                        Padre::Wx::Main::on_brace_matching(@_);
304
339
                },
305
340
        );
306
341
 
307
342
        $self->{join_lines} = $self->add_menu_item(
308
343
                $self,
309
 
                name       => 'edit.join_lines',
310
 
                label      => Wx::gettext('&Join lines'),
311
 
                shortcut   => 'Ctrl-J',
312
 
                menu_event => sub {
 
344
                name           => 'edit.join_lines',
 
345
                need_editor    => 1,
 
346
                need_selection => 1,
 
347
                label          => Wx::gettext('&Join lines'),
 
348
                shortcut       => 'Ctrl-J',
 
349
                menu_event     => sub {
313
350
                        Padre::Wx::Main::on_join_lines(@_);
314
351
                },
315
352
        );
319
356
 
320
357
        $self->{insert_special} = $self->add_menu_item(
321
358
                $submenu,
322
 
                name       => 'edit.insert.insert_special',
323
 
                label      => Wx::gettext('Insert Special Value'),
324
 
                shortcut   => 'Ctrl-Shift-I',
325
 
                menu_event => sub {
 
359
                name        => 'edit.insert.insert_special',
 
360
                need_editor => 1,
 
361
                label       => Wx::gettext('Insert Special Value'),
 
362
                shortcut    => 'Ctrl-Shift-I',
 
363
                menu_event  => sub {
326
364
                        require Padre::Wx::Dialog::SpecialValues;
327
365
                        Padre::Wx::Dialog::SpecialValues->insert_special(@_);
328
366
                },
331
369
 
332
370
        $self->{snippets} = $self->add_menu_item(
333
371
                $submenu,
334
 
                name       => 'edit.insert.snippets',
335
 
                label      => Wx::gettext('Snippets'),
336
 
                shortcut   => 'Ctrl-Shift-A',
337
 
                menu_event => sub {
 
372
                name        => 'edit.insert.snippets',
 
373
                need_editor => 1,
 
374
                label       => Wx::gettext('Snippets'),
 
375
                shortcut    => 'Ctrl-Shift-A',
 
376
                menu_event  => sub {
338
377
                        require Padre::Wx::Dialog::Snippets;
339
378
                        Padre::Wx::Dialog::Snippets->snippets(@_);
340
379
                },
341
380
        );
342
381
 
 
382
        $self->{insert_from_file} = $self->add_menu_item(
 
383
                $submenu,
 
384
                name        => 'edit.insert.from_file',
 
385
                need_editor => 1,
 
386
                label       => Wx::gettext('Insert From File...'),
 
387
                menu_event  => sub {
 
388
                        Padre::Wx::Main::on_insert_from_file(@_);
 
389
                },
 
390
        );
 
391
 
343
392
        $self->AppendSeparator;
344
393
 
345
394
        # Commenting
346
395
        $self->{comment_toggle} = $self->add_menu_item(
347
396
                $self,
348
 
                name       => 'edit.comment_toggle',
349
 
                label      => Wx::gettext('&Toggle Comment'),
350
 
                shortcut   => 'Ctrl-Shift-C',
351
 
                menu_event => sub {
 
397
                name           => 'edit.comment_toggle',
 
398
                need_editor    => 1,
 
399
                need_selection => 1,
 
400
                label          => Wx::gettext('&Toggle Comment'),
 
401
                shortcut       => 'Ctrl-Shift-C',
 
402
                menu_event     => sub {
352
403
                        Padre::Wx::Main::on_comment_block( $_[0], 'TOGGLE' );
353
404
                },
354
405
        );
355
406
 
356
407
        $self->{comment} = $self->add_menu_item(
357
408
                $self,
358
 
                name       => 'edit.comment',
359
 
                label      => Wx::gettext('&Comment Selected Lines'),
360
 
                shortcut   => 'Ctrl-M',
361
 
                menu_event => sub {
 
409
                name           => 'edit.comment',
 
410
                need_editor    => 1,
 
411
                need_selection => 1,
 
412
                label          => Wx::gettext('&Comment Selected Lines'),
 
413
                shortcut       => 'Ctrl-M',
 
414
                menu_event     => sub {
362
415
                        Padre::Wx::Main::on_comment_block( $_[0], 'COMMENT' );
363
416
                },
364
417
        );
365
418
 
366
419
        $self->{uncomment} = $self->add_menu_item(
367
420
                $self,
368
 
                name       => 'edit.uncomment',
369
 
                label      => Wx::gettext('&Uncomment Selected Lines'),
370
 
                shortcut   => 'Ctrl-Shift-M',
371
 
                menu_event => sub {
 
421
                name           => 'edit.uncomment',
 
422
                need_editor    => 1,
 
423
                need_selection => 1,
 
424
                label          => Wx::gettext('&Uncomment Selected Lines'),
 
425
                shortcut       => 'Ctrl-Shift-M',
 
426
                menu_event     => sub {
372
427
                        Padre::Wx::Main::on_comment_block( $_[0], 'UNCOMMENT' );
373
428
                },
374
429
        );
385
440
 
386
441
        $self->{convert_encoding_system} = $self->add_menu_item(
387
442
                $self->{convert_encoding},
388
 
                name       => 'edit.convert_encoding_system',
389
 
                label      => Wx::gettext('Encode document to System Default'),
390
 
                menu_event => sub {
 
443
                name        => 'edit.convert_encoding_system',
 
444
                need_editor => 1,
 
445
                label       => Wx::gettext('Encode document to System Default'),
 
446
                menu_event  => sub {
391
447
                        require Padre::Wx::Dialog::Encode;
392
448
                        Padre::Wx::Dialog::Encode::encode_document_to_system_default(@_);
393
449
                },
395
451
 
396
452
        $self->{convert_encoding_utf8} = $self->add_menu_item(
397
453
                $self->{convert_encoding},
398
 
                name       => 'edit.convert_encoding_utf8',
399
 
                label      => Wx::gettext('Encode document to utf-8'),
400
 
                menu_event => sub {
 
454
                name        => 'edit.convert_encoding_utf8',
 
455
                need_editor => 1,
 
456
                label       => Wx::gettext('Encode document to utf-8'),
 
457
                menu_event  => sub {
401
458
                        require Padre::Wx::Dialog::Encode;
402
459
                        Padre::Wx::Dialog::Encode::encode_document_to_utf8(@_);
403
460
                },
405
462
 
406
463
        $self->{convert_encoding_to} = $self->add_menu_item(
407
464
                $self->{convert_encoding},
408
 
                name       => 'edit.convert_encoding_to',
409
 
                label      => Wx::gettext('Encode document to...'),
410
 
                menu_event => sub {
 
465
                name        => 'edit.convert_encoding_to',
 
466
                need_editor => 1,
 
467
                label       => Wx::gettext('Encode document to...'),
 
468
                menu_event  => sub {
411
469
                        require Padre::Wx::Dialog::Encode;
412
470
                        Padre::Wx::Dialog::Encode::encode_document_to(@_);
413
471
                },
422
480
 
423
481
        $self->{convert_nl_windows} = $self->add_menu_item(
424
482
                $self->{convert_nl},
425
 
                name       => 'edit.convert_nl_windows',
426
 
                label      => Wx::gettext('EOL to Windows'),
427
 
                menu_event => sub {
 
483
                name        => 'edit.convert_nl_windows',
 
484
                need_editor => 1,
 
485
                label       => Wx::gettext('EOL to Windows'),
 
486
                menu_event  => sub {
428
487
                        $_[0]->convert_to('WIN');
429
488
                },
430
489
        );
431
490
 
432
491
        $self->{convert_nl_unix} = $self->add_menu_item(
433
492
                $self->{convert_nl},
434
 
                name       => 'edit.convert_nl_unix',
435
 
                label      => Wx::gettext('EOL to Unix'),
436
 
                menu_event => sub {
 
493
                name        => 'edit.convert_nl_unix',
 
494
                need_editor => 1,
 
495
                label       => Wx::gettext('EOL to Unix'),
 
496
                menu_event  => sub {
437
497
                        $_[0]->convert_to('UNIX');
438
498
                },
439
499
        );
440
500
 
441
501
        $self->{convert_nl_mac} = $self->add_menu_item(
442
502
                $self->{convert_nl},
443
 
                name       => 'edit.convert_nl_mac',
444
 
                label      => Wx::gettext('EOL to Mac Classic'),
445
 
                menu_event => sub {
 
503
                name        => 'edit.convert_nl_mac',
 
504
                need_editor => 1,
 
505
                label       => Wx::gettext('EOL to Mac Classic'),
 
506
                menu_event  => sub {
446
507
                        $_[0]->convert_to('MAC');
447
508
                },
448
509
        );
457
518
 
458
519
        $self->{tabs_to_spaces} = $self->add_menu_item(
459
520
                $self->{tabs},
460
 
                name       => 'edit.tabs_to_spaces',
461
 
                label      => Wx::gettext('Tabs to Spaces...'),
462
 
                menu_event => sub {
 
521
                name        => 'edit.tabs_to_spaces',
 
522
                need_editor => 1,
 
523
                label       => Wx::gettext('Tabs to Spaces...'),
 
524
                menu_event  => sub {
463
525
                        $_[0]->on_tab_and_space('Tab_to_Space');
464
526
                },
465
527
        );
466
528
 
467
529
        $self->{spaces_to_tabs} = $self->add_menu_item(
468
530
                $self->{tabs},
469
 
                name       => 'edit.spaces_to_tabs',
470
 
                label      => Wx::gettext('Spaces to Tabs...'),
471
 
                menu_event => sub {
 
531
                name        => 'edit.spaces_to_tabs',
 
532
                need_editor => 1,
 
533
                label       => Wx::gettext('Spaces to Tabs...'),
 
534
                menu_event  => sub {
472
535
                        $_[0]->on_tab_and_space('Space_to_Tab');
473
536
                },
474
537
        );
477
540
 
478
541
        $self->{delete_trailing} = $self->add_menu_item(
479
542
                $self->{tabs},
480
 
                name       => 'edit.delete_trailing',
481
 
                label      => Wx::gettext('Delete Trailing Spaces'),
482
 
                menu_event => sub {
 
543
                name        => 'edit.delete_trailing',
 
544
                need_editor => 1,
 
545
                label       => Wx::gettext('Delete Trailing Spaces'),
 
546
                menu_event  => sub {
483
547
                        $_[0]->on_delete_ending_space;
484
548
                },
485
549
        );
486
550
 
487
551
        $self->{delete_leading} = $self->add_menu_item(
488
552
                $self->{tabs},
489
 
                name       => 'edit.delete_leading',
490
 
                label      => Wx::gettext('Delete Leading Spaces'),
491
 
                menu_event => sub {
 
553
                name        => 'edit.delete_leading',
 
554
                need_editor => 1,
 
555
                label       => Wx::gettext('Delete Leading Spaces'),
 
556
                menu_event  => sub {
492
557
                        $_[0]->on_delete_leading_space;
493
558
                },
494
559
        );
503
568
 
504
569
        $self->{case_upper} = $self->add_menu_item(
505
570
                $self->{case},
506
 
                name       => 'edit.case_upper',
507
 
                label      => Wx::gettext('Upper All'),
508
 
                shortcut   => 'Ctrl-Shift-U',
509
 
                menu_event => sub {
 
571
                name        => 'edit.case_upper',
 
572
                need_editor => 1,
 
573
                label       => Wx::gettext('Upper All'),
 
574
                shortcut    => 'Ctrl-Shift-U',
 
575
                menu_event  => sub {
510
576
                        $_[0]->current->editor->UpperCase;
511
577
                },
512
578
        );
513
579
 
514
580
        $self->{case_lower} = $self->add_menu_item(
515
581
                $self->{case},
516
 
                name       => 'edit.case_lower',
517
 
                label      => Wx::gettext('Lower All'),
518
 
                shortcut   => 'Ctrl-U',
519
 
                menu_event => sub {
 
582
                name        => 'edit.case_lower',
 
583
                need_editor => 1,
 
584
                label       => Wx::gettext('Lower All'),
 
585
                shortcut    => 'Ctrl-U',
 
586
                menu_event  => sub {
520
587
                        $_[0]->current->editor->LowerCase;
521
588
                },
522
589
        );
533
600
 
534
601
        $self->{diff2saved} = $self->add_menu_item(
535
602
                $self->{diff},
536
 
                name       => 'edit.diff2saved',
537
 
                label      => Wx::gettext('Diff to Saved Version'),
538
 
                menu_event => sub {
 
603
                name        => 'edit.diff2saved',
 
604
                need_editor => 1,
 
605
                label       => Wx::gettext('Diff to Saved Version'),
 
606
                menu_event  => sub {
539
607
                        Padre::Wx::Main::on_diff(@_);
540
608
                },
541
609
        );
542
610
        $self->{diff}->AppendSeparator;
543
611
        $self->{applydiff2file} = $self->add_menu_item(
544
612
                $self->{diff},
545
 
                name       => 'edit.applydiff2file',
546
 
                label      => Wx::gettext('Apply Diff to File'),
547
 
                menu_event => sub {
 
613
                name        => 'edit.applydiff2file',
 
614
                need_editor => 1,
 
615
                label       => Wx::gettext('Apply Diff to File'),
 
616
                menu_event  => sub {
548
617
                        Padre::Wx::Main::on_diff(@_);
549
618
                },
550
619
        );
551
620
        $self->{applydiff2project} = $self->add_menu_item(
552
621
                $self->{diff},
553
 
                name       => 'edit.applydiff2project',
554
 
                label      => Wx::gettext('Apply Diff to Project'),
555
 
                menu_event => sub {
 
622
                name        => 'edit.applydiff2project',
 
623
                need_editor => 1,
 
624
                label       => Wx::gettext('Apply Diff to Project'),
 
625
                menu_event  => sub {
556
626
                        Padre::Wx::Main::on_diff(@_);
557
627
                },
558
628
        );
559
629
 
560
 
        $self->{insert_from_file} = $self->add_menu_item(
561
 
                $self,
562
 
                name       => 'edit.insert_from_file',
563
 
                label      => Wx::gettext('Insert From File...'),
 
630
        # End diff tools
 
631
 
 
632
 
 
633
        $self->{filter_tool} = $self->add_menu_item(
 
634
                $self,
 
635
                name        => 'edit.filter_tool',
 
636
                need_editor => 1,
 
637
                label       => Wx::gettext('Filter through external tool'),
 
638
                comment     => Wx::gettext('Filters the selection (or the whole document) through any external command.'),
 
639
                menu_event  => sub {
 
640
                        Padre::Wx::Main::on_filter_tool(@_);
 
641
                },
 
642
        );
 
643
 
 
644
        $self->AppendSeparator;
 
645
 
 
646
        $self->add_menu_item(
 
647
                $self,
 
648
                name       => 'edit.regex',
 
649
                label      => Wx::gettext('Regex editor'),
564
650
                menu_event => sub {
565
 
                        Padre::Wx::Main::on_insert_from_file(@_);
 
651
                        Padre::Wx::Main::open_regex_editor(@_);
566
652
                },
567
653
        );
568
654
 
577
663
 
578
664
        $self->{show_as_hex} = $self->add_menu_item(
579
665
                $self->{show_as_number},
580
 
                name       => 'edit.show_as_hex',
581
 
                label      => Wx::gettext('Show as hexa'),
582
 
                menu_event => sub {
 
666
                name        => 'edit.show_as_hex',
 
667
                need_editor => 1,
 
668
                label       => Wx::gettext('Show as hexa'),
 
669
                menu_event  => sub {
583
670
                        Padre::Wx::Main::show_as_numbers( @_, 'hex' );
584
671
                },
585
672
        );
586
673
 
587
674
        $self->{show_as_decimal} = $self->add_menu_item(
588
675
                $self->{show_as_number},
589
 
                name       => 'edit.show_as_decimal',
590
 
                label      => Wx::gettext('Show as decimal'),
591
 
                menu_event => sub {
 
676
                name        => 'edit.show_as_decimal',
 
677
                need_editor => 1,
 
678
                label       => Wx::gettext('Show as decimal'),
 
679
                menu_event  => sub {
592
680
                        Padre::Wx::Main::show_as_numbers( @_, 'decimal' );
593
681
                },
594
682
        );
608
696
        return $self;
609
697
}
610
698
 
 
699
sub title {
 
700
        my $self = shift;
 
701
 
 
702
        return Wx::gettext('&Edit');
 
703
}
 
704
 
611
705
sub refresh {
612
706
        my $self     = shift;
613
707
        my $current  = _CURRENT(@_);