Compare commits

...

2 commits
v0.7.2 ... main

Author SHA1 Message Date
Paul S 8ebc5ce033 Closing the Window ("X") also queries on modifications. 2021-07-13 11:27:37 +02:00
Paul S f4f4c5d14a using clipboard 2021-07-12 20:56:14 +02:00
3 changed files with 46 additions and 46 deletions

View file

@ -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

View file

@ -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()

View file

@ -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()
@ -190,7 +190,6 @@ class MainWindow(QMainWindow):
self.load_ui()
self.init_ui()
self.set_defaults()
self.create_actions()
self.create_menu(language, uom_length, uom_mass)
self.connect_signals()
self.create_toolbar()
@ -294,17 +293,6 @@ class MainWindow(QMainWindow):
layoutGb.addWidget(self.ui.tableStuff)
def create_actions(self):
global APP_INI_FILE
self.ui.actionNew.triggered.connect(self.file_new)
self.ui.actionOpen.triggered.connect(self.file_open)
self.ui.actionSave.triggered.connect(self.file_save)
self.ui.actionExport.triggered.connect(self.file_export)
self.ui.actionAbout_Qt.triggered.connect(QApplication.aboutQt)
self.ui.actionAbout.triggered.connect(lambda: show_about(APP_INI_FILE, self.opened_file))
self.ui.actionQuit.triggered.connect(self.quit_app)
def create_menu(self, language=None, uom_length=None, uom_mass=None):
menuMain = self.menuBar()
menuFile = menuMain.addMenu(QCoreApplication.translate("main", "&File"))
@ -409,12 +397,28 @@ class MainWindow(QMainWindow):
self.is_modified = False
def connect_signals(self):
global APP_INI_FILE
tblGarage = self.ui.tableGarage
tblStuff = self.ui.tableStuff
tblGarage.itemChanged.connect(self.on_garage_changed)
tblStuff.itemChanged.connect(self.on_stuff_changed)
self.ui.actionNew.triggered.connect(self.file_new)
self.ui.actionOpen.triggered.connect(self.file_open)
self.ui.actionSave.triggered.connect(self.file_save)
self.ui.actionExport.triggered.connect(self.file_export)
self.ui.actionAbout_Qt.triggered.connect(QApplication.aboutQt)
self.ui.actionAbout.triggered.connect(lambda: show_about(APP_INI_FILE, self.opened_file))
self.ui.actionQuit.triggered.connect(self.quit_app)
def closeEvent(self, event):
if self.quit_app():
event.accept()
else:
event.ignore()
def init_ui(self):
tblGarage = self.ui.tableGarage
tblStuff = self.ui.tableStuff
@ -442,7 +446,7 @@ class MainWindow(QMainWindow):
self.ui.efVol_Free.setStyleSheet("")
self.is_modified = False
def quit_app(self):
def quit_app(self) -> bool:
if self.is_modified:
msg = QCoreApplication.translate("main", TXT_UNSAVED_CHANGES)
reply = QMessageBox.question(self, QCoreApplication.translate("main", "Quit"), msg, \
@ -450,6 +454,7 @@ class MainWindow(QMainWindow):
if reply == QMessageBox.No:
return False
QApplication.quit()
return False
def file_new(self):
if self.is_modified: