def contextMenuEvent(self, _event): try: currentItem = self.currentItem() if currentItem is not None: self.mContextMenu.setGeometry(_event.globalX(), _event.globalY(), 1, 1) selectedItem = self.mContextMenu.exec_() if selectedItem is not None: selectedKey = selectedItem.objectName() if ((selectedKey in [ self.mContextMenuActionNames[0], self.mContextMenuActionNames[2], self.mContextMenuActionNames[3] ]) and self.checkReadOnlyColumn(currentItem.columnKey) is False): return False if selectedKey == self.mContextMenuActionNames[0]: self.createHistoryPoint() MApplication.clipboard().setText(currentItem.text()) currentItem.setText("") elif selectedKey == self.mContextMenuActionNames[1]: MApplication.clipboard().setText(currentItem.text()) elif selectedKey == self.mContextMenuActionNames[2]: self.createHistoryPoint() currentItem.setText(MApplication.clipboard().text()) elif selectedKey == self.mContextMenuActionNames[3]: self.editItem(currentItem) elif selectedKey == self.mContextMenuActionNames[4]: self.createHistoryPoint() for rowNo in self.getSelectedRows(): self.hideRow(rowNo) elif selectedKey == "Open Details": self.showDetails() elif selectedKey == self.mContextMenuOpenWithNames[0]: from Core import Execute Execute.openWith([ fu.getRealDirName( self.values[currentItem.row()]["path"]) ]) elif selectedKey == self.mContextMenuOpenWithNames[1]: from Core import Execute Execute.openWith( [self.values[currentItem.row()]["path"]]) elif uni.isWindows is False and selectedKey == self.mContextMenuOpenWithNames[ 2]: from Core import Execute Execute.execute([ "konsole", "--workdir", fu.getRealDirName( self.values[currentItem.row()]["path"]) ]) except: ReportBug.ReportBug()
def makeRefresh(self, _newDirectoryPath="", _isOnlyBrowser=False): try: if _newDirectoryPath != "" and _newDirectoryPath is not True and _newDirectoryPath is not False: self.goTo(_newDirectoryPath, False) else: sourcePath = fu.checkSource(str(self.currentDirectory), "directory") if sourcePath is not None: if self.currentDirectory != str(sourcePath): self.goTo(sourcePath, False) else: self.makeRefreshOnlyFileList() self.makeRefreshOnlyFileListByTree() if _isOnlyBrowser is False: self.showInTable() else: self.goTo(fu.getRealDirName(str(self.currentDirectory)), False) except: ReportBug.ReportBug()
def __init__(self, _parent): self.bookmarks = Bookmarks(self) self.history = [] self.future = [] getMainWindow().DirOperator = None getMainWindow().Browser = None getMainWindow().Places = None getMainWindow().TreeBrowser = None toolsFull = None if isActivePyKDE4: self.dirModelMain = MDirModel() self.dirLister = MDirLister() self.dirLister.setAutoUpdate(True) self.dirModelMain.setDirLister(self.dirLister) self.dirModel = MDirSortFilterProxyModel() self.dirModel.setSourceModel(self.dirModelMain) self.fpmPlacesModel = MFilePlacesModel() self.fpvPlaces = MFilePlacesView() self.fpvPlaces.setModel(self.fpmPlacesModel) self.dirModelForNavigator = MDirSortFilterProxyModel() self.dirModelForNavigator.setSourceModel(self.dirModelMain) self.dirModelForTree = QDirModel() self.dirModelForTree.setFilter(MDir.AllDirs | MDir.Drives | MDir.Readable | MDir.NoDotAndDotDot) self.dirModelForTree.sort(0) else: self.dirModel = MDirModel() self.dirModel.setFilter(MDir.AllEntries | MDir.Readable | MDir.NoDotAndDotDot) self.dirModel.sort(0) self.dirModelForTree = MDirModel() self.dirModelForTree.setFilter(MDir.AllDirs | MDir.Drives | MDir.Readable | MDir.NoDotAndDotDot) self.dirModelForTree.sort(0) self.dirModelForNavigator = MDirModel() self.dirModelForNavigator.setFilter(MDir.AllEntries | MDir.Readable) self.dirModelForNavigator.sort(0) self.trvFileManager = MTreeView() self.lstvFileManager = MListView() self.trvFileManager.setModel(self.dirModelForTree) self.lstvFileManager.setModel(self.dirModel) self.currentDirectory = str( fu.getRealDirName(uni.MySettings["lastDirectory"])) if fu.isDir(str(self.currentDirectory)) is False: self.currentDirectory = MDir.homePath() MObject.connect(self.trvFileManager, SIGNAL("clicked(QModelIndex)"), self.setMyCurrentIndexByTree) MObject.connect(self.lstvFileManager, SIGNAL("doubleClicked(QModelIndex)"), self.setMyCurrentIndex) tools = MToolBar(_parent) actAddBookmark = MAction(MIcon("Images:addBookmark.png"), "", tools) actAddBookmark.setToolTip(translate("FileManager", "Add To Bookmarks")) self.actBack = MAction(MIcon("Images:back.png"), "", tools) self.actBack.setToolTip(translate("FileManager", "Back")) self.actForward = MAction(MIcon("Images:forward.png"), "", tools) self.actForward.setToolTip(translate("FileManager", "Forward")) self.actUp = MAction(MIcon("Images:up.png"), "", tools) self.actUp.setToolTip(translate("FileManager", "Up")) actRefresh = MAction(MIcon("Images:refresh.png"), "", tools) actRefresh.setToolTip(translate("FileManager", "Refresh")) actHome = MAction(MIcon("Images:home.png"), "", tools) actHome.setToolTip(translate("FileManager", "Home")) MObject.connect(self.actBack, SIGNAL("triggered(bool)"), self.goBack) MObject.connect(self.actForward, SIGNAL("triggered(bool)"), self.goForward) MObject.connect(self.actUp, SIGNAL("triggered(bool)"), self.goUp) MObject.connect(actRefresh, SIGNAL("triggered(bool)"), self.makeRefresh) MObject.connect(actHome, SIGNAL("triggered(bool)"), self.goHome) MObject.connect(actAddBookmark, SIGNAL("triggered(bool)"), self.bookmarks.addBookmark) self.bookmarksMenu = BookmarksMenu(self) if isActivePyKDE4: toolsFull = MToolBar(_parent) toolsFull.addAction(self.bookmarksMenu.menuAction()) self.isGoToFromDirOperator = False self.dirOperator = MDirOperator(MUrl(self.currentDirectory), _parent) self.dirOperator.setDirLister(self.dirLister) kconf = MGlobal.config() kconfGroup = MConfigGroup(kconf, "DirectoryOperator") self.dirOperator.readConfig(kconfGroup) self.dirOperator.setViewConfig(kconfGroup) self.dirOperator.setView(MFile.Default) self.actCollection = self.dirOperator.actionCollection() self.actCollection.readSettings(kconfGroup) self.actCollection.associateWidget(toolsFull) getMainWindow().DirOperator = MDockWidget( translate("FileManager", "Directory Operator")) getMainWindow().DirOperator.setObjectName("Directory Operator") getMainWindow().DirOperator.setWidget(self.dirOperator) getMainWindow().DirOperator.setAllowedAreas(Mt.AllDockWidgetAreas) getMainWindow().DirOperator.setFeatures( MDockWidget.AllDockWidgetFeatures) _parent.addDockWidget(Mt.LeftDockWidgetArea, getMainWindow().DirOperator) MObject.connect(self.dirOperator, SIGNAL("urlEntered(KUrl)"), self.dirOperatorUrlChanged) self.isGoToFromDirOperator = True self.filePlacesModel = MFilePlacesModel() self.urlNavigator = MUrlNavigator(self.filePlacesModel, MUrl(self.currentDirectory), self.lstvFileManager) self.isGoToFromUrlNavigator = True MObject.connect(self.urlNavigator, SIGNAL("urlChanged(KUrl)"), self.urlNavigatorUrlChanged) MObject.connect(self.fpvPlaces, SIGNAL("urlChanged(KUrl)"), self.setPlacesUrlChanged) self.leNavigator = MLineEdit() cmpCompleter = MCompleter() cmpCompleter.setModel(self.dirModelForNavigator) cmpCompleter.setCaseSensitivity(Mt.CaseInsensitive) self.leNavigator.setCompleter(cmpCompleter) MObject.connect(self.leNavigator, SIGNAL("returnPressed()"), self.leNavigatorPressed) tools.addAction(self.actBack) tools.addAction(self.actForward) tools.addAction(self.actUp) tools.addAction(actRefresh) tools.addAction(actHome) tools.addAction(self.bookmarksMenu.menuAction()) tools.addAction(actAddBookmark) self.actBack.setEnabled(False) self.actForward.setEnabled(False) self.goTo(self.currentDirectory) self.trvFileManager.setColumnWidth(0, 250) tools.setIconSize(MSize(16, 16)) self.tbarBrowserTools = MToolBar(_parent) self.tbarBrowserTools.setWindowTitle( translate("FileManager", "Browser Tools")) self.tbarBrowserTools.setObjectName("Browser Tools") self.tbarBrowserTools.setIconSize(MSize(16, 16)) self.tbarBrowserTools.addWidget(tools) _parent.addToolBar(Mt.TopToolBarArea, self.tbarBrowserTools) if isActivePyKDE4: toolsFull.setIconSize(MSize(16, 16)) self.tbarBrowserToolsFull = MToolBar(_parent) self.tbarBrowserToolsFull.setWindowTitle( translate("FileManager", "Browser Tools (KDE4)")) self.tbarBrowserToolsFull.setObjectName("Browser Tools (KDE4)") self.tbarBrowserToolsFull.setIconSize(MSize(16, 16)) self.tbarBrowserToolsFull.addWidget(toolsFull) _parent.addToolBar(Mt.TopToolBarArea, self.tbarBrowserToolsFull) self.tbarLocationBar = MToolBar(_parent) self.tbarLocationBar.setWindowTitle( translate("FileManager", "Location Bar (KDE4)")) self.tbarLocationBar.setObjectName("Location Bar (KDE4)") self.tbarLocationBar.setIconSize(MSize(16, 16)) self.tbarLocationBar.addWidget(self.urlNavigator) _parent.addToolBar(Mt.TopToolBarArea, self.tbarLocationBar) else: self.tbarLocationBar = MToolBar(_parent) self.tbarLocationBar.setWindowTitle( translate("FileManager", "Location Bar")) self.tbarLocationBar.setObjectName("Location Bar") self.tbarLocationBar.setIconSize(MSize(16, 16)) self.tbarLocationBar.addWidget(self.leNavigator) _parent.addToolBar(Mt.TopToolBarArea, self.tbarLocationBar) getMainWindow().Browser = MDockWidget( translate("FileManager", "Browser")) getMainWindow().Browser.setObjectName("Browser") getMainWindow().Browser.setWidget(self.lstvFileManager) getMainWindow().Browser.setAllowedAreas(Mt.AllDockWidgetAreas) getMainWindow().Browser.setFeatures(MDockWidget.AllDockWidgetFeatures) _parent.addDockWidget(Mt.LeftDockWidgetArea, getMainWindow().Browser) getMainWindow().TreeBrowser = MDockWidget( translate("FileManager", "Tree Browser")) getMainWindow().TreeBrowser.setObjectName("Tree Browser") getMainWindow().TreeBrowser.setWidget(self.trvFileManager) getMainWindow().TreeBrowser.setAllowedAreas(Mt.AllDockWidgetAreas) getMainWindow().TreeBrowser.setFeatures( MDockWidget.AllDockWidgetFeatures) _parent.addDockWidget(Mt.LeftDockWidgetArea, getMainWindow().TreeBrowser) if isActivePyKDE4: getMainWindow().Places = MDockWidget( translate("FileManager", "Places")) getMainWindow().Places.setObjectName("Places") getMainWindow().Places.setWidget(self.fpvPlaces) getMainWindow().Places.setAllowedAreas(Mt.AllDockWidgetAreas) getMainWindow().Places.setFeatures( MDockWidget.AllDockWidgetFeatures) _parent.addDockWidget(Mt.LeftDockWidgetArea, getMainWindow().Places) _parent.tabifyDockWidget(getMainWindow().DirOperator, getMainWindow().Places) _parent.tabifyDockWidget(getMainWindow().DirOperator, getMainWindow().TreeBrowser) _parent.tabifyDockWidget(getMainWindow().DirOperator, getMainWindow().Browser)
def __init__(self, _parent): self.bookmarks = Bookmarks(self) self.history = [] self.future = [] getMainWindow().DirOperator = None getMainWindow().Browser = None getMainWindow().Places = None getMainWindow().TreeBrowser = None toolsFull = None if isActivePyKDE4: self.dirModelMain = MDirModel() self.dirLister = MDirLister() self.dirLister.setAutoUpdate(True) self.dirModelMain.setDirLister(self.dirLister) self.dirModel = MDirSortFilterProxyModel() self.dirModel.setSourceModel(self.dirModelMain) self.fpmPlacesModel = MFilePlacesModel() self.fpvPlaces = MFilePlacesView() self.fpvPlaces.setModel(self.fpmPlacesModel) self.dirModelForNavigator = MDirSortFilterProxyModel() self.dirModelForNavigator.setSourceModel(self.dirModelMain) self.dirModelForTree = QDirModel() self.dirModelForTree.setFilter(MDir.AllDirs | MDir.Drives | MDir.Readable | MDir.NoDotAndDotDot) self.dirModelForTree.sort(0) else: self.dirModel = MDirModel() self.dirModel.setFilter(MDir.AllEntries | MDir.Readable | MDir.NoDotAndDotDot) self.dirModel.sort(0) self.dirModelForTree = MDirModel() self.dirModelForTree.setFilter(MDir.AllDirs | MDir.Drives | MDir.Readable | MDir.NoDotAndDotDot) self.dirModelForTree.sort(0) self.dirModelForNavigator = MDirModel() self.dirModelForNavigator.setFilter(MDir.AllEntries | MDir.Readable) self.dirModelForNavigator.sort(0) self.trvFileManager = MTreeView() self.lstvFileManager = MListView() self.trvFileManager.setModel(self.dirModelForTree) self.lstvFileManager.setModel(self.dirModel) self.currentDirectory = str(fu.getRealDirName(uni.MySettings["lastDirectory"])) if fu.isDir(str(self.currentDirectory)) is False: self.currentDirectory = MDir.homePath() MObject.connect(self.trvFileManager, SIGNAL("clicked(QModelIndex)"), self.setMyCurrentIndexByTree) MObject.connect(self.lstvFileManager, SIGNAL("doubleClicked(QModelIndex)"), self.setMyCurrentIndex) tools = MToolBar(_parent) actAddBookmark = MAction(MIcon("Images:addBookmark.png"), "", tools) actAddBookmark.setToolTip(translate("FileManager", "Add To Bookmarks")) self.actBack = MAction(MIcon("Images:back.png"), "", tools) self.actBack.setToolTip(translate("FileManager", "Back")) self.actForward = MAction(MIcon("Images:forward.png"), "", tools) self.actForward.setToolTip(translate("FileManager", "Forward")) self.actUp = MAction(MIcon("Images:up.png"), "", tools) self.actUp.setToolTip(translate("FileManager", "Up")) actRefresh = MAction(MIcon("Images:refresh.png"), "", tools) actRefresh.setToolTip(translate("FileManager", "Refresh")) actHome = MAction(MIcon("Images:home.png"), "", tools) actHome.setToolTip(translate("FileManager", "Home")) MObject.connect(self.actBack, SIGNAL("triggered(bool)"), self.goBack) MObject.connect(self.actForward, SIGNAL("triggered(bool)"), self.goForward) MObject.connect(self.actUp, SIGNAL("triggered(bool)"), self.goUp) MObject.connect(actRefresh, SIGNAL("triggered(bool)"), self.makeRefresh) MObject.connect(actHome, SIGNAL("triggered(bool)"), self.goHome) MObject.connect(actAddBookmark, SIGNAL("triggered(bool)"), self.bookmarks.addBookmark) self.bookmarksMenu = BookmarksMenu(self) if isActivePyKDE4: toolsFull = MToolBar(_parent) toolsFull.addAction(self.bookmarksMenu.menuAction()) self.isGoToFromDirOperator = False self.dirOperator = MDirOperator(MUrl(self.currentDirectory), _parent) self.dirOperator.setDirLister(self.dirLister) kconf = MGlobal.config() kconfGroup = MConfigGroup(kconf, "DirectoryOperator") self.dirOperator.readConfig(kconfGroup) self.dirOperator.setViewConfig(kconfGroup) self.dirOperator.setView(MFile.Default) self.actCollection = self.dirOperator.actionCollection() self.actCollection.readSettings(kconfGroup) self.actCollection.associateWidget(toolsFull) getMainWindow().DirOperator = MDockWidget(translate("FileManager", "Directory Operator")) getMainWindow().DirOperator.setObjectName("Directory Operator") getMainWindow().DirOperator.setWidget(self.dirOperator) getMainWindow().DirOperator.setAllowedAreas(Mt.AllDockWidgetAreas) getMainWindow().DirOperator.setFeatures(MDockWidget.AllDockWidgetFeatures) _parent.addDockWidget(Mt.LeftDockWidgetArea, getMainWindow().DirOperator) MObject.connect(self.dirOperator, SIGNAL("urlEntered(KUrl)"), self.dirOperatorUrlChanged) self.isGoToFromDirOperator = True self.filePlacesModel = MFilePlacesModel() self.urlNavigator = MUrlNavigator(self.filePlacesModel, MUrl(self.currentDirectory), self.lstvFileManager) self.isGoToFromUrlNavigator = True MObject.connect(self.urlNavigator, SIGNAL("urlChanged(KUrl)"), self.urlNavigatorUrlChanged) MObject.connect(self.fpvPlaces, SIGNAL("urlChanged(KUrl)"), self.setPlacesUrlChanged) self.leNavigator = MLineEdit() cmpCompleter = MCompleter() cmpCompleter.setModel(self.dirModelForNavigator) cmpCompleter.setCaseSensitivity(Mt.CaseInsensitive) self.leNavigator.setCompleter(cmpCompleter) MObject.connect(self.leNavigator, SIGNAL("returnPressed()"), self.leNavigatorPressed) tools.addAction(self.actBack) tools.addAction(self.actForward) tools.addAction(self.actUp) tools.addAction(actRefresh) tools.addAction(actHome) tools.addAction(self.bookmarksMenu.menuAction()) tools.addAction(actAddBookmark) self.actBack.setEnabled(False) self.actForward.setEnabled(False) self.goTo(self.currentDirectory) self.trvFileManager.setColumnWidth(0, 250) tools.setIconSize(MSize(16, 16)) self.tbarBrowserTools = MToolBar(_parent) self.tbarBrowserTools.setWindowTitle(translate("FileManager", "Browser Tools")) self.tbarBrowserTools.setObjectName("Browser Tools") self.tbarBrowserTools.setIconSize(MSize(16, 16)) self.tbarBrowserTools.addWidget(tools) _parent.addToolBar(Mt.TopToolBarArea, self.tbarBrowserTools) if isActivePyKDE4: toolsFull.setIconSize(MSize(16, 16)) self.tbarBrowserToolsFull = MToolBar(_parent) self.tbarBrowserToolsFull.setWindowTitle(translate("FileManager", "Browser Tools (KDE4)")) self.tbarBrowserToolsFull.setObjectName("Browser Tools (KDE4)") self.tbarBrowserToolsFull.setIconSize(MSize(16, 16)) self.tbarBrowserToolsFull.addWidget(toolsFull) _parent.addToolBar(Mt.TopToolBarArea, self.tbarBrowserToolsFull) self.tbarLocationBar = MToolBar(_parent) self.tbarLocationBar.setWindowTitle(translate("FileManager", "Location Bar (KDE4)")) self.tbarLocationBar.setObjectName("Location Bar (KDE4)") self.tbarLocationBar.setIconSize(MSize(16, 16)) self.tbarLocationBar.addWidget(self.urlNavigator) _parent.addToolBar(Mt.TopToolBarArea, self.tbarLocationBar) else: self.tbarLocationBar = MToolBar(_parent) self.tbarLocationBar.setWindowTitle(translate("FileManager", "Location Bar")) self.tbarLocationBar.setObjectName("Location Bar") self.tbarLocationBar.setIconSize(MSize(16, 16)) self.tbarLocationBar.addWidget(self.leNavigator) _parent.addToolBar(Mt.TopToolBarArea, self.tbarLocationBar) getMainWindow().Browser = MDockWidget(translate("FileManager", "Browser")) getMainWindow().Browser.setObjectName("Browser") getMainWindow().Browser.setWidget(self.lstvFileManager) getMainWindow().Browser.setAllowedAreas(Mt.AllDockWidgetAreas) getMainWindow().Browser.setFeatures(MDockWidget.AllDockWidgetFeatures) _parent.addDockWidget(Mt.LeftDockWidgetArea, getMainWindow().Browser) getMainWindow().TreeBrowser = MDockWidget(translate("FileManager", "Tree Browser")) getMainWindow().TreeBrowser.setObjectName("Tree Browser") getMainWindow().TreeBrowser.setWidget(self.trvFileManager) getMainWindow().TreeBrowser.setAllowedAreas(Mt.AllDockWidgetAreas) getMainWindow().TreeBrowser.setFeatures(MDockWidget.AllDockWidgetFeatures) _parent.addDockWidget(Mt.LeftDockWidgetArea, getMainWindow().TreeBrowser) if isActivePyKDE4: getMainWindow().Places = MDockWidget(translate("FileManager", "Places")) getMainWindow().Places.setObjectName("Places") getMainWindow().Places.setWidget(self.fpvPlaces) getMainWindow().Places.setAllowedAreas(Mt.AllDockWidgetAreas) getMainWindow().Places.setFeatures(MDockWidget.AllDockWidgetFeatures) _parent.addDockWidget(Mt.LeftDockWidgetArea, getMainWindow().Places) _parent.tabifyDockWidget(getMainWindow().DirOperator, getMainWindow().Places) _parent.tabifyDockWidget(getMainWindow().DirOperator, getMainWindow().TreeBrowser) _parent.tabifyDockWidget(getMainWindow().DirOperator, getMainWindow().Browser)
def organizeWithHamsiManager(self, _oldPath): uni.setMySetting("lastDirectory", fu.getRealDirName(_oldPath, True)) CommandLineOptions.isQuickMake = False self.close()