~ubuntu-branches/ubuntu/karmic/zim/karmic

« back to all changes in this revision

Viewing changes to lib/Zim/GUI/ExportDialog.pm

  • Committer: Bazaar Package Importer
  • Author(s): Raphael Hertzog
  • Date: 2007-12-01 20:50:34 UTC
  • mfrom: (1.1.9 upstream)
  • Revision ID: james.westby@ubuntu.com-20071201205034-bpweecgj7wtt9ze2
Tags: 0.23-1
* New upstream version. Closes: #452999
  * Now handles symlinks properly. Closes: #446870
* Add myself to Uploaders.
* Updated dependencies to match new requirements: libfile-basedir-perl 
  (>= 0.03), libfile-desktopentry-perl (>= 0.04)
* Add Vcs-Svn and Vcs-Browser fields to document the SVN repository now used
  to co-maintain the package.
* Add an Homepage field pointing to the upstream website.
* Moved libmodule-build-perl to Build-Depends-Indep as it's needed for the
  clean target.
* Fix some bad permissions detected by lintian.
* Updated debian/menu file to conform to the new menu policy and added an
  icon.

Show diffs side-by-side

added added

removed removed

Lines of Context:
3
3
use strict;
4
4
use Gtk2;
5
5
use File::BaseDir qw/xdg_data_files xdg_data_dirs xdg_data_home/;
 
6
use Zim::Utils;
 
7
use Zim::GUI::Component;
6
8
use Zim::Selection;
7
 
use Zim::GUI::Component;
8
9
#use Zim::Formats;
9
10
 
10
 
our $VERSION = '0.20';
 
11
our $VERSION = '0.23';
11
12
our @ISA = qw/Zim::GUI::Component/;
12
13
 
13
14
=head1 NAME
35
36
        $self->{app}->SaveIfModified or return;
36
37
 
