def on_double_click(self, index): item = self.model().itemFromIndex(index) name = self.model().item(item.row(), 0).text() if name in self.gateway.magic_folders: open_path(self.gateway.magic_folders[name]['directory']) elif self.gateway.remote_magic_folder_exists(name): self.select_download_location([name])
def open_folders(self, folders): for folder in folders: folder_info = self.gateway.magic_folders.get(folder) if folder_info: try: open_path(folder_info["directory"]) except KeyError: pass
def on_right_click(self, position): if not position: position = self.viewport().mapFromGlobal(QCursor().pos()) item = self.itemAt(position) if not item: return widget = self.itemWidget(item) menu = QMenu(self) open_file_action = QAction("Open file") open_file_action.triggered.connect(lambda: open_path(widget.path)) menu.addAction(open_file_action) open_folder_action = QAction("Open enclosing folder") open_folder_action.triggered.connect( lambda: self.on_double_click(item)) menu.addAction(open_folder_action) menu.exec_(self.viewport().mapToGlobal(position))
def test_open_path_win32(monkeypatch): m = MagicMock() monkeypatch.setattr('os.startfile', m, raising=False) monkeypatch.setattr('sys.platform', 'win32') open_path('/test/path/file.txt') assert m.mock_calls == [call('/test/path/file.txt')]
def test_open_path(platform, args, monkeypatch): m = MagicMock() monkeypatch.setattr('subprocess.Popen', m) monkeypatch.setattr('sys.platform', platform) open_path('/test/path/file.txt') assert m.mock_calls == [call(args)]
def test_open_path(platform, mocked_call, args, monkeypatch): m = MagicMock() monkeypatch.setattr(mocked_call, m, raising=False) monkeypatch.setattr('sys.platform', platform) open_path('/test/path/file.txt') assert m.mock_calls == [call(args)]
def open_folders(self, folders): for folder in folders: folder_info = self.gateway.magic_folders.get(folder) if folder_info: open_path(folder_info['directory'])