Line 31: |
Line 31: |
| | | |
| def _sort_logfile(self, treemodel, itera, iterb, user_data=None): | | def _sort_logfile(self, treemodel, itera, iterb, user_data=None): |
| + | |
| + | |
| + | == Gtk.TreeModelSort.convert_child_iter_to_iter == |
| + | |
| + | * http://developer.gnome.org/gtk3/3.5/GtkTreeModelSort.html#gtk-tree-model-sort-convert-child-iter-to-iter |
| + | |
| + | The old way to do this: |
| + | |
| + | log_iter = \ |
| + | self._treeview.get_model().convert_child_iter_to_iter(None, |
| + | log.iter) |
| + | |
| + | replaced by: |
| + | |
| + | success, log_iter = \ |
| + | self._treeview.get_model().convert_child_iter_to_iter(log.iter) |
| + | |
| + | = Clipboard = |
| + | |
| + | * Gtk3: http://python-gtk-3-tutorial.readthedocs.org/en/latest/clipboard.html |
| + | ** http://developer.gnome.org/gtk3/3.5/GtkTextBuffer.html#gtk-text-buffer-copy-clipboard |
| + | |
| + | To integrate the clipboard of the activity with the ''MAIN'' clipboard (the Sugar one) we should obtain that clipboard: |
| + | |
| + | # Clipboard of the activity |
| + | self.clipboard = Gtk.Clipboard.get(Gdk.SELECTION_CLIPBOARD) |
| + | |
| + | And then, when the ''Copy'' button is pressed we should call this function (in the callback). The ''self.viewer.'''''active_log''' is a Gtk.TextBuffer |
| + | |
| + | self.viewer.active_log.copy_clipboard(self.clipboard) |
| | | |
| = Missing things = | | = Missing things = |
| | | |
− | * Copy button doesn't work
| + | * Look for '''FIXME'''s and '''README'''s in the code (logviewer.py) |
− | * Look for a '''FIXME''' in the code (logviewer.py) | + | * Searching in the log is not working due to this bug: https://bugzilla.gnome.org/show_bug.cgi?id=680597 |
| + | |
| + | = Useful Links = |
| + | |
| + | * http://developer.gnome.org/gtk3/3.5/GtkTextIter.html#gtk-text-iter-forward-search |
| + | * http://developer.gnome.org/gtk3/3.5/GtkTreeModelSort.html#gtk-tree-model-filter-convert-child-iter-to-iter |