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. |