225 |
225 |
226 @param parent reference to parent object (Project.Project) |
226 @param parent reference to parent object (Project.Project) |
227 """ |
227 """ |
228 super(ProjectBrowserModel, self).__init__(parent, nopopulate=True) |
228 super(ProjectBrowserModel, self).__init__(parent, nopopulate=True) |
229 |
229 |
230 rootData = self.trUtf8("Name") |
230 rootData = self.tr("Name") |
231 self.rootItem = BrowserItem(None, rootData) |
231 self.rootItem = BrowserItem(None, rootData) |
232 self.rootItem.itemData.append(self.trUtf8("VCS Status")) |
232 self.rootItem.itemData.append(self.tr("VCS Status")) |
233 |
233 |
234 self.progDir = None |
234 self.progDir = None |
235 self.project = parent |
235 self.project = parent |
236 |
236 |
237 self.watchedItems = {} |
237 self.watchedItems = {} |
371 self.project.vcs.canBeCommitted: |
371 self.project.vcs.canBeCommitted: |
372 node.addVcsStatus(self.project.vcs.vcsName()) |
372 node.addVcsStatus(self.project.vcs.vcsName()) |
373 self.project.clearStatusMonitorCachedState( |
373 self.project.clearStatusMonitorCachedState( |
374 f.absoluteFilePath()) |
374 f.absoluteFilePath()) |
375 else: |
375 else: |
376 node.addVcsStatus(self.trUtf8("local")) |
376 node.addVcsStatus(self.tr("local")) |
377 self._addItem(node, parentItem) |
377 self._addItem(node, parentItem) |
378 if repopulate: |
378 if repopulate: |
379 self.endInsertRows() |
379 self.endInsertRows() |
380 |
380 |
381 def projectClosed(self): |
381 def projectClosed(self): |
444 if self.project.vcs is not None: |
444 if self.project.vcs is not None: |
445 if states[os.path.normcase(fname)] == \ |
445 if states[os.path.normcase(fname)] == \ |
446 self.project.vcs.canBeCommitted: |
446 self.project.vcs.canBeCommitted: |
447 itm.addVcsStatus(self.project.vcs.vcsName()) |
447 itm.addVcsStatus(self.project.vcs.vcsName()) |
448 else: |
448 else: |
449 itm.addVcsStatus(self.trUtf8("local")) |
449 itm.addVcsStatus(self.tr("local")) |
450 else: |
450 else: |
451 itm.addVcsStatus("") |
451 itm.addVcsStatus("") |
452 self.inRefresh = False |
452 self.inRefresh = False |
453 self.reset() |
453 self.reset() |
454 |
454 |
704 self.project.vcs.clearStatusCache() |
704 self.project.vcs.clearStatusCache() |
705 state = self.project.vcs.vcsRegisteredState(node.name()) |
705 state = self.project.vcs.vcsRegisteredState(node.name()) |
706 if state == self.project.vcs.canBeCommitted: |
706 if state == self.project.vcs.canBeCommitted: |
707 node.addVcsStatus(self.project.vcs.vcsName()) |
707 node.addVcsStatus(self.project.vcs.vcsName()) |
708 else: |
708 else: |
709 node.addVcsStatus(self.trUtf8("local")) |
709 node.addVcsStatus(self.tr("local")) |
710 self.endInsertRows() |
710 self.endInsertRows() |
711 |
711 |
712 # step 2: check for removed entries |
712 # step 2: check for removed entries |
713 if len(entryInfoList) != itm.childCount(): |
713 if len(entryInfoList) != itm.childCount(): |
714 for row in range(oldCnt - 1, -1, -1): |
714 for row in range(oldCnt - 1, -1, -1): |
739 if self.project.vcs is not None: |
739 if self.project.vcs is not None: |
740 state = self.project.vcs.vcsRegisteredState(name) |
740 state = self.project.vcs.vcsRegisteredState(name) |
741 if state == self.project.vcs.canBeCommitted: |
741 if state == self.project.vcs.canBeCommitted: |
742 item.addVcsStatus(self.project.vcs.vcsName()) |
742 item.addVcsStatus(self.project.vcs.vcsName()) |
743 else: |
743 else: |
744 item.addVcsStatus(self.trUtf8("local")) |
744 item.addVcsStatus(self.tr("local")) |
745 else: |
745 else: |
746 item.addVcsStatus("") |
746 item.addVcsStatus("") |
747 |
747 |
748 def __updateVCSStatus(self, item, name, recursive=True): |
748 def __updateVCSStatus(self, item, name, recursive=True): |
749 """ |
749 """ |
757 self.project.vcs.clearStatusCache() |
757 self.project.vcs.clearStatusCache() |
758 state = self.project.vcs.vcsRegisteredState(name) |
758 state = self.project.vcs.vcsRegisteredState(name) |
759 if state == self.project.vcs.canBeCommitted: |
759 if state == self.project.vcs.canBeCommitted: |
760 item.setVcsStatus(self.project.vcs.vcsName()) |
760 item.setVcsStatus(self.project.vcs.vcsName()) |
761 else: |
761 else: |
762 item.setVcsStatus(self.trUtf8("local")) |
762 item.setVcsStatus(self.tr("local")) |
763 if recursive: |
763 if recursive: |
764 name = os.path.dirname(name) |
764 name = os.path.dirname(name) |
765 parentItem = item.parent() |
765 parentItem = item.parent() |
766 if name and parentItem is not self.rootItem: |
766 if name and parentItem is not self.rootItem: |
767 self.__updateVCSStatus(parentItem, name, recursive) |
767 self.__updateVCSStatus(parentItem, name, recursive) |
818 if itm.childCount(): |
818 if itm.childCount(): |
819 index = self.createIndex(itm.row(), 0, itm) |
819 index = self.createIndex(itm.row(), 0, itm) |
820 self.beginRemoveRows(index, 0, itm.childCount() - 1) |
820 self.beginRemoveRows(index, 0, itm.childCount() - 1) |
821 itm.removeChildren() |
821 itm.removeChildren() |
822 self.endRemoveRows() |
822 self.endRemoveRows() |
823 Utilities.ModuleParser.resetParsedModule( |
823 Utilities.ModuleParser.resetParsedModule( |
824 os.path.join(self.project.ppath, name)) |
824 os.path.join(self.project.ppath, name)) |
825 |
825 |
826 self.populateItem(itm, True) |
826 self.populateItem(itm, True) |
827 |
827 |
828 def projectPropertiesChanged(self): |
828 def projectPropertiesChanged(self): |
829 """ |
829 """ |
830 Public method to react on a change of the project properties. |
830 Public method to react on a change of the project properties. |
831 """ |
831 """ |