From 08c89bc9aa683983141b56f20fb6ceb8b68f0ee8 Mon Sep 17 00:00:00 2001 From: Lucian Branescu Mihaila Date: Sun, 29 Nov 2009 20:33:50 +0000 Subject: Refactor usercode.py --- diff --git a/downloadmanager.py b/downloadmanager.py index ec0923f..4f80259 100644 --- a/downloadmanager.py +++ b/downloadmanager.py @@ -401,10 +401,18 @@ def save_document(activity, browser): local_file.initWithPath(os.path.join(temp_dir, 'index.html')) local_data.initWithPath(os.path.join(temp_dir, 'data')) + # persist settings persist.persistFlags = interfaces.nsIWebBrowserPersist \ .PERSIST_FLAGS_REPLACE_EXISTING_FILES + persist.persistFlags |= interfaces.nsIWebBrowserPersist \ + .PERSIST_FLAGS_AUTODETECT_APPLY_CONVERSION + persist.persistFlags |= interfaces.nsIWebBrowserPersist \ + .ENCODE_FLAGS_ENCODE_BASIC_ENTITIES + persist.progressListener = _SaveDocumentProgressListener(activity, temp_dir, browser.props.title)._wrapped + + # finally kick off the saving persist.saveDocument(browser.dom_window.document, local_file, local_data, None, 0, 0) @@ -423,6 +431,8 @@ class _SaveDocumentProgressListener(object): interfaces.nsIWebProgressListener) def onStateChange(self, web_progress, request, state_flags, status): + logging.debug('######### state_flags %s, status %s' \ + %s (state_flags, status)) if state_flags & interfaces.nsIWebProgressListener.STATE_STOP: if NS_FAILED(status): alert = TimeoutAlert(9) diff --git a/usercode.py b/usercode.py index 2bc43cc..43fd8c2 100644 --- a/usercode.py +++ b/usercode.py @@ -56,8 +56,8 @@ class Dialog(gtk.Window): self.show_all() gtk.Window.show(self) -class SourceDisplay(gtk.ScrolledWindow): - __gtype_name__ = 'SugarSourceDisplay' +class SourceEditor(gtk.ScrolledWindow): + __gtype_name__ = 'SugarSourceEditor' def __init__(self): gtk.ScrolledWindow.__init__(self) @@ -69,7 +69,7 @@ class SourceDisplay(gtk.ScrolledWindow): self._buffer.set_highlight_syntax(True) self._source_view = gtksourceview2.View(self._buffer) - self._source_view.set_editable(False) + self._source_view.set_editable(True) self._source_view.set_cursor_visible(True) self._source_view.set_show_line_numbers(True) self._source_view.set_show_right_margin(True) @@ -80,6 +80,19 @@ class SourceDisplay(gtk.ScrolledWindow): self._source_view.show() self._file_path = None + + def get_text(self): + start = self._buffer.get_start_iter() + end = self._buffer.get_end_iter() + return self._buffer.get_text(start, end) + + def set_text(self, text): + self._buffer.set_text(text) + + text = property(get_text, set_text) + + def write(self, path=None): + open(path or self.file_path, 'w').write(self.text) def _set_file_path(self, file_path): if file_path == self._file_path: @@ -112,29 +125,9 @@ class SourceDisplay(gtk.ScrolledWindow): return self._file_path file_path = property(_get_file_path, _set_file_path) - -class SourceEditor(SourceDisplay): - def __init__(self): - SourceDisplay.__init__(self) - - self._source_view.set_editable(True) - - def get_text(self): - start = self._buffer.get_start_iter() - end = self._buffer.get_end_iter() - return self._buffer.get_text(start, end) - - def set_text(self, text): - self._buffer.set_text(text) - - text = property(get_text, set_text) - - def write(self, path=None): - open(path or self.file_path, 'w').write(self.text) - logging.debug('@@@@@ %s %s %s' % (self.text, path, self.file_path)) -class FileViewer(gtk.ScrolledWindow): - __gtype_name__ = 'SugarFileViewer' +class ScriptFileViewer(gtk.ScrolledWindow): + __gtype_name__ = 'SugarScriptFileViewer' __gsignals__ = { 'file-selected': (gobject.SIGNAL_RUN_FIRST, @@ -142,7 +135,7 @@ class FileViewer(gtk.ScrolledWindow): ([str])), } - def __init__(self, path, initial_filename): + def __init__(self, path): gtk.ScrolledWindow.__init__(self) self.props.hscrollbar_policy = gtk.POLICY_AUTOMATIC @@ -150,7 +143,9 @@ class FileViewer(gtk.ScrolledWindow): self.set_size_request(style.GRID_CELL_SIZE * 3, -1) self._path = None - self._initial_filename = initial_filename + + ls = os.listdir(path) + self._initial_filename = ls[0] if len(ls) > 0 else None self._tree_view = gtk.TreeView() self.add(self._tree_view) @@ -198,13 +193,7 @@ class FileViewer(gtk.ScrolledWindow): else: file_path = model.get_value(tree_iter, 1) self.emit('file-selected', file_path) - -class ScriptFileViewer(FileViewer): - def __init__(self, path): - ls = os.listdir(path) - initial_filename = ls[0] if len(ls) > 0 else None - FileViewer.__init__(self, path, initial_filename) - + def get_selected_file(self): selection = self._tree_view.get_selection() model, tree_iter = selection.get_selected() -- cgit v0.9.1