Example #1
0
    def _handle_table_paste(self):
        indices = []
        for index in self.tableView.selectedIndexes():
            indices.append((index.row(), index.column()))

        if not indices:
            return
        top_left = indices[0]

        data_type = QApplication.instance().clipboard().mimeData()

        if not data_type.hasText():
            # Don't paste images etc.
            return

        clipboard_text = QApplication.instance().clipboard().text()
        copied_table = extract_table_from_clipboard_text(clipboard_text)

        if len(copied_table) == 1 and len(copied_table[0]) == 1:
            # Only one value, so put it in all selected cells
            self._do_bulk_update(copied_table[0][0])
            return

        self.model.update_data_from_clipboard(
            copied_table, top_left, self._get_hidden_column_indices())
Example #2
0
    def closeEvent(self, event):
        if self.confirmexit and QMessageBox.question(
                self, 'Quit', 'Do you really want to quit?',
                QMessageBox.Yes | QMessageBox.No) == QMessageBox.No:
            event.ignore()
            return

        for panel in self.panels:
            if not panel.requestClose():
                event.ignore()
                return

        if self.autosavelayout:
            self.saveWindowLayout()
        with self.sgroup as settings:
            self.saveSettings(settings)
        for panel in self.panels:
            with panel.sgroup as settings:
                panel.saveSettings(settings)

        for window in list(self.windows.values()):
            if not window.close():
                event.ignore()
                return

        if self.helpWindow:
            self.helpWindow.close()

        if self.client.isconnected:
            self.on_actionConnect_triggered(False)

        event.accept()
        QApplication.instance().quit()
Example #3
0
 def setQSS(style_file):
     with open(style_file, 'r', encoding='utf-8') as fd:
         try:
             QApplication.instance().setStyleSheet(fd.read())
         except Exception as e:
             print(e)
Example #4
0
 def setQSS(self, stylefile):
     with open(stylefile, 'r') as fd:
         try:
             QApplication.instance().setStyleSheet(fd.read())
         except Exception as e:
             print(e)
Example #5
0
 def _handle_copy_cells(self):
     selected_data = self._extract_selected_data()
     clipboard_text = convert_table_to_clipboard_text(selected_data)
     QApplication.instance().clipboard().setText(clipboard_text)