From 55647642ada6669967154b5523bbfee7eb218519 Mon Sep 17 00:00:00 2001 From: Marco Pesenti Gritti Date: Wed, 15 Oct 2008 10:52:33 +0000 Subject: Make the filepicker work on multiple windows. --- (limited to 'filepicker.py') diff --git a/filepicker.py b/filepicker.py index a38de9a..240e7e8 100644 --- a/filepicker.py +++ b/filepicker.py @@ -20,6 +20,7 @@ import tempfile import shutil import gtk +import hulahop import xpcom from xpcom import components @@ -29,7 +30,6 @@ from xpcom.server.factory import Factory from sugar.graphics.objectchooser import ObjectChooser _temp_files_to_clean = [] -_browser_window = None def cleanup_temp_files(): for temp_file in _temp_files_to_clean: @@ -60,17 +60,7 @@ class FilePicker: def init(self, parent, title, mode): self._title = title self._file = None - - """ - Would be nice to get the window xid with something like this, but - couldn't find how. - - cls = components.classes['@mozilla.org/embedcomp/window-watcher;1'] - window_watcher = cls.getService(interfaces.nsIWindowWatcher) - chrome = window_watcher.getChromeForWindow(parent) - self._parent = chrome.web_view.get_toplevel() - """ - self._parent = _browser_window + self._parent = hulahop.get_view_for_window(parent) if mode != interfaces.nsIFilePicker.modeOpen: raise xpcom.COMException(NS_ERROR_NOT_IMPLEMENTED) @@ -149,11 +139,6 @@ class FilePicker: return None components.registrar.registerFactory(FilePicker.cid, - FilePicker.description, - '@mozilla.org/filepicker;1', - Factory(FilePicker)) - -def init(main_window): - global _browser_window - _browser_window = main_window.get_toplevel() - + FilePicker.description, + '@mozilla.org/filepicker;1', + Factory(FilePicker)) -- cgit v0.9.1