def __init__(self): super(NavigatorDialog, self).__init__(None) self.currentRepo = None self.reposItem = None self.setupUi(self) self.repoTree.setContextMenuPolicy(Qt.CustomContextMenu) self.repoTree.setSelectionBehavior(QAbstractItemView.SelectRows) self.repoTree.itemSelectionChanged.connect(self.selectionChanged) self.repoTree.customContextMenuRequested.connect(self.showPopupMenu) self.comboEndpoint.currentIndexChanged.connect(self.fillTree) self.btnAddServer.setIcon(icon("add-server.svg")) self.btnEditServer.setIcon(icon("edit-server.svg")) self.btnDeleteServer.setIcon(icon("delete-server.svg")) self.btnAddRepo.setIcon(icon("add-repository.svg")) self.btnRefresh.setIcon(icon("refresh.svg")) self.btnAddServer.clicked.connect(self.addGeoGigServer) self.btnEditServer.clicked.connect(self.editGeoGigServer) self.btnDeleteServer.clicked.connect(self.deleteGeoGigServer) self.btnAddRepo.clicked.connect(self.createRepo) self.btnRefresh.clicked.connect(self.fillTree) self._enableOrDisableButtons() if qtVersion < 5: self.repoTree.header().setResizeMode(0, QHeaderView.Stretch) self.repoTree.header().setResizeMode(1, QHeaderView.ResizeToContents) self.versionsTree = HistoryViewer() layout = QVBoxLayout() layout.addWidget(QLabel("Repository history")) layout.addWidget(self.versionsTree) self.versionsWidget.setLayout(layout) def _repoChanged(repo): if self.currentRepo is not None and repo.url == self.currentRepo.url: self.updateCurrentRepo(repo, True) for i in range(self.repoTree.topLevelItemCount()): item = self.repoTree.topLevelItem(i) if item.repo == repo: item.refreshContent() repoWatcher.repoChanged.connect(_repoChanged) self.updateNavigator() self.repoTree.itemExpanded.connect(self._itemExpanded)
def __init__(self): super(NavigatorDialog, self).__init__(None) self.currentRepo = None self.currentRepoName = None self.reposItem = None self.setupUi(self) self.setAllowedAreas(QtCore.Qt.RightDockWidgetArea | QtCore.Qt.LeftDockWidgetArea) self.filterBox.adjustSize() tabHeight = self.filterBox.height() + self.filterBox.parent().layout().spacing() self.tabWidget.setStyleSheet("QTabWidget::pane {border: 0;} QTabBar::tab { height: %ipx}" % tabHeight); self.newRepoButton.clicked.connect(self.newRepo) self.openButton.clicked.connect(self.openRepo) self.filterBox.textChanged.connect(self.filterRepos) self.repoTree.itemClicked.connect(self.treeItemClicked) self.filterButton.clicked.connect(self.showFilterPopup) self.clearFilterButton.clicked.connect(self.clearFilter) self.tabWidget.currentChanged.connect(self.tabChanged) self.repoTree.customContextMenuRequested.connect(self.showRepoTreePopupMenu) self.repoDescription.setOpenLinks(False) self.repoDescription.anchorClicked.connect(self.descriptionLinkClicked) self.repoTree.setFocusPolicy(QtCore.Qt.NoFocus) with open(resourceFile("repodescription.css")) as f: sheet = "".join(f.readlines()) self.repoDescription.document().setDefaultStyleSheet(sheet) self.repoTree.header().setResizeMode(0, QtGui.QHeaderView.Stretch) self.repoTree.header().setResizeMode(1, QtGui.QHeaderView.ResizeToContents) self.statusWidget = StatusWidget() layout = QtGui.QVBoxLayout() layout.setSpacing(0) layout.setMargin(0) layout.addWidget(self.statusWidget) self.repoWidget.setLayout(layout) self.versionsTree = HistoryViewer() layout = QtGui.QVBoxLayout() layout.setSpacing(0) layout.setMargin(0) layout.addWidget(self.versionsTree) self.versionsWidget.setLayout(layout) self.tabWidget.setCornerWidget(self.filterWidget) self.clearFilterButton.setEnabled(False) self.versionsTree.headChanged.connect(self.statusWidget.updateLabelText) self.versionsTree.repoChanged.connect(self.statusWidget.updateLabelText) self.statusWidget.repoChanged.connect(self.versionsTree.updateCurrentBranchItem) self.lastSelectedRepoItem = None def _updateDescription(repo): if self.currentRepo is not None and repo.url == self.currentRepo.repo().url: self.updateCurrentRepoDescription() self.versionsTree.updateCurrentBranchItem() self.statusWidget.updateLabelText() repoWatcher.repoChanged.connect(_updateDescription) self.updateNavigator()
def __init__(self): super(NavigatorDialog, self).__init__(None) self.currentRepo = None self.reposItem = None self.setupUi(self) self.filterWidget.hide() self.leFilter.setPlaceholderText( self.tr("Type here to filter repositories...")) self.actionAddGeoGigServer.setIcon(icon('geogig_server.svg')) self.actionCreateRepository.setIcon(icon('new-repo.png')) self.actionAddLayer.setIcon(icon('layer_group.svg')) self.actionManageRemotes.setIcon(icon('geogig.png')) self.actionEdit.setIcon(icon('edit.svg')) self.actionRefresh.setIcon( QgsApplication.getThemeIcon('/mActionDraw.svg')) self.actionShowFilter.setIcon( QgsApplication.getThemeIcon('/mActionFilter2.svg')) self.actionDelete.setIcon( QgsApplication.getThemeIcon('/mActionDeleteSelected.svg')) self.actionHelp.setIcon( QgsApplication.getThemeIcon('/mActionHelpContents.svg')) self.actionPull.setIcon(icon('pull.svg')) self.actionPush.setIcon(icon('push.svg')) self.actionAddGeoGigServer.triggered.connect(self.addGeoGigServer) self.actionCreateRepository.triggered.connect(self.createRepo) self.actionAddLayer.triggered.connect(self.addLayer) self.actionEdit.triggered.connect(self.editGeoGigServer) self.actionRefresh.triggered.connect(self.updateNavigator) self.actionShowFilter.triggered.connect(self.showFilterWidget) self.actionDelete.triggered.connect(self.deleteCurrentElement) self.actionHelp.triggered.connect(self.openHelp) self.actionManageRemotes.triggered.connect(self.manageRemotes) self.actionPull.triggered.connect(self.pull) self.actionPush.triggered.connect(self.push) self.leFilter.returnPressed.connect(self.filterRepos) self.leFilter.cleared.connect(self.filterRepos) self.leFilter.textChanged.connect(self.filterRepos) self.repoTree.itemSelectionChanged.connect(self.selectionChanged) self.repoDescription.anchorClicked.connect(self.descriptionLinkClicked) self.repoDescription.setOpenLinks(False) self.repoTree.setFocusPolicy(Qt.NoFocus) with open(resourceFile("repodescription.css")) as f: sheet = "".join(f.readlines()) self.repoDescription.document().setDefaultStyleSheet(sheet) if qtVersion < 5: self.repoTree.header().setResizeMode(0, QHeaderView.Stretch) self.repoTree.header().setResizeMode(1, QHeaderView.ResizeToContents) self.versionsTree = HistoryViewer() layout = QVBoxLayout() layout.setSpacing(0) layout.setMargin(0) layout.addWidget(self.versionsTree) self.versionsWidget.setLayout(layout) def _repoChanged(repo): if self.currentRepo is not None and repo.url == self.currentRepo.url: self.updateCurrentRepo(repo) for i in range(self.reposItem.childCount()): item = self.reposItem.child(i) for j in range(item.childCount()): subitem = item.child(j) if subitem.repo == repo: subitem.refreshContent() repoWatcher.repoChanged.connect(_repoChanged) self.updateNavigator() self.repoTree.itemExpanded.connect(self._itemExpanded)