37
38
        my $dialog = Gtk2::Dialog->new(
38
 
                "Export page - Zim", $self->{app}{window},
 
39
                __("Export page"), $self->{app}{window}, #. dialog title
39
40
                [qw/destroy-with-parent no-separator/],
40
41
                'gtk-help'   => 'help',
41
42
                'gtk-cancel' => 'cancel',
46
47
        
47
48
        # Page range
48
49
        my $frame = Gtk2::Frame->new;
49
 
        my $label = Gtk2::Label->new('<b>Pages</b>');
 
50
        my $label = Gtk2::Label->new('<b>'.__('Pages').'</b>'); #. group label
50
51
        $label->set_use_markup(1);
51
52
        $frame->set_label_widget($label);
52
53
        $dialog->vbox->add($frame);
55
56
        $vbox->set_border_width(12);
56
57
        $frame->add($vbox);
57
58
        
58
 
        my $radio1 = Gtk2::RadioButton->new_with_mnemonic(undef, '_All');
 
59
        my $radio1 = Gtk2::RadioButton->new_with_mnemonic(
 
60
                undef, __('_All') ); #. radio button
59
61
        my $rgroup = $radio1->get_group;
60
62
        $vbox->add($radio1);
61
63
 
62
64
        my $hbox = Gtk2::HBox->new(0, 5);
63
65
        $vbox->add($hbox);
64
66
        
65
 
        my $radio2 = Gtk2::RadioButton->new_with_mnemonic($rgroup, '_Page:');
 
67
        my $radio2 = Gtk2::RadioButton->new_with_mnemonic(
 
68
                $rgroup, __('_Page').':' ); #. radio button
66
69
        $hbox->pack_start($radio2, 0,1,0);
67
70
        
68
71
        my $page_entry = Gtk2::Entry->new();
70
73
        $page_entry->set_sensitive(0);
71
74
        $hbox->pack_start($page_entry, 0,1,0);
72
75
 
73
 
        my $recurs_box = Gtk2::CheckButton->new_with_label('Recursive');
 
76
        my $recurs_box = Gtk2::CheckButton->new_with_label(__('Recursive')); #. check box
74
77
        $recurs_box->set_active(1);
75
78
        $recurs_box->set_sensitive(0);  
76
79
        $vbox->add($recurs_box);
83
86
        
84
87
        # Output
85
88
        $frame = Gtk2::Frame->new;
86
 
        $label = Gtk2::Label->new('<b>Output</b>');
 
89
        $label = Gtk2::Label->new('<b>'.__('Output').'</b>'); #. group label
87
90
        $label->set_use_markup(1);
88
91
        $frame->set_label_widget($label);
89
92
        $dialog->vbox->add($frame);
95
98
        $frame->add($table);
96
99
        
97
100
        my $i;
98
 
        for (qw/Format Template/, '', 'Output dir', 'Index page') {
 
101
        for (__('Format'), __('Template'), '', __('Output dir'), __('Index page')) { #. label input field
99
102
                if (length $_) {
100
103
                        my $label = Gtk2::Label->new($_.':');
101
104
                        my $align = Gtk2::Alignment->new(0,0.5, 0,0);
105
108
                $i++;
106
109
        }
107
110
 
108
 
        my $conf = $self->{app}{repository}->config;
 
111
        my $conf = $self->{app}{notebook}->config;
109
112
        
110
113
        my $combo1 = Gtk2::ComboBox->new_text();
111
114
        my @formats = qw/Html Txt2Tags/;
122
125
 
123
126
        my $entry2 = Gtk2::Entry->new;
124
127
        $table->attach_defaults($entry2, 1,2, 2,3);
125
 
        my $button2 = Gtk2::Button->new('_Browse...');
 
128
        my $button2 = Gtk2::Button->new(__('_Browse...')); #. button
126
129
        $button2->signal_connect(clicked => sub {
127
130
                my $t = $self->filechooser_dialog();
128
131
                $entry2->set_text($t);
133
136
        $table->attach_defaults($entry3, 1,2, 3,4);
134
137
        $entry3->set_text($$conf{export_dir});
135
138
        $entry3->signal_connect(activate => sub { $dialog->response('ok') });
136
 
        my $button3 = Gtk2::Button->new('_Browse...');
 
139
        my $button3 = Gtk2::Button->new(__('_Browse...')); #. button
137
140
        $button3->signal_connect(clicked => sub {
138
141
                my $dir = $entry3->get_text;
139
142
                $dir = $self->filechooser_dialog($dir, 'DIR');
155
158
                        else              { $combo2->append_text($_)  }
156
159
                }
157
160
                $combo2_items = scalar keys %$templates;
158
 
                $combo2->append_text('other...');
 
161
                $combo2->append_text(__('other...')); #. item in dropdown menu
159
162
                $combo2->set_active(0);
160
163
                my $other = ($combo2_items == 0);
161
164
                $entry2->set_sensitive($other);
181
184
        }
182
185
 
183
186
        $frame = Gtk2::Frame->new;
184
 
        $label = Gtk2::Label->new('<b>Media</b>');
 
187
        $label = Gtk2::Label->new('<b>'.__('Media').'</b>'); #. group label
185
188
        $label->set_use_markup(1);
186
189
        $frame->set_label_widget($label);
187
190
        $dialog->vbox->add($frame);
190
193
        $vbox->set_border_width(12);
191
194
        $frame->add($vbox);
192
195
        
193
 
        my $media_radio1 = Gtk2::RadioButton->new_with_mnemonic(undef, '_Relative linked');
 
196
        my $media_radio1 = Gtk2::RadioButton->new_with_mnemonic(
 
197
                undef, __('_Relative linked') ); #. radio button
194
198
        $rgroup = $media_radio1->get_group;
195
199
        $vbox->add($media_radio1);
196
200
 
197
 
        my $media_radio2 = Gtk2::RadioButton->new_with_mnemonic($rgroup, '_Absolute linked');
 
201
        my $media_radio2 = Gtk2::RadioButton->new_with_mnemonic(
 
202
                $rgroup, __('_Absolute linked') ); #. radio button
198
203
        $vbox->add($media_radio2);
199
204
 
200
 
        my $media_radio3 = Gtk2::RadioButton->new_with_mnemonic($rgroup, '_Copy files');
 
205
        my $media_radio3 = Gtk2::RadioButton->new_with_mnemonic(
 
206
                $rgroup, __('_Copy files')); #. radio button
201
207
        $vbox->add($media_radio3);
202
208
        my $media_r = ($$conf{export_media} eq 'absolute') ? $media_radio2 :
203
209
                      ($$conf{export_media} eq 'copy')     ? $media_radio3 :
251
257
                $self->{dialog} = undef;
252
258
                my ($bar, $label);
253
259
                ($dialog, $bar, $label) = $self->new_progress_bar(
254
 
                        "Export page - Zim", "Exporting page 1" );
 
260
                        __("Export page"), #. dialog title
 
261
                        __("Exporting page {number}", number => 0) ); #. progress bar label
255
262
                my $continue = 1;
256
263
                $dialog->signal_connect(response => sub {$continue = 0});
257
264
                my $i = 1;
258
265
                $opts{callback} = sub {
259
266
                        $bar->pulse;
260
 
                        $label->set_text('Exporting page ' . $i++);
 
267
                        $label->set_text(__("Exporting page {number}", number => $i++)); #. progress bar label
261
268
                        while (Gtk2->events_pending) { Gtk2->main_iteration_do(0) }
262
269
                        return $continue;
263
270
                };
265
272
                eval {
266
273
                        my $o = { resolve => 1, recurse => $recurs_box->get_active() };
267
274
                        my $s = Zim::Selection->new(
268
 
                                $self->{app}{repository}, $o, @pages);
 
275
                                $self->{app}{notebook}, $o, @pages);
269
276
                        $s->export(\%opts);
270
277
                };
271
278
                $self->error_dialog($@) if $@;
272
279
 
273
 
                $self->{app}{repository}->save(); # save settings
 
280
                $self->{app}{notebook}->save(); # save settings
274
281
                
275
282
                last;
276
283
        }