73 |
73 |
74 def __resort(self): |
74 def __resort(self): |
75 """ |
75 """ |
76 Private method to resort the tree. |
76 Private method to resort the tree. |
77 """ |
77 """ |
78 self.repoTree.sortItems(self.repoTree.sortColumn(), |
78 self.repoTree.sortItems( |
|
79 self.repoTree.sortColumn(), |
79 self.repoTree.header().sortIndicatorOrder()) |
80 self.repoTree.header().sortIndicatorOrder()) |
80 |
81 |
81 def __resizeColumns(self): |
82 def __resizeColumns(self): |
82 """ |
83 """ |
83 Private method to resize the tree columns. |
84 Private method to resize the tree columns. |
84 """ |
85 """ |
85 self.repoTree.header().resizeSections(QHeaderView.ResizeToContents) |
86 self.repoTree.header().resizeSections(QHeaderView.ResizeToContents) |
86 self.repoTree.header().setStretchLastSection(True) |
87 self.repoTree.header().setStretchLastSection(True) |
87 |
88 |
88 def __generateItem(self, parent, repopath, revision, author, size, date, |
89 def __generateItem(self, parent, repopath, revision, author, size, date, |
89 nodekind, url): |
90 nodekind, url): |
90 """ |
91 """ |
91 Private method to generate a tree item in the repository tree. |
92 Private method to generate a tree item in the repository tree. |
92 |
93 |
93 @param parent parent of the item to be created (QTreeWidget or |
94 @param parent parent of the item to be created (QTreeWidget or |
94 QTreeWidgetItem) |
95 QTreeWidgetItem) |
170 dirent["repos_path"], "") |
171 dirent["repos_path"], "") |
171 else: |
172 else: |
172 repoUrl = dirent["path"] |
173 repoUrl = dirent["path"] |
173 if repoUrl != url: |
174 if repoUrl != url: |
174 self.__ignoreExpand = True |
175 self.__ignoreExpand = True |
175 itm = self.__generateItem(parent, "/", |
176 itm = self.__generateItem( |
176 "", "", 0, "", pysvn.node_kind.dir, repoUrl) |
177 parent, "/", "", "", 0, "", |
|
178 pysvn.node_kind.dir, repoUrl) |
177 itm.setExpanded(True) |
179 itm.setExpanded(True) |
178 parent = itm |
180 parent = itm |
179 urlPart = repoUrl |
181 urlPart = repoUrl |
180 for element in \ |
182 for element in \ |
181 dirent["repos_path"].split("/")[:-1]: |
183 dirent["repos_path"].split("/")[:-1]: |
182 if element: |
184 if element: |
183 urlPart = "{0}/{1}".format(urlPart, |
185 urlPart = "{0}/{1}".format(urlPart, |
184 element) |
186 element) |
185 itm = self.__generateItem(parent, element, |
187 itm = self.__generateItem( |
186 "", "", 0, "", pysvn.node_kind.dir, |
188 parent, element, "", "", 0, "", |
187 urlPart) |
189 pysvn.node_kind.dir, urlPart) |
188 itm.setExpanded(True) |
190 itm.setExpanded(True) |
189 parent = itm |
191 parent = itm |
190 self.__ignoreExpand = False |
192 self.__ignoreExpand = False |
191 itm = self.__generateItem(parent, dirent["repos_path"], |
193 itm = self.__generateItem( |
192 dirent["created_rev"], dirent["last_author"], |
194 parent, dirent["repos_path"], dirent["created_rev"], |
193 dirent["size"], dirent["time"], |
195 dirent["last_author"], dirent["size"], dirent["time"], |
194 dirent["kind"], dirent["path"]) |
196 dirent["kind"], dirent["path"]) |
195 self.__resort() |
197 self.__resort() |
196 self.__resizeColumns() |
198 self.__resizeColumns() |
197 except pysvn.ClientError as e: |
199 except pysvn.ClientError as e: |
198 self.__showError(e.args[0]) |
200 self.__showError(e.args[0]) |
199 except AttributeError: |
201 except AttributeError: |