Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel 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)
commit5db1b6329525c31e707ac21ff877f9c1089df5d7 (patch)
treeef8cda545fe67c2803a877089218cdf604b258f4
parent754761db9136383ee6c8435a168ba41a98c51894 (diff)
Copy to journal
-rw-r--r--activity.py5
-rw-r--r--file_choosers.py27
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)