diff options
author | Aneesh Dogra <lionaneesh@gmail.com> | 2012-12-21 20:33:42 (GMT) |
---|---|---|
committer | Aneesh Dogra <lionaneesh@gmail.com> | 2012-12-21 20:33:42 (GMT) |
commit | e6eb1a91c5eccb6bc118fe4920aeb9e978e27cc2 (patch) | |
tree | 770a6ca41410c982f161c5c395639ce2eb1f6d8f | |
parent | fa352a315487c9d02d174a6c8d4c0c5bc5bd06f6 (diff) |
Add brand new icons.
Fix toolbar.
Move the results to the Question toolbar.
-rw-r--r-- | ConstellationsFlashCards.py | 47 | ||||
-rw-r--r-- | icons/ConstellationAnswer.svg | 13 | ||||
-rw-r--r-- | icons/ConstellationNewGame.svg | 13 | ||||
-rw-r--r-- | icons/ConstellationNext.svg | 15 |
4 files changed, 67 insertions, 21 deletions
diff --git a/ConstellationsFlashCards.py b/ConstellationsFlashCards.py index 1eff896..f008fe0 100644 --- a/ConstellationsFlashCards.py +++ b/ConstellationsFlashCards.py @@ -130,12 +130,14 @@ figures = constellations.data # controls on second menubar ("Quiz"): labelq1 = Gtk.Label(_("Name")) cbq1 = Gtk.ComboBoxText() -buttonq1 = ToolButton(_("Tell me")) -buttonq2 = ToolButton(_("Another")) +buttonq1 = ToolButton('ConstellationAnswer') +buttonq1.set_tooltip(_("Tell me")) +buttonq2 = ToolButton('ConstellationNext') +buttonq2.set_tooltip(_("Another")) # controls on third menubar ("Results"): labelr1 = Gtk.Label(_(" constellations seen.")) labelr2 = Gtk.Label(" ") -labelr3 = Gtk.Label(_(" correct on first try.")) +labelr3 = Gtk.Label(_(" correct on first try. ")) labelr4 = Gtk.Label(_(" correct on second try.")) name_from_abbrev = {} @@ -706,39 +708,42 @@ class ConstellationsFlashCards(activity.Activity): label_container.show_all() self.quiz_toolbar.insert(buttonq1, -1) self.quiz_toolbar.insert(buttonq2, -1) - self.quiz_toolbar.show_all() - - quiz_toolbar_button = ToolbarButton( - page=self.quiz_toolbar, - icon_name='ConstellationQuestion') - quiz_toolbar_button.show() - toolbar_box.toolbar.insert(quiz_toolbar_button, -1) - - # Reset Results - reset_button = ToolButton('system-restart') - reset_button.set_tooltip(_('Reset Results')) - reset_button.connect('clicked', self.chart.callback, 'reset_results', self) - toolbar_box.toolbar.insert(reset_button, -1) - reset_button.show() + buttonq1.show() + buttonq2.show() # Results label_container = Gtk.ToolItem() label_container.add(labelr1) label_container.show_all() - toolbar_box.toolbar.insert(label_container, -1) + self.quiz_toolbar.insert(label_container, -1) label_container = Gtk.ToolItem() label_container.add(labelr2) label_container.show_all() - toolbar_box.toolbar.insert(label_container, -1) + self.quiz_toolbar.insert(label_container, -1) label_container = Gtk.ToolItem() label_container.add(labelr3) label_container.show_all() - toolbar_box.toolbar.insert(label_container, -1) + self.quiz_toolbar.insert(label_container, -1) label_container = Gtk.ToolItem() label_container.add(labelr4) label_container.show_all() - toolbar_box.toolbar.insert(label_container, -1) + self.quiz_toolbar.insert(label_container, -1) + + self.quiz_toolbar.show_all() + + quiz_toolbar_button = ToolbarButton( + page=self.quiz_toolbar, + icon_name='ConstellationNewGame') + quiz_toolbar_button.show() + toolbar_box.toolbar.insert(quiz_toolbar_button, -1) + + # Reset Results + reset_button = ToolButton('system-restart') + reset_button.set_tooltip(_('Reset Results')) + reset_button.connect('clicked', self.chart.callback, 'reset_results', self) + toolbar_box.toolbar.insert(reset_button, -1) + reset_button.show() separator = Gtk.SeparatorToolItem() separator.props.draw = False diff --git a/icons/ConstellationAnswer.svg b/icons/ConstellationAnswer.svg new file mode 100644 index 0000000..67be43a --- /dev/null +++ b/icons/ConstellationAnswer.svg @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> +<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" version="1.1" width="44" height="44" viewBox="0 0 44 44" id="svg2" xml:space="preserve"><metadata id="metadata13"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/><dc:title/></cc:Work></rdf:RDF></metadata> +<defs id="defs4"> +</defs> +<polygon points="34.857,39.584 32.25,39.852 30.991,42.15 29.934,39.754 27.357,39.268 29.311,37.52 28.977,34.92 31.242,36.236 33.611,35.115 33.061,37.678 33.061,37.678 " transform="translate(-9.1428571,-31.904761)" id="polygon239_1_" style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1;stroke-linejoin:round;stroke-opacity:1"/> + + +<polygon points="26,40.852 24.346,41.41 23.867,43.091 22.825,41.689 21.079,41.755 22.089,40.329 21.489,38.689 23.156,39.211 24.529,38.133 24.55,39.879 24.55,39.879 " transform="translate(0.8571429,-2.2857143)" id="polygon245_1_" style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1;stroke-linejoin:round;stroke-opacity:1"/> + + +<polygon points="34.857,39.584 32.25,39.852 30.991,42.15 29.934,39.754 27.357,39.268 29.311,37.52 28.977,34.92 31.242,36.236 33.611,35.115 33.061,37.678 33.061,37.678 " transform="translate(-24.059381,-26.630237)" id="polygon2388" style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1;stroke-linejoin:round;stroke-opacity:1"/><polygon points="26,40.852 24.346,41.41 23.867,43.091 22.825,41.689 21.079,41.755 22.089,40.329 21.489,38.689 23.156,39.211 24.529,38.133 24.55,39.879 24.55,39.879 " transform="translate(-15.729977,-9.4691425)" id="polygon2390" style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1;stroke-linejoin:round;stroke-opacity:1"/><polygon points="26,40.852 24.346,41.41 23.867,43.091 22.825,41.689 21.079,41.755 22.089,40.329 21.489,38.689 23.156,39.211 24.529,38.133 24.55,39.879 24.55,39.879 " transform="translate(14.555738,-23.850095)" id="polygon2392" style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1;stroke-linejoin:round;stroke-opacity:1"/><path d="M 6.542215,16.622298 6.6958803,26.806273" id="path3174" style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"/><path d="M 10.190476,33.142857 20.761905,37.52381" id="path3182" style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"/><polygon points="34.857,39.584 32.25,39.852 30.991,42.15 29.934,39.754 27.357,39.268 29.311,37.52 28.977,34.92 31.242,36.236 33.611,35.115 33.061,37.678 33.061,37.678 " transform="translate(6.5120481,-4.2492857)" id="polygon3184" style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1;stroke-linejoin:round;stroke-opacity:1"/><path d="m 27.238095,36.952381 5.52381,-1.523809" id="path3186" style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"/><path d="m 37.955841,20.730447 -0.197396,8.443868" id="path3188" style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"/><path d="m 11.238095,9.9047617 5.428572,-2.190476" id="path3190" style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"/><path d="m 27.047619,8.2857147 8.095238,5.4285713" id="path3192" style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"/><text x="12.761905" y="30.857143" id="text2998" xml:space="preserve" style="font-size:11px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Sans"><tspan x="12.761905" y="30.857143" id="tspan3000" style="font-size:24px;font-weight:bold;fill:#ffffff;fill-opacity:1;stroke:none;-inkscape-font-specification:Sans Bold">✓</tspan></text> +</svg>
\ No newline at end of file diff --git a/icons/ConstellationNewGame.svg b/icons/ConstellationNewGame.svg new file mode 100644 index 0000000..ebda02f --- /dev/null +++ b/icons/ConstellationNewGame.svg @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> +<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" version="1.1" width="44" height="44" viewBox="0 0 44 44" id="svg2" xml:space="preserve"><metadata id="metadata13"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/><dc:title/></cc:Work></rdf:RDF></metadata> +<defs id="defs4"> +</defs> +<polygon points="32.25,39.852 30.991,42.15 29.934,39.754 27.357,39.268 29.311,37.52 28.977,34.92 31.242,36.236 33.611,35.115 33.061,37.678 33.061,37.678 34.857,39.584 " transform="translate(-9.1428571,-31.904761)" id="polygon239_1_" style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1;stroke-linejoin:round;stroke-opacity:1"/> + + +<polygon points="24.346,41.41 23.867,43.091 22.825,41.689 21.079,41.755 22.089,40.329 21.489,38.689 23.156,39.211 24.529,38.133 24.55,39.879 24.55,39.879 26,40.852 " transform="translate(0.8571429,-2.2857143)" id="polygon245_1_" style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1;stroke-linejoin:round;stroke-opacity:1"/> + + +<polygon points="32.25,39.852 30.991,42.15 29.934,39.754 27.357,39.268 29.311,37.52 28.977,34.92 31.242,36.236 33.611,35.115 33.061,37.678 33.061,37.678 34.857,39.584 " transform="translate(-24.059381,-26.630237)" id="polygon2388" style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1;stroke-linejoin:round;stroke-opacity:1"/><polygon points="24.346,41.41 23.867,43.091 22.825,41.689 21.079,41.755 22.089,40.329 21.489,38.689 23.156,39.211 24.529,38.133 24.55,39.879 24.55,39.879 26,40.852 " transform="translate(-15.729977,-9.4691425)" id="polygon2390" style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1;stroke-linejoin:round;stroke-opacity:1"/><polygon points="24.346,41.41 23.867,43.091 22.825,41.689 21.079,41.755 22.089,40.329 21.489,38.689 23.156,39.211 24.529,38.133 24.55,39.879 24.55,39.879 26,40.852 " transform="translate(14.555738,-23.850095)" id="polygon2392" style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1;stroke-linejoin:round;stroke-opacity:1"/><path d="M 6.542215,16.622298 6.6958803,26.806273" id="path3174" style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"/><path d="M 10.190476,33.142857 20.761905,37.52381" id="path3182" style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"/><polygon points="32.25,39.852 30.991,42.15 29.934,39.754 27.357,39.268 29.311,37.52 28.977,34.92 31.242,36.236 33.611,35.115 33.061,37.678 33.061,37.678 34.857,39.584 " transform="translate(6.5120481,-4.2492857)" id="polygon3184" style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1;stroke-linejoin:round;stroke-opacity:1"/><path d="m 27.238095,36.952381 5.52381,-1.523809" id="path3186" style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"/><path d="m 37.955841,20.730447 -0.197396,8.443868" id="path3188" style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"/><path d="m 11.238095,9.9047617 5.428572,-2.190476" id="path3190" style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"/><path d="m 27.047619,8.2857147 8.095238,5.4285713" id="path3192" style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"/> +<path d="" id="path633" style="fill:none;stroke:#000000;stroke-width:0.47988895;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"/><path d="m 30.910487,19.70954 c -1.10877,0 -2.018763,0.909992 -2.018763,2.018761 l 0,4.62969 -3.283849,-3.28385 c -0.784855,-0.783184 -2.043082,-0.78485 -2.826264,0 -0.783183,0.784854 -0.784823,2.069998 0,2.853181 l 3.310766,3.28385 -4.683521,0 c -1.10877,0 -2.018762,0.90999 -2.018762,2.018762 0,1.108769 0.909992,1.991843 2.018762,1.991843 l 4.656605,0 -3.28385,3.283849 c -0.783181,0.784854 -0.784823,2.069999 0,2.85318 0.784855,0.783182 2.07,0.757938 2.85318,-0.02692 l 3.256933,-3.283849 0,4.683524 c 0,1.10877 0.909993,1.991844 2.018763,1.991844 1.108769,0 1.991843,-0.883074 1.991843,-1.991844 l 0,-4.71044 3.337683,3.310765 c 0.784853,0.783182 2.043082,0.784855 2.826262,0 0.783182,-0.784853 0.784858,-2.043082 0,-2.826262 l -3.310765,-3.28385 4.656607,0 c 1.108769,0 1.991849,-0.883074 1.991849,-1.991843 0,-1.108771 -0.88308,-2.018763 -1.991849,-2.018763 l -4.683523,0 3.310765,-3.337683 c 0.783182,-0.784854 0.784857,-2.016165 0,-2.799347 -0.784854,-0.78318 -2.043082,-0.811775 -2.826263,-0.02691 l -3.310766,3.337682 0,-4.656604 c 0,-1.10877 -0.883074,-2.018763 -1.991843,-2.018763 z" id="rect3894" style="fill:#ffffff;fill-opacity:1;stroke:#282828;stroke-width:1.72267997;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"/></svg>
\ No newline at end of file diff --git a/icons/ConstellationNext.svg b/icons/ConstellationNext.svg new file mode 100644 index 0000000..ca43a6c --- /dev/null +++ b/icons/ConstellationNext.svg @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> +<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" version="1.1" width="44" height="44" viewBox="0 0 44 44" id="svg2" xml:space="preserve"><metadata id="metadata13"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/><dc:title/></cc:Work></rdf:RDF></metadata> +<defs id="defs4"> +</defs> +<polygon points="30.991,42.15 29.934,39.754 27.357,39.268 29.311,37.52 28.977,34.92 31.242,36.236 33.611,35.115 33.061,37.678 33.061,37.678 34.857,39.584 32.25,39.852 " transform="translate(-9.1428571,-31.904761)" id="polygon239_1_" style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1;stroke-linejoin:round;stroke-opacity:1"/> + + +<polygon points="23.867,43.091 22.825,41.689 21.079,41.755 22.089,40.329 21.489,38.689 23.156,39.211 24.529,38.133 24.55,39.879 24.55,39.879 26,40.852 24.346,41.41 " transform="translate(0.8571429,-2.2857143)" id="polygon245_1_" style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1;stroke-linejoin:round;stroke-opacity:1"/> + + +<polygon points="30.991,42.15 29.934,39.754 27.357,39.268 29.311,37.52 28.977,34.92 31.242,36.236 33.611,35.115 33.061,37.678 33.061,37.678 34.857,39.584 32.25,39.852 " transform="translate(-24.059381,-26.630237)" id="polygon2388" style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1;stroke-linejoin:round;stroke-opacity:1"/><polygon points="23.867,43.091 22.825,41.689 21.079,41.755 22.089,40.329 21.489,38.689 23.156,39.211 24.529,38.133 24.55,39.879 24.55,39.879 26,40.852 24.346,41.41 " transform="translate(-15.729977,-9.4691425)" id="polygon2390" style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1;stroke-linejoin:round;stroke-opacity:1"/><polygon points="23.867,43.091 22.825,41.689 21.079,41.755 22.089,40.329 21.489,38.689 23.156,39.211 24.529,38.133 24.55,39.879 24.55,39.879 26,40.852 24.346,41.41 " transform="translate(14.555738,-23.850095)" id="polygon2392" style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1;stroke-linejoin:round;stroke-opacity:1"/><path d="M 6.542215,16.622298 6.6958803,26.806273" id="path3174" style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"/><path d="M 10.190476,33.142857 20.761905,37.52381" id="path3182" style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"/><polygon points="30.991,42.15 29.934,39.754 27.357,39.268 29.311,37.52 28.977,34.92 31.242,36.236 33.611,35.115 33.061,37.678 33.061,37.678 34.857,39.584 32.25,39.852 " transform="translate(6.5120481,-4.2492857)" id="polygon3184" style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1;stroke-linejoin:round;stroke-opacity:1"/><path d="m 27.238095,36.952381 5.52381,-1.523809" id="path3186" style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"/><path d="m 37.955841,20.730447 -0.197396,8.443868" id="path3188" style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"/><path d="m 11.238095,9.9047617 5.428572,-2.190476" id="path3190" style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"/><path d="m 27.047619,8.2857147 8.095238,5.4285713" id="path3192" style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"/> +<path d="" id="path633" style="fill:none;stroke:#000000;stroke-width:0.47988895;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"/><g transform="matrix(0.33333333,0,0,0.33333333,12.833333,12.833167)" id="g3069"><rect width="30" height="30" x="12.5" y="12.5" id="rect2988" style="fill:#282828;fill-opacity:1;stroke:none"/><g id="go-next" style="fill:#ffffff;fill-opacity:1;display:block"> + <path d="M 27.497,50.004 C 39.927,50.004 50,39.937 50,27.508 50,15.076 39.927,4.997 27.497,4.997 15.071,4.997 5,15.076 5,27.508 5,39.937 15.071,50.004 27.497,50.004 z M 20.733,17.551 40.362,27.516 20.733,37.758 V 17.551 z" id="path5" style="fill:#ffffff;fill-opacity:1"/> +</g></g></svg>
\ No newline at end of file |