-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathviewOrEdit.py
More file actions
117 lines (100 loc) · 4.43 KB
/
viewOrEdit.py
File metadata and controls
117 lines (100 loc) · 4.43 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
import logging
from PyQt5 import QtCore, QtGui, QtWidgets
import myOperations as oper
from note import Note
from settings import settings
from units.editUnit import myEditUnit
class UIEditWindow(object):
def setupUi(self, EditWindow: QtWidgets.QWidget):
self.EditWindow = EditWindow
self.EditWindow.setObjectName("EditWindow")
self.EditWindow.resize(*settings.windowSize)
#main layout
self.verticalLayout = QtWidgets.QVBoxLayout(self.EditWindow)
self.verticalLayout.setContentsMargins(*settings.windowContentMargin)
self.verticalLayout.setObjectName("verticalLayout")
#title
self.title = QtWidgets.QLabel(self.EditWindow)
font = QtGui.QFont()
font.setFamily("Microsoft YaHei UI")
font.setPointSize(26)
self.title.setFont(font)
self.title.setIndent(7)
self.title.setObjectName("title")
self.verticalLayout.addWidget(self.title)
#head layout (for edit state switch)
self.head = QtWidgets.QHBoxLayout()
self.head.setObjectName("head")
#show edit state
self.editState = QtWidgets.QLabel(self.EditWindow)
font = QtGui.QFont()
font.setFamily("Microsoft YaHei UI")
font.setPointSize(12)
self.editState.setFont(font)
self.editState.setIndent(9)
self.editState.setObjectName("editState")
self.head.addWidget(self.editState)
#button to switch edit state
self.switchEditButton = QtWidgets.QPushButton(self.EditWindow)
font = QtGui.QFont()
font.setFamily("Microsoft YaHei UI")
font.setPointSize(12)
self.switchEditButton.setFont(font)
self.switchEditButton.setObjectName("switchEditButton")
self.switchEditButton.clicked.connect(self.switchEdit)
self.head.addWidget(self.switchEditButton)
self.verticalLayout.addLayout(self.head)
#a simple line between INFO area and EDIT area
self.line = QtWidgets.QFrame(self.EditWindow)
self.line.setFrameShape(QtWidgets.QFrame.HLine)
self.line.setFrameShadow(QtWidgets.QFrame.Sunken)
self.line.setObjectName("line")
self.verticalLayout.addWidget(self.line)
# editUnit
self.editUnit = myEditUnit(self.EditWindow)
self.verticalLayout.addWidget(self.editUnit)
# dialog buttonbox
self.buttonBox = QtWidgets.QDialogButtonBox(self.EditWindow)
self.buttonBox.setGeometry(QtCore.QRect(350, 540, 341, 32))
font = QtGui.QFont()
font.setFamily("Microsoft YaHei UI")
font.setPointSize(12)
self.buttonBox.setFont(font)
self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.Cancel|QtWidgets.QDialogButtonBox.Ok)
self.buttonBox.setObjectName("buttonBox")
self.verticalLayout.addWidget(self.buttonBox)
self.EditWindow.show()
self.retranslateUi()
self.buttonBox.accepted.connect(self.accept)
self.buttonBox.rejected.connect(self.reject)
QtCore.QMetaObject.connectSlotsByName(self.EditWindow)
def retranslateUi(self):
_translate = QtCore.QCoreApplication.translate
self.EditWindow.setWindowTitle(_translate("EditWindow", "EasyNote - 查看&编辑"))
self.title.setText(_translate("EditWindow", "浏览&编辑笔记"))
self.editState.setText(_translate("EditWindow", "编辑: 禁用"))
self.switchEditButton.setText(_translate("EditWindow", "切换编辑"))
def switchEdit(self):
self.editUnit.canEdit = not self.editUnit.canEdit
self.editUnit.getText.setReadOnly(not self.editUnit.canEdit)
_translate = QtCore.QCoreApplication.translate
if self.editUnit.canEdit:
self.editState.setText(_translate("EditWindow", "编辑: 启用"))
else:
self.editState.setText(_translate("EditWindow", "编辑: 禁用"))
def setFile(self, file: Note):
self.file = file
self.editUnit.getTitle.setText(file.title)
self.editUnit.getText.setPlainText(file.text)
def kill(self):
oper.returnToMain()
def accept(self):
title = self.editUnit.getTitle.text()
text = self.editUnit.getText.toPlainText()
if len(title) != 0:
oper.save(Note(title, text, []))
self.kill()
def reject(self):
logging.info("Save Canceled.")
self.kill()