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