1. Neues File: src/gui/ProgressIndicatorBox.py 2. src/directory.py: import gui.PasswordInputBox as PasswordInputBox import gui.AlertBox as AlertBox #from gui.PopupBox import PopupBox from gui.ProgressIndicatorBox import ProgressIndicatorBox <...> if mmpython_dir: num_changes = mmpython.check_cache(mmpython_dir) pop = None if num_changes > 0: if self.media: pop = ProgressIndicatorBox('Scanning disc', num_changes) else: pop = ProgressIndicatorBox('Scanning directory', num_changes) pop.show() mmpython.cache_dir(mmpython_dir, progressCallback=(lambda p,t: pop.set_progress(p,t))) if self.media: self.media.cached = TRUE 3. mmpython/__init__.py def cache_dir(directory, uncachable_keys = uncachable_keys, progressCallback=None): """ cache every file in the directory for future use """ global object_cache if not object_cache: return {} return object_cache.cache_dir(directory, uncachable_keys, progressCallback) 4. mmpython/cache.py def cache_dir(self, directory, uncachable_keys, progressCallback=None): """ cache every file in the directory for future use """ if not factory.isurl(directory): directory = os.path.abspath(directory) cachefile, files = self.__get_cachefile_and_filelist__(directory) if not cachefile: return {} objects = {} processed = 0 for file in files: if progressCallback: processed = processed + 1 progressCallback(processed, len(files)) if factory.isurl(file): <...> 5. src/gui/Label.py def set_text(self, text): """ Sets text. """ if type(text) is StringType: if self.surface: self.surface = None self.text = text else: raise TypeError, type(text) self.width = -1 self.height = -1 self.surface_changed = 1