diff options
author | Daniel Francis <santiago.danielfrancis@gmail.com> | 2011-12-09 18:17:35 (GMT) |
---|---|---|
committer | Daniel Francis <santiago.danielfrancis@gmail.com> | 2011-12-09 18:17:35 (GMT) |
commit | 5db1b6329525c31e707ac21ff877f9c1089df5d7 (patch) | |
tree | ef8cda545fe67c2803a877089218cdf604b258f4 | |
parent | 754761db9136383ee6c8435a168ba41a98c51894 (diff) |
Copy to journal
-rw-r--r-- | activity.py | 5 | ||||
-rw-r--r-- | file_choosers.py | 27 |
2 files changed, 29 insertions, 3 deletions
diff --git a/activity.py b/activity.py index c53a3a5..7608a7c 100644 --- a/activity.py +++ b/activity.py @@ -272,7 +272,7 @@ class JAMEdit(activity.Activity): def open_file(self, widget): self.editor.pep8.check_exit() self.save_file(None, type="exit") - file_path = file_choosers.open_file_dialog() + 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) @@ -280,7 +280,8 @@ class JAMEdit(activity.Activity): file = open(file_path, "r") self.editor.buffer.set_text(file.read()) - self.editor.file = file_path + if remember: + self.editor.file = file_path self.editor._search_and_active_language(mime_type) file.close() diff --git a/file_choosers.py b/file_choosers.py index 69fa74f..7b80a99 100644 --- a/file_choosers.py +++ b/file_choosers.py @@ -23,6 +23,23 @@ import gtk +from sugar import mime +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) + result = chooser.run() + chooser.destroy() + if result == gtk.RESPONSE_ACCEPT: + jobject = chooser.get_selected_object() + path = str(jobject.get_file_path()) + else: + path = None + filechooser.path = path + filechooser.response(OPEN_FROM_JOURNAL) + def open_file_dialog(): dialog = gtk.FileChooserDialog(_("Open..."), None, @@ -49,13 +66,21 @@ def open_file_dialog(): for m in lang.get_mime_types(): filter.add_mime_type(m) dialog.add_filter(filter) + + open_from_journal_button = gtk.Button(_("Open from Journal")) + open_from_journal_button.connect("clicked", open_from_journal, dialog) + open_from_journal_button.show() + dialog.set_extra_widget(open_from_journal_button) response = dialog.run() if response == gtk.RESPONSE_OK: to_return = dialog.get_filename() elif response == gtk.RESPONSE_CANCEL: to_return = None + elif response == OPEN_FROM_JOURNAL: + dialog.destroy() + return dialog.path, False dialog.destroy() - return to_return + return to_return, True def confirm_overwrite(widget): dialog = gtk.MessageDialog(type=gtk.MESSAGE_QUESTION) |