~ubuntu-branches/ubuntu/quantal/padre/quantal

« back to all changes in this revision

Viewing changes to lib/Padre/Wx/Dialog/Advanced.pm

  • Committer: Package Import Robot
  • Author(s): Dominique Dumont, gregor herrmann, Dominique Dumont
  • Date: 2012-01-04 12:04:20 UTC
  • mfrom: (1.3.3)
  • Revision ID: package-import@ubuntu.com-20120104120420-i5oybqwf91m1d3il
Tags: 0.92.ds1-1
[ gregor herrmann ]
* Remove debian/source/local-options; abort-on-upstream-changes
  and unapply-patches are default in dpkg-source since 1.16.1.
* Swap order of alternative (build) dependencies after the perl
  5.14 transition.

[ Dominique Dumont ]
* Imported Upstream version 0.92.ds1
* removed fix-spelling patch (applied upstream)
* lintian-override: use wildcard to avoid listing a gazillion files
* updated size of some 'not-real-man-page' entries
* rules: remove dekstop cruft (replaced by a file provided in debian
  directory)
* control: removed Breaks statement. Add /me to uploaders. Updated
  dependencies
* rules: make sure that non-DFSG file (i.e. the cute butterfly, sigh)
  is not distributed

Show diffs side-by-side

added added

removed removed

Lines of Context:
8
8
use Padre::Wx             ();
9
9
use Padre::Wx::Role::Main ();
10
10
 
11
 
our $VERSION = '0.90';
 
11
our $VERSION = '0.92';
12
12
our @ISA     = qw{
13
13
        Padre::Wx::Role::Main
14
14
        Wx::Dialog
60
60
                $main,
61
61
                -1,
62
62
                Wx::gettext('Advanced Settings'),
63
 
                Wx::wxDefaultPosition,
64
 
                Wx::wxDefaultSize,
65
 
                Wx::wxDEFAULT_FRAME_STYLE,
 
63
                Wx::DefaultPosition,
 
64
                Wx::DefaultSize,
 
65
                Wx::DEFAULT_FRAME_STYLE,
66
66
        );
67
67
 
68
68
        # Set some internal parameters
73
73
        $self->SetMinSize( [ 750, 550 ] );
74
74
 
75
75
        # Create sizer that will host all controls
76
 
        my $sizer = Wx::BoxSizer->new(Wx::wxHORIZONTAL);
 
76
        my $sizer = Wx::BoxSizer->new(Wx::HORIZONTAL);
77
77
 
78
78
        # Create the controls
79
79
        $self->_create_controls($sizer);
103
103
        $self->{list} = Wx::ListView->new(
104
104
                $self,
105
105
                -1,
106
 
                Wx::wxDefaultPosition,
107
 
                Wx::wxDefaultSize,
108
 
                Wx::wxLC_REPORT | Wx::wxLC_SINGLE_SEL,
 
106
                Wx::DefaultPosition,
 
107
                Wx::DefaultSize,
 
108
                Wx::LC_REPORT | Wx::LC_SINGLE_SEL,
109
109
        );
110
110
        $self->{list}->InsertColumn( 0, Wx::gettext('Preference Name') );
111
111
        $self->{list}->InsertColumn( 1, Wx::gettext('Status') );
137
137
                $self,
138
138
                -1,
139
139
                '',
140
 
                Wx::wxDefaultPosition,
141
 
                Wx::wxDefaultSize,
142
 
                Wx::wxTE_READONLY
 
140
                Wx::DefaultPosition,
 
141
                Wx::DefaultSize,
 
142
                Wx::TE_READONLY
143
143
        );
144
144
        $self->{default_value}->Enable(0);
145
145
 
149
149
                $self,
150
150
                -1,
151
151
                '',
152
 
                Wx::wxDefaultPosition,
153
 
                Wx::wxDefaultSize,
154
 
                Wx::wxTE_READONLY
 
152
                Wx::DefaultPosition,
 
153
                Wx::DefaultSize,
 
154
                Wx::TE_READONLY
155
155
        );
156
156
        $self->{options}->Enable(0);
157
157
 
160
160
                $self,
161
161
                -1,
162
162
                '',
163
 
                Wx::wxDefaultPosition,
164
 
                Wx::wxDefaultSize,
