class GenericInfoView(AbstractFileView): def __init__(self, project, filename): super(GenericInfoView, self).__init__(project, "fileview_generic_title", os.path.basename(filename), filename) # prepare model & changeable option values: self.project = project self.model = GenericInfoModel(project, filename) self.optionvalues = dict() self.optionvalues["mime_type"] = self.model.get_mime_type() # set up actual layout with options: self.layout = QVBoxLayout() self.options = dict() self.optionsmodels = dict() self.optionsmodels["filename"] = LabelOptionModel(\ os.path.basename(filename)) self.options["filename"] = LabelOption(None, "genericfileview_option_filename", self.optionsmodels["filename"]) self.optionsmodels["path"] = LabelOptionModel(filename) self.options["path"] = LabelOption(None, "genericfileview_option_path", self.optionsmodels["path"]) self.optionsmodels["size"] = LabelOptionModel( str(os.path.getsize(os.path.join(project.directory, filename)) / 1024) + "KB") self.options["size"] = LabelOption(None, "genericfileview_option_" + \ "size", self.optionsmodels["size"]) self.optionsmodels["mime_type"] = GenericInfoMimeTypeModel(\ self.model) self.options["mime_type"] = TextOption("mime_type", "genericfileview_option_mime_type", self.optionsmodels["mime_type"]) self.options["mime_type"].focussed = lambda widget=self.\ options["mime_type"].get_input_widget():\ self._active_widget_changed(widget) self.layout.addWidget(self.options["filename"]) self.layout.addWidget(self.options["path"]) self.layout.addWidget(self.options["size"]) self.layout.addWidget(self.options["mime_type"]) self.layout.addStretch() self.setLayout(self.layout) def update_language(self): super(GenericInfoView, self).update_language() for key in self.options: self.options[key].update_language() def duplicate(self): return GenericInfoView(self.project, self.filename) def pop_out_title_name(self): return l("fileview_properties_title").format(self.filename)
def __init__(self, project, filename): super(GenericInfoView, self).__init__(project, "fileview_generic_title", os.path.basename(filename), filename) # prepare model & changeable option values: self.project = project self.model = GenericInfoModel(project, filename) self.optionvalues = dict() self.optionvalues["mime_type"] = self.model.get_mime_type() # set up actual layout with options: self.layout = QVBoxLayout() self.options = dict() self.optionsmodels = dict() self.optionsmodels["filename"] = LabelOptionModel(\ os.path.basename(filename)) self.options["filename"] = LabelOption(None, "genericfileview_option_filename", self.optionsmodels["filename"]) self.optionsmodels["path"] = LabelOptionModel(filename) self.options["path"] = LabelOption(None, "genericfileview_option_path", self.optionsmodels["path"]) self.optionsmodels["size"] = LabelOptionModel( str(os.path.getsize(os.path.join(project.directory, filename)) / 1024) + "KB") self.options["size"] = LabelOption(None, "genericfileview_option_" + \ "size", self.optionsmodels["size"]) self.optionsmodels["mime_type"] = GenericInfoMimeTypeModel(\ self.model) self.options["mime_type"] = TextOption("mime_type", "genericfileview_option_mime_type", self.optionsmodels["mime_type"]) self.options["mime_type"].focussed = lambda widget=self.\ options["mime_type"].get_input_widget():\ self._active_widget_changed(widget) self.layout.addWidget(self.options["filename"]) self.layout.addWidget(self.options["path"]) self.layout.addWidget(self.options["size"]) self.layout.addWidget(self.options["mime_type"]) self.layout.addStretch() self.setLayout(self.layout)