diff options
author | Agustin Zubiaga <aguzubiaga97@gmail.com> | 2011-12-09 19:08:34 (GMT) |
---|---|---|
committer | Agustin Zubiaga <aguzubiaga97@gmail.com> | 2011-12-09 19:08:34 (GMT) |
commit | 695e1138b9f768b4c457146f4cac8316cf0e59a3 (patch) | |
tree | 58f4f95b9d04361b89bf9e637543d48430570221 | |
parent | e2915ea4f9376c2824d6310f54aa6824d14dcd02 (diff) |
Open at journal button in the activity toolbar added
Signed-off-by: Agustin Zubiaga <aguzubiaga97@gmail.com>
-rw-r--r-- | activity.py | 40 | ||||
-rw-r--r-- | file_choosers.py | 13 |
2 files changed, 38 insertions, 15 deletions
diff --git a/activity.py b/activity.py index 878301a..c3b9601 100644 --- a/activity.py +++ b/activity.py @@ -77,9 +77,14 @@ class JAMEdit(activity.Activity): activity_button = ActivityToolbarButton(self) activity_toolbar = activity_button.page + + # Abrir objeto / Open object + open_obj_btn = ToolButton("open-from-journal") + open_obj_btn.connect("clicked", file_choosers.open_from_journal, None, self) + open_obj_btn.set_tooltip(_("Open object from journal")) + activity_toolbar.insert(open_obj_btn, -1) # Separador / Separator - separator = gtk.SeparatorToolItem() separator.set_draw(True) separator.set_expand(False) @@ -91,7 +96,7 @@ class JAMEdit(activity.Activity): open_btn.set_accelerator('<ctrl>o') open_btn.connect("clicked", self.open_file) activity_toolbar.insert(open_btn, -1) - + # ****** Save File button ****** save_btn = ToolButton("stock_save") save_btn.set_tooltip(_("Save this file")) @@ -113,7 +118,7 @@ class JAMEdit(activity.Activity): new.set_tooltip(_("New file")) new.set_accelerator('<ctrl>n') new.connect("clicked", self.new) - activity_toolbar.insert(new, 5) + activity_toolbar.insert(new, 6) new.show() activity_toolbar.keep.show() @@ -270,27 +275,40 @@ class JAMEdit(activity.Activity): if close: activity.Activity.close(self) - def open_file(self, widget): + def open_file(self, widget, from_journal=False): self.editor.pep8.check_exit() self.save_file(None, type="exit") - file_path, remember = file_choosers.open_file_dialog() - if file_path != None: - self.set_title(os.path.split(file_path)[-1]) + if not from_journal: + file_path, remember = file_choosers.open_file_dialog() + if file_path != None: + self.set_title(os.path.split(file_path)[-1]) + mime_type = mime.get_from_file_name(file_path) + self.metadata["mime_type"] = mime_type + + file = open(file_path, "r") + self.editor.buffer.set_text(file.read()) + if remember: + self.editor.file = file_path + self.editor._search_and_active_language(mime_type) + file.close() + + if from_journal: + file_path = from_journal mime_type = mime.get_from_file_name(file_path) self.metadata["mime_type"] = mime_type file = open(file_path, "r") self.editor.buffer.set_text(file.read()) - if remember: - self.editor.file = file_path + self.editor.file = file_path self.editor._search_and_active_language(mime_type) file.close() + def new(self, widget): self.editor.pep8.check_exit() _continue = self.save_file(None, type="exit") if _continue: - self.metadata["mime_type"] = "text/x-generic" + self.metadata["mime_type"] = mime.GENERIC_TYPE_TEXT self.editor.lang = None self.editor.file = None self.editor.lang_combo.set_active(0) @@ -373,7 +391,7 @@ class JAMEdit(activity.Activity): lang_mime_type = self.editor.lang.get_mime_types()[0] elif not self.editor.lang: - lang_mime_type = "text/x-generic" + lang_mime_type = mime.GENERIC_TYPE_TEXT self.metadata['mime_type'] = lang_mime_type diff --git a/file_choosers.py b/file_choosers.py index 7b80a99..68413ce 100644 --- a/file_choosers.py +++ b/file_choosers.py @@ -28,8 +28,11 @@ from sugar.graphics.objectchooser import ObjectChooser OPEN_FROM_JOURNAL = -12 -def open_from_journal(button, filechooser): - chooser = ObjectChooser(parent=filechooser, what_filter=mime.GENERIC_TYPE_TEXT) +def open_from_journal(button, filechooser, activity=None): + if filechooser: + chooser = ObjectChooser(parent=filechooser, what_filter=mime.GENERIC_TYPE_TEXT) + else: + chooser = ObjectChooser(what_filter=mime.GENERIC_TYPE_TEXT) result = chooser.run() chooser.destroy() if result == gtk.RESPONSE_ACCEPT: @@ -37,8 +40,10 @@ def open_from_journal(button, filechooser): path = str(jobject.get_file_path()) else: path = None - filechooser.path = path - filechooser.response(OPEN_FROM_JOURNAL) + if filechooser: + filechooser.path = path + filechooser.response(OPEN_FROM_JOURNAL) + else: activity.open_file(None, from_journal=path) def open_file_dialog(): dialog = gtk.FileChooserDialog(_("Open..."), |