class Mateton(activity.Activity):
    _NEW_TOOLBAR_SUPPORT = True
    try:
        from sugar3.graphics.toolbarbox import ToolbarBox
        from sugar3.graphics.toolbarbox import ToolbarButton
        from sugar3.activity.widgets import StopButton
        from sugar3.activity.widgets import ActivityToolbar
    except:
        _NEW_TOOLBAR_SUPPORT = False


    def __init__(self, handle):
        activity.Activity.__init__(self, handle)

        self.build_toolbar()
        self.activity = Control()

        self.set_canvas(self.activity.todo)
        self.nomArch =""
        
        self.connect('key_press_event', self.activity.onKeyPress)

    def build_toolbar(self):

        # we do not have collaboration features
        # make the share option insensitive
        self.max_participants = 1

        # toolbar with the new toolbar redesign
        toolbar_box = ToolbarBox()

        activity_button = ActivityButton(self)
        toolbar_box.toolbar.insert(activity_button, 0)
        activity_button.show()

        title_entry = TitleEntry(self)
        toolbar_box.toolbar.insert(title_entry, -1)
        title_entry.show()

        description_item = DescriptionItem(self)
        toolbar_box.toolbar.insert(description_item, -1)
        description_item.show()

        share_button = ShareButton(self)
        toolbar_box.toolbar.insert(share_button, -1)
        share_button.show()

        separator = Gtk.SeparatorToolItem()
        separator.props.draw = False
        separator.set_expand(True)
        toolbar_box.toolbar.insert(separator, -1)
        separator.show()

        stop_button = StopButton(self)
        toolbar_box.toolbar.insert(stop_button, -1)
        stop_button.show()

        self.set_toolbar_box(toolbar_box)
        toolbar_box.show()

    def read_file(self, file_path):
        if self.metadata['mime_type'] != 'text/plain':
            return

        fd = open(file_path, 'r')
        text = fd.read()
        data = simplejson.loads(text)
        fd.close()
        self.nomArch = data['name']
        self.activity.cargar(nombre = self.nomArch)

    def write_file(self, file_path):
        if not self.metadata['mime_type']:
            self.metadata['mime_type'] = 'text/plain'

        data = {}
        if self.nomArch =="":
            data['name'] = strftime("%d%b%Y%H%M%S", gmtime())
        else:
            data['name'] = self.nomArch

        fd = open(file_path, 'w')
        text = simplejson.dumps(data)
        fd.write(text)
        fd.close()

        self.activity.mantener(nombre = data['name'])
class Mateton(activity.Activity):
    _NEW_TOOLBAR_SUPPORT = True
    try:
        from sugar.graphics.toolbarbox import ToolbarBox
        from sugar.graphics.toolbarbox import ToolbarButton
        from sugar.activity.widgets import StopButton
        from sugar.activity.widgets import ActivityToolbar
    except:
        _NEW_TOOLBAR_SUPPORT = False

    def __init__(self, handle):
        activity.Activity.__init__(self, handle)

        if self._NEW_TOOLBAR_SUPPORT:  #toolbar nuevo
            #self.toolbar_box = sugar.graphics.toolbarbox.ToolbarBox()
            self.toolbar_box = sugar.activity.widgets.ActivityToolbar(self)
            self.toolbar_box.keep.hide()

            #stop_button = sugar.activity.widgets.StopButton(self)
            #stop_button.props.accelerator = '<Ctrl><Shift>Q'
            #self.toolbar_box.toolbar.insert(stop_button, -1)
            #stop_button.show()

            self.set_toolbar_box(self.toolbar_box)
            self.toolbar_box.show()

        else:  #old toolbar
            toolbox = activity.ActivityToolbox(self)

            activity_toolbar = toolbox.get_activity_toolbar()
            activity_toolbar.share.props.visible = False  #Todavia no hay share
            activity_toolbar.show()

            self.set_toolbox(toolbox)
            toolbox.show()

        self.activity = Control()

        self.set_canvas(self.activity.todo)
        self.nomArch = ""

        self.connect('key_press_event', self.activity.onKeyPress)

    def read_file(self, file_path):
        if self.metadata['mime_type'] != 'text/plain':
            return

        fd = open(file_path, 'r')
        text = fd.read()
        data = simplejson.loads(text)
        fd.close()
        self.nomArch = data['name']
        self.activity.cargar(nombre=self.nomArch)

    def write_file(self, file_path):
        if not self.metadata['mime_type']:
            self.metadata['mime_type'] = 'text/plain'

        data = {}
        if self.nomArch == "":
            data['name'] = strftime("%d%b%Y%H%M%S", gmtime())
        else:
            data['name'] = self.nomArch

        fd = open(file_path, 'w')
        text = simplejson.dumps(data)
        fd.write(text)
        fd.close()

        self.activity.mantener(nombre=data['name'])