예제 #1
0
    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
예제 #2
0
    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
예제 #3
0
 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)
예제 #4
0
 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
예제 #5
0
파일: meldwindow.py 프로젝트: GNOME/meld
 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
예제 #6
0
    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)
예제 #7
0
파일: meldwindow.py 프로젝트: Psykar/meld
 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
예제 #8
0
파일: newdifftab.py 프로젝트: fy2/meld
    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)
예제 #9
0
    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)
예제 #10
0
    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)
예제 #11
0
 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
예제 #12
0
    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)
예제 #13
0
    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)
예제 #14
0
파일: meldwindow.py 프로젝트: poetnerd/meld
    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
예제 #15
0
    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)
예제 #16
0
    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)
예제 #17
0
파일: meldwindow.py 프로젝트: GNOME/meld
    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