dev-java/portecle-1.7
[anomen-overlay.git] / media-video / subtitleeditor / files / subtitleeditor-0.36.2-scale.patch
blobf4eec87c9cd1f155ea318c2733e836b79af15f99
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
3 @@ -342,6 +342,20 @@
4 <property name="position">1</property>
5 </packing>
6 </child>
8 + <child>
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>
17 + </object>
18 + </child>
21 </object>
22 <packing>
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
26 @@ -50,6 +50,7 @@
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);
32 // signaux
33 m_spinFirstNumber->signal_value_changed().connect(
34 @@ -93,10 +94,12 @@
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();
40 // apply change
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();
48 @@ -224,6 +227,7 @@
51 void scale(
52 + Document *doc, bool all_subtitles,
53 const Subtitle &sub1, const SubtitleTime &dest1,
54 const Subtitle &sub2, const SubtitleTime &dest2)
56 @@ -234,10 +238,14 @@
57 sub1.get_start().totalmsecs, dest1.totalmsecs,
58 sub2.get_start().totalmsecs, dest2.totalmsecs);
60 - // sub2 + 1
61 - Subtitle end = sub2; ++end;
62 + Subtitles subtitles = doc->subtitles();
63 + // first
64 + Subtitle start = (all_subtitles ? subtitles.get_first() : sub1);
65 + // last + 1
66 + Subtitle end = (all_subtitles ? subtitles.get_last() : sub2);
67 + ++end;
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);
74 @@ -279,6 +287,7 @@
75 Gtk::Label* m_labelLastStartValue;
76 SpinButtonTime* m_spinLastNewStart;
77 Gtk::Label* m_labelLastText;
78 + Gtk::CheckButton* m_allSelectedSubtitles;