From f4f4c5d14a4f6ac2cda8d5a1acda26c049ffee1e Mon Sep 17 00:00:00 2001
From: Paul S
Date: Mon, 12 Jul 2021 20:56:14 +0200
Subject: [PATCH] using clipboard
---
changelog.md | 12 +++++++++++
src/clsTableWidget.py | 47 ++++++++++++++-----------------------------
src/main.py | 2 +-
3 files changed, 28 insertions(+), 33 deletions(-)
diff --git a/changelog.md b/changelog.md
index af87779..f77612c 100644
--- a/changelog.md
+++ b/changelog.md
@@ -1,5 +1,17 @@
# Changelog GarageCalc1
+## [0.7.3] - 2021-07-12
+## Added
+- Nutzung der Zwischenablage
+
+## [0.7.2] - 2021-07-09
+## Changed
+- Ressourcen befinden sich nun in der Ressourcendatei
+
+## [0.7.1] - 2021-07-09
+## Fixed
+- Sprachdatei unvollständig
+
## [0.7] - 2021-07-09
## Added
- Einheiten können pro Zelle mit F3 eingegben/editiert/umgerechnet werden
diff --git a/src/clsTableWidget.py b/src/clsTableWidget.py
index 46b1001..d301446 100644
--- a/src/clsTableWidget.py
+++ b/src/clsTableWidget.py
@@ -62,6 +62,8 @@ class TableWidget(QTableWidget):
self.default_uom_length = uom_length
self.default_uom_mass = uom_mass
+ self.clipboard_data: list = None
+
# self.setSelectionMode(QAbstractItemView.ContiguousSelection)
self.setSelectionMode(QAbstractItemView.SingleSelection)
@@ -232,7 +234,6 @@ class TableWidget(QTableWidget):
if item:
self.dlg.efValue.setText(item.text())
- print("UOM of the cell:", item.data(Qt.UserRole))
self.dlg.cmbUOM.setCurrentText(item.data(Qt.UserRole))
if item.data(Qt.UserRole):
self.old_uom = item.data(Qt.UserRole)
@@ -300,38 +301,17 @@ class TableWidget(QTableWidget):
item.setToolTip(None)
def item_paste(self):
- if self.clipboard_data:
- cur_row = self.currentRow()
- cur_col = self.currentColumn()
- # ask_confirmation = True
+ clip_text = qApp.clipboard().text().rstrip('\n').split("\t")
- if self.row_selected:
- cur_col = 0
+ cur_row = self.currentRow()
+ cur_col = self.currentColumn()
- col = 0
- if len(self.clipboard_data) == 1:
- data = self.clipboard_data[0]
- item = QTableWidgetItem(data)
+ col = 0
- self.setItem(cur_row, cur_col, item)
- item.setSelected(True)
- else:
- for data in self.clipboard_data:
- item = QTableWidgetItem(data)
- # if item:
- # if len(item.text()) >0:
- # if ask_confirmation:
- # msg = QCoreApplication.translate("TableWidget", "Zelle enthält bereits Daten. Überschreiben?")
- # reply = QMessageBox.question(self, QCoreApplication.translate("TableWidget", "Überschreiben"), msg, \
- # QMessageBox.Yes | QMessageBox.No, QMessageBox.Yes)
- # if reply == QMessageBox.No:
- # return False
-
- # ask_confirmation = False
- self.setItem(cur_row, col, item)
- item.setSelected(True)
-
- col += 1
+ for data in clip_text:
+ item = QTableWidgetItem(data)
+ self.setItem(cur_row, cur_col+col, item)
+ col += 1
def item_cut(self):
self.item_copy()
@@ -354,9 +334,12 @@ class TableWidget(QTableWidget):
self.sel_ranges = self.selectedRanges()
- self.clipboard_data = []
+ clipboard_data = []
for idx in sel_idx:
- self.clipboard_data.append(idx.data())
+ clipboard_data.append(idx.data(Qt.DisplayRole))
+
+ clip_text = "\t".join(str(text or "") for text in clipboard_data)
+ qApp.clipboard().setText(clip_text)
def item_del(self, ask_cofirmation=True):
sel_idx = self.selectionModel().selectedIndexes()
diff --git a/src/main.py b/src/main.py
index 5b53dff..84a022d 100644
--- a/src/main.py
+++ b/src/main.py
@@ -30,7 +30,7 @@ from utils import show_about, resource_path, str_iff, fit_col_widths, convert_uo
from clsTableWidget import TableWidget
# Local globals
-APP_VERSION = "v0.7.2"
+APP_VERSION = "v0.7.3"
DIR_CURRENT = os.getcwd()