def initUI(self): self.tabWidget = QtWidgets.QTabWidget(self) self.tabWidget.setTabsClosable(True) self.tabWidget.tabCloseRequested.connect(self.closeTab) # Main thumbnail widgets self.models = [] model = ListModel(data=self._data, parent=self) self.models.append(model) self._thumbnailWidget = ThumbnailWidget(parent=self, model=model) self.table = SSHWidget( self._thumbnailWidget.thumbnailListView.model().getData()) self.tabWidget.addTab(self._thumbnailWidget, IMAGE_ICON, shorten(self._name)) self.tabWidget.addTab(self.table, TABLE_ICON, shorten(self._name)) self.setCentralWidget(self.tabWidget) self.exitAction = QtWidgets.QAction('Exit', self) self.exitAction.setShortcut('Ctrl+Q') self.exitAction.triggered.connect(self.on_exit) self.loadAction = QtWidgets.QAction('Load Directory', self) self.loadAction.triggered.connect(self.loadDir) menubar = self.menuBar() fileMenu = menubar.addMenu('&File') fileMenu.addAction(self.loadAction) fileMenu.addSeparator() self.setWindowTitle("SSH-VNC Manager")
def loadDir(self): d = QtWidgets.QFileDialog.getExistingDirectory( self, "VPS directory", "", QtWidgets.QFileDialog.ShowDirsOnly) if not d: return data = load_ssh_dir(d) name = os.path.basename(os.path.dirname(d)) model = ListModel(data=data, parent=self) self.models.append(model) thumbnailWidget = ThumbnailWidget(parent=self, model=model) table = SSHWidget(model.getData()) self.tabWidget.addTab(thumbnailWidget, IMAGE_ICON, shorten(name)) self.tabWidget.addTab(table, TABLE_ICON, shorten(name)) return