Merge lp:~fincha/openshot/titles-new into lp:openshot/1.4

Proposed by Jonathan Thomas
Status: Merged
Approved by: Jonathan Thomas
Approved revision: 74
Merged at revision: not available
Proposed branch: lp:~fincha/openshot/titles-new
Merge into: lp:openshot/1.4
Diff against target: None lines
To merge this branch: bzr merge lp:~fincha/openshot/titles-new
Reviewer Review Type Date Requested Status
Jonathan Thomas Approve
Review via email: mp+7598@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Jonathan Thomas (jonoomph) :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== added file 'Openshot.wpr'
2--- Openshot.wpr 1970-01-01 00:00:00 +0000
3+++ Openshot.wpr 2009-06-10 20:52:14 +0000
4@@ -0,0 +1,690 @@
5+#!wing
6+#!version=3.0
7+##################################################################
8+# Wing IDE project file #
9+##################################################################
10+[project attributes]
11+proj.directory-list = [{'dirloc': loc('.'),
12+ 'excludes': (),
13+ 'filter': '*',
14+ 'include_hidden': False,
15+ 'recursive': True,
16+ 'watch_for_changes': True}]
17+proj.file-type = 'normal'
18+proj.main-file = loc('main/OpenShot.py')
19+[user attributes]
20+debug.err-values = {loc('main/OpenShot.py'): {},
21+ loc('main/windows/OpenProject.py'): {}}
22+debug.show-args-dialog = {loc('main/OpenShot.py'): False,
23+ loc('main/windows/MainGTK.py'): False,
24+ loc('main/windows/OpenProject.py'): False,
25+ loc('main/windows/Titles.py'): False}
26+debug.var-col-widths = [0.47234042553191491,
27+ 0.52765957446808509]
28+edit.dont-ask-to-fix-inconsistent-indents = {loc('main/windows/MainGTK.py'): True}
29+edit.show-tab-force-warning = False
30+guimgr.overall-gui-state = {'windowing-policy': 'combined-window',
31+ 'windows': [{'name': 'saagYmQTeBJeUo0P70xzSTQG7G'\
32+ 'Y1MQhp',
33+ 'size-state': 'maximized',
34+ 'type': 'dock',
35+ 'view': {'area': 'tall',
36+ 'current_pages': [0,
37+ 1],
38+ 'notebook_display': 'normal',
39+ 'notebook_percent': 0.28431372549019607,
40+ 'override_title': None,
41+ 'pagelist': [('debug-stack',
42+ 'tall',
43+ 1,
44+ {'codeline-mode': 'below'}),
45+ ('indent',
46+ 'tall',
47+ 2,
48+ {}),
49+ ('project',
50+ 'tall',
51+ 0,
52+ {'tree-state': {'file-sort-method': 'by name',
53+ 'list-files-first': False,
54+ 'tree-states': {'deep': {'column-widths': [1.0],
55+ 'expanded-nodes': [(0,),
56+ (0,
57+ 0),
58+ (0,
59+ 7)],
60+ 'selected-nodes': [(0,
61+ 7,
62+ 4)],
63+ 'top-node': (0,)}},
64+ 'tree-style': 'deep'}}),
65+ ('source-assistant',
66+ 'tall',
67+ 2,
68+ {'docstring-during-complete': False,
69+ 'wrap-lines': True}),
70+ ('browser',
71+ 'tall',
72+ 0,
73+ {}),
74+ ('debug-data',
75+ 'tall',
76+ 1,
77+ {}),
78+ ('templates',
79+ 'tall',
80+ 0,
81+ {})],
82+ 'primary_view_state': {'area': 'wide',
83+ 'current_pages': [1,
84+ 3],
85+ 'notebook_display': 'normal',
86+ 'notebook_percent': 0.24969987995198084,
87+ 'override_title': None,
88+ 'pagelist': [('bookmarks',
89+ 'wide',
90+ 1,
91+ {}),
92+ ('debug-breakpoints',
93+ 'wide',
94+ 0,
95+ {'tree-state': []}),
96+ ('debug-io',
97+ 'wide',
98+ 1,
99+ {'attrib-starts': [],
100+ 'first-line': 0,
101+ 'folded-linenos': [],
102+ 'history': {},
103+ 'sel-line': 7,
104+ 'sel-line-start': 370,
105+ 'selection_end': 370,
106+ 'selection_start': 370}),
107+ ('debug-probe',
108+ 'wide',
109+ 2,
110+ {'attrib-starts': [],
111+ 'first-line': 0,
112+ 'folded-linenos': [],
113+ 'history': {},
114+ 'sel-line': 0,
115+ 'sel-line-start': 0,
116+ 'selection_end': 4,
117+ 'selection_start': 4}),
118+ ('debug-exceptions',
119+ 'wide',
120+ 0,
121+ {}),
122+ ('debug-modules',
123+ 'wide',
124+ 1,
125+ {}),
126+ ('python-shell',
127+ 'wide',
128+ 2,
129+ {'attrib-starts': [],
130+ 'first-line': 0,
131+ 'folded-linenos': [],
132+ 'history': {},
133+ 'sel-line': 3,
134+ 'sel-line-start': 138,
135+ 'selection_end': 142,
136+ 'selection_start': 142}),
137+ ('interactive-search',
138+ 'wide',
139+ 0,
140+ {'fScope': {'fFileSetName': u'All Source Files',
141+ 'fLocation': None,
142+ 'fRecursive': True,
143+ 'fType': 'project-files'},
144+ 'fSearchSpec': {'fEndPos': None,
145+ 'fIncludeLinenos': True,
146+ 'fInterpretBackslashes': False,
147+ 'fMatchCase': False,
148+ 'fOmitBinary': True,
149+ 'fRegexFlags': 46,
150+ 'fReplaceText': '',
151+ 'fReverse': False,
152+ 'fSearchText': u'_(',
153+ 'fStartPos': 0,
154+ 'fStyle': 'text',
155+ 'fWholeWords': False,
156+ 'fWrap': True},
157+ 'fUIOptions': {'fAutoBackground': True,
158+ 'fFilePrefix': 'short-file',
159+ 'fFindAfterReplace': True,
160+ 'fInSelection': False,
161+ 'fIncremental': True,
162+ 'fReplaceOnDisk': False,
163+ 'fShowFirstMatch': False,
164+ 'fShowLineno': True,
165+ 'fShowReplaceWidgets': False},
166+ 'replace-entry-expanded': False,
167+ 'search-entry-expanded': False}),
168+ ('batch-search',
169+ 'wide',
170+ 0,
171+ {'fScope': {'fFileSetName': u'All Source Files',
172+ 'fLocation': None,
173+ 'fRecursive': True,
174+ 'fType': 'project-files'},
175+ 'fSearchSpec': {'fEndPos': None,
176+ 'fIncludeLinenos': True,
177+ 'fInterpretBackslashes': False,
178+ 'fMatchCase': False,
179+ 'fOmitBinary': True,
180+ 'fRegexFlags': 46,
181+ 'fReplaceText': '',
182+ 'fReverse': False,
183+ 'fSearchText': u'self.form',
184+ 'fStartPos': 0,
185+ 'fStyle': 'text',
186+ 'fWholeWords': False,
187+ 'fWrap': True},
188+ 'fUIOptions': {'fAutoBackground': True,
189+ 'fFilePrefix': 'short-file',
190+ 'fFindAfterReplace': True,
191+ 'fInSelection': False,
192+ 'fIncremental': True,
193+ 'fReplaceOnDisk': False,
194+ 'fShowFirstMatch': False,
195+ 'fShowLineno': True,
196+ 'fShowReplaceWidgets': False},
197+ 'replace-entry-expanded': False,
198+ 'search-entry-expanded': False}),
199+ ('debug-data',
200+ 'wide',
201+ 0,
202+ {}),
203+ ('testing',
204+ 'wide',
205+ 0,
206+ {}),
207+ ('debug-watch',
208+ 'wide',
209+ 1,
210+ {})],
211+ 'primary_view_state': {'editor_states': {'bookmarks': ([(loc('main/windows/Titles.py'),
212+ {'attrib-starts': [('frmNewTitle',
213+ 33),
214+ ('frmNewTitle.on_btnApply_clicked',
215+ 188)],
216+ 'first-line': 177,
217+ 'folded-linenos': [],
218+ 'sel-line': 193,
219+ 'sel-line-start': 6243,
220+ 'selection_end': 6244,
221+ 'selection_start': 6244},
222+ 1244577875.7025759),
223+ (loc('main/classes/files.py'),
224+ {'attrib-starts': [('OpenShotFolder',
225+ 75),
226+ ('OpenShotFolder.AddFile',
227+ 113)],
228+ 'first-line': 111,
229+ 'folded-linenos': [],
230+ 'sel-line': 116,
231+ 'sel-line-start': 4022,
232+ 'selection_end': 4022,
233+ 'selection_start': 4022},
234+ 1244577900.5176339),
235+ (loc('main/windows/Titles.py'),
236+ {'attrib-starts': [('frmNewTitle',
237+ 33),
238+ ('frmNewTitle.on_btnApply_clicked',
239+ 188)],
240+ 'first-line': 177,
241+ 'folded-linenos': [],
242+ 'sel-line': 193,
243+ 'sel-line-start': 6243,
244+ 'selection_end': 6244,
245+ 'selection_start': 6244},
246+ 1244577903.6679111),
247+ (loc('main/windows/Titles.py'),
248+ {'attrib-starts': [('frmNewTitle',
249+ 33),
250+ ('frmNewTitle.on_btnApply_clicked',
251+ 188)],
252+ 'first-line': 177,
253+ 'folded-linenos': [],
254+ 'sel-line': 191,
255+ 'sel-line-start': 6190,
256+ 'selection_end': 6190,
257+ 'selection_start': 6190},
258+ 1244577908.97298),
259+ (loc('main/windows/Titles.py'),
260+ {'attrib-starts': [('frmNewTitle',
261+ 33),
262+ ('frmNewTitle.on_btnApply_clicked',
263+ 188)],
264+ 'first-line': 177,
265+ 'folded-linenos': [],
266+ 'sel-line': 193,
267+ 'sel-line-start': 6243,
268+ 'selection_end': 6243,
269+ 'selection_start': 6243},
270+ 1244577914.9813211),
271+ (loc('main/windows/MainGTK.py'),
272+ {'attrib-starts': [('frmMain',
273+ 42),
274+ ('frmMain.refresh',
275+ 224)],
276+ 'first-line': 222,
277+ 'folded-linenos': [],
278+ 'sel-line': 227,
279+ 'sel-line-start': 7829,
280+ 'selection_end': 7829,
281+ 'selection_start': 7829},
282+ 1244577918.996388),
283+ (loc('main/windows/Titles.py'),
284+ {'attrib-starts': [],
285+ 'first-line': 177,
286+ 'folded-linenos': [],
287+ 'sel-line': 26,
288+ 'sel-line-start': 1261,
289+ 'selection_end': 1262,
290+ 'selection_start': 1262},
291+ 1244577948.515352),
292+ (loc('main/windows/Titles.py'),
293+ {'attrib-starts': [('frmNewTitle',
294+ 46),
295+ ('frmNewTitle.__init__',
296+ 48)],
297+ 'first-line': 181,
298+ 'folded-linenos': [],
299+ 'sel-line': 84,
300+ 'sel-line-start': 2496,
301+ 'selection_end': 2499,
302+ 'selection_start': 2499},
303+ 1244578786.7945099),
304+ (loc('main/windows/Titles.py'),
305+ {'attrib-starts': [],
306+ 'first-line': 253,
307+ 'folded-linenos': [],
308+ 'sel-line': 24,
309+ 'sel-line-start': 1310,
310+ 'selection_end': 1352,
311+ 'selection_start': 1352},
312+ 1244579597.7979081),
313+ (loc('main/windows/fontselector.py'),
314+ {'attrib-starts': [('frmFontProperties',
315+ 30),
316+ ('frmFontProperties.__init__',
317+ 32)],
318+ 'first-line': 9,
319+ 'folded-linenos': [],
320+ 'sel-line': 55,
321+ 'sel-line-start': 2054,
322+ 'selection_end': 2080,
323+ 'selection_start': 2080},
324+ 1244580057.594631),
325+ (loc('main/windows/Titles.py'),
326+ {'attrib-starts': [],
327+ 'first-line': 369,
328+ 'folded-linenos': [],
329+ 'sel-line': 24,
330+ 'sel-line-start': 1310,
331+ 'selection_end': 1352,
332+ 'selection_start': 1352},
333+ 1244580295.1819601),
334+ (loc('../../../usr/lib/python2.6/xml/dom/minidom.py'),
335+ {'attrib-starts': [('NamedNodeMap',
336+ 461),
337+ ('NamedNodeMap.__getitem__',
338+ 525)],
339+ 'first-line': 513,
340+ 'folded-linenos': [],
341+ 'sel-line': 526,
342+ 'sel-line-start': 17781,
343+ 'selection_end': 17787,
344+ 'selection_start': 17787},
345+ 1244664485.5086091),
346+ (loc('../../../usr/lib/python2.6/xml/dom/minidom.py'),
347+ {'attrib-starts': [('NamedNodeMap',
348+ 461),
349+ ('NamedNodeMap.__cmp__',
350+ 519)],
351+ 'first-line': 513,
352+ 'folded-linenos': [],
353+ 'sel-line': 523,
354+ 'sel-line-start': 17691,
355+ 'selection_end': 17696,
356+ 'selection_start': 17696},
357+ 1244664643.3009789),
358+ (loc('../../../usr/lib/python2.6/xml/dom/minidom.py'),
359+ {'attrib-starts': [('NamedNodeMap',
360+ 461),
361+ ('NamedNodeMap.__getitem__',
362+ 525)],
363+ 'first-line': 513,
364+ 'folded-linenos': [],
365+ 'sel-line': 529,
366+ 'sel-line-start': 17894,
367+ 'selection_end': 17894,
368+ 'selection_start': 17894},
369+ 1244664812.3017709),
370+ (loc('../../../usr/lib/python2.6/xml/dom/minidom.py'),
371+ {'attrib-starts': [('NamedNodeMap',
372+ 461),
373+ ('NamedNodeMap.__getitem__',
374+ 525)],
375+ 'first-line': 513,
376+ 'folded-linenos': [],
377+ 'sel-line': 529,
378+ 'sel-line-start': 17894,
379+ 'selection_end': 17894,
380+ 'selection_start': 17894},
381+ 1244664885.210113),
382+ (loc('../../../usr/lib/python2.6/xml/dom/minidom.py'),
383+ {'attrib-starts': [('NamedNodeMap',
384+ 461),
385+ ('NamedNodeMap.__getitem__',
386+ 525)],
387+ 'first-line': 513,
388+ 'folded-linenos': [],
389+ 'sel-line': 529,
390+ 'sel-line-start': 17894,
391+ 'selection_end': 17894,
392+ 'selection_start': 17894},
393+ 1244664922.1697321),
394+ [loc('../../../usr/lib/python2.6/xml/dom/minidom.py'),
395+ {'attrib-starts': [('NamedNodeMap',
396+ 461),
397+ ('NamedNodeMap.__getitem__',
398+ 525)],
399+ 'first-line': 513,
400+ 'folded-linenos': [],
401+ 'sel-line': 529,
402+ 'sel-line-start': 17894,
403+ 'selection_end': 17894,
404+ 'selection_start': 17894},
405+ 1244665025.5976889],
406+ (loc('main/windows/Titles.py'),
407+ {'attrib-starts': [('frmNewTitle',
408+ 46),
409+ ('frmNewTitle.set_style_elements',
410+ 235)],
411+ 'first-line': 287,
412+ 'folded-linenos': [],
413+ 'sel-line': 243,
414+ 'sel-line-start': 8132,
415+ 'selection_end': 8134,
416+ 'selection_start': 8134},
417+ 1244665135.0028999),
418+ (loc('main/windows/fontselector.py'),
419+ {'attrib-starts': [('frmFontProperties',
420+ 30),
421+ ('frmFontProperties.__init__',
422+ 32)],
423+ 'first-line': 0,
424+ 'folded-linenos': [],
425+ 'sel-line': 55,
426+ 'sel-line-start': 2054,
427+ 'selection_end': 2080,
428+ 'selection_start': 2080},
429+ 1244666254.477843),
430+ [loc('main/classes/files.py'),
431+ {'attrib-starts': [('OpenShotFolder',
432+ 75),
433+ ('OpenShotFolder.AddFile',
434+ 113)],
435+ 'first-line': 111,
436+ 'folded-linenos': [],
437+ 'sel-line': 116,
438+ 'sel-line-start': 4022,
439+ 'selection_end': 4022,
440+ 'selection_start': 4022},
441+ 1244666484.8739941]],
442+ 19),
443+ 'current-loc': loc('main/classes/files.py'),
444+ 'editor-states': {loc('main/OpenShot.py'): {'attrib-starts': [],
445+ 'first-line': 26,
446+ 'folded-linenos': [],
447+ 'sel-line': 0,
448+ 'sel-line-start': 0,
449+ 'selection_end': 0,
450+ 'selection_start': 0},
451+ loc('main/classes/files.py'): {'attrib-starts': [(''\
452+ 'OpenShotFolder',
453+ 75),
454+ ('OpenShotFolder.file_exists_in_project',
455+ 181)],
456+ 'first-line': 174,
457+ 'folded-linenos': [],
458+ 'sel-line': 189,
459+ 'sel-line-start': 6194,
460+ 'selection_end': 6194,
461+ 'selection_start': 6194},
462+ loc('main/classes/messagebox.py'): {'attrib-starts': [(''\
463+ 'show',
464+ 21)],
465+ 'first-line': 10,
466+ 'folded-linenos': [],
467+ 'sel-line': 32,
468+ 'sel-line-start': 1272,
469+ 'selection_end': 1272,
470+ 'selection_start': 1272},
471+ loc('main/classes/project.py'): {'attrib-starts': [(''\
472+ 'project',
473+ 25),
474+ ('project.__init__',
475+ 31)],
476+ 'first-line': 40,
477+ 'folded-linenos': [],
478+ 'sel-line': 45,
479+ 'sel-line-start': 1702,
480+ 'selection_end': 1713,
481+ 'selection_start': 1704},
482+ loc('main/windows/MainGTK.py'): {'attrib-starts': [(''\
483+ 'frmMain',
484+ 42),
485+ ('frmMain.refresh',
486+ 224)],
487+ 'first-line': 222,
488+ 'folded-linenos': [],
489+ 'sel-line': 227,
490+ 'sel-line-start': 7829,
491+ 'selection_end': 7829,
492+ 'selection_start': 7829},
493+ loc('main/windows/Titles.py'): {'attrib-starts': [(''\
494+ 'frmNewTitle',
495+ 46),
496+ ('frmNewTitle.set_style_elements',
497+ 235)],
498+ 'first-line': 287,
499+ 'folded-linenos': [],
500+ 'sel-line': 243,
501+ 'sel-line-start': 8132,
502+ 'selection_end': 8134,
503+ 'selection_start': 8134},
504+ loc('main/windows/fontselector.py'): {'attrib-star'\
505+ 'ts': [('frmFontProperties',
506+ 30),
507+ ('frmFontProperties.__init__',
508+ 32)],
509+ 'first-line': 0,
510+ 'folded-linenos': [],
511+ 'sel-line': 55,
512+ 'sel-line-start': 2054,
513+ 'selection_end': 2080,
514+ 'selection_start': 2080}},
515+ 'has-focus': True},
516+ 'open_files': [u'main/OpenShot.py',
517+ u'main/classes/messagebox.py',
518+ u'main/classes/project.py',
519+ u'main/windows/MainGTK.py',
520+ u'main/windows/Titles.py',
521+ u'main/windows/fontselector.py',
522+ u'main/classes/files.py']},
523+ 'split_percents': {0: 0.5},
524+ 'splits': 2,
525+ 'tab_location': 'top',
526+ 'user_data': {}},
527+ 'split_percents': {0: 0.5},
528+ 'splits': 2,
529+ 'tab_location': 'left',
530+ 'user_data': {}},
531+ 'window-alloc': (22,
532+ 96,
533+ 1252,
534+ 872)}]}
535+guimgr.recent-documents = [loc('main/classes/files.py'),
536+ loc('main/windows/fontselector.py'),
537+ loc('main/windows/Titles.py')]
538+guimgr.visual-state = {loc('main/classes/messagebox.py'): {'attrib-starts': [(''\
539+ 'show',
540+ 21)],
541+ 'first-line': 15,
542+ 'folded-linenos': [],
543+ 'sel-line': 32,
544+ 'sel-line-start': 1272,
545+ 'selection_end': 1272,
546+ 'selection_start': 1272},
547+ loc('main/classes/save_project.py'): {'attrib-starts': [(''\
548+ 'save_project',
549+ 25)],
550+ 'first-line': 24,
551+ 'folded-linenos': [],
552+ 'sel-line': 28,
553+ 'sel-line-start': 1019,
554+ 'selection_end': 1073,
555+ 'selection_start': 1021},
556+ loc('main/classes/thumbnail.py'): {'attrib-starts': [(''\
557+ 'thumbnailer',
558+ 26),
559+ ('thumbnailer.GetFile',
560+ 34)],
561+ 'first-line': 128,
562+ 'folded-linenos': [],
563+ 'sel-line': 140,
564+ 'sel-line-start': 4737,
565+ 'selection_end': 4737,
566+ 'selection_start': 4737},
567+ loc('main/windows/MainGTK.py'): {'attrib-starts': [(''\
568+ 'frmMain',
569+ 42),
570+ ('frmMain.__init__',
571+ 44)],
572+ 'first-line': 61,
573+ 'folded-linenos': [],
574+ 'sel-line': 72,
575+ 'sel-line-start': 2338,
576+ 'selection_end': 2366,
577+ 'selection_start': 2366},
578+ loc('main/windows/OpenProject.py'): {'attrib-starts': [],
579+ 'first-line': 0,
580+ 'folded-linenos': [],
581+ 'sel-line': 18,
582+ 'sel-line-start': 869,
583+ 'selection_end': 869,
584+ 'selection_start': 869},
585+ loc('../../../usr/lib/python2.6/ctypes/__init__.py'): {''\
586+ 'attrib-starts': [('create_string_buffer',
587+ 51)],
588+ 'first-line': 55,
589+ 'folded-linenos': [],
590+ 'sel-line': 66,
591+ 'sel-line-start': 1982,
592+ 'selection_end': 1982,
593+ 'selection_start': 1982},
594+ loc('../../../usr/lib/python2.6/dist-packages/mlt.py'): {''\
595+ 'attrib-starts': [('Consumer',
596+ 498),
597+ ('Consumer.run',
598+ 515)],
599+ 'first-line': 506,
600+ 'folded-linenos': [],
601+ 'sel-line': 515,
602+ 'sel-line-start': 25801,
603+ 'selection_end': 25801,
604+ 'selection_start': 25801},
605+ loc('../../../usr/lib/python2.6/genericpath.py'): {'a'\
606+ 'ttrib-starts': [('isdir',
607+ 37)],
608+ 'first-line': 34,
609+ 'folded-linenos': [],
610+ 'sel-line': 43,
611+ 'sel-line-start': 1204,
612+ 'selection_end': 1204,
613+ 'selection_start': 1204},
614+ loc('../../../usr/lib/python2.6/posixpath.py'): {'att'\
615+ 'rib-starts': [('join',
616+ 58)],
617+ 'first-line': 61,
618+ 'folded-linenos': [],
619+ 'sel-line': 70,
620+ 'sel-line-start': 2309,
621+ 'selection_end': 2309,
622+ 'selection_start': 2309},
623+ loc('../../../usr/lib/python2.6/stat.py'): {'attrib-s'\
624+ 'tarts': [('S_ISDIR',
625+ 39)],
626+ 'first-line': 28,
627+ 'folded-linenos': [],
628+ 'sel-line': 40,
629+ 'sel-line-start': 728,
630+ 'selection_end': 728,
631+ 'selection_start': 728},
632+ loc('../../../usr/lib/python2.6/urllib.py'): {'attrib'\
633+ '-starts': [('unquote',
634+ 1165)],
635+ 'first-line': 1167,
636+ 'folded-linenos': [],
637+ 'sel-line': 1176,
638+ 'sel-line-start': 42616,
639+ 'selection_end': 42616,
640+ 'selection_start': 42616},
641+ loc('../../../usr/lib/python2.6/uuid.py'): {'attrib-s'\
642+ 'tarts': [('UUID',
643+ 52),
644+ ('UUID.__str__',
645+ 196)],
646+ 'first-line': 192,
647+ 'folded-linenos': [],
648+ 'sel-line': 199,
649+ 'sel-line-start': 8819,
650+ 'selection_end': 8819,
651+ 'selection_start': 8819},
652+ loc('../../../usr/lib/python2.6/xml/dom/expatbuilder.py'): {''\
653+ 'attrib-starts': [('parse',
654+ 910)],
655+ 'first-line': 909,
656+ 'folded-linenos': [],
657+ 'sel-line': 911,
658+ 'sel-line-start': 34387,
659+ 'selection_end': 34439,
660+ 'selection_start': 34439},
661+ loc('../../../usr/lib/python2.6/xml/dom/minidom.py'): {''\
662+ 'attrib-starts': [('NamedNodeMap',
663+ 461),
664+ ('NamedNodeMap.__getitem__',
665+ 525)],
666+ 'first-line': 513,
667+ 'folded-linenos': [],
668+ 'sel-line': 529,
669+ 'sel-line-start': 17894,
670+ 'selection_end': 17894,
671+ 'selection_start': 17894},
672+ loc('unknown:<untitled> #1'): {'attrib-starts': [],
673+ 'first-line': 0,
674+ 'folded-linenos': [],
675+ 'history': {},
676+ 'sel-line': 0,
677+ 'sel-line-start': 0,
678+ 'selection_end': 0,
679+ 'selection_start': 0}}
680+proj.env-vars = {loc('main/OpenShot.py'): ('project',
681+ ['']),
682+ loc('main/windows/MainGTK.py'): ('project',
683+ ['']),
684+ loc('main/windows/OpenProject.py'): ('project',
685+ ['']),
686+ loc('main/windows/Titles.py'): ('project',
687+ [''])}
688+search.search-history = [u'_(',
689+ u'template_font_size',
690+ u'self.form',
691+ u'title file',
692+ u'assert',
693+ u'self.project',
694+ u'project']
695
696=== modified file 'main/classes/files.py'
697--- main/classes/files.py 2009-05-19 06:07:26 +0000
698+++ main/classes/files.py 2009-06-10 20:52:14 +0000
699@@ -151,7 +151,6 @@
700
701 return newFile
702
703-
704 #----------------------------------------------------------------------
705 def ConvertFileToImages(self, file_name):
706 """Add a new file to the current folder"""
707
708=== added directory 'main/templates'
709=== added file 'main/templates/One_Line_Center_Aligned_Bottom_With_Short_Ticker.svg'
710--- main/templates/One_Line_Center_Aligned_Bottom_With_Short_Ticker.svg 1970-01-01 00:00:00 +0000
711+++ main/templates/One_Line_Center_Aligned_Bottom_With_Short_Ticker.svg 2009-06-10 20:52:14 +0000
712@@ -0,0 +1,135 @@
713+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
714+<!-- Created with Inkscape (http://www.inkscape.org/) -->
715+<svg
716+ xmlns:dc="http://purl.org/dc/elements/1.1/"
717+ xmlns:cc="http://creativecommons.org/ns#"
718+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
719+ xmlns:svg="http://www.w3.org/2000/svg"
720+ xmlns="http://www.w3.org/2000/svg"
721+ xmlns:xlink="http://www.w3.org/1999/xlink"
722+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
723+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
724+ width="1920"
725+ height="1080"
726+ id="svg2383"
727+ sodipodi:version="0.32"
728+ inkscape:version="0.46"
729+ version="1.0"
730+ sodipodi:docname="One_Line_Center_Aligned_Bottom_With_Short_Ticker.svg"
731+ inkscape:output_extension="org.inkscape.output.svg.inkscape">
732+ <defs
733+ id="defs2385">
734+ <linearGradient
735+ inkscape:collect="always"
736+ id="linearGradient3267">
737+ <stop
738+ style="stop-color:#0000ff;stop-opacity:0"
739+ offset="0"
740+ id="stop3269" />
741+ <stop
742+ id="stop3275"
743+ offset="0.48768985"
744+ style="stop-color:#ffffff;stop-opacity:1" />
745+ <stop
746+ style="stop-color:#0000ff;stop-opacity:0;"
747+ offset="1"
748+ id="stop3271" />
749+ </linearGradient>
750+ <inkscape:perspective
751+ sodipodi:type="inkscape:persp3d"
752+ inkscape:vp_x="0 : 526.18109 : 1"
753+ inkscape:vp_y="0 : 1000 : 0"
754+ inkscape:vp_z="744.09448 : 526.18109 : 1"
755+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
756+ id="perspective2391" />
757+ <linearGradient
758+ inkscape:collect="always"
759+ xlink:href="#linearGradient3267"
760+ id="linearGradient3273"
761+ x1="333.26617"
762+ y1="671.26709"
763+ x2="1668.8561"
764+ y2="671.26709"
765+ gradientUnits="userSpaceOnUse"
766+ gradientTransform="matrix(1,0,0,2.5903772,-710.8984,-1038.074)" />
767+ <linearGradient
768+ inkscape:collect="always"
769+ xlink:href="#linearGradient3267"
770+ id="linearGradient3463"
771+ gradientUnits="userSpaceOnUse"
772+ gradientTransform="matrix(1,0,0,2.5903772,-710.89841,-818.43889)"
773+ x1="333.26617"
774+ y1="671.26709"
775+ x2="1668.8561"
776+ y2="671.26709" />
777+ </defs>
778+ <sodipodi:namedview
779+ id="base"
780+ pagecolor="#ffffff"
781+ bordercolor="#666666"
782+ borderopacity="1.0"
783+ gridtolerance="10000"
784+ guidetolerance="10"
785+ objecttolerance="10"
786+ inkscape:pageopacity="0.0"
787+ inkscape:pageshadow="2"
788+ inkscape:zoom="0.49497475"
789+ inkscape:cx="960"
790+ inkscape:cy="445.65864"
791+ inkscape:document-units="px"
792+ inkscape:current-layer="layer1"
793+ showgrid="false"
794+ inkscape:window-width="1440"
795+ inkscape:window-height="844"
796+ inkscape:window-x="-4"
797+ inkscape:window-y="-4" />
798+ <metadata
799+ id="metadata2388">
800+ <rdf:RDF>
801+ <cc:Work
802+ rdf:about="">
803+ <dc:format>image/svg+xml</dc:format>
804+ <dc:type
805+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
806+ </cc:Work>
807+ </rdf:RDF>
808+ </metadata>
809+ <g
810+ inkscape:label="Layer 1"
811+ inkscape:groupmode="layer"
812+ id="layer1">
813+ <rect
814+ style="opacity:1;fill:#0000ff;fill-rule:evenodd;stroke:#000000;stroke-width:1.0569607px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
815+ id="rect3263"
816+ width="1921.2532"
817+ height="1081.3113"
818+ x="1.038633"
819+ y="0.68048632"
820+ rx="30.945517"
821+ ry="24.216171" />
822+ <path
823+ style="fill:url(#linearGradient3273);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.83171033999999999px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
824+ d="M -1 691.71875 L -1 709.8125 L 1010.5 709.8125 L 1010.5 691.71875 L -1 691.71875 z "
825+ id="rect3265" />
826+ <path
827+ style="fill:#ff0a00;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.97477293px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
828+ d="M 0 710.625 L 0 910.65625 L 1224.5625 910.65625 C 1245.8282 910.65625 1262.9375 893.54696 1262.9375 872.28125 L 1262.9375 749 C 1262.9375 727.73427 1245.8282 710.625 1224.5625 710.625 L 0 710.625 z "
829+ id="rect3459" />
830+ <text
831+ xml:space="preserve"
832+ style="font-size:146.57203674px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:#7a7a7a;stroke-width:1.22965586;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans"
833+ x="46.697979"
834+ y="861.23767"
835+ id="text2395"
836+ sodipodi:linespacing="125%"><tspan
837+ sodipodi:role="line"
838+ id="tspan2397"
839+ x="46.697979"
840+ y="861.23767"
841+ style="font-size:146.57203674px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1.22965586;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans">The Title</tspan></text>
842+ <path
843+ style="fill:url(#linearGradient3463);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.83171033999999999px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
844+ d="M -1 911.34375 L -1 929.4375 L 1010.5 929.4375 L 1010.5 911.34375 L -1 911.34375 z "
845+ id="rect3461" />
846+ </g>
847+</svg>
848
849=== added file 'main/templates/One_Line_Center_Aligned_Bottom_With_Ticker.svg'
850--- main/templates/One_Line_Center_Aligned_Bottom_With_Ticker.svg 1970-01-01 00:00:00 +0000
851+++ main/templates/One_Line_Center_Aligned_Bottom_With_Ticker.svg 2009-06-10 20:52:14 +0000
852@@ -0,0 +1,149 @@
853+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
854+<!-- Created with Inkscape (http://www.inkscape.org/) -->
855+<svg
856+ xmlns:dc="http://purl.org/dc/elements/1.1/"
857+ xmlns:cc="http://creativecommons.org/ns#"
858+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
859+ xmlns:svg="http://www.w3.org/2000/svg"
860+ xmlns="http://www.w3.org/2000/svg"
861+ xmlns:xlink="http://www.w3.org/1999/xlink"
862+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
863+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
864+ width="1920"
865+ height="1080"
866+ id="svg2383"
867+ sodipodi:version="0.32"
868+ inkscape:version="0.46"
869+ version="1.0"
870+ sodipodi:docname="One_Line_Center_Aligned_Bottom_With_Ticker.svg"
871+ inkscape:output_extension="org.inkscape.output.svg.inkscape">
872+ <defs
873+ id="defs2385">
874+ <linearGradient
875+ inkscape:collect="always"
876+ id="linearGradient3267">
877+ <stop
878+ style="stop-color:#0000ff;stop-opacity:0"
879+ offset="0"
880+ id="stop3269" />
881+ <stop
882+ id="stop3275"
883+ offset="0.48768985"
884+ style="stop-color:#ffffff;stop-opacity:1" />
885+ <stop
886+ style="stop-color:#0000ff;stop-opacity:0;"
887+ offset="1"
888+ id="stop3271" />
889+ </linearGradient>
890+ <inkscape:perspective
891+ sodipodi:type="inkscape:persp3d"
892+ inkscape:vp_x="0 : 526.18109 : 1"
893+ inkscape:vp_y="0 : 1000 : 0"
894+ inkscape:vp_z="744.09448 : 526.18109 : 1"
895+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
896+ id="perspective2391" />
897+ <linearGradient
898+ inkscape:collect="always"
899+ xlink:href="#linearGradient3267"
900+ id="linearGradient3273"
901+ x1="333.26617"
902+ y1="671.26709"
903+ x2="1668.8561"
904+ y2="671.26709"
905+ gradientUnits="userSpaceOnUse"
906+ gradientTransform="matrix(1,0,0,2.5903772,-51.517759,-1034.0334)" />
907+ <linearGradient
908+ inkscape:collect="always"
909+ xlink:href="#linearGradient3267"
910+ id="linearGradient3463"
911+ gradientUnits="userSpaceOnUse"
912+ gradientTransform="matrix(1,0,0,2.5903772,-51.517772,-814.39828)"
913+ x1="333.26617"
914+ y1="671.26709"
915+ x2="1668.8561"
916+ y2="671.26709" />
917+ </defs>
918+ <sodipodi:namedview
919+ id="base"
920+ pagecolor="#ffffff"
921+ bordercolor="#666666"
922+ borderopacity="1.0"
923+ gridtolerance="10000"
924+ guidetolerance="10"
925+ objecttolerance="10"
926+ inkscape:pageopacity="0.0"
927+ inkscape:pageshadow="2"
928+ inkscape:zoom="0.49497475"
929+ inkscape:cx="978.06021"
930+ inkscape:cy="533.51123"
931+ inkscape:document-units="px"
932+ inkscape:current-layer="layer1"
933+ showgrid="false"
934+ inkscape:window-width="1440"
935+ inkscape:window-height="844"
936+ inkscape:window-x="-4"
937+ inkscape:window-y="-4" />
938+ <metadata
939+ id="metadata2388">
940+ <rdf:RDF>
941+ <cc:Work
942+ rdf:about="">
943+ <dc:format>image/svg+xml</dc:format>
944+ <dc:type
945+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
946+ </cc:Work>
947+ </rdf:RDF>
948+ </metadata>
949+ <g
950+ inkscape:label="Layer 1"
951+ inkscape:groupmode="layer"
952+ id="layer1">
953+ <rect
954+ style="opacity:1;fill:#0000ff;fill-rule:evenodd;stroke:#000000;stroke-width:1.0569607px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
955+ id="rect3263"
956+ width="1921.2532"
957+ height="1081.3113"
958+ x="1.038633"
959+ y="0.68048632"
960+ rx="30.945517"
961+ ry="24.216171" />
962+ <rect
963+ style="fill:url(#linearGradient3273);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.83171034px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
964+ id="rect3265"
965+ width="1416.4021"
966+ height="18.098497"
967+ x="253.46417"
968+ y="695.75214"
969+ rx="0"
970+ ry="18.098497" />
971+ <rect
972+ style="fill:#ff0a00;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.97477293px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
973+ id="rect3459"
974+ width="1921.3353"
975+ height="200.03543"
976+ x="0.99755633"
977+ y="714.65875"
978+ ry="0" />
979+ <text
980+ xml:space="preserve"
981+ style="font-size:146.57203674px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:#7a7a7a;stroke-width:1.22965586;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans"
982+ x="646.72858"
983+ y="869.31891"
984+ id="text2395"
985+ sodipodi:linespacing="125%"><tspan
986+ sodipodi:role="line"
987+ id="tspan2397"
988+ x="646.72858"
989+ y="869.31891"
990+ style="font-size:146.57203674px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1.22965586;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans">The Title</tspan></text>
991+ <rect
992+ style="fill:url(#linearGradient3463);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.83171034px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
993+ id="rect3461"
994+ width="1416.4021"
995+ height="18.098497"
996+ x="253.46417"
997+ y="915.38727"
998+ rx="0"
999+ ry="18.098497" />
1000+ </g>
1001+</svg>
1002
1003=== added file 'main/templates/One_Line_Centered_Aligned_Bottom.svg'
1004--- main/templates/One_Line_Centered_Aligned_Bottom.svg 1970-01-01 00:00:00 +0000
1005+++ main/templates/One_Line_Centered_Aligned_Bottom.svg 2009-06-10 20:52:14 +0000
1006@@ -0,0 +1,112 @@
1007+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
1008+<!-- Created with Inkscape (http://www.inkscape.org/) -->
1009+<svg
1010+ xmlns:dc="http://purl.org/dc/elements/1.1/"
1011+ xmlns:cc="http://creativecommons.org/ns#"
1012+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
1013+ xmlns:svg="http://www.w3.org/2000/svg"
1014+ xmlns="http://www.w3.org/2000/svg"
1015+ xmlns:xlink="http://www.w3.org/1999/xlink"
1016+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
1017+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
1018+ width="1920"
1019+ height="1080"
1020+ id="svg2383"
1021+ sodipodi:version="0.32"
1022+ inkscape:version="0.46"
1023+ version="1.0"
1024+ sodipodi:docname="One_Line_Centered_Aligned_Bottom.svg"
1025+ inkscape:output_extension="org.inkscape.output.svg.inkscape">
1026+ <defs
1027+ id="defs2385">
1028+ <linearGradient
1029+ inkscape:collect="always"
1030+ id="linearGradient3267">
1031+ <stop
1032+ style="stop-color:#0000ff;stop-opacity:0"
1033+ offset="0"
1034+ id="stop3269" />
1035+ <stop
1036+ id="stop3275"
1037+ offset="0.48768985"
1038+ style="stop-color:#ffffff;stop-opacity:1" />
1039+ <stop
1040+ style="stop-color:#0000ff;stop-opacity:0;"
1041+ offset="1"
1042+ id="stop3271" />
1043+ </linearGradient>
1044+ <inkscape:perspective
1045+ sodipodi:type="inkscape:persp3d"
1046+ inkscape:vp_x="0 : 526.18109 : 1"
1047+ inkscape:vp_y="0 : 1000 : 0"
1048+ inkscape:vp_z="744.09448 : 526.18109 : 1"
1049+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
1050+ id="perspective2391" />
1051+ <linearGradient
1052+ inkscape:collect="always"
1053+ xlink:href="#linearGradient3267"
1054+ id="linearGradient3273"
1055+ x1="333.26617"
1056+ y1="671.26709"
1057+ x2="1668.8561"
1058+ y2="671.26709"
1059+ gradientUnits="userSpaceOnUse"
1060+ gradientTransform="matrix(1,0,0,2.5903772,-51.517735,-1065.3827)" />
1061+ </defs>
1062+ <sodipodi:namedview
1063+ id="base"
1064+ pagecolor="#ffffff"
1065+ bordercolor="#666666"
1066+ borderopacity="1.0"
1067+ gridtolerance="10000"
1068+ guidetolerance="10"
1069+ objecttolerance="10"
1070+ inkscape:pageopacity="0.0"
1071+ inkscape:pageshadow="2"
1072+ inkscape:zoom="0.49497475"
1073+ inkscape:cx="965.80854"
1074+ inkscape:cy="476.44915"
1075+ inkscape:document-units="px"
1076+ inkscape:current-layer="layer1"
1077+ showgrid="false"
1078+ inkscape:window-width="1024"
1079+ inkscape:window-height="719"
1080+ inkscape:window-x="0"
1081+ inkscape:window-y="24" />
1082+ <metadata
1083+ id="metadata2388">
1084+ <rdf:RDF>
1085+ <cc:Work
1086+ rdf:about="">
1087+ <dc:format>image/svg+xml</dc:format>
1088+ <dc:type
1089+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
1090+ </cc:Work>
1091+ </rdf:RDF>
1092+ </metadata>
1093+ <g
1094+ inkscape:label="Layer 1"
1095+ inkscape:groupmode="layer"
1096+ id="layer1">
1097+ <rect
1098+ style="opacity:1;fill:#0000ff;fill-rule:evenodd;stroke:#000000;stroke-width:1.0569607px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
1099+ id="rect3263"
1100+ width="1921.2532"
1101+ height="1081.3113"
1102+ x="1.038633"
1103+ y="0.68048632"
1104+ rx="30.945517"
1105+ ry="24.216171" />
1106+ <text
1107+ xml:space="preserve"
1108+ style="font-size:106.46692965px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:#8e8e8e;stroke-width:2.00119448000000011;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans"
1109+ x="961.56488"
1110+ y="874.64398"
1111+ id="text2399"
1112+ sodipodi:linespacing="125%"
1113+ transform="scale(0.9994019,1.0005984)"><tspan
1114+ sodipodi:role="line"
1115+ style="font-size:106.46692965px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:#8e8e8e;stroke-width:2.00119448000000011;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans"
1116+ id="tspan2387">The Title</tspan></text>
1117+ </g>
1118+</svg>
1119
1120=== added file 'main/templates/One_Line_Centered_Aligned_Middle.svg'
1121--- main/templates/One_Line_Centered_Aligned_Middle.svg 1970-01-01 00:00:00 +0000
1122+++ main/templates/One_Line_Centered_Aligned_Middle.svg 2009-06-10 20:52:14 +0000
1123@@ -0,0 +1,113 @@
1124+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
1125+<!-- Created with Inkscape (http://www.inkscape.org/) -->
1126+<svg
1127+ xmlns:dc="http://purl.org/dc/elements/1.1/"
1128+ xmlns:cc="http://creativecommons.org/ns#"
1129+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
1130+ xmlns:svg="http://www.w3.org/2000/svg"
1131+ xmlns="http://www.w3.org/2000/svg"
1132+ xmlns:xlink="http://www.w3.org/1999/xlink"
1133+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
1134+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
1135+ width="1920"
1136+ height="1080"
1137+ id="svg2383"
1138+ sodipodi:version="0.32"
1139+ inkscape:version="0.46"
1140+ version="1.0"
1141+ sodipodi:docname="One_Line_Centered_Aligned_Middle.svg"
1142+ inkscape:output_extension="org.inkscape.output.svg.inkscape">
1143+ <defs
1144+ id="defs2385">
1145+ <linearGradient
1146+ inkscape:collect="always"
1147+ id="linearGradient3267">
1148+ <stop
1149+ style="stop-color:#0000ff;stop-opacity:0"
1150+ offset="0"
1151+ id="stop3269" />
1152+ <stop
1153+ id="stop3275"
1154+ offset="0.48768985"
1155+ style="stop-color:#ffffff;stop-opacity:1" />
1156+ <stop
1157+ style="stop-color:#0000ff;stop-opacity:0;"
1158+ offset="1"
1159+ id="stop3271" />
1160+ </linearGradient>
1161+ <inkscape:perspective
1162+ sodipodi:type="inkscape:persp3d"
1163+ inkscape:vp_x="0 : 526.18109 : 1"
1164+ inkscape:vp_y="0 : 1000 : 0"
1165+ inkscape:vp_z="744.09448 : 526.18109 : 1"
1166+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
1167+ id="perspective2391" />
1168+ <linearGradient
1169+ inkscape:collect="always"
1170+ xlink:href="#linearGradient3267"
1171+ id="linearGradient3273"
1172+ x1="333.26617"
1173+ y1="671.26709"
1174+ x2="1668.8561"
1175+ y2="671.26709"
1176+ gradientUnits="userSpaceOnUse"
1177+ gradientTransform="matrix(1,0,0,2.5903772,-51.517735,-1065.3827)" />
1178+ </defs>
1179+ <sodipodi:namedview
1180+ id="base"
1181+ pagecolor="#ffffff"
1182+ bordercolor="#666666"
1183+ borderopacity="1.0"
1184+ gridtolerance="10000"
1185+ guidetolerance="10"
1186+ objecttolerance="10"
1187+ inkscape:pageopacity="0.0"
1188+ inkscape:pageshadow="2"
1189+ inkscape:zoom="0.49497475"
1190+ inkscape:cx="833.8611"
1191+ inkscape:cy="476.44915"
1192+ inkscape:document-units="px"
1193+ inkscape:current-layer="layer1"
1194+ showgrid="false"
1195+ inkscape:window-width="1440"
1196+ inkscape:window-height="844"
1197+ inkscape:window-x="-4"
1198+ inkscape:window-y="-4" />
1199+ <metadata
1200+ id="metadata2388">
1201+ <rdf:RDF>
1202+ <cc:Work
1203+ rdf:about="">
1204+ <dc:format>image/svg+xml</dc:format>
1205+ <dc:type
1206+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
1207+ </cc:Work>
1208+ </rdf:RDF>
1209+ </metadata>
1210+ <g
1211+ inkscape:label="Layer 1"
1212+ inkscape:groupmode="layer"
1213+ id="layer1">
1214+ <rect
1215+ style="opacity:1;fill:#0000ff;fill-rule:evenodd;stroke:#000000;stroke-width:1.0569607px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
1216+ id="rect3263"
1217+ width="1921.2532"
1218+ height="1081.3113"
1219+ x="1.038633"
1220+ y="0.68048632"
1221+ rx="30.945517"
1222+ ry="24.216171" />
1223+ <text
1224+ xml:space="preserve"
1225+ style="font-size:238.39523315px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:#7a7a7a;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans"
1226+ x="968.3584"
1227+ y="629.20038"
1228+ id="text2395"
1229+ sodipodi:linespacing="125%"><tspan
1230+ sodipodi:role="line"
1231+ id="tspan2397"
1232+ x="968.3584"
1233+ style="font-size:238.39523315px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:#7a7a7a;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans"
1234+ y="629.20038">The Title</tspan></text>
1235+ </g>
1236+</svg>
1237
1238=== added file 'main/templates/One_Line_Centered_Aligned_Top.svg'
1239--- main/templates/One_Line_Centered_Aligned_Top.svg 1970-01-01 00:00:00 +0000
1240+++ main/templates/One_Line_Centered_Aligned_Top.svg 2009-06-10 20:52:14 +0000
1241@@ -0,0 +1,113 @@
1242+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
1243+<!-- Created with Inkscape (http://www.inkscape.org/) -->
1244+<svg
1245+ xmlns:dc="http://purl.org/dc/elements/1.1/"
1246+ xmlns:cc="http://creativecommons.org/ns#"
1247+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
1248+ xmlns:svg="http://www.w3.org/2000/svg"
1249+ xmlns="http://www.w3.org/2000/svg"
1250+ xmlns:xlink="http://www.w3.org/1999/xlink"
1251+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
1252+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
1253+ width="1920"
1254+ height="1080"
1255+ id="svg2383"
1256+ sodipodi:version="0.32"
1257+ inkscape:version="0.46"
1258+ version="1.0"
1259+ sodipodi:docname="One_Line_Centered_Aligned_Top.svg"
1260+ inkscape:output_extension="org.inkscape.output.svg.inkscape">
1261+ <defs
1262+ id="defs2385">
1263+ <linearGradient
1264+ inkscape:collect="always"
1265+ id="linearGradient3267">
1266+ <stop
1267+ style="stop-color:#0000ff;stop-opacity:0"
1268+ offset="0"
1269+ id="stop3269" />
1270+ <stop
1271+ id="stop3275"
1272+ offset="0.48768985"
1273+ style="stop-color:#ffffff;stop-opacity:1" />
1274+ <stop
1275+ style="stop-color:#0000ff;stop-opacity:0;"
1276+ offset="1"
1277+ id="stop3271" />
1278+ </linearGradient>
1279+ <inkscape:perspective
1280+ sodipodi:type="inkscape:persp3d"
1281+ inkscape:vp_x="0 : 526.18109 : 1"
1282+ inkscape:vp_y="0 : 1000 : 0"
1283+ inkscape:vp_z="744.09448 : 526.18109 : 1"
1284+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
1285+ id="perspective2391" />
1286+ <linearGradient
1287+ inkscape:collect="always"
1288+ xlink:href="#linearGradient3267"
1289+ id="linearGradient3273"
1290+ x1="333.26617"
1291+ y1="671.26709"
1292+ x2="1668.8561"
1293+ y2="671.26709"
1294+ gradientUnits="userSpaceOnUse"
1295+ gradientTransform="matrix(1,0,0,2.5903772,-51.517735,-865.3827)" />
1296+ </defs>
1297+ <sodipodi:namedview
1298+ id="base"
1299+ pagecolor="#ffffff"
1300+ bordercolor="#666666"
1301+ borderopacity="1.0"
1302+ gridtolerance="10000"
1303+ guidetolerance="10"
1304+ objecttolerance="10"
1305+ inkscape:pageopacity="0.0"
1306+ inkscape:pageshadow="2"
1307+ inkscape:zoom="0.49497475"
1308+ inkscape:cx="833.8611"
1309+ inkscape:cy="476.44915"
1310+ inkscape:document-units="px"
1311+ inkscape:current-layer="layer1"
1312+ showgrid="false"
1313+ inkscape:window-width="1440"
1314+ inkscape:window-height="844"
1315+ inkscape:window-x="-4"
1316+ inkscape:window-y="-4" />
1317+ <metadata
1318+ id="metadata2388">
1319+ <rdf:RDF>
1320+ <cc:Work
1321+ rdf:about="">
1322+ <dc:format>image/svg+xml</dc:format>
1323+ <dc:type
1324+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
1325+ </cc:Work>
1326+ </rdf:RDF>
1327+ </metadata>
1328+ <g
1329+ inkscape:label="Layer 1"
1330+ inkscape:groupmode="layer"
1331+ id="layer1">
1332+ <rect
1333+ style="opacity:1;fill:#0000ff;fill-rule:evenodd;stroke:#000000;stroke-width:1.0569607px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
1334+ id="rect3263"
1335+ width="1921.2532"
1336+ height="1081.3113"
1337+ x="1.038633"
1338+ y="0.68048632"
1339+ rx="30.945517"
1340+ ry="24.216171" />
1341+ <text
1342+ xml:space="preserve"
1343+ style="font-size:238.39523315px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:#7a7a7a;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans"
1344+ x="968.3584"
1345+ y="269.20038"
1346+ id="text2395"
1347+ sodipodi:linespacing="125%"><tspan
1348+ sodipodi:role="line"
1349+ id="tspan2397"
1350+ x="968.3584"
1351+ style="font-size:238.39523315px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:#7a7a7a;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans"
1352+ y="269.20038">The Title</tspan></text>
1353+ </g>
1354+</svg>
1355
1356=== added file 'main/templates/One_Line_Left_Aligned_Bottom_With_Ticker.svg'
1357--- main/templates/One_Line_Left_Aligned_Bottom_With_Ticker.svg 1970-01-01 00:00:00 +0000
1358+++ main/templates/One_Line_Left_Aligned_Bottom_With_Ticker.svg 2009-06-10 20:52:14 +0000
1359@@ -0,0 +1,149 @@
1360+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
1361+<!-- Created with Inkscape (http://www.inkscape.org/) -->
1362+<svg
1363+ xmlns:dc="http://purl.org/dc/elements/1.1/"
1364+ xmlns:cc="http://creativecommons.org/ns#"
1365+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
1366+ xmlns:svg="http://www.w3.org/2000/svg"
1367+ xmlns="http://www.w3.org/2000/svg"
1368+ xmlns:xlink="http://www.w3.org/1999/xlink"
1369+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
1370+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
1371+ width="1920"
1372+ height="1080"
1373+ id="svg2383"
1374+ sodipodi:version="0.32"
1375+ inkscape:version="0.46"
1376+ version="1.0"
1377+ sodipodi:docname="One_Line_Left_Aligned_Bottom_With_Ticker.svg"
1378+ inkscape:output_extension="org.inkscape.output.svg.inkscape">
1379+ <defs
1380+ id="defs2385">
1381+ <linearGradient
1382+ inkscape:collect="always"
1383+ id="linearGradient3267">
1384+ <stop
1385+ style="stop-color:#0000ff;stop-opacity:0"
1386+ offset="0"
1387+ id="stop3269" />
1388+ <stop
1389+ id="stop3275"
1390+ offset="0.48768985"
1391+ style="stop-color:#ffffff;stop-opacity:1" />
1392+ <stop
1393+ style="stop-color:#0000ff;stop-opacity:0;"
1394+ offset="1"
1395+ id="stop3271" />
1396+ </linearGradient>
1397+ <inkscape:perspective
1398+ sodipodi:type="inkscape:persp3d"
1399+ inkscape:vp_x="0 : 526.18109 : 1"
1400+ inkscape:vp_y="0 : 1000 : 0"
1401+ inkscape:vp_z="744.09448 : 526.18109 : 1"
1402+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
1403+ id="perspective2391" />
1404+ <linearGradient
1405+ inkscape:collect="always"
1406+ xlink:href="#linearGradient3267"
1407+ id="linearGradient3273"
1408+ x1="333.26617"
1409+ y1="671.26709"
1410+ x2="1668.8561"
1411+ y2="671.26709"
1412+ gradientUnits="userSpaceOnUse"
1413+ gradientTransform="matrix(1,0,0,2.5903772,-51.517759,-1034.0334)" />
1414+ <linearGradient
1415+ inkscape:collect="always"
1416+ xlink:href="#linearGradient3267"
1417+ id="linearGradient3463"
1418+ gradientUnits="userSpaceOnUse"
1419+ gradientTransform="matrix(1,0,0,2.5903772,-51.517772,-814.39828)"
1420+ x1="333.26617"
1421+ y1="671.26709"
1422+ x2="1668.8561"
1423+ y2="671.26709" />
1424+ </defs>
1425+ <sodipodi:namedview
1426+ id="base"
1427+ pagecolor="#ffffff"
1428+ bordercolor="#666666"
1429+ borderopacity="1.0"
1430+ gridtolerance="10000"
1431+ guidetolerance="10"
1432+ objecttolerance="10"
1433+ inkscape:pageopacity="0.0"
1434+ inkscape:pageshadow="2"
1435+ inkscape:zoom="0.49497475"
1436+ inkscape:cx="978.06021"
1437+ inkscape:cy="533.51123"
1438+ inkscape:document-units="px"
1439+ inkscape:current-layer="layer1"
1440+ showgrid="false"
1441+ inkscape:window-width="1440"
1442+ inkscape:window-height="844"
1443+ inkscape:window-x="-4"
1444+ inkscape:window-y="-4" />
1445+ <metadata
1446+ id="metadata2388">
1447+ <rdf:RDF>
1448+ <cc:Work
1449+ rdf:about="">
1450+ <dc:format>image/svg+xml</dc:format>
1451+ <dc:type
1452+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
1453+ </cc:Work>
1454+ </rdf:RDF>
1455+ </metadata>
1456+ <g
1457+ inkscape:label="Layer 1"
1458+ inkscape:groupmode="layer"
1459+ id="layer1">
1460+ <rect
1461+ style="opacity:1;fill:#0000ff;fill-rule:evenodd;stroke:#000000;stroke-width:1.0569607px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
1462+ id="rect3263"
1463+ width="1921.2532"
1464+ height="1081.3113"
1465+ x="1.038633"
1466+ y="0.68048632"
1467+ rx="30.945517"
1468+ ry="24.216171" />
1469+ <rect
1470+ style="fill:url(#linearGradient3273);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.83171034px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
1471+ id="rect3265"
1472+ width="1416.4021"
1473+ height="18.098497"
1474+ x="253.46417"
1475+ y="695.75214"
1476+ rx="0"
1477+ ry="18.098497" />
1478+ <rect
1479+ style="fill:#ff0a00;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.97477293px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
1480+ id="rect3459"
1481+ width="1921.3353"
1482+ height="200.03543"
1483+ x="0.99755633"
1484+ y="714.65875"
1485+ ry="0" />
1486+ <text
1487+ xml:space="preserve"
1488+ style="font-size:146.57203674px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:#7a7a7a;stroke-width:1.22965586;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans"
1489+ x="41.315811"
1490+ y="869.31891"
1491+ id="text2395"
1492+ sodipodi:linespacing="125%"><tspan
1493+ sodipodi:role="line"
1494+ id="tspan2397"
1495+ x="41.315811"
1496+ y="869.31891"
1497+ style="font-size:146.57203674px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1.22965586;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans">The Title</tspan></text>
1498+ <rect
1499+ style="fill:url(#linearGradient3463);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.83171034px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
1500+ id="rect3461"
1501+ width="1416.4021"
1502+ height="18.098497"
1503+ x="253.46417"
1504+ y="915.38727"
1505+ rx="0"
1506+ ry="18.098497" />
1507+ </g>
1508+</svg>
1509
1510=== added file 'main/templates/Two_Line_Centered_With_Divider.svg'
1511--- main/templates/Two_Line_Centered_With_Divider.svg 1970-01-01 00:00:00 +0000
1512+++ main/templates/Two_Line_Centered_With_Divider.svg 2009-06-10 20:52:14 +0000
1513@@ -0,0 +1,134 @@
1514+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
1515+<!-- Created with Inkscape (http://www.inkscape.org/) -->
1516+<svg
1517+ xmlns:dc="http://purl.org/dc/elements/1.1/"
1518+ xmlns:cc="http://creativecommons.org/ns#"
1519+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
1520+ xmlns:svg="http://www.w3.org/2000/svg"
1521+ xmlns="http://www.w3.org/2000/svg"
1522+ xmlns:xlink="http://www.w3.org/1999/xlink"
1523+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
1524+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
1525+ width="1920"
1526+ height="1080"
1527+ id="svg2383"
1528+ sodipodi:version="0.32"
1529+ inkscape:version="0.46"
1530+ version="1.0"
1531+ sodipodi:docname="Two_Line_Centered_With_Divider.svg"
1532+ inkscape:output_extension="org.inkscape.output.svg.inkscape">
1533+ <defs
1534+ id="defs2385">
1535+ <linearGradient
1536+ inkscape:collect="always"
1537+ id="linearGradient3267">
1538+ <stop
1539+ style="stop-color:#0000ff;stop-opacity:0"
1540+ offset="0"
1541+ id="stop3269" />
1542+ <stop
1543+ id="stop3275"
1544+ offset="0.48768985"
1545+ style="stop-color:#ffffff;stop-opacity:1" />
1546+ <stop
1547+ style="stop-color:#0000ff;stop-opacity:0;"
1548+ offset="1"
1549+ id="stop3271" />
1550+ </linearGradient>
1551+ <inkscape:perspective
1552+ sodipodi:type="inkscape:persp3d"
1553+ inkscape:vp_x="0 : 526.18109 : 1"
1554+ inkscape:vp_y="0 : 1000 : 0"
1555+ inkscape:vp_z="744.09448 : 526.18109 : 1"
1556+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
1557+ id="perspective2391" />
1558+ <linearGradient
1559+ inkscape:collect="always"
1560+ xlink:href="#linearGradient3267"
1561+ id="linearGradient3273"
1562+ x1="333.26617"
1563+ y1="671.26709"
1564+ x2="1668.8561"
1565+ y2="671.26709"
1566+ gradientUnits="userSpaceOnUse"
1567+ gradientTransform="matrix(1,0,0,2.5903772,-51.517735,-1065.3827)" />
1568+ </defs>
1569+ <sodipodi:namedview
1570+ id="base"
1571+ pagecolor="#ffffff"
1572+ bordercolor="#666666"
1573+ borderopacity="1.0"
1574+ gridtolerance="10000"
1575+ guidetolerance="10"
1576+ objecttolerance="10"
1577+ inkscape:pageopacity="0.0"
1578+ inkscape:pageshadow="2"
1579+ inkscape:zoom="0.24748737"
1580+ inkscape:cx="748.43417"
1581+ inkscape:cy="579.30295"
1582+ inkscape:document-units="px"
1583+ inkscape:current-layer="layer1"
1584+ showgrid="false"
1585+ inkscape:window-width="1440"
1586+ inkscape:window-height="844"
1587+ inkscape:window-x="-4"
1588+ inkscape:window-y="-4" />
1589+ <metadata
1590+ id="metadata2388">
1591+ <rdf:RDF>
1592+ <cc:Work
1593+ rdf:about="">
1594+ <dc:format>image/svg+xml</dc:format>
1595+ <dc:type
1596+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
1597+ </cc:Work>
1598+ </rdf:RDF>
1599+ </metadata>
1600+ <g
1601+ inkscape:label="Layer 1"
1602+ inkscape:groupmode="layer"
1603+ id="layer1">
1604+ <rect
1605+ style="opacity:1;fill:#0000ff;fill-rule:evenodd;stroke:#000000;stroke-width:1.0569607px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
1606+ id="rect3263"
1607+ width="1921.2532"
1608+ height="1081.3113"
1609+ x="1.038633"
1610+ y="0.68048632"
1611+ rx="30.945517"
1612+ ry="24.216171" />
1613+ <text
1614+ xml:space="preserve"
1615+ style="font-size:238.39523315px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:#7a7a7a;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans"
1616+ x="968.3584"
1617+ y="629.20038"
1618+ id="text2395"
1619+ sodipodi:linespacing="125%"><tspan
1620+ sodipodi:role="line"
1621+ id="tspan2397"
1622+ x="968.3584"
1623+ style="font-size:238.39523315px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:#7a7a7a;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans"
1624+ y="629.20038">The Title</tspan></text>
1625+ <text
1626+ xml:space="preserve"
1627+ style="font-size:106.40337372px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:#8e8e8e;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans"
1628+ x="960.98981"
1629+ y="795.1698"
1630+ id="text2399"
1631+ sodipodi:linespacing="125%"><tspan
1632+ sodipodi:role="line"
1633+ id="tspan2401"
1634+ x="960.98981"
1635+ style="font-size:106.40337372px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:#8e8e8e;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans"
1636+ y="795.1698">Sub-Title</tspan></text>
1637+ <rect
1638+ style="fill:url(#linearGradient3273);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.83171034px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
1639+ id="rect3265"
1640+ width="1416.4021"
1641+ height="18.098497"
1642+ x="253.46417"
1643+ y="664.40283"
1644+ rx="0"
1645+ ry="18.098497" />
1646+ </g>
1647+</svg>
1648
1649=== added file 'main/templates/Two_Line_Centered_With_Divider_Aligned_Top_And_Bottom.svg'
1650--- main/templates/Two_Line_Centered_With_Divider_Aligned_Top_And_Bottom.svg 1970-01-01 00:00:00 +0000
1651+++ main/templates/Two_Line_Centered_With_Divider_Aligned_Top_And_Bottom.svg 2009-06-10 20:52:14 +0000
1652@@ -0,0 +1,134 @@
1653+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
1654+<!-- Created with Inkscape (http://www.inkscape.org/) -->
1655+<svg
1656+ xmlns:dc="http://purl.org/dc/elements/1.1/"
1657+ xmlns:cc="http://creativecommons.org/ns#"
1658+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
1659+ xmlns:svg="http://www.w3.org/2000/svg"
1660+ xmlns="http://www.w3.org/2000/svg"
1661+ xmlns:xlink="http://www.w3.org/1999/xlink"
1662+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
1663+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
1664+ width="1920"
1665+ height="1080"
1666+ id="svg2383"
1667+ sodipodi:version="0.32"
1668+ inkscape:version="0.46"
1669+ version="1.0"
1670+ sodipodi:docname="Two_Line_Centered_With_Divider_Aligned_Top_And_Bottom.svg"
1671+ inkscape:output_extension="org.inkscape.output.svg.inkscape">
1672+ <defs
1673+ id="defs2385">
1674+ <linearGradient
1675+ inkscape:collect="always"
1676+ id="linearGradient3267">
1677+ <stop
1678+ style="stop-color:#0000ff;stop-opacity:0"
1679+ offset="0"
1680+ id="stop3269" />
1681+ <stop
1682+ id="stop3275"
1683+ offset="0.48768985"
1684+ style="stop-color:#ffffff;stop-opacity:1" />
1685+ <stop
1686+ style="stop-color:#0000ff;stop-opacity:0;"
1687+ offset="1"
1688+ id="stop3271" />
1689+ </linearGradient>
1690+ <inkscape:perspective
1691+ sodipodi:type="inkscape:persp3d"
1692+ inkscape:vp_x="0 : 526.18109 : 1"
1693+ inkscape:vp_y="0 : 1000 : 0"
1694+ inkscape:vp_z="744.09448 : 526.18109 : 1"
1695+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
1696+ id="perspective2391" />
1697+ <linearGradient
1698+ inkscape:collect="always"
1699+ xlink:href="#linearGradient3267"
1700+ id="linearGradient3273"
1701+ x1="333.26617"
1702+ y1="671.26709"
1703+ x2="1668.8561"
1704+ y2="671.26709"
1705+ gradientUnits="userSpaceOnUse"
1706+ gradientTransform="matrix(1,0,0,2.5903772,-51.517735,-865.3827)" />
1707+ </defs>
1708+ <sodipodi:namedview
1709+ id="base"
1710+ pagecolor="#ffffff"
1711+ bordercolor="#666666"
1712+ borderopacity="1.0"
1713+ gridtolerance="10000"
1714+ guidetolerance="10"
1715+ objecttolerance="10"
1716+ inkscape:pageopacity="0.0"
1717+ inkscape:pageshadow="2"
1718+ inkscape:zoom="0.49497475"
1719+ inkscape:cx="833.8611"
1720+ inkscape:cy="476.44915"
1721+ inkscape:document-units="px"
1722+ inkscape:current-layer="layer1"
1723+ showgrid="false"
1724+ inkscape:window-width="1440"
1725+ inkscape:window-height="844"
1726+ inkscape:window-x="-4"
1727+ inkscape:window-y="-4" />
1728+ <metadata
1729+ id="metadata2388">
1730+ <rdf:RDF>
1731+ <cc:Work
1732+ rdf:about="">
1733+ <dc:format>image/svg+xml</dc:format>
1734+ <dc:type
1735+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
1736+ </cc:Work>
1737+ </rdf:RDF>
1738+ </metadata>
1739+ <g
1740+ inkscape:label="Layer 1"
1741+ inkscape:groupmode="layer"
1742+ id="layer1">
1743+ <rect
1744+ style="opacity:1;fill:#0000ff;fill-rule:evenodd;stroke:#000000;stroke-width:1.0569607px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
1745+ id="rect3263"
1746+ width="1921.2532"
1747+ height="1081.3113"
1748+ x="1.038633"
1749+ y="0.68048632"
1750+ rx="30.945517"
1751+ ry="24.216171" />
1752+ <text
1753+ xml:space="preserve"
1754+ style="font-size:238.39523315px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:#7a7a7a;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans"
1755+ x="968.3584"
1756+ y="269.20038"
1757+ id="text2395"
1758+ sodipodi:linespacing="125%"><tspan
1759+ sodipodi:role="line"
1760+ id="tspan2397"
1761+ x="968.3584"
1762+ y="269.20038"
1763+ style="font-size:238.39523315px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:#7a7a7a;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans">The Title</tspan></text>
1764+ <text
1765+ xml:space="preserve"
1766+ style="font-size:106.40337372px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:#8e8e8e;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans"
1767+ x="960.98981"
1768+ y="995.1698"
1769+ id="text2399"
1770+ sodipodi:linespacing="125%"><tspan
1771+ sodipodi:role="line"
1772+ id="tspan2401"
1773+ x="960.98981"
1774+ y="995.1698"
1775+ style="font-size:106.40337372px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:#8e8e8e;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans">Sub-Title</tspan></text>
1776+ <rect
1777+ style="fill:url(#linearGradient3273);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.83171034px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
1778+ id="rect3265"
1779+ width="1416.4021"
1780+ height="18.098497"
1781+ x="253.46417"
1782+ y="864.40283"
1783+ rx="0"
1784+ ry="18.098497" />
1785+ </g>
1786+</svg>
1787
1788=== modified file 'main/westley.xml'
1789--- main/westley.xml 2009-05-30 07:37:43 +0000
1790+++ main/westley.xml 2009-06-10 20:52:14 +0000
1791@@ -1,1 +1,1 @@
1792-<?xml version="1.0" ?><xml><tractor id="tractor0"><multitrack><playlist id="Track 3"><producer id="LoveStory.mp3" in="0.0" out="1040.70929071"><property name="resource">/home/jonathan/Music/LoveStory.mp3</property></producer></playlist><playlist id="Track 1"><producer id="chickentopia 01.avi" in="0.0" out="1045.2047952"><property name="resource">/home/jonathan/Videos/chickentopia 01.avi</property></producer></playlist><playlist id="Track 2"><blank length="50.3496503497"/><producer id="chickentopia 04_%d.png" in="0.0" out="242.0" ttl="1"><property name="resource">/home/jonathan/Videos/chickentopia 04/chickentopia 04_%d.png</property></producer></playlist><playlist id="Track 4"><blank length="29.6703296703"/><producer id="openshot.png" in="29.6703296703" out="899.100899101"><property name="resource">/home/jonathan/Desktop/Temp OpenShot/openshot.png</property></producer><producer id="openshot.png" in="0.0" out="144.755244755"><property name="resource">/home/jonathan/Desktop/Temp OpenShot/openshot.png</property></producer></playlist></multitrack><filter gain="0" in="0.0" mlt_service="volume" out="1045.2047952" track="1"/><transition in="0.0" out="1045.2047952"><property name="mlt_service">composite</property><property name="a_track">0</property><property name="b_track">1</property><property name="geometry">0=0%,0%:100%x100%:100; -1=0%,0%:100%x100%:100</property><property name="halign">centre</property><property name="valign">centre</property><property name="distort">1</property></transition><transition in="0.0" out="1045.2047952"><property name="mlt_service">mix</property><property name="a_track">0</property><property name="b_track">1</property><property name="combine">1</property><property name="always_active">1</property></transition><transition in="50.3496503497" out="292.34965035"><property name="mlt_service">composite</property><property name="a_track">0</property><property name="b_track">2</property><property name="geometry">0=0%,0%:100%x100%:100; -1=0%,0%:100%x100%:100</property><property name="halign">centre</property><property name="valign">centre</property><property name="distort">1</property></transition><transition in="50.3496503497" out="292.34965035"><property name="mlt_service">mix</property><property name="a_track">0</property><property name="b_track">2</property><property name="combine">1</property><property name="always_active">1</property></transition><transition in="29.6703296703" out="928.771228771"><property name="mlt_service">composite</property><property name="a_track">0</property><property name="b_track">3</property><property name="geometry">0=0%,0%:100%x100%:100; -1=0%,0%:100%x100%:100</property><property name="halign">centre</property><property name="valign">centre</property><property name="distort">1</property></transition><transition in="29.6703296703" out="928.771228771"><property name="mlt_service">mix</property><property name="a_track">0</property><property name="b_track">3</property><property name="combine">1</property><property name="always_active">1</property></transition><transition in="899.100899101" out="1043.85614386"><property name="mlt_service">composite</property><property name="a_track">0</property><property name="b_track">3</property><property name="geometry">0=0%,0%:100%x100%:100; -1=0%,0%:100%x100%:100</property><property name="halign">centre</property><property name="valign">centre</property><property name="distort">1</property></transition><transition in="899.100899101" out="1043.85614386"><property name="mlt_service">mix</property><property name="a_track">0</property><property name="b_track">3</property><property name="combine">1</property><property name="always_active">1</property></transition></tractor></xml>
1793\ No newline at end of file
1794+<?xml version="1.0" ?><xml><tractor id="tractor0"><multitrack><playlist id="Track 1"/><playlist id="Track 2"><producer id="test.svg" in="0.0" out="159.375"><property name="resource">/home/andy/openshot_projects/test/test.svg</property></producer><producer id="w.svg" in="0.0" out="750.0"><property name="resource">/home/andy/openshot_projects/test/w.svg</property></producer></playlist></multitrack><transition in="0.0" out="159.375"><property name="mlt_service">composite</property><property name="a_track">0</property><property name="b_track">1</property><property name="geometry">0=0%,0%:100%x100%:100; -1=0%,0%:100%x100%:100</property><property name="halign">centre</property><property name="valign">centre</property><property name="distort">1</property></transition><transition in="0.0" out="159.375"><property name="mlt_service">mix</property><property name="a_track">0</property><property name="b_track">1</property><property name="combine">1</property><property name="always_active">1</property></transition><transition in="159.375" out="909.375"><property name="mlt_service">composite</property><property name="a_track">0</property><property name="b_track">1</property><property name="geometry">0=0%,0%:100%x100%:100; -1=0%,0%:100%x100%:100</property><property name="halign">centre</property><property name="valign">centre</property><property name="distort">1</property></transition><transition in="159.375" out="909.375"><property name="mlt_service">mix</property><property name="a_track">0</property><property name="b_track">1</property><property name="combine">1</property><property name="always_active">1</property></transition></tractor></xml>
1795\ No newline at end of file
1796
1797=== modified file 'main/windows/MainGTK.py'
1798--- main/windows/MainGTK.py 2009-05-31 02:45:52 +0000
1799+++ main/windows/MainGTK.py 2009-06-10 20:52:14 +0000
1800@@ -34,6 +34,7 @@
1801 import ImportImageSeq
1802 import AddFiles
1803 import pango
1804+import Titles
1805
1806 # init the foriegn language
1807 import language.Language_Init as Language_Init
1808@@ -547,9 +548,9 @@
1809
1810 def on_mnuNewTitle_activate(self, widget, *args):
1811 print "on_mnuNewTitle_activate called with self.%s" % widget.get_name()
1812-
1813+ Titles.frmNewTitle(form=self, project=self.project)
1814 # coming soon
1815- messagebox.show("Error!", "This feature is still in development. TIP: You can use any PNG or SVG image as a title, and the alpha and transparency are fully supported.")
1816+ #messagebox.show("Error!", "This feature is still in development. TIP: You can use any PNG or SVG image as a title, and the alpha and transparency are fully supported.")
1817
1818
1819 def on_mnuNewSequence_activate(self, widget, *args):
1820
1821=== added file 'main/windows/Titles.py'
1822--- main/windows/Titles.py 1970-01-01 00:00:00 +0000
1823+++ main/windows/Titles.py 2009-06-10 20:52:14 +0000
1824@@ -0,0 +1,396 @@
1825+# This file is part of OpenShot Video Editor (http://launchpad.net/openshot/).
1826+#
1827+# OpenShot Video Editor is free software: you can redistribute it and/or modify
1828+# it under the terms of the GNU General Public License as published by
1829+# the Free Software Foundation, either version 3 of the License, or
1830+# (at your option) any later version.
1831+#
1832+# OpenShot Video Editor is distributed in the hope that it will be useful,
1833+# but WITHOUT ANY WARRANTY; without even the implied warranty of
1834+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1835+# GNU General Public License for more details.
1836+#
1837+# You should have received a copy of the GNU General Public License
1838+# along with OpenShot Video Editor. If not, see <http://www.gnu.org/licenses/>.
1839+
1840+###################################################################################
1841+# The titles editor works by creating an svg image file from a
1842+# selection of templates (stored in the templates folder).
1843+# After the user selects a template, a file is created with
1844+# the chosen name, and the xml of the svg template is parsed into the self.xmldoc
1845+# object.
1846+#
1847+# As the user changes various attributes (background colour, font etc),
1848+# the self.xmldoc object is parsed for matching elements and updated with
1849+# the new attribute values and the file written to disk.
1850+#
1851+####################################################################################
1852+
1853+import gtk, gtk.glade
1854+import os
1855+import sys
1856+
1857+import classes.project
1858+import classes.messagebox as messagebox
1859+import classes.files as files
1860+
1861+from SimpleGladeApp import SimpleGladeApp
1862+from xml.dom import minidom
1863+import fontselector
1864+
1865+
1866+
1867+# init the foriegn language
1868+import language.Language_Init as Language_Init
1869+
1870+
1871+class frmNewTitle(SimpleGladeApp):
1872+
1873+ def __init__(self, path="titles.glade", root="frmTitles", domain="OpenShot", form=None, project=None, **kwargs):
1874+ SimpleGladeApp.__init__(self, os.path.join("windows/glade", path), root, domain, **kwargs)
1875+
1876+ # Add language support
1877+ _ = Language_Init.Translator().lang.gettext
1878+
1879+ #find path where openshot is running
1880+ self.path = os.path.dirname(os.path.abspath(sys.argv[0]))
1881+
1882+ self.project = project
1883+
1884+ self.form = form
1885+
1886+ self.cmbTemplate.set_sensitive(True)
1887+ self.cmbTemplate.set_active(0)
1888+
1889+ self.xmldoc = ""
1890+
1891+ self.bg_color_code = ""
1892+ self.font_color_code = "#ffffff"
1893+
1894+ self.bg_style_string = ""
1895+ self.title_style_string = ""
1896+ self.subtitle_style_string = ""
1897+
1898+ self.font_weight = 'normal'
1899+ self.font_style = 'normal'
1900+
1901+ self.new_title_text = ""
1902+ self.sub_title_text = ""
1903+ self.subTitle = False
1904+
1905+ self.display_name = ""
1906+
1907+ self.font_family = "Bitstream Vera Sans"
1908+
1909+ #load the template files
1910+ self.template_dir = "templates"
1911+ for file in os.listdir(self.template_dir):
1912+ #pretty up the filename for display purposes
1913+ (fileName, fileExtension)=os.path.splitext(file)
1914+ self.cmbTemplate.append_text(fileName.replace("_"," "))
1915+
1916+ #add the changed event once the combo has been populated
1917+ self.cmbTemplate.connect("changed", self.on_cmbTemplate_changed)
1918+
1919+ self.cmbTemplate.grab_focus()
1920+
1921+ def on_btnCreate_clicked(self,widget):
1922+ #index 0 is the <select a template> entry
1923+ if self.cmbTemplate.get_active() == 0:
1924+ return
1925+ else:
1926+ #prompt the user for a file name
1927+ self.filename = self.setTitleName()
1928+ if self.filename == "":
1929+ messagebox.show("OpenShot Error", "The Title name cannot be blank, the title file has not been created.")
1930+ return
1931+ #load the template doc to read xml
1932+ self.load_svg_template(self.template_name)
1933+ #set the new filename
1934+ (fileBaseName, fileExtension)=os.path.splitext(self.template_name)
1935+ self.filename = self.filename + fileExtension
1936+ #set edit button states
1937+ self.btnEditText.set_sensitive(True)
1938+ self.btnFont.set_sensitive(True)
1939+ self.btnFontColor.set_sensitive(True)
1940+ self.btnBackgroundColor.set_sensitive(True)
1941+ self.btnAdvanced.set_sensitive(True)
1942+ #write the new file
1943+ self.writeToFile(self.xmldoc)
1944+ #show the text editor
1945+ self.on_btnEditText_clicked(widget)
1946+ #preview the file
1947+ self.set_img_pixbuf(self.filename)
1948+ #turn off the create button once we have created the new file
1949+ self.btnCreate.set_sensitive(False)
1950+
1951+ def on_cmbTemplate_changed(self, widget):
1952+ if self.cmbTemplate.get_active() == 0:
1953+ return
1954+ else:
1955+ folder = os.path.join(self.path,self.template_dir)
1956+ #reconstruct the filename from the modified display name
1957+ filename = self.cmbTemplate.get_active_text()
1958+ self.template_name = filename.replace(" ", "_") + ".svg"
1959+ self.set_img_pixbuf(os.path.join(folder,self.template_name))
1960+ self.btnCreate.set_sensitive(True)
1961+
1962+ def setTitleName(self):
1963+ #base this on a message dialog
1964+ dialog = gtk.MessageDialog(
1965+ None,
1966+ gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT,
1967+ gtk.MESSAGE_QUESTION,
1968+ gtk.BUTTONS_OK,
1969+ None)
1970+ dialog.set_markup(_('Please enter a name for the new Title file:'))
1971+ #create the text input field
1972+ entry = gtk.Entry()
1973+ #allow the user to press enter as well as the OK button
1974+ entry.connect("activate", self.ShowInputDialog, dialog, gtk.RESPONSE_OK)
1975+ hbox = gtk.HBox()
1976+ hbox.pack_start(gtk.Label("Name:"), False, 5, 5)
1977+ hbox.pack_end(entry)
1978+ #some secondary text
1979+ dialog.format_secondary_markup(_("<i>Only enter the name, not a file extension.</i>"))
1980+ #add it and show it
1981+ dialog.vbox.pack_end(hbox, True, True, 0)
1982+ dialog.show_all()
1983+ #show the dialog
1984+ dialog.run()
1985+ text = entry.get_text()
1986+ dialog.destroy()
1987+ return text
1988+
1989+ def ShowInputDialog(self,entry, dialog, response):
1990+ dialog.response(response)
1991+
1992+ def load_svg_template(self,filename):
1993+ self.svgname = os.path.join(self.template_dir,filename)
1994+ #parse the svg object
1995+ self.xmldoc = minidom.parse(self.svgname)
1996+ #get the text elements
1997+ self.tspan_node = self.xmldoc.getElementsByTagName('tspan')
1998+ text_fields = len(self.tspan_node)
1999+ #if more than 1 text field there is a sub-title field
2000+ if text_fields > 1:
2001+ self.subTitle = True
2002+ self.text_node = self.xmldoc.getElementsByTagName('text')
2003+ #get the rect element
2004+ self.rect_node = self.xmldoc.getElementsByTagName('rect')
2005+
2006+
2007+ def set_img_pixbuf(self, filename):
2008+ '''displays the svg in the preview window'''
2009+ pixbuf = gtk.gdk.pixbuf_new_from_file(filename)
2010+ pixbuf = pixbuf.scale_simple(640,360,gtk.gdk.INTERP_BILINEAR)
2011+ image = gtk.Image()
2012+ self.image1.set_from_pixbuf(pixbuf)
2013+
2014+ def on_btnCancel_clicked(self, widget):
2015+ self.frmTitles.destroy()
2016+
2017+ def on_btnAdvanced_clicked(self, widget):
2018+ #use an external editor to edit the image
2019+ try:
2020+ prog = "inkscape"
2021+ os.system("%s %s" % (prog,self.filename))
2022+
2023+ except:
2024+ messagebox.show("OpenShot Error", "There was an error opening '%s', is it installed?" % (prog))
2025+
2026+
2027+ def on_btnApply_clicked(self, widget):
2028+ #import the file to the project.
2029+ self.project.project_folder.AddFile(self.filename)
2030+ self.frmTitles.destroy()
2031+ # refresh the main form
2032+ self.form.refresh()
2033+
2034+ def find_in_list(self, l, value):
2035+ '''when passed a partial value, function will return the list index'''
2036+ for item in l:
2037+ if item.startswith(value):
2038+ return l.index(item)
2039+
2040+
2041+ def set_bg_style(self, color):
2042+ '''sets the background color'''
2043+ #
2044+ #There must be a better way of doing this...
2045+ #
2046+ #split the node so we can access each part
2047+ s = self.rect_node[0].attributes["style"].value
2048+ ar = s.split(";")
2049+ fill = self.find_in_list(ar, "fill:")
2050+ ar[fill] = "fill:" + color
2051+ #rejoin the modifed parts
2052+ t = ";"
2053+ self.bg_style_string = t.join(ar)
2054+ #set the node in the xml doc
2055+ self.rect_node[0].setAttribute("style", self.bg_style_string)
2056+ #write the file and preview the image
2057+ self.writeToFile(self.xmldoc)
2058+ self.set_img_pixbuf(self.filename)
2059+
2060+ def set_style_elements(self, node=0):
2061+ s = self.tspan_node[node].attributes["style"].value
2062+ #split the text node so we can access each part
2063+ ar = s.split(";")
2064+ #we need to find each element that we are changing, shouldn't assume
2065+ #they are in the same position in any given template.
2066+ fs = self.find_in_list(ar, "font-style:")
2067+ fw = self.find_in_list(ar, "font-weight:")
2068+ ff = self.find_in_list(ar, "font-family:")
2069+ ar[fs] = "font-style:" + self.font_style
2070+ ar[fw] = "font-weight:" + self.font_weight
2071+ ar[ff] = "font-family:" + self.font_family
2072+ #rejoin the modified parts
2073+ t = ";"
2074+ self.title_style_string = t.join(ar)
2075+
2076+ def set_font_style(self):
2077+ '''sets the font properties'''
2078+ #set the style elements for the main text node
2079+ self.set_style_elements(0)
2080+ #set the text node
2081+ self.tspan_node[0].setAttribute("style", self.title_style_string)
2082+ if self.subTitle:
2083+ #set the sub-title elements
2084+ self.set_style_elements(1)
2085+ self.tspan_node[1].setAttribute("style", self.title_style_string)
2086+ #write the file and preview the image
2087+ self.writeToFile(self.xmldoc)
2088+ self.set_img_pixbuf(self.filename)
2089+
2090+ def set_font_color(self):
2091+ self.set_font_color_elements(0)
2092+ if self.subTitle:
2093+ self.set_font_color_elements(1)
2094+
2095+ def set_font_color_elements(self, node=0):
2096+ s = self.text_node[node].attributes["style"].value
2097+ #split the text node so we can access each part
2098+ ar = s.split(";")
2099+ fill = self.find_in_list(ar, "fill:")
2100+ ar[fill] = "fill:" + self.font_color_code
2101+ t = ";"
2102+ self.text_node[node].setAttribute("style", t.join(ar))
2103+
2104+ #write the file and preview the image
2105+ self.writeToFile(self.xmldoc)
2106+ self.set_img_pixbuf(self.filename)
2107+
2108+ def set_title_text(self):
2109+ '''sets the title and subtitle text'''
2110+ #get the child node that contains the text.
2111+ reflist = self.xmldoc.getElementsByTagName('tspan')[0]
2112+ reflist_child = self.xmldoc.getElementsByTagName('tspan')[0].childNodes[0]
2113+ #create a new node with the new title text.
2114+ if self.new_title_text:
2115+ #replace the original text with the user entered text.
2116+ ptitle = self.xmldoc.createTextNode(self.new_title_text)
2117+ reflist.replaceChild(ptitle,reflist_child)
2118+ #set the sub-title, if the template contains one.
2119+ if self.subTitle == True:
2120+ sub = self.xmldoc.getElementsByTagName('tspan')[1]
2121+ sub_child = self.xmldoc.getElementsByTagName('tspan')[1].childNodes[0]
2122+ if self.sub_title_text:
2123+ #replace the original text with the user entered text.
2124+ ptitle = self.xmldoc.createTextNode(self.sub_title_text)
2125+ sub.replaceChild(ptitle,sub_child)
2126+ #write the file and preview the image
2127+ self.writeToFile(self.xmldoc)
2128+ self.set_img_pixbuf(self.filename)
2129+
2130+
2131+ def writeToFile(self, xmldoc):
2132+ '''writes a new svg file containing the user edited data'''
2133+ project_path = self.project.folder
2134+ if not self.filename.endswith("svg"):
2135+ self.filename = self.filename + ".svg"
2136+ try:
2137+ if self.filename.startswith(project_path) == False:
2138+ file = open(os.path.join(project_path,self.filename), "wb") #wb needed for windows support
2139+ self.filename = os.path.join(project_path, self.filename)
2140+ else:
2141+ file = open(self.filename, "wb") #wb needed for windows support
2142+ file.write(xmldoc.toxml())
2143+ file.close()
2144+ #Now the file is ready to import into the project.
2145+ self.btnApply.set_sensitive(True)
2146+ except IOError, inst:
2147+ messagebox.show("OpenShot Error", "Unexpected Error '%s' while writing to '%s'." % (inst, self.filename))
2148+
2149+
2150+ def on_btnEditText_clicked(self, widget):
2151+ #just show the text editor window.
2152+ frm = frmEditText(self)
2153+
2154+
2155+ def html_color(self, color):
2156+ '''converts the gtk color into html color code format'''
2157+ return '#%02x%02x%02x' % (color.red/256, color.green/256, color.blue/256)
2158+
2159+
2160+ def on_btnBackgroundColor_color_set(self, widget):
2161+ self.bg_color_code = self.btnBackgroundColor.get_color()
2162+ color_name = self.html_color(self.bg_color_code)
2163+ #set the style element
2164+ self.set_bg_style(color_name)
2165+
2166+
2167+ def on_btnFontColor_color_set(self, widget):
2168+ self.font_color_code = self.btnFontColor.get_color()
2169+ self.font_color_code = self.html_color(self.font_color_code)
2170+ #set the style element
2171+ self.set_font_color()
2172+
2173+
2174+ def on_btnFont_clicked(self, widget):
2175+ frm = fontselector.frmFontProperties(self)
2176+
2177+
2178+class frmEditText(SimpleGladeApp):
2179+
2180+ def __init__(self, instance, path="titles.glade", root="frmEditText", domain="OpenShot", **kwargs):
2181+ SimpleGladeApp.__init__(self, os.path.join("windows/glade", path), root, domain, **kwargs)
2182+
2183+ # Add language support
2184+ _ = Language_Init.Translator().lang.gettext
2185+
2186+ self.frmTitles = instance
2187+
2188+ if self.frmTitles.subTitle == True:
2189+ self.txtSubTitle.set_sensitive(True)
2190+
2191+ self.frmEditText.show_all()
2192+
2193+ def on_btnApply_clicked(self, widget):
2194+ #get the entered text
2195+ title_buffer = self.txtTitle.get_buffer()
2196+ start = title_buffer.get_start_iter()
2197+ end = title_buffer.get_end_iter()
2198+ #pass it back to the from
2199+ self.frmTitles.new_title_text = title_buffer.get_text(start, end, True)
2200+ if self.frmTitles.subTitle == True:
2201+ #do the same with the sub title
2202+ sub_title_buffer = self.txtSubTitle.get_buffer()
2203+ start = sub_title_buffer.get_start_iter()
2204+ end = sub_title_buffer.get_end_iter()
2205+ self.frmTitles.sub_title_text = sub_title_buffer.get_text(start,end, True)
2206+ self.frmEditText.destroy()
2207+ self.frmTitles.set_title_text()
2208+
2209+
2210+ def on_btnCancel_clicked(self, widget):
2211+ self.frmEditText.destroy()
2212+
2213+
2214+
2215+def main():
2216+ frm_titles = frmNewTitle()
2217+ frm_titles.run()
2218+
2219+if __name__ == "__main__":
2220+ main()
2221
2222=== added file 'main/windows/fontselector.py'
2223--- main/windows/fontselector.py 1970-01-01 00:00:00 +0000
2224+++ main/windows/fontselector.py 2009-06-10 20:52:14 +0000
2225@@ -0,0 +1,130 @@
2226+# This file is part of OpenShot Video Editor (http://launchpad.net/openshot/).
2227+#
2228+# OpenShot Video Editor is free software: you can redistribute it and/or modify
2229+# it under the terms of the GNU General Public License as published by
2230+# the Free Software Foundation, either version 3 of the License, or
2231+# (at your option) any later version.
2232+#
2233+# OpenShot Video Editor is distributed in the hope that it will be useful,
2234+# but WITHOUT ANY WARRANTY; without even the implied warranty of
2235+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2236+# GNU General Public License for more details.
2237+#
2238+# You should have received a copy of the GNU General Public License
2239+# along with OpenShot Video Editor. If not, see <http://www.gnu.org/licenses/>.
2240+
2241+########################################################
2242+# This is a custom font selector window
2243+# that displays each font name in it's own font
2244+#
2245+########################################################
2246+
2247+import gtk
2248+import gtk.glade
2249+import os
2250+import pango
2251+from SimpleGladeApp import SimpleGladeApp
2252+
2253+# init the foriegn language
2254+import language.Language_Init as Language_Init
2255+
2256+class frmFontProperties(SimpleGladeApp):
2257+
2258+ def __init__(self, instance, path="fontselector.glade", root="frmFontProperties", domain="OpenShot", **kwargs):
2259+ SimpleGladeApp.__init__(self, os.path.join("windows/glade", path), root, domain, **kwargs)
2260+
2261+ # Add language support
2262+ _ = Language_Init.Translator().lang.gettext
2263+
2264+ self.calling_form = instance
2265+
2266+ #get the list of available fonts
2267+ fonts = gtk.ListStore(pango.FontFamily, str)
2268+ self.init_treeview(self.treeFontList)
2269+
2270+ pc = self.frmFontProperties.get_pango_context()
2271+ for family in pc.list_families():
2272+ markup = "<span font_family=\"%s\">%s</span>" % (family.get_name(), family.get_name())
2273+ fonts.append([family, markup])
2274+
2275+
2276+ self.treeFontList.set_model(fonts)
2277+
2278+ #sort the fonts alphabetically
2279+ fonts.set_sort_column_id(1, gtk.SORT_ASCENDING)
2280+
2281+ #add the callbacks
2282+ self.treeFontList.connect("cursor-changed", self.family_changed_cb)
2283+ self.btnItalic.connect("toggled", self.style_changed_cb)
2284+ self.btnBold.connect("toggled", self.weight_changed_cb)
2285+
2286+ self.frmFontProperties.show_all()
2287+
2288+ def init_treeview(self, tv):
2289+ cell = gtk.CellRendererText()
2290+ column = gtk.TreeViewColumn("Font family", cell, markup=1)
2291+ tv.append_column(column)
2292+
2293+
2294+ def family_changed_cb(self, widget):
2295+ index = self.treeFontList.get_cursor()[0][0]
2296+ font_family = self.treeFontList.get_model()[index][0]
2297+
2298+ pc = self.treeFontList.get_pango_context()
2299+ fd = pc.get_font_description()
2300+ fd.set_family(font_family.get_name())
2301+
2302+ size = int(30) * pango.SCALE
2303+ fd.set_size(size)
2304+
2305+ self.preview.modify_font(fd)
2306+
2307+ self.btnBold.set_active(False)
2308+ self.btnItalic.set_active(False)
2309+
2310+
2311+ def style_changed_cb(self, widget):
2312+ pc = self.preview.get_pango_context()
2313+ fd = pc.get_font_description()
2314+ if self.btnItalic.get_active():
2315+ fd.set_style(pango.STYLE_ITALIC)
2316+ self.calling_form.font_style = 'italic'
2317+ else:
2318+ fd.set_style(pango.STYLE_NORMAL)
2319+ self.calling_form.font_style = 'normal'
2320+
2321+ self.preview.modify_font(fd)
2322+
2323+ def weight_changed_cb(self, widget):
2324+ pc = self.preview.get_pango_context()
2325+ fd = pc.get_font_description()
2326+ if self.btnBold.get_active():
2327+ fd.set_weight(pango.WEIGHT_BOLD)
2328+ self.calling_form.font_weight = 'bold'
2329+ else:
2330+ fd.set_weight(pango.WEIGHT_NORMAL)
2331+ self.calling_form.font_weight = 'normal'
2332+
2333+ self.preview.modify_font(fd)
2334+
2335+ def on_btnCancel_clicked(self, widget):
2336+ self.frmFontProperties.destroy()
2337+
2338+ def on_btnOK_clicked(self, widget):
2339+ index = self.treeFontList.get_cursor()[0][0]
2340+ font_family = self.treeFontList.get_model()[index][0]
2341+
2342+ self.calling_form.font_family = font_family.get_name()
2343+
2344+ self.calling_form.set_font_style()
2345+
2346+ self.frmFontProperties.destroy()
2347+
2348+def main():
2349+ frm_fontProperties = frmFontProperties()
2350+ frm_fontProperties.run()
2351+
2352+if __name__ == "__main__":
2353+ main()
2354+
2355+
2356
2357=== added file 'main/windows/glade/fontselector.glade'
2358--- main/windows/glade/fontselector.glade 1970-01-01 00:00:00 +0000
2359+++ main/windows/glade/fontselector.glade 2009-06-10 20:52:14 +0000
2360@@ -0,0 +1,203 @@
2361+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2362+<!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd">
2363+<!--Generated with glade3 3.4.5 on Mon Jan 12 21:25:11 2009 -->
2364+<glade-interface>
2365+ <widget class="GtkDialog" id="frmFontProperties">
2366+ <property name="width_request">520</property>
2367+ <property name="height_request">390</property>
2368+ <property name="border_width">5</property>
2369+ <property name="title" translatable="yes">Font Properties</property>
2370+ <property name="window_position">GTK_WIN_POS_CENTER_ON_PARENT</property>
2371+ <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
2372+ <property name="skip_taskbar_hint">True</property>
2373+ <property name="has_separator">False</property>
2374+ <child internal-child="vbox">
2375+ <widget class="GtkVBox" id="dialog-vbox2">
2376+ <property name="visible">True</property>
2377+ <child>
2378+ <widget class="GtkHBox" id="hbox1">
2379+ <property name="visible">True</property>
2380+ <property name="spacing">5</property>
2381+ <child>
2382+ <widget class="GtkVBox" id="vbox1">
2383+ <property name="visible">True</property>
2384+ <property name="spacing">5</property>
2385+ <child>
2386+ <placeholder/>
2387+ </child>
2388+ <child>
2389+ <widget class="GtkAlignment" id="alignment2">
2390+ <property name="visible">True</property>
2391+ <child>
2392+ <widget class="GtkScrolledWindow" id="scrolledwindow1">
2393+ <property name="visible">True</property>
2394+ <property name="can_focus">True</property>
2395+ <property name="hscrollbar_policy">GTK_POLICY_NEVER</property>
2396+ <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
2397+ <property name="shadow_type">GTK_SHADOW_IN</property>
2398+ <child>
2399+ <widget class="GtkTreeView" id="treeFontList">
2400+ <property name="width_request">144</property>
2401+ <property name="height_request">200</property>
2402+ <property name="visible">True</property>
2403+ <property name="can_focus">True</property>
2404+ <property name="headers_visible">False</property>
2405+ <property name="headers_clickable">True</property>
2406+ </widget>
2407+ </child>
2408+ </widget>
2409+ </child>
2410+ </widget>
2411+ <packing>
2412+ <property name="pack_type">GTK_PACK_END</property>
2413+ <property name="position">1</property>
2414+ </packing>
2415+ </child>
2416+ </widget>
2417+ </child>
2418+ <child>
2419+ <widget class="GtkVBox" id="vbox2">
2420+ <property name="visible">True</property>
2421+ <property name="spacing">5</property>
2422+ <child>
2423+ <placeholder/>
2424+ </child>
2425+ <child>
2426+ <widget class="GtkHBox" id="hbox3">
2427+ <property name="visible">True</property>
2428+ <child>
2429+ <widget class="GtkLabel" id="label2">
2430+ <property name="visible">True</property>
2431+ <property name="yalign">0</property>
2432+ <property name="ypad">5</property>
2433+ <property name="label" translatable="yes">Style:</property>
2434+ </widget>
2435+ </child>
2436+ <child>
2437+ <widget class="GtkVBox" id="vbox3">
2438+ <property name="visible">True</property>
2439+ <child>
2440+ <widget class="GtkToggleButton" id="btnBold">
2441+ <property name="visible">True</property>
2442+ <property name="can_focus">True</property>
2443+ <property name="receives_default">True</property>
2444+ <property name="label" translatable="yes">gtk-bold</property>
2445+ <property name="use_stock">True</property>
2446+ <property name="response_id">0</property>
2447+ <signal name="toggled" handler="on_btnBold_toggled"/>
2448+ </widget>
2449+ <packing>
2450+ <property name="expand">False</property>
2451+ </packing>
2452+ </child>
2453+ <child>
2454+ <widget class="GtkToggleButton" id="btnItalic">
2455+ <property name="visible">True</property>
2456+ <property name="can_focus">True</property>
2457+ <property name="receives_default">True</property>
2458+ <property name="label" translatable="yes">gtk-italic</property>
2459+ <property name="use_stock">True</property>
2460+ <property name="response_id">0</property>
2461+ </widget>
2462+ <packing>
2463+ <property name="expand">False</property>
2464+ <property name="position">1</property>
2465+ </packing>
2466+ </child>
2467+ </widget>
2468+ <packing>
2469+ <property name="position">1</property>
2470+ </packing>
2471+ </child>
2472+ </widget>
2473+ <packing>
2474+ <property name="position">1</property>
2475+ </packing>
2476+ </child>
2477+ </widget>
2478+ <packing>
2479+ <property name="position">1</property>
2480+ </packing>
2481+ </child>
2482+ </widget>
2483+ <packing>
2484+ <property name="padding">5</property>
2485+ <property name="position">1</property>
2486+ </packing>
2487+ </child>
2488+ <child>
2489+ <widget class="GtkFrame" id="frame1">
2490+ <property name="width_request">240</property>
2491+ <property name="height_request">160</property>
2492+ <property name="visible">True</property>
2493+ <property name="label_xalign">0</property>
2494+ <child>
2495+ <widget class="GtkScrolledWindow" id="scrolledwindow2">
2496+ <property name="visible">True</property>
2497+ <property name="can_focus">True</property>
2498+ <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
2499+ <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
2500+ <child>
2501+ <widget class="GtkTextView" id="preview">
2502+ <property name="visible">True</property>
2503+ <property name="can_focus">True</property>
2504+ <property name="editable">False</property>
2505+ <property name="text" translatable="yes">Lorem ipsum dolor sit amet</property>
2506+ </widget>
2507+ </child>
2508+ </widget>
2509+ </child>
2510+ <child>
2511+ <widget class="GtkLabel" id="label1">
2512+ <property name="visible">True</property>
2513+ <property name="label" translatable="yes">&lt;b&gt;Preview&lt;/b&gt;</property>
2514+ <property name="use_markup">True</property>
2515+ </widget>
2516+ <packing>
2517+ <property name="type">label_item</property>
2518+ </packing>
2519+ </child>
2520+ </widget>
2521+ <packing>
2522+ <property name="position">2</property>
2523+ </packing>
2524+ </child>
2525+ <child internal-child="action_area">
2526+ <widget class="GtkHButtonBox" id="dialog-action_area2">
2527+ <property name="visible">True</property>
2528+ <property name="layout_style">GTK_BUTTONBOX_END</property>
2529+ <child>
2530+ <widget class="GtkButton" id="btnCancel">
2531+ <property name="visible">True</property>
2532+ <property name="can_focus">True</property>
2533+ <property name="receives_default">True</property>
2534+ <property name="label" translatable="yes">gtk-cancel</property>
2535+ <property name="use_stock">True</property>
2536+ <property name="response_id">0</property>
2537+ <signal name="clicked" handler="on_btnCancel_clicked"/>
2538+ </widget>
2539+ </child>
2540+ <child>
2541+ <widget class="GtkButton" id="btnOK">
2542+ <property name="visible">True</property>
2543+ <property name="can_focus">True</property>
2544+ <property name="receives_default">True</property>
2545+ <property name="label" translatable="yes">gtk-ok</property>
2546+ <property name="use_stock">True</property>
2547+ <property name="response_id">0</property>
2548+ <signal name="clicked" handler="on_btnOK_clicked"/>
2549+ </widget>
2550+ <packing>
2551+ <property name="position">1</property>
2552+ </packing>
2553+ </child>
2554+ </widget>
2555+ <packing>
2556+ <property name="expand">False</property>
2557+ <property name="pack_type">GTK_PACK_END</property>
2558+ </packing>
2559+ </child>
2560+ </widget>
2561+ </child>
2562+ </widget>
2563+</glade-interface>
2564
2565=== added file 'main/windows/glade/titles.glade'
2566--- main/windows/glade/titles.glade 1970-01-01 00:00:00 +0000
2567+++ main/windows/glade/titles.glade 2009-06-10 20:52:14 +0000
2568@@ -0,0 +1,423 @@
2569+<?xml version="1.0"?>
2570+<glade-interface>
2571+ <!-- interface-requires gtk+ 2.16 -->
2572+ <!-- interface-naming-policy toplevel-contextual -->
2573+ <widget class="GtkWindow" id="frmTitles">
2574+ <property name="width_request">810</property>
2575+ <property name="height_request">600</property>
2576+ <property name="visible">True</property>
2577+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
2578+ <property name="title" translatable="yes">OpenShot Title editor</property>
2579+ <property name="window_position">center</property>
2580+ <property name="icon">icons/openshot_logo.png</property>
2581+ <child>
2582+ <widget class="GtkVBox" id="vbox1">
2583+ <property name="visible">True</property>
2584+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
2585+ <child>
2586+ <widget class="GtkHBox" id="hbox2">
2587+ <property name="visible">True</property>
2588+ <child>
2589+ <widget class="GtkScrolledWindow" id="scrolledwindow1">
2590+ <property name="width_request">650</property>
2591+ <property name="visible">True</property>
2592+ <property name="can_focus">True</property>
2593+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
2594+ <property name="hscrollbar_policy">automatic</property>
2595+ <property name="vscrollbar_policy">automatic</property>
2596+ <property name="window_placement_set">True</property>
2597+ <child>
2598+ <widget class="GtkViewport" id="viewport1">
2599+ <property name="height_request">400</property>
2600+ <property name="visible">True</property>
2601+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
2602+ <property name="resize_mode">queue</property>
2603+ <child>
2604+ <widget class="GtkImage" id="image1">
2605+ <property name="height_request">370</property>
2606+ <property name="visible">True</property>
2607+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
2608+ <property name="pixbuf">icons/AboutLogo.png</property>
2609+ </widget>
2610+ </child>
2611+ </widget>
2612+ </child>
2613+ </widget>
2614+ <packing>
2615+ <property name="position">0</property>
2616+ </packing>
2617+ </child>
2618+ <child>
2619+ <widget class="GtkVBox" id="vbox2">
2620+ <property name="width_request">155</property>
2621+ <property name="visible">True</property>
2622+ <property name="orientation">vertical</property>
2623+ <property name="spacing">1</property>
2624+ <child>
2625+ <widget class="GtkLabel" id="label1">
2626+ <property name="height_request">25</property>
2627+ <property name="visible">True</property>
2628+ <property name="label" translatable="yes">&lt;b&gt;Start here:&lt;/b&gt;</property>
2629+ <property name="use_markup">True</property>
2630+ </widget>
2631+ <packing>
2632+ <property name="expand">False</property>
2633+ <property name="position">0</property>
2634+ </packing>
2635+ </child>
2636+ <child>
2637+ <widget class="GtkComboBox" id="cmbTemplate">
2638+ <property name="visible">True</property>
2639+ <property name="sensitive">False</property>
2640+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
2641+ <property name="items" translatable="yes">&lt;Select a Template&gt;</property>
2642+ </widget>
2643+ <packing>
2644+ <property name="expand">False</property>
2645+ <property name="fill">False</property>
2646+ <property name="position">1</property>
2647+ </packing>
2648+ </child>
2649+ <child>
2650+ <widget class="GtkButton" id="btnCreate">
2651+ <property name="label" translatable="yes">Create new Title</property>
2652+ <property name="visible">True</property>
2653+ <property name="sensitive">False</property>
2654+ <property name="can_focus">True</property>
2655+ <property name="receives_default">True</property>
2656+ <property name="has_tooltip">True</property>
2657+ <property name="tooltip" translatable="yes">Create a new title using the selected template.</property>
2658+ <signal name="clicked" handler="on_btnCreate_clicked"/>
2659+ </widget>
2660+ <packing>
2661+ <property name="expand">False</property>
2662+ <property name="fill">False</property>
2663+ <property name="position">2</property>
2664+ </packing>
2665+ </child>
2666+ <child>
2667+ <widget class="GtkLabel" id="label2">
2668+ <property name="height_request">25</property>
2669+ <property name="visible">True</property>
2670+ <property name="label" translatable="yes">&lt;b&gt;Editing Tools:&lt;/b&gt;</property>
2671+ <property name="use_markup">True</property>
2672+ </widget>
2673+ <packing>
2674+ <property name="expand">False</property>
2675+ <property name="position">3</property>
2676+ </packing>
2677+ </child>
2678+ <child>
2679+ <widget class="GtkButton" id="btnEditText">
2680+ <property name="label" translatable="yes">Edit text</property>
2681+ <property name="visible">True</property>
2682+ <property name="sensitive">False</property>
2683+ <property name="can_focus">True</property>
2684+ <property name="receives_default">True</property>
2685+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
2686+ <property name="tooltip" translatable="yes">Set the title text.</property>
2687+ <signal name="clicked" handler="on_btnEditText_clicked"/>
2688+ </widget>
2689+ <packing>
2690+ <property name="expand">False</property>
2691+ <property name="fill">False</property>
2692+ <property name="position">4</property>
2693+ </packing>
2694+ </child>
2695+ <child>
2696+ <widget class="GtkButton" id="btnFont">
2697+ <property name="label" translatable="yes">Font Properties</property>
2698+ <property name="visible">True</property>
2699+ <property name="sensitive">False</property>
2700+ <property name="can_focus">True</property>
2701+ <property name="receives_default">True</property>
2702+ <property name="tooltip" translatable="yes">Change the Font properties.</property>
2703+ <signal name="clicked" handler="on_btnFont_clicked"/>
2704+ </widget>
2705+ <packing>
2706+ <property name="expand">False</property>
2707+ <property name="fill">False</property>
2708+ <property name="position">5</property>
2709+ </packing>
2710+ </child>
2711+ <child>
2712+ <widget class="GtkColorButton" id="btnFontColor">
2713+ <property name="visible">True</property>
2714+ <property name="sensitive">False</property>
2715+ <property name="can_focus">True</property>
2716+ <property name="receives_default">True</property>
2717+ <property name="has_tooltip">True</property>
2718+ <property name="tooltip" translatable="yes">Choose Font Color.</property>
2719+ <property name="color">#ffffffffffff</property>
2720+ <signal name="color_set" handler="on_btnFontColor_color_set"/>
2721+ </widget>
2722+ <packing>
2723+ <property name="expand">False</property>
2724+ <property name="fill">False</property>
2725+ <property name="position">6</property>
2726+ </packing>
2727+ </child>
2728+ <child>
2729+ <widget class="GtkColorButton" id="btnBackgroundColor">
2730+ <property name="visible">True</property>
2731+ <property name="sensitive">False</property>
2732+ <property name="can_focus">True</property>
2733+ <property name="receives_default">True</property>
2734+ <property name="has_tooltip">True</property>
2735+ <property name="tooltip" translatable="yes">Choose Background Color.</property>
2736+ <property name="color">#000000000000</property>
2737+ <signal name="color_set" handler="on_btnBackgroundColor_color_set"/>
2738+ </widget>
2739+ <packing>
2740+ <property name="expand">False</property>
2741+ <property name="fill">False</property>
2742+ <property name="position">7</property>
2743+ </packing>
2744+ </child>
2745+ <child>
2746+ <widget class="GtkButton" id="btnAdvanced">
2747+ <property name="label" translatable="yes">Use Advanced editor</property>
2748+ <property name="visible">True</property>
2749+ <property name="sensitive">False</property>
2750+ <property name="can_focus">True</property>
2751+ <property name="receives_default">True</property>
2752+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
2753+ <property name="tooltip" translatable="yes">Edit the title in an external editor.</property>
2754+ <signal name="clicked" handler="on_btnAdvanced_clicked"/>
2755+ </widget>
2756+ <packing>
2757+ <property name="expand">False</property>
2758+ <property name="fill">False</property>
2759+ <property name="position">8</property>
2760+ </packing>
2761+ </child>
2762+ <child>
2763+ <placeholder/>
2764+ </child>
2765+ </widget>
2766+ <packing>
2767+ <property name="expand">False</property>
2768+ <property name="fill">False</property>
2769+ <property name="padding">2</property>
2770+ <property name="position">1</property>
2771+ </packing>
2772+ </child>
2773+ </widget>
2774+ <packing>
2775+ <property name="position">0</property>
2776+ </packing>
2777+ </child>
2778+ <child>
2779+ <widget class="GtkHSeparator" id="hseparator1">
2780+ <property name="visible">True</property>
2781+ </widget>
2782+ <packing>
2783+ <property name="expand">False</property>
2784+ <property name="position">1</property>
2785+ </packing>
2786+ </child>
2787+ <child>
2788+ <widget class="GtkHButtonBox" id="hbuttonbox1">
2789+ <property name="visible">True</property>
2790+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
2791+ <property name="layout_style">end</property>
2792+ <child>
2793+ <placeholder/>
2794+ </child>
2795+ <child>
2796+ <widget class="GtkButton" id="btnCancel">
2797+ <property name="label" translatable="yes">gtk-cancel</property>
2798+ <property name="visible">True</property>
2799+ <property name="can_focus">True</property>
2800+ <property name="receives_default">True</property>
2801+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
2802+ <property name="use_stock">True</property>
2803+ <signal name="clicked" handler="on_btnCancel_clicked"/>
2804+ </widget>
2805+ <packing>
2806+ <property name="expand">False</property>
2807+ <property name="fill">False</property>
2808+ <property name="position">1</property>
2809+ </packing>
2810+ </child>
2811+ <child>
2812+ <widget class="GtkButton" id="btnApply">
2813+ <property name="label" translatable="yes">gtk-apply</property>
2814+ <property name="visible">True</property>
2815+ <property name="sensitive">False</property>
2816+ <property name="can_focus">True</property>
2817+ <property name="receives_default">True</property>
2818+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
2819+ <property name="use_stock">True</property>
2820+ <signal name="clicked" handler="on_btnApply_clicked"/>
2821+ </widget>
2822+ <packing>
2823+ <property name="expand">False</property>
2824+ <property name="fill">False</property>
2825+ <property name="position">2</property>
2826+ </packing>
2827+ </child>
2828+ </widget>
2829+ <packing>
2830+ <property name="position">2</property>
2831+ </packing>
2832+ </child>
2833+ </widget>
2834+ </child>
2835+ </widget>
2836+ <widget class="GtkDialog" id="frmEditText">
2837+ <property name="width_request">400</property>
2838+ <property name="height_request">300</property>
2839+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
2840+ <property name="border_width">5</property>
2841+ <property name="title" translatable="yes">Enter title text</property>
2842+ <property name="window_position">center-on-parent</property>
2843+ <property name="icon">icons/openshot_logo.png</property>
2844+ <property name="type_hint">dialog</property>
2845+ <property name="skip_taskbar_hint">True</property>
2846+ <property name="has_separator">False</property>
2847+ <child internal-child="vbox">
2848+ <widget class="GtkVBox" id="dialog-vbox1">
2849+ <property name="visible">True</property>
2850+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
2851+ <property name="spacing">2</property>
2852+ <child>
2853+ <widget class="GtkTable" id="table1">
2854+ <property name="visible">True</property>
2855+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
2856+ <property name="n_rows">3</property>
2857+ <property name="n_columns">2</property>
2858+ <child>
2859+ <widget class="GtkLabel" id="label3">
2860+ <property name="visible">True</property>
2861+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
2862+ <property name="xalign">0</property>
2863+ <property name="yalign">0</property>
2864+ <property name="label" translatable="yes">Sub-Title:</property>
2865+ </widget>
2866+ <packing>
2867+ <property name="top_attach">2</property>
2868+ <property name="bottom_attach">3</property>
2869+ <property name="x_options">GTK_FILL</property>
2870+ </packing>
2871+ </child>
2872+ <child>
2873+ <widget class="GtkLabel" id="label1">
2874+ <property name="visible">True</property>
2875+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
2876+ <property name="xalign">0</property>
2877+ <property name="yalign">0</property>
2878+ <property name="label" translatable="yes">Title:</property>
2879+ </widget>
2880+ <packing>
2881+ <property name="x_options">GTK_FILL</property>
2882+ </packing>
2883+ </child>
2884+ <child>
2885+ <widget class="GtkHSeparator" id="hseparator1">
2886+ <property name="visible">True</property>
2887+ </widget>
2888+ <packing>
2889+ <property name="left_attach">1</property>
2890+ <property name="right_attach">2</property>
2891+ <property name="top_attach">1</property>
2892+ <property name="bottom_attach">2</property>
2893+ <property name="y_options">GTK_EXPAND</property>
2894+ </packing>
2895+ </child>
2896+ <child>
2897+ <widget class="GtkScrolledWindow" id="scrolledwindow1">
2898+ <property name="visible">True</property>
2899+ <property name="can_focus">True</property>
2900+ <property name="hscrollbar_policy">automatic</property>
2901+ <property name="vscrollbar_policy">automatic</property>
2902+ <child>
2903+ <widget class="GtkTextView" id="txtTitle">
2904+ <property name="visible">True</property>
2905+ <property name="can_focus">True</property>
2906+ <property name="overwrite">True</property>
2907+ </widget>
2908+ </child>
2909+ </widget>
2910+ <packing>
2911+ <property name="left_attach">1</property>
2912+ <property name="right_attach">2</property>
2913+ </packing>
2914+ </child>
2915+ <child>
2916+ <widget class="GtkScrolledWindow" id="scrolledwindow2">
2917+ <property name="visible">True</property>
2918+ <property name="can_focus">True</property>
2919+ <property name="hscrollbar_policy">automatic</property>
2920+ <property name="vscrollbar_policy">automatic</property>
2921+ <child>
2922+ <widget class="GtkTextView" id="txtSubTitle">
2923+ <property name="visible">True</property>
2924+ <property name="sensitive">False</property>
2925+ <property name="can_focus">True</property>
2926+ </widget>
2927+ </child>
2928+ </widget>
2929+ <packing>
2930+ <property name="left_attach">1</property>
2931+ <property name="right_attach">2</property>
2932+ <property name="top_attach">2</property>
2933+ <property name="bottom_attach">3</property>
2934+ </packing>
2935+ </child>
2936+ <child>
2937+ <placeholder/>
2938+ </child>
2939+ </widget>
2940+ <packing>
2941+ <property name="position">1</property>
2942+ </packing>
2943+ </child>
2944+ <child internal-child="action_area">
2945+ <widget class="GtkHButtonBox" id="dialog-action_area1">
2946+ <property name="visible">True</property>
2947+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
2948+ <property name="layout_style">end</property>
2949+ <child>
2950+ <widget class="GtkButton" id="btnCancel1">
2951+ <property name="label" translatable="yes">gtk-cancel</property>
2952+ <property name="visible">True</property>
2953+ <property name="can_focus">True</property>
2954+ <property name="receives_default">True</property>
2955+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
2956+ <property name="use_stock">True</property>
2957+ <signal name="clicked" handler="on_btnCancel_clicked"/>
2958+ </widget>
2959+ <packing>
2960+ <property name="expand">False</property>
2961+ <property name="fill">False</property>
2962+ <property name="position">0</property>
2963+ </packing>
2964+ </child>
2965+ <child>
2966+ <widget class="GtkButton" id="btnApply1">
2967+ <property name="label" translatable="yes">gtk-apply</property>
2968+ <property name="visible">True</property>
2969+ <property name="can_focus">True</property>
2970+ <property name="receives_default">True</property>
2971+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
2972+ <property name="use_stock">True</property>
2973+ <signal name="clicked" handler="on_btnApply_clicked"/>
2974+ </widget>
2975+ <packing>
2976+ <property name="expand">False</property>
2977+ <property name="fill">False</property>
2978+ <property name="position">1</property>
2979+ </packing>
2980+ </child>
2981+ </widget>
2982+ <packing>
2983+ <property name="expand">False</property>
2984+ <property name="pack_type">end</property>
2985+ <property name="position">0</property>
2986+ </packing>
2987+ </child>
2988+ </widget>
2989+ </child>
2990+ </widget>
2991+</glade-interface>

Subscribers

People subscribed via source and target branches

to status/vote changes: