1 --- subtitleeditor-0.36.2.orig/plugins/actions/scalesubtitles/dialog-scale-subtitles.ui 2010-01-19 13:04:21.000000000 +0100
2 +++ subtitleeditor-0.36.2/plugins/actions/scalesubtitles/dialog-scale-subtitles.ui 2010-06-05 20:53:53.318180804 +0200
4 <property name="position">1</property>
9 + <object class="GtkCheckButton" id="check-all-subtitles">
10 + <property name="visible">True</property>
11 + <property name="can_focus">True</property>
12 + <property name="tooltip_text">If the option is activated, all subtitles are scaled. Without this option, it scales only subtitles between the two selected points.</property>
13 + <property name="label" translatable="yes">_All subtitles</property>
14 + <property name="use_underline">True</property>
15 + <property name="response_id">0</property>
16 + <property name="draw_indicator">True</property>
23 <property name="position">1</property>
24 --- subtitleeditor-0.36.2.orig/plugins/actions/scalesubtitles/scalesubtitles.cc 2009-12-21 12:49:24.000000000 +0100
25 +++ subtitleeditor-0.36.2/plugins/actions/scalesubtitles/scalesubtitles.cc 2010-06-05 20:57:52.044930839 +0200
27 builder->get_widget_derived("spin-last-start-value", m_spinLastStartValue);
28 builder->get_widget_derived("spin-last-new-start", m_spinLastNewStart);
29 builder->get_widget("label-last-text", m_labelLastText);
30 + builder->get_widget("check-all-subtitles", m_allSelectedSubtitles);
33 m_spinFirstNumber->signal_value_changed().connect(
35 SubtitleTime dest1( (long int)m_spinFirstNewStart->get_value() );
36 SubtitleTime dest2( (long int)m_spinLastNewStart->get_value() );
38 + bool all_subtitles = m_allSelectedSubtitles->get_active();
41 doc->start_command(_("Scale subtitles"));
43 - scale(firstSubtitle, dest1, lastSubtitle, dest2);
44 + scale(doc, all_subtitles, firstSubtitle, dest1, lastSubtitle, dest2);
46 doc->emit_signal("subtitle-time-changed");
47 doc->finish_command();
52 + Document *doc, bool all_subtitles,
53 const Subtitle &sub1, const SubtitleTime &dest1,
54 const Subtitle &sub2, const SubtitleTime &dest2)
57 sub1.get_start().totalmsecs, dest1.totalmsecs,
58 sub2.get_start().totalmsecs, dest2.totalmsecs);
61 - Subtitle end = sub2; ++end;
62 + Subtitles subtitles = doc->subtitles();
64 + Subtitle start = (all_subtitles ? subtitles.get_first() : sub1);
66 + Subtitle end = (all_subtitles ? subtitles.get_last() : sub2);
69 - for(Subtitle subtitle=sub1; subtitle != end; ++subtitle)
70 + for(Subtitle subtitle=start; subtitle != end; ++subtitle)
72 SubtitleTime start = calcul(subtitle.get_start(), scale, source1, dest1);
73 SubtitleTime end = calcul(subtitle.get_end(), scale, source1, dest1);
75 Gtk::Label* m_labelLastStartValue;
76 SpinButtonTime* m_spinLastNewStart;
77 Gtk::Label* m_labelLastText;
78 + Gtk::CheckButton* m_allSelectedSubtitles;