def _projectManagerMissingUriCb(self, instance, formatter, uri, factory): dialog = gtk.Dialog(_("Locate missing file..."), self, gtk.DIALOG_MODAL, buttons=(gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL, gtk.STOCK_OPEN, gtk.RESPONSE_OK)) dialog.set_icon_name("pitivi") dialog.set_border_width(SPACING * 2) dialog.get_content_area().set_spacing(SPACING) dialog.set_transient_for(self) # TODO: display the filesize to help the user identify the file if not factory.duration or factory.duration == gst.CLOCK_TIME_NONE: # The file is probably an image, not video or audio. text = _('The following file has moved: "<b>%s</b>"' '\nPlease specify its new location:' % factory_name(factory)) else: length = beautify_length(factory.duration) text = _('The following file has moved: "<b>%s</b>" (duration: %s)' '\nPlease specify its new location:' % (factory_name(factory), length)) label = gtk.Label() label.set_markup(text) dialog.get_content_area().pack_start(label, False, False) label.show() chooser = gtk.FileChooserWidget(action=gtk.FILE_CHOOSER_ACTION_OPEN) chooser.set_select_multiple(False) pw = PreviewWidget(self.app) chooser.set_preview_widget(pw) chooser.set_use_preview_label(False) chooser.connect('update-preview', pw.add_preview_request) chooser.set_current_folder(self.settings.lastProjectFolder) dialog.get_content_area().pack_start(chooser, True, True) chooser.show() # If the window is too big, the window manager will resize it so that # it fits on the screen. dialog.set_default_size(1024, 1000) response = dialog.run() if response == gtk.RESPONSE_OK: self.log("User chose a new URI for the missing file") new = chooser.get_uri() if new: formatter.addMapping(uri, unquote(new)) self._missingUriOnLoading = True else: self.log("User didn't choose a URI for the missing file") # FIXME: not calling addMapping doesn't keep the formatter from # re-emitting the same signal. How do we get out of this # situation? pass dialog.destroy()
def _projectManagerMissingUriCb(self, instance, formatter, uri, factory): dialog = gtk.Dialog(_("Locate missing file..."), self, gtk.DIALOG_MODAL, buttons=(gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL, gtk.STOCK_OPEN, gtk.RESPONSE_OK)) dialog.set_icon_name("pitivi") dialog.set_border_width(12) dialog.get_content_area().set_spacing(6) text = _("The following file has moved, please tell PiTiVi where to find it.") + \ "\n\n" + beautify_factory(factory) + "\n" + \ "<b>%s</b>" % _("Duration:") + beautify_length(factory.duration) label = gtk.Label() label.set_markup(text) label.set_justify(gtk.JUSTIFY_CENTER) dialog.get_content_area().pack_start(label, False, False) label.show() chooser = gtk.FileChooserWidget(action=gtk.FILE_CHOOSER_ACTION_OPEN) chooser.set_select_multiple(False) chooser.set_current_folder(self.settings.lastProjectFolder) dialog.get_content_area().pack_start(chooser, True, True) chooser.show() dialog.set_size_request(640, 480) response = dialog.run() if response == gtk.RESPONSE_OK: self.log("User chose a URI to save project to") new = chooser.get_uri() if new: formatter.addMapping(uri, unquote(new)) self._missingUriOnLoading = True else: self.log("User didn't choose a URI to save project to") # FIXME: not calling addMapping doesn't keep the formatter from # re-emitting the same signal. How do we get out of this # situation? pass dialog.destroy()
def _projectManagerMissingUriCb(self, instance, formatter, uri, factory): dialog = gtk.Dialog(_("Locate missing file..."), self, gtk.DIALOG_MODAL, buttons=(gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL, gtk.STOCK_OPEN, gtk.RESPONSE_OK)) dialog.set_icon_name("pitivi") dialog.set_border_width(12) dialog.get_content_area().set_spacing(6) text = _("The following file has moved," + " please tell PiTiVi where to find it.") + "\n\n" + \ beautify_factory(factory) + "\n" +\ _("<b>Duration:</b>") + beautify_length(factory.duration) label = gtk.Label() label.set_markup(text) label.set_justify(gtk.JUSTIFY_CENTER) dialog.get_content_area().pack_start(label, False, False) label.show() chooser = gtk.FileChooserWidget(action=gtk.FILE_CHOOSER_ACTION_OPEN) chooser.set_select_multiple(False) chooser.set_current_folder(self.settings.lastProjectFolder) dialog.get_content_area().pack_start(chooser, True, True) chooser.show() dialog.set_size_request(640, 480) response = dialog.run() if response == gtk.RESPONSE_OK: self.log("User chose a URI to save project to") new = chooser.get_uri() if new: formatter.addMapping(uri, unquote(new)) else: self.log("User didn't choose a URI to save project to") # FIXME: not calling addMapping doesn't keep the formatter from # re-emitting the same signal. How do we get out of this # situation? pass dialog.destroy()