165
 
                Wx::wxTE_READONLY | Wx::wxTE_MULTILINE | Wx::wxNO_FULL_REPAINT_ON_RESIZE
 
163
                Wx::DefaultPosition,
 
164
                Wx::DefaultSize,
 
165
                Wx::TE_READONLY | Wx::TE_MULTILINE | Wx::NO_FULL_REPAINT_ON_RESIZE
166
166
        );
167
167
 
168
168
        $self->{help}->Enable(0);
181
181
 
182
182
        # Save button
183
183
        $self->{button_save} = Wx::Button->new(
184
 
                $self, Wx::wxID_OK, Wx::gettext('S&ave'),
 
184
                $self, Wx::ID_OK, Wx::gettext('S&ave'),
185
185
        );
186
186
        $self->{button_save}->SetDefault;
187
187
 
188
188
        # Cancel button
189
189
        $self->{button_cancel} = Wx::Button->new(
190
 
                $self, Wx::wxID_CANCEL, Wx::gettext('&Cancel'),
 
190
                $self, Wx::ID_CANCEL, Wx::gettext('&Cancel'),
191
191
        );
192
192
 
193
193
        #
195
195
        #
196
196
 
197
197
        # Filter sizer
198
 
        my $filter_sizer = Wx::BoxSizer->new(Wx::wxHORIZONTAL);
199
 
        $filter_sizer->Add( $filter_label,   0, Wx::wxALIGN_CENTER_VERTICAL, 5 );
200
 
        $filter_sizer->Add( $self->{filter}, 1, Wx::wxALIGN_CENTER_VERTICAL, 5 );
 
198
        my $filter_sizer = Wx::BoxSizer->new(Wx::HORIZONTAL);
 
199
        $filter_sizer->Add( $filter_label,   0, Wx::ALIGN_CENTER_VERTICAL, 5 );
 
200
        $filter_sizer->Add( $self->{filter}, 1, Wx::ALIGN_CENTER_VERTICAL, 5 );
201
201
 
202
202
        # Boolean sizer
203
 
        my $boolean_sizer = Wx::BoxSizer->new(Wx::wxHORIZONTAL);
 
203
        my $boolean_sizer = Wx::BoxSizer->new(Wx::HORIZONTAL);
204
204
        $boolean_sizer->AddStretchSpacer;
205
 
        $boolean_sizer->Add( $self->{true},  1, Wx::wxALIGN_CENTER_VERTICAL, 5 );
206
 
        $boolean_sizer->Add( $self->{false}, 1, Wx::wxALIGN_CENTER_VERTICAL, 5 );
 
205
        $boolean_sizer->Add( $self->{true},  1, Wx::ALIGN_CENTER_VERTICAL, 5 );
 
206
        $boolean_sizer->Add( $self->{false}, 1, Wx::ALIGN_CENTER_VERTICAL, 5 );
207
207
        $boolean_sizer->AddStretchSpacer;
208
208
 
209
209
        # Store boolean sizer reference for later usage
210
210
        $self->{boolean} = $boolean_sizer;
211
211
 
212
212
        # Value setter sizer
213
 
        my $value_sizer = Wx::BoxSizer->new(Wx::wxHORIZONTAL);
214
 
        $value_sizer->Add( $value_label,          0, Wx::wxALIGN_CENTER_VERTICAL,                5 );
215
 
        $value_sizer->Add( $self->{value},        1, Wx::wxALIGN_CENTER_VERTICAL,                5 );
216
 
        $value_sizer->Add( $boolean_sizer,        1, Wx::wxALIGN_CENTER_VERTICAL | Wx::wxEXPAND, 5 );
217
 
        $value_sizer->Add( $self->{button_set},   0, Wx::wxALIGN_CENTER_VERTICAL,                5 );
218
 
        $value_sizer->Add( $self->{button_reset}, 0, Wx::wxALIGN_CENTER_VERTICAL,                5 );
 
213
        my $value_sizer = Wx::BoxSizer->new(Wx::HORIZONTAL);
 
214
        $value_sizer->Add( $value_label,          0, Wx::ALIGN_CENTER_VERTICAL,              5 );
 
215
        $value_sizer->Add( $self->{value},        1, Wx::ALIGN_CENTER_VERTICAL,              5 );
 
216
        $value_sizer->Add( $boolean_sizer,        1, Wx::ALIGN_CENTER_VERTICAL | Wx::EXPAND, 5 );
 
217
        $value_sizer->Add( $self->{button_set},   0, Wx::ALIGN_CENTER_VERTICAL,              5 );
 
218
        $value_sizer->Add( $self->{button_reset}, 0, Wx::ALIGN_CENTER_VERTICAL,              5 );
219
219
 
220
220
        # Default value and options sizer
221
 
        my $info_sizer = Wx::BoxSizer->new(Wx::wxHORIZONTAL);
222
 
        $info_sizer->Add( $default_label,         0, Wx::wxALIGN_CENTER_VERTICAL, 5 );
223
 
        $info_sizer->Add( $self->{default_value}, 1, Wx::wxALIGN_CENTER_VERTICAL, 5 );
 
221
        my $info_sizer = Wx::BoxSizer->new(Wx::HORIZONTAL);
 
222
        $info_sizer->Add( $default_label,         0, Wx::ALIGN_CENTER_VERTICAL, 5 );
 
223
        $info_sizer->Add( $self->{default_value}, 1, Wx::ALIGN_CENTER_VERTICAL, 5 );
224
224
        $info_sizer->AddSpacer(5);
225
 
        $info_sizer->Add( $options_label,   0, Wx::wxALIGN_CENTER_VERTICAL, 5 );
226
 
        $info_sizer->Add( $self->{options}, 1, Wx::wxALIGN_CENTER_VERTICAL, 5 );
 
225
        $info_sizer->Add( $options_label,   0, Wx::ALIGN_CENTER_VERTICAL, 5 );
 
226
        $info_sizer->Add( $self->{options}, 1, Wx::ALIGN_CENTER_VERTICAL, 5 );
227
227
 
228
 
        my $help_sizer = Wx::BoxSizer->new(Wx::wxHORIZONTAL);
229
 
        $help_sizer->Add( $help_label,   0, Wx::wxALIGN_CENTER_VERTICAL, 5 );
230
 
        $help_sizer->Add( $self->{help}, 1, Wx::wxALIGN_CENTER_VERTICAL, 5 );
 
228
        my $help_sizer = Wx::BoxSizer->new(Wx::HORIZONTAL);
 
229
        $help_sizer->Add( $help_label,   0, Wx::ALIGN_CENTER_VERTICAL, 5 );
 
230
        $help_sizer->Add( $self->{help}, 1, Wx::ALIGN_CENTER_VERTICAL, 5 );
231
231
 
232
232
        # Button sizer
233
 
        my $button_sizer = Wx::BoxSizer->new(Wx::wxHORIZONTAL);
234
 
        $button_sizer->Add( $self->{button_save},   1, 0,          0 );
235
 
        $button_sizer->Add( $self->{button_cancel}, 1, Wx::wxLEFT, 5 );
 
233
        my $button_sizer = Wx::BoxSizer->new(Wx::HORIZONTAL);
 
234
        $button_sizer->Add( $self->{button_save},   1, 0,        0 );
 
235
        $button_sizer->Add( $self->{button_cancel}, 1, Wx::LEFT, 5 );
236
236
        $button_sizer->AddSpacer(5);
237
237
 
238
238
        # Main vertical sizer
239
 
        my $vsizer = Wx::BoxSizer->new(Wx::wxVERTICAL);
240
 
        $vsizer->Add( $filter_sizer, 0, Wx::wxALL | Wx::wxEXPAND, 3 );
241
 
        $vsizer->Add( $self->{list}, 1, Wx::wxALL | Wx::wxEXPAND, 3 );
242
 
        $vsizer->Add( $value_sizer,  0, Wx::wxALL | Wx::wxEXPAND, 3 );
243
 
        $vsizer->Add( $info_sizer,   0, Wx::wxALL | Wx::wxEXPAND, 3 );
244
 
        $vsizer->Add( $help_sizer,   0, Wx::wxALL | Wx::wxEXPAND, 3 );
 
239
        my $vsizer = Wx::BoxSizer->new(Wx::VERTICAL);
 
240
        $vsizer->Add( $filter_sizer, 0, Wx::ALL | Wx::EXPAND, 3 );
 
241
        $vsizer->Add( $self->{list}, 1, Wx::ALL | Wx::EXPAND, 3 );
 
242
        $vsizer->Add( $value_sizer,  0, Wx::ALL | Wx::EXPAND, 3 );
 
243
        $vsizer->Add( $info_sizer,   0, Wx::ALL | Wx::EXPAND, 3 );
 
244
        $vsizer->Add( $help_sizer,   0, Wx::ALL | Wx::EXPAND, 3 );
245
245
        $vsizer->AddSpacer(5);
246
 
        $vsizer->Add( $button_sizer, 0, Wx::wxALIGN_RIGHT, 5 );
 
246
        $vsizer->Add( $button_sizer, 0, Wx::ALIGN_RIGHT, 5 );
247
247
        $vsizer->AddSpacer(5);
248
248
 
249
249
        # Hide value and info sizer at startup
255
255
        $self->{vsizer} = $vsizer;
256
256
 
257
257
        # Wrap with a horizontal sizer to get left/right padding
258
 
        $sizer->Add( $vsizer, 1, Wx::wxALL | Wx::wxEXPAND, 5 );
 
258
        $sizer->Add( $vsizer, 1, Wx::ALL | Wx::EXPAND, 5 );
259
259
 
260
260
        return;
261
261
}
392
392
                $self,
393
393
                $self->{button_cancel},
394
394
                sub {
395
 
                        shift->EndModal(Wx::wxID_CANCEL);
 
395
                        shift->EndModal(Wx::ID_CANCEL);
396
396
                }
397
397
        );
398
398
 
415
415
        } elsif ( $action == COPY_VALUE ) {
416
416
                $text = $pref->{value};
417
417
        }
418
 
        if ( $text and Wx::wxTheClipboard->Open ) {
419
 
                Wx::wxTheClipboard->SetData( Wx::TextDataObject->new($text) );
420
 
                Wx::wxTheClipboard->Close;
 
418
        if ( $text and Wx::TheClipboard->Open ) {
 
419
                Wx::TheClipboard->SetData( Wx::TextDataObject->new($text) );
 
420
                Wx::TheClipboard->Close;
421
421
        }
422
422
 
423
423
        return;
452
452
        my $code  = $event->GetKeyCode;
453
453
 
454
454
        $self->{list}->SetFocus
455
 
                if ( $code == Wx::WXK_DOWN )
456
 
                or ( $code == Wx::WXK_NUMPAD_PAGEDOWN )
457
 
                or ( $code == Wx::WXK_PAGEDOWN );
 
455
                if ( $code == Wx::K_DOWN )
 
456
                or ( $code == Wx::K_NUMPAD_PAGEDOWN )
 
457
                or ( $code == Wx::K_PAGEDOWN );
458
458
 
459
459
        $event->Skip(1);
460
460
 
686
686
        $config->write;
687
687
 
688
688
        # Bye bye dialog
689
 
        $self->EndModal(Wx::wxID_OK);
 
689
        $self->EndModal(Wx::ID_OK);
690
690
 
691
691
        return;
692
692
}
712
712
        my $preferences = $self->{preferences};
713
713
 
714
714
        # Try to derive an alternate row colour based on the current system colour
715
 
        my $realColor = Wx::SystemSettings::GetColour(Wx::wxSYS_COLOUR_WINDOW);
 
715
        my $realColor = Wx::SystemSettings::GetColour(Wx::SYS_COLOUR_WINDOW);
716
716
 
717
717
        # Alternate candystripe is slightly darker and blueish
718
718
        my $alternateColor = Wx::Colour->new(
781
781
        my $list = $self->{list};
782
782
        my $item = $list->GetItem($index);
783
783
        my $font = $item->GetFont;
784
 
        $font->SetWeight( $bold ? Wx::wxFONTWEIGHT_BOLD : Wx::wxFONTWEIGHT_NORMAL );
 
784
        $font->SetWeight( $bold ? Wx::FONTWEIGHT_BOLD : Wx::FONTWEIGHT_NORMAL );
785
785
        $item->SetFont($font);
786
786
        $list->SetItem($item);
787
787
 
840
840
        # Resize all columns but the last to their biggest item width
841
841
        my $list = $self->{list};
842
842
        for ( 0 .. 2 ) {
843
 
                $list->SetColumnWidth( $_, Wx::wxLIST_AUTOSIZE );
 
843
                $list->SetColumnWidth( $_, Wx::LIST_AUTOSIZE );
844
844
        }
845
845
 
846
846
        # some columns can have a bold font