def create_project_dock(self, project_code, close_project=True, raise_tab=False): if project_code not in self.projects_docks.keys(): project = env_inst.projects.get(project_code) if project: dock_widget = QtGui.QDockWidget(self) dock_widget.setObjectName(project_code) dock_widget.setWindowTitle(project.info['title'].replace('_', ' ').capitalize()) dock_widget.setMinimumWidth(200) dock_widget.setFeatures( QtGui.QDockWidget.DockWidgetMovable | QtGui.QDockWidget.DockWidgetClosable) main_tabs_widget = Ui_mainTabs(project_code, dock_widget) dock_widget.setWidget(main_tabs_widget) self.addDockWidget(QtCore.Qt.LeftDockWidgetArea, dock_widget) for dock in self.projects_docks.values(): self.tabifyDockWidget(dock, dock_widget) self.projects_docks[project_code] = dock_widget dock_widget.show() dock_widget.raise_() else: print('No project with code: {0}'.format(project_code)) elif close_project: self.projects_docks[project_code].widget().close() self.projects_docks[project_code].close() self.projects_docks[project_code].deleteLater() del self.projects_docks[project_code] env_inst.cleanup(project_code) if raise_tab: project_dock = self.projects_docks.get(project_code) if project_dock: project_dock.show() project_dock.raise_()
def create_notes_widget(self): current_item = self.processTreeWidget.currentItem().data( 0, QtCore.Qt.UserRole) try: self.dock_widget.show() self.dock_widget.raise_() except: self.dock_widget = QtGui.QDockWidget() self.dock_widget.setObjectName('notes_dock') self.dock_widget.setWindowTitle('Notes') self.dock_widget.setMinimumWidth(500) self.ui_notes = notes_widget.Ui_notesWidget() if current_item: self.ui_notes.task_item = current_item self.ui_notes.fill_notes() self.dock_widget.setWidget(self.ui_notes) self.parent().addDockWidget(QtCore.Qt.RightDockWidgetArea, self.dock_widget) self.dock_widget.show() self.dock_widget.raise_() self.ui_notes.conversationScrollArea.verticalScrollBar().setValue( self.ui_notes.conversationScrollArea.verticalScrollBar( ).maximum())