Project/ProjectBrowserModel.py

changeset 2126
3744863a534e
parent 2081
b7ccd563eeb6
child 2302
f29e9405c851
equal deleted inserted replaced
2124:909d55803dd6 2126:3744863a534e
8 """ 8 """
9 9
10 import os 10 import os
11 import re 11 import re
12 12
13 from PyQt4.QtCore import QDir, QModelIndex, pyqtSignal, QFileSystemWatcher, Qt, qVersion 13 from PyQt4.QtCore import QDir, QModelIndex, pyqtSignal, QFileSystemWatcher, Qt
14 from PyQt4.QtGui import QColor 14 from PyQt4.QtGui import QColor
15 15
16 from UI.BrowserModel import BrowserModel, BrowserItem, BrowserDirectoryItem, \ 16 from UI.BrowserModel import BrowserModel, BrowserItem, BrowserDirectoryItem, \
17 BrowserFileItem 17 BrowserFileItem
18 18
471 self.addItem(itm, oldindex) 471 self.addItem(itm, oldindex)
472 else: 472 else:
473 if type_ and type_ not in itm.getProjectTypes(): 473 if type_ and type_ not in itm.getProjectTypes():
474 itm.addProjectType(type_) 474 itm.addProjectType(type_)
475 index = self.createIndex(itm.row(), 0, itm) 475 index = self.createIndex(itm.row(), 0, itm)
476 if qVersion() >= "5.0.0": 476 self.dataChanged.emit(index, index)
477 self.dataChanged.emit(index, index, [])
478 else:
479 self.dataChanged.emit(index, index)
480 olditem = itm 477 olditem = itm
481 return (itm, pathlist[-1]) 478 return (itm, pathlist[-1])
482 else: 479 else:
483 return (self.rootItem, name) 480 return (self.rootItem, name)
484 481
550 if itm is None: 547 if itm is None:
551 return 548 return
552 549
553 index = self.createIndex(itm.row(), 0, itm) 550 index = self.createIndex(itm.row(), 0, itm)
554 itm.setName(newFilename) 551 itm.setName(newFilename)
555 if qVersion() >= "5.0.0": 552 self.dataChanged.emit(index, index)
556 self.dataChanged.emit(index, index, [])
557 else:
558 self.dataChanged.emit(index, index)
559 self.repopulateItem(newFilename) 553 self.repopulateItem(newFilename)
560 554
561 def findItem(self, name): 555 def findItem(self, name):
562 """ 556 """
563 Public method to find an item given it's name. 557 Public method to find an item given it's name.
708 self.__updateVCSStatus(parentItem, name, recursive) 702 self.__updateVCSStatus(parentItem, name, recursive)
709 else: 703 else:
710 item.setVcsStatus("") 704 item.setVcsStatus("")
711 705
712 index = self.createIndex(item.row(), 0, item) 706 index = self.createIndex(item.row(), 0, item)
713 if qVersion() >= "5.0.0": 707 self.dataChanged.emit(index, index)
714 self.dataChanged.emit(index, index, [])
715 else:
716 self.dataChanged.emit(index, index)
717 708
718 def updateVCSStatus(self, name, recursive=True): 709 def updateVCSStatus(self, name, recursive=True):
719 """ 710 """
720 Public method used to update the vcs status of a node. 711 Public method used to update the vcs status of a node.
721 712
820 if itm: 811 if itm:
821 itm.setVcsState(state) 812 itm.setVcsState(state)
822 index1 = self.createIndex(itm.row(), 0, itm) 813 index1 = self.createIndex(itm.row(), 0, itm)
823 index2 = self.createIndex(itm.row(), 814 index2 = self.createIndex(itm.row(),
824 self.rootItem.columnCount(), itm) 815 self.rootItem.columnCount(), itm)
825 if qVersion() >= "5.0.0": 816 self.dataChanged.emit(index1, index2)
826 self.dataChanged.emit(index1, index2, [])
827 else:
828 self.dataChanged.emit(index1, index2)
829 817
830 head, tail = os.path.split(name) 818 head, tail = os.path.split(name)
831 if head != lastHead: 819 if head != lastHead:
832 if lastHead: 820 if lastHead:
833 self.__changeParentsVCSState(lastHead, itemCache) 821 self.__changeParentsVCSState(lastHead, itemCache)
863 if state != itm.vcsState: 851 if state != itm.vcsState:
864 itm.setVcsState(state) 852 itm.setVcsState(state)
865 index1 = self.createIndex(itm.row(), 0, itm) 853 index1 = self.createIndex(itm.row(), 0, itm)
866 index2 = self.createIndex(itm.row(), 854 index2 = self.createIndex(itm.row(),
867 self.rootItem.columnCount(), itm) 855 self.rootItem.columnCount(), itm)
868 if qVersion() >= "5.0.0": 856 self.dataChanged.emit(index1, index2)
869 self.dataChanged.emit(index1, index2, [])
870 else:
871 self.dataChanged.emit(index1, index2)
872 path, tail = os.path.split(path) 857 path, tail = os.path.split(path)
873 858
874 def preferencesChanged(self): 859 def preferencesChanged(self):
875 """ 860 """
876 Public method used to handle a change in preferences. 861 Public method used to handle a change in preferences.

eric ide

mercurial