From b6d46a4f94e0802d9134666ea27b98760a26b1fb Mon Sep 17 00:00:00 2001 From: Ignacio Rodríguez Date: Sun, 11 Nov 2012 17:38:47 +0000 Subject: Versión 3: Incluye soporte para color y letras --- diff --git a/Combo.py b/Combo.py index 0c93d9c..fbeaa4a 100644 --- a/Combo.py +++ b/Combo.py @@ -2,7 +2,7 @@ # -*- coding: utf-8 -*- # Combo.py # Extraido de CeibalNotifica -# Flavio Danesse +# Flavio Danesse import gtk import gobject class Combo(gtk.ComboBox): diff --git a/Toolbars.py b/Toolbars.py index 7d92ade..b1df153 100644 --- a/Toolbars.py +++ b/Toolbars.py @@ -4,6 +4,7 @@ # Gabriel, hice esto porque es un revoltijo abook.py :P try: import gtk + import sys from gettext import gettext as _ from sugar import profile from sugar import mime @@ -29,29 +30,65 @@ try: from ayuda import HelpButton as Ayudas except ImportError: print 'NO SE ESTA EN SUGAR.. SALIENDO' - + sys.exit() Fonts = Combo() Fonts.set_items(["Purisa 8", "Purisa 12", "Purisa 24", "Monospace 8", "Monospace 12", "Monospace 24", "Times New Roman 8", "Times New Roman 12", "Times New Roman 24", "FreeSans 8", "FreeSans 12", "FreeSans 24"]) Title_Tam = Combo() Title_Tam.set_items(["Purisa 8", "Purisa 12", "Purisa 24", "Monospace 8", "Monospace 12", "Monospace 24", "Times New Roman 8", "Times New Roman 12", "Times New Roman 24", "FreeSans 8", "FreeSans 12", "FreeSans 24"]) -Colore = ColorToolButton() -Color_t = ColorToolButton() +ColorLetra = ColorToolButton() +ColorTitle = ColorToolButton() +ColorFondo = ColorToolButton() +Col = gtk.gdk.Color('#ffffff') +ColorFondo.set_color(Col) restart_button = ToolButton("home") reading_button = ToolButton("read") load_button = ToolButton("open-from-journal") credits = ToolButton("credits") +tutorial = ToolButton("tutorial") +tutorial.set_tooltip(_("Tutorial book")) new_button = ToolButton("new") book_button = ToolButton("edit-p") page_button = ToolButton("edit-c") check_button = ToolButton("broken") +def Color_Toolbar(toolbar): + color_button = ToolbarButton(icon_name='color-preview') + color_toolbar = gtk.Toolbar() + ColorContentLabel = gtk.Label(_('Color for content')) # Duda ¿Es content o context? + ColorFondoLabel = gtk.Label(_('Color for page')) + ColorTitleLabel = gtk.Label(_('Color for title')) + # Contenido del libro + Item = gtk.ToolItem() + Item.add(ColorContentLabel) + Item.show() + + color_toolbar.insert(Item, -1) + color_toolbar.insert(ColorLetra, -1) + color_toolbar.insert(gtk.SeparatorToolItem(), -1) + + # Fondo # + Item = gtk.ToolItem() + Item.add(ColorFondoLabel) + Item.show() + + color_toolbar.insert(Item, -1) + color_toolbar.insert(ColorFondo, -1) + color_toolbar.insert(gtk.SeparatorToolItem(), -1) + + Item = gtk.ToolItem() + Item.add(ColorTitleLabel) + Item.show() + color_toolbar.insert(Item, -1) + color_toolbar.insert(ColorTitle, -1) + + color_button.props.page = color_toolbar + color_toolbar.show_all() + toolbar.toolbar.insert(color_button, -1) def Text_Toolbar(toolbar): text_button = ToolbarButton(icon_name="format-text-size") text_toolbar = gtk.Toolbar() - A = gtk.Label(_('<--Color Content:')) - B = gtk.Label(_('<--Color Title:')) - text_toolbar.insert(Colore, -1) - + A = gtk.Label(_('Content:')) + B = gtk.Label(_('Title:')) Item = gtk.ToolItem() Item.add(A) Item.show() @@ -67,7 +104,6 @@ def Text_Toolbar(toolbar): Item = gtk.ToolItem() Item.add(B) Item.show() - text_toolbar.insert(Color_t, -1) text_toolbar.insert(Item, -1) Item = gtk.ToolItem() Item.add(Title_Tam) @@ -75,9 +111,6 @@ def Text_Toolbar(toolbar): Title_Tam.show() text_toolbar.insert(Item, -1) - - Colore.show() - Color_t.show() text_toolbar.show_all() text_button.props.page = text_toolbar toolbar.toolbar.insert(text_button, -1) @@ -109,6 +142,8 @@ def Read_Toolbar(toolbar): credits.set_tooltip(_("Credits")) read_toolbar.insert(credits, -1) + read_toolbar.insert(tutorial, -1) + tutorial.show() credits.show() toolbar.toolbar.insert(read_button, -1) def Write_Toolbar(toolbar): diff --git a/abook.py b/abook.py index 18d9211..264836c 100644 --- a/abook.py +++ b/abook.py @@ -55,29 +55,37 @@ from textbook import credits_book from Toolbars import Text_Toolbar from Toolbars import Write_Toolbar from Toolbars import Read_Toolbar +from Toolbars import Color_Toolbar from Toolbars import Ayuda import Toolbars - +EventBox = gtk.EventBox() class AdventureBookActivity(activity.Activity): def __init__(self, handle): activity.Activity.__init__(self, handle, True) toolbarbox = ToolbarBox() + self._main_view = gtk.VBox() + + EventBox.add(self._main_view) ## CONNECTS ## Toolbars.restart_button.connect("clicked", self._restart_button_cb) Toolbars.reading_button.connect("clicked", self._read_button_cb) Toolbars.load_button.connect("clicked", self._load_button_cb) Toolbars.credits.connect("clicked", self.Credits) Toolbars.new_button.connect("clicked", self._new_button_cb) - Toolbars.book_button.connect("clicked", self._edit_book_button_cb, Toolbars.Colore.get_color()) - Toolbars.page_button.connect("clicked", self._edit_page_button_cb) - Toolbars.check_button.connect("clicked", self._check_button_cb, Toolbars.Colore.get_color()) - Toolbars.Colore.set_title(_('Select color for font and go to home page')) - Toolbars.Colore.connect('notify::color', self.Home) + Toolbars.book_button.connect("clicked", self._edit_book_button_cb, Toolbars.ColorLetra.get_color()) + Toolbars.page_button.connect("clicked", self._edit_page_button_cb, EventBox) + Toolbars.check_button.connect("clicked", self._check_button_cb, Toolbars.ColorLetra.get_color()) + Toolbars.ColorLetra.set_title(_('Select color for font and go to home page')) + Toolbars.ColorLetra.connect('notify::color', self.Home) + Toolbars.ColorFondo.set_title(_('Select color for page and go to home page')) + Toolbars.ColorFondo.connect('notify::color', self.Home) Toolbars.Fonts.connect('change_selection', self.Home) Toolbars.Title_Tam.connect('change_selection', self.Home) - Toolbars.Color_t.connect('notify::color', self.Home) + Toolbars.ColorTitle.set_title(_('Select color for title and go to home page')) + Toolbars.ColorTitle.connect('notify::color', self.Home) + Toolbars.tutorial.connect("clicked", self.Tutorial) # FIN DE CONNECTS # # The Activity Button: @@ -85,9 +93,16 @@ class AdventureBookActivity(activity.Activity): # Insert the Activity Toolbar Button in the toolbarbox toolbarbox.toolbar.insert(activity_button, 0) + toolbarbox.toolbar.insert(gtk.SeparatorToolItem(), -1) Read_Toolbar(toolbarbox) Write_Toolbar(toolbarbox) Text_Toolbar(toolbarbox) + Color_Toolbar(toolbarbox) + + Separador = gtk.SeparatorToolItem() + Separador.props.draw = False + Separador.set_expand(True) + toolbarbox.toolbar.insert(Separador, -1) Ayuda(toolbarbox) # Stop button stopbtn = StopButton(self) @@ -97,15 +112,17 @@ class AdventureBookActivity(activity.Activity): self.set_toolbar_box(toolbarbox) # Define main view as a vbox container - self._main_view = gtk.VBox() - self.set_canvas(self._main_view) + + EventBox.modify_bg(gtk.STATE_NORMAL, Toolbars.ColorFondo.get_color()) + self.set_canvas(EventBox) - # Load tutorial book for first-time runs - self._book = tutorial_book() - self._start_book(Toolbars.Colore.get_color()) + # Empty Book + self._book = empty_book() + self._start_book(Toolbars.ColorLetra.get_color()) def Home(self, widget, pspec): self._restart_button_cb(None) + EventBox.modify_bg(gtk.STATE_NORMAL, Toolbars.ColorFondo.get_color()) def _clean_main_view(self): for w in self._main_view.get_children(): @@ -115,7 +132,7 @@ class AdventureBookActivity(activity.Activity): def _start_book(self, Color): Tam = pango.FontDescription(Toolbars.Fonts.get_active_text()) Title = pango.FontDescription(Toolbars.Title_Tam.get_active_text()) - Color_ts = Toolbars.Color_t.get_color() + Color_ts = Toolbars.ColorTitle.get_color() self._clean_main_view() title_label = gtk.Label(self._book.get_title()) title_label.modify_fg(gtk.STATE_NORMAL, Color_ts) @@ -145,24 +162,24 @@ class AdventureBookActivity(activity.Activity): def _start_button_cb(self, widget): self._current_page = self._book.get_pages()[0] - self._show_page(Toolbars.Colore.get_color()) + self._show_page(Toolbars.ColorLetra.get_color()) def _restart_button_cb(self, widget): - self._start_book(Toolbars.Colore.get_color()) + self._start_book(Toolbars.ColorLetra.get_color()) def _read_button_cb(self, widget): - self._show_page(Toolbars.Colore.get_color()) + self._show_page(Toolbars.ColorLetra.get_color()) def _show_page(self, Color): self._clean_main_view() Tam = pango.FontDescription(Toolbars.Fonts.get_active_text()) Title = pango.FontDescription(Toolbars.Title_Tam.get_active_text()) - Color_ts = Toolbars.Color_t.get_color() + Color_ts = Toolbars.ColorTitle.get_color() print Tam title_label = gtk.Label(self._current_page.get_title()) title_label.modify_fg(gtk.STATE_NORMAL, Color_ts) @@ -186,11 +203,8 @@ class AdventureBookActivity(activity.Activity): def _option_button_cb(self, widget, option): - self._current_page = option.get_page() - self._show_page(Toolbars.Colore.get_color()) - - + self._show_page(Toolbars.ColorLetra.get_color()) def _load_button_cb(self, widget): chooser = ObjectChooser(parent=self) @@ -218,14 +232,18 @@ class AdventureBookActivity(activity.Activity): def _new_button_cb(self, widget): self._book = empty_book() - self._start_book(Toolbars.Colore.get_color()) + self._start_book(Toolbars.ColorLetra.get_color()) # self._start_button_cb(widget) def Credits(self, widget): self._book = credits_book() - self._start_book(Toolbars.Colore.get_color()) - + self._start_book(Toolbars.ColorLetra.get_color()) + def Tutorial(self, widget): + self._book = tutorial_book() + self._start_book(Toolbars.ColorLetra.get_color()) def _edit_book_button_cb(self, widget, Color): Tam = pango.FontDescription('8') + Col = gtk.gdk.Color('#ff0000') + EventBox.modify_bg(gtk.STATE_NORMAL, Col) self._clean_main_view() @@ -296,21 +314,21 @@ class AdventureBookActivity(activity.Activity): self._book.set_license(w.get_active_text()) - def _edit_page_button_cb(self, widget): - + def _edit_page_button_cb(self, widget,Caja): self._clean_main_view() - page_hbox = gtk.HBox() list_vbox = gtk.VBox() page_vbox = gtk.VBox() page_list_model = gtk.ListStore(str) + Col = gtk.gdk.Color("#FF0000") + Caja.modify_bg(gtk.STATE_NORMAL, Col) for p in self._book.get_pages(): page_list_model.append([p.get_title()]) page_list_view = gtk.TreeView(model=page_list_model) page_list_view.get_selection().set_mode(gtk.SELECTION_SINGLE) page_list_view.connect("cursor-changed", self._page_selected_for_edition_cb, - page_vbox, Toolbars.Colore.get_color()) + page_vbox, Toolbars.ColorLetra.get_color()) page_list_view.set_cursor(0) # need to change to point to page page_list_column = gtk.TreeViewColumn(_("Book pages")) page_list_view.append_column(page_list_column) @@ -631,6 +649,6 @@ class AdventureBookActivity(activity.Activity): option_props = cOption(o['text'], page_dest) page_orig.add_option(option_props) - self._start_book(Toolbars.Colore.get_color()) + self._start_book(Toolbars.ColorLetra.get_color()) diff --git a/activity/Screenshot of _Adventure Book Activity_.png b/activity/Screenshot of _Adventure Book Activity_.png new file mode 100644 index 0000000..d221980 --- /dev/null +++ b/activity/Screenshot of _Adventure Book Activity_.png Binary files differ diff --git a/icons/tutorial.svg b/icons/tutorial.svg new file mode 100644 index 0000000..861d8c8 --- /dev/null +++ b/icons/tutorial.svg @@ -0,0 +1,77 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/po/AdventureBook.pot b/po/AdventureBook.pot new file mode 100644 index 0000000..8e854b7 --- /dev/null +++ b/po/AdventureBook.pot @@ -0,0 +1,338 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-11-11 15:51+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: activity/activity.info:2 +msgid "Adventure Book" +msgstr "" + +#: Toolbars.py:48 +msgid "Tutorial book" +msgstr "" + +#: Toolbars.py:57 +msgid "Color for content" +msgstr "" + +#: Toolbars.py:58 +msgid "Color for page" +msgstr "" + +#: Toolbars.py:59 +msgid "Color for title" +msgstr "" + +#: Toolbars.py:90 +msgid "Content:" +msgstr "" + +#: Toolbars.py:91 +msgid "Title:" +msgstr "" + +#: Toolbars.py:123 +msgid "Start from the begining" +msgstr "" + +#: Toolbars.py:127 +msgid "Read the book" +msgstr "" + +#: Toolbars.py:131 +msgid "Load book from Journal" +msgstr "" + +#: Toolbars.py:142 textbook.py:58 textbook.py:59 +msgid "Credits" +msgstr "" + +#: Toolbars.py:154 +msgid "New book" +msgstr "" + +#: Toolbars.py:158 abook.py:250 +msgid "Edit book properties" +msgstr "" + +#: Toolbars.py:162 +msgid "Edit book contents" +msgstr "" + +#: Toolbars.py:166 +msgid "Check book for missing parts" +msgstr "" + +#: Toolbars.py:176 +msgid "Crear un libro" +msgstr "" + +#: Toolbars.py:177 +msgid "Para crear un nuevo libro debes hacer click en el icono" +msgstr "" + +#: Toolbars.py:178 +msgid "Posterior a esto haz click en:" +msgstr "" + +#: Toolbars.py:179 +msgid "Editar un libro" +msgstr "" + +#: Toolbars.py:180 +msgid "Para editar el libro debes hacer click en" +msgstr "" + +#: Toolbars.py:181 +msgid "Luego haz click en:" +msgstr "" + +#: Toolbars.py:182 +msgid "Editar las propiedades" +msgstr "" + +#: Toolbars.py:183 +msgid "Para editar las propiedades debes hacer click en" +msgstr "" + +#: Toolbars.py:184 +msgid "Despues haz click en:" +msgstr "" + +#: Toolbars.py:185 +msgid "Leer un libro" +msgstr "" + +#: Toolbars.py:186 +msgid "Para leer un libro debes hacer click en:" +msgstr "" + +#: Toolbars.py:187 +msgid "Si quieres ir a la primer página debes hacer click en:" +msgstr "" + +#: Toolbars.py:188 +msgid "Si quieres cargar tu libro haz click en:" +msgstr "" + +#: Toolbars.py:189 +msgid "Si te interesan los créditos haz click en:" +msgstr "" + +#: Toolbars.py:190 +msgid "Editar la 'letra'" +msgstr "" + +#: Toolbars.py:191 +msgid "Para editar la tipografía de un libro debes hacer click en:" +msgstr "" + +#: Toolbars.py:192 +msgid "" +"Si tu quieres editar el nombre de la tipografía deberas hacer click donde " +"dice 'Purisa 8', se desplegara una lista de fuentes. Selecciona una" +msgstr "" + +#: Toolbars.py:193 +msgid "Si quieres editar el color haz click en:" +msgstr "" + +#: ayuda.py:36 +msgid "Help" +msgstr "" + +#: abook.py:80 +msgid "Select color for font and go to home page" +msgstr "" + +#: abook.py:82 +msgid "Select color for page and go to home page" +msgstr "" + +#: abook.py:86 +msgid "Select color for title and go to home page" +msgstr "" + +#: abook.py:149 +msgid "Start reading" +msgstr "" + +#: abook.py:218 +msgid "Good!" +msgstr "" + +#: abook.py:219 +msgid "Book loaded" +msgstr "" + +#: abook.py:225 +msgid "Error in load book" +msgstr "" + +#: abook.py:256 +msgid "Book title" +msgstr "" + +#: abook.py:268 +msgid "Book author" +msgstr "" + +#: abook.py:279 +msgid "Book license" +msgstr "" + +#: abook.py:284 textbook.py:13 textbook.py:48 +msgid "CC-BY" +msgstr "" + +#: abook.py:285 +msgid "CC-BY-SA" +msgstr "" + +#: abook.py:286 +msgid "CC-BY-NC" +msgstr "" + +#: abook.py:287 +msgid "CC-BY-NC-SA" +msgstr "" + +#: abook.py:288 +msgid "Copyright" +msgstr "" + +#: abook.py:333 +msgid "Book pages" +msgstr "" + +#: abook.py:339 +msgid "Add page" +msgstr "" + +#: abook.py:342 +msgid "Remove page" +msgstr "" + +#: abook.py:360 +msgid "New page" +msgstr "" + +#: abook.py:420 +msgid "Page title" +msgstr "" + +#: abook.py:432 +msgid "Page text" +msgstr "" + +#: abook.py:445 +msgid "Options" +msgstr "" + +#: abook.py:452 abook.py:518 +msgid "Remove" +msgstr "" + +#: abook.py:477 abook.py:543 +msgid "Add option" +msgstr "" + +#: abook.py:515 +msgid "Text" +msgstr "" + +#: abook.py:589 +msgid "Everything is OK" +msgstr "" + +#: abook.py:648 +msgid "Error while loading file" +msgstr "" + +#: textbook.py:12 +msgid "How to use Adventure Book" +msgstr "" + +#: textbook.py:15 +msgid "What are Adventure Books?" +msgstr "" + +#: textbook.py:17 +msgid "" +"Adventure Books are books that allow the reader to choose between different " +"alternatives." +msgstr "" + +#: textbook.py:19 +msgid "How can I read an Adventure Book?" +msgstr "" + +#: textbook.py:21 +msgid "Adventure Books can be read with the eyes." +msgstr "" + +#: textbook.py:23 +msgid "How can I create an Adventure Book?" +msgstr "" + +#: textbook.py:25 +msgid "Adventure Books can be created with hard work." +msgstr "" + +#: textbook.py:27 +msgid "How can I modify an Adventure Book?" +msgstr "" + +#: textbook.py:29 +msgid "Adventure Books can be modified fearlessly." +msgstr "" + +#: textbook.py:31 +msgid "How to read" +msgstr "" + +#: textbook.py:32 +msgid "How to create" +msgstr "" + +#: textbook.py:33 +msgid "How to modify" +msgstr "" + +#: textbook.py:38 textbook.py:51 +msgid "Return" +msgstr "" + +#: textbook.py:47 +msgid "Title" +msgstr "" + +#: textbook.py:50 +msgid "First page" +msgstr "" + +#: textbook.py:60 +msgid "" +"Authors:\n" +"Gabriel Eirea \n" +"Ignacio Rodriguez \n" +"Thanks to: Flavio Danesse \n" +"\n" +"¡Thanks for use this program! :)\n" +" \n" +"To continue create a empty book!" +msgstr "" -- cgit v0.9.1