def open_paths(self, paths, auto_compare=False, auto_merge=False, focus=False, line=None): tab = None if len(paths) == 1: a = paths[0] if os.path.isfile(a): self._single_file_open(a) else: tab = self.append_vcview(a, auto_compare) elif len(paths) in (2, 3): tab = self.append_diff(paths, auto_compare=auto_compare, auto_merge=auto_merge, line=line) if tab: recent_comparisons.add(tab) if focus: self.notebook.set_current_page( self.notebook.page_num(tab.widget)) return tab
def open_paths(self, gfiles, auto_compare=False, auto_merge=False, focus=False): tab = None if len(gfiles) == 1: a = gfiles[0] if a.query_file_type(Gio.FileQueryInfoFlags.NONE, None) == \ Gio.FileType.DIRECTORY: tab = self.append_vcview(a, auto_compare) else: self._single_file_open(a) elif len(gfiles) in (2, 3): tab = self.append_diff(gfiles, auto_compare=auto_compare, auto_merge=auto_merge) if tab: recent_comparisons.add(tab) if focus: self.notebook.set_current_page( self.notebook.page_num(tab.widget)) return tab
def on_button_compare_clicked(self, *args): type_choosers = (self.file_chooser, self.dir_chooser, self.vc_chooser) compare_gfiles = [ c.get_file() for c in type_choosers[self.diff_type][:self._get_num_paths()] ] tab = self.diff_methods[self.diff_type](compare_gfiles) recent_comparisons.add(tab) self.emit('diff-created', tab)
def append_recent(self, uri): comparison_type, gfiles, flags = recent_comparisons.read(uri) comparison_method = { RecentType.File: self.append_filediff, RecentType.Folder: self.append_dirdiff, RecentType.Merge: self.append_filemerge, RecentType.VersionControl: self.append_vcview, } tab = comparison_method[comparison_type](gfiles) self.notebook.set_current_page(self.notebook.page_num(tab.widget)) recent_comparisons.add(tab) return tab
def append_recent(self, uri): comparison_type, gfiles = recent_comparisons.read(uri) comparison_method = { RecentType.File: self.append_filediff, RecentType.Folder: self.append_dirdiff, RecentType.Merge: self.append_filemerge, RecentType.VersionControl: self.append_vcview, } tab = comparison_method[comparison_type](gfiles) self.notebook.set_current_page(self.notebook.page_num(tab)) recent_comparisons.add(tab) return tab
def on_button_compare_clicked(self, *args): type_choosers = (self.file_chooser, self.dir_chooser, self.vc_chooser) compare_paths = [] num_paths = self._get_num_paths() for chooser in type_choosers[self.diff_type][:num_paths]: gfile = chooser.get_file() path = gfile.get_path() if gfile else "" compare_paths.append(path) # TODO: We should be migrating to passing around GFiles tab = self.diff_methods[self.diff_type](compare_paths) recent_comparisons.add(tab) self.emit('diff-created', tab)
def append_recent(self, uri): comparison_type, files, flags = recent_comparisons.read(uri) if comparison_type == recent.TYPE_MERGE: tab = self.append_filemerge(files) elif comparison_type == recent.TYPE_FOLDER: tab = self.append_dirdiff(files) elif comparison_type == recent.TYPE_VC: # Files should be a single-element iterable tab = self.append_vcview(files[0]) else: # comparison_type == recent.TYPE_FILE: tab = self.append_filediff(files) self.notebook.set_current_page(self.notebook.page_num(tab.widget)) recent_comparisons.add(tab) return tab
def on_button_compare_clicked(self, *args): type_choosers = (self.file_chooser, self.dir_chooser, self.vc_chooser) compare_paths = [] num_paths = self._get_num_paths() for chooser in type_choosers[self.diff_type][:num_paths]: gfile = chooser.get_file() path = gfile.get_path() if gfile else "" path = path.decode('utf8') compare_paths.append(path) tab = self.diff_methods[self.diff_type](compare_paths) recent_comparisons.add(tab) self.emit('diff-created', tab)
def on_button_compare_clicked(self, *args): type_choosers = (self.file_chooser, self.dir_chooser, self.vc_chooser) choosers = type_choosers[self.diff_type][:self._get_num_paths()] compare_gfiles = [chooser.get_file() for chooser in choosers] compare_kwargs = {} if self.diff_type == DiffType.File: chooserdialogs = self.filechooserdialog[:self._get_num_paths()] encodings = [chooser.get_encoding() for chooser in chooserdialogs] compare_kwargs = {'encodings': encodings} tab = self.diff_methods[self.diff_type]( compare_gfiles, **compare_kwargs) recent_comparisons.add(tab) self.emit('diff-created', tab)
def on_button_compare_clicked(self, *args): type_choosers = (self.file_chooser, self.dir_chooser, self.vc_chooser) choosers = type_choosers[self.diff_type][:self._get_num_paths()] compare_gfiles = [chooser.get_file() for chooser in choosers] compare_kwargs = {} if self.diff_type == 0: chooserdialogs = self.filechooserdialog[:self._get_num_paths()] encodings = [chooser.get_encoding() for chooser in chooserdialogs] compare_kwargs = {'encodings': encodings} tab = self.diff_methods[self.diff_type]( compare_gfiles, **compare_kwargs) recent_comparisons.add(tab) self.emit('diff-created', tab)
def open_paths(self, paths, auto_compare=False, auto_merge=False, focus=False): tab = None if len(paths) == 1: a = paths[0] if os.path.isfile(a): self._single_file_open(a) else: tab = self.append_vcview(a, auto_compare) elif len(paths) in (2, 3): tab = self.append_diff(paths, auto_compare=auto_compare, auto_merge=auto_merge) if tab: recent_comparisons.add(tab) if focus: self.notebook.set_current_page(self.notebook.page_num(tab.widget)) return tab
def on_button_compare_clicked(self, *args): type_choosers = (self.file_chooser, self.dir_chooser, self.vc_chooser) compare_paths = [] num_paths = self._get_num_paths() for chooser in type_choosers[self.diff_type][:num_paths]: gfile = chooser.get_file() path = gfile.get_path() if gfile else "" compare_paths.append(path) # TODO: We should be migrating to passing around either GFiles # or raw (i.e., not decoded) paths. Currently VcView is the # only thing that expects this. if self.diff_type in (0, 1): compare_paths = [p.decode('utf8') for p in compare_paths] tab = self.diff_methods[self.diff_type](compare_paths) recent_comparisons.add(tab) self.emit('diff-created', tab)
def open_paths(self, gfiles, auto_compare=False, auto_merge=False, focus=False): tab = None if len(gfiles) == 1: a = gfiles[0] if a.query_file_type(Gio.FileQueryInfoFlags.NONE, None) == \ Gio.FileType.DIRECTORY: tab = self.append_vcview(a, auto_compare) else: self._single_file_open(a) elif len(gfiles) in (2, 3): tab = self.append_diff(gfiles, auto_compare=auto_compare, auto_merge=auto_merge) if tab: recent_comparisons.add(tab) if focus: self.notebook.set_current_page(self.notebook.page_num(tab)) return tab