kindle manager

This commit is contained in:
gavin
2020-06-07 19:27:40 +08:00
parent 3bca156bdb
commit d78a7aac9c
3 changed files with 37 additions and 68 deletions

View File

@@ -47,9 +47,7 @@ class kmanWindow(QMainWindow):
self.filter_data = self.km.filter_clips(self.books)
self.add_ui_component()
self.show_status_info()
self.fill_treeview()
self.refresh_ui_component()
# timer to check status of kindle
self.timer = QTimer(self)
@@ -93,62 +91,29 @@ class kmanWindow(QMainWindow):
self.ui.tableView.horizontalHeader().setStretchLastSection(True)
self.ui.tablemodel.tabledata_update.connect(self.tabledata_update_slot)
# initial textedit content
def refresh_ui_component(self):
self.fill_treeview()
self.show_status_info()
# refresh tableview
data = self.convert_to_panda(self.filter_data)
del self.ui.tablemodel
self.ui.tablemodel = nTableModel(data)
self.ui.tableView.verticalHeader().hide()
self.ui.tableView.setModel(self.ui.tablemodel)
# refresh textedit content
[stype,sbookname,sauthor,sposition,stime,scontent] = self.filter_data[0]
self.ui.textEdit.setHtml("""<span style='font-size:22pt;color:maroon'>《{bookname}》</span>
<span style='font-size:22pt;color:maroon'>{author}</span>
<span style='font-size:22pt;color:maroon'>{time}</span>
<span style='font-size:11pt;color:maroon'>【{note}】</span><br><br>
<span>********************************************************</span><br><br>
<span style='font-size:22pt;color:maroon'> {author} </span>
<span style='font-size:22pt;color:maroon'> ({time}) </span>
<span style='font-size:11pt;color:maroon'> {note} </span><br><br>
<span><HR style="FILTER: progid:DXImageTransform.Microsoft.Shadow(color:#987cb9,direction:145,strength:15)" width="95%" color=#987cb9 SIZE=1></span>
<span style='font-size:22pt;color:#31849B'>{content}</span>
<span style='font-size:11pt;color:maroon'>【P{position}】</span><br>""".
format(bookname=sbookname, author=sauthor, time=stime,
note=stype, content=scontent, position=sposition))
"""
if not ONLY_TEST: # XXXXXXXXXXXXX
model = QStandardItemModel()
rootItem = model.invisibleRootItem()
idx = 0
for i in range(4):
idx += 1
item = QStandardItem('item {}'.format(idx))
rootItem.appendRow(item)
icon = QIcon()
icon.addFile(u":/icons/book_open_bookmark.png", QSize(), QIcon.Normal, QIcon.Off)
item.setIcon(icon)
if i==0:
parentItem = item
icon = QIcon()
icon.addFile(u":/icons/emblem_library.png", QSize(), QIcon.Normal, QIcon.Off)
item.setIcon(icon)
parentItem.appendRows([QStandardItem('append rows {}'.format(i+idx)) for i in range(5)])
if i==1:
parentItem = item
for i in range(5):
idx += 1
item = QStandardItem('type item {}'.format(i+idx))
#item.setEnabled(False)
item.setEditable(False)
icon = QIcon()
icon.addFile(u":/icons/register.png", QSize(), QIcon.Normal, QIcon.Off)
item.setIcon(icon)
parentItem.appendRow(item)
if i==3:
parentItem = item
for i in range(5):
idx += 1
item = QStandardItem('another item {}'.format(i+idx))
#item.setEnabled(False)
item.setEditable(False)
icon = QIcon()
icon.addFile(u":/icons/book_open.png", QSize(), QIcon.Normal, QIcon.Off)
item.setIcon(icon)
parentItem.appendRow(item)
self.ui.treeView.setModel(model)
"""
def convert_to_panda(self, seclist):
pdframe = pd.DataFrame(seclist, \
columns = ['Type','Bookname','Author','Position','Date','Content'])
@@ -166,7 +131,6 @@ class kmanWindow(QMainWindow):
description = item.accessibleDescription()
print(description, item.text())
# filter clips
self.filter_data = None
if description in ['root', 'bookname', 'author']:
@@ -179,7 +143,8 @@ class kmanWindow(QMainWindow):
self.filter_data = self.km.filter_clips(self.books, info, 2)
data = self.convert_to_panda(self.filter_data)
self.ui.tablemodel= nTableModel(data)
del self.ui.tablemodel
self.ui.tablemodel = nTableModel(data)
self.ui.tableView.verticalHeader().hide()
self.ui.tableView.setModel(self.ui.tablemodel)
@@ -192,12 +157,13 @@ class kmanWindow(QMainWindow):
sposition = index.sibling(row, 3).data()
stime = index.sibling(row, 4).data()
scontent = index.sibling(row, 5).data()
else: return
else:
return
self.ui.textEdit.setHtml("""<span style='font-size:22pt;color:maroon'>《{bookname}》</span>
<span style='font-size:22pt;color:maroon'>{author}</span>
<span style='font-size:22pt;color:maroon'>{time}</span>
<span style='font-size:11pt;color:maroon'>【{note}】</span><br><br>
<span style='font-size:22pt;color:maroon'> {author} </span>
<span style='font-size:22pt;color:maroon'> ({time}) </span>
<span style='font-size:11pt;color:maroon'> {note} </span><br><br>
<span>********************************************************</span><br><br>
<span style='font-size:22pt;color:#31849B'>{content}</span>
<span style='font-size:11pt;color:maroon'>【P{position}】</span><br>""".
@@ -214,11 +180,13 @@ class kmanWindow(QMainWindow):
#print(search_clip(self.books,s,'ALL',p[t]))
print('call search_scope_change()')
## XXXX
## XXX
'''
def check_kindle_status(self):
while self.flag:
self.show_status_info()
sleep(2)
'''
def show_status_info(self):
""" show status information on statusbar
@@ -244,9 +212,10 @@ class kmanWindow(QMainWindow):
return 0
self.books = self.km.import_clips(self.km.get_kindle_path())
self.filter_data = self.km.filter_clips(self.books)
status = self.km.status_info()
self.show_status_info()
self.refresh_ui_component()
print(bks)
@@ -258,8 +227,9 @@ class kmanWindow(QMainWindow):
self.fn = fn
self.books = self.km.import_clips(fn)
self.filter_data = self.km.filter_clips(self.books)
self.show_status_info()
self.refresh_ui_component()
#print('filename ', fn, 'filetype ', ft)
if fn == "": return False
@@ -405,6 +375,10 @@ if __name__ == "__main__":
app = QApplication(sys.argv)
kmw = kmanWindow()
icon = QIcon()
icon.addFile(u":/icons/Cbb20.png", QSize(), QIcon.Normal, QIcon.Off)
kmw.setWindowIcon(icon)
kmw.setWindowTitle("kindle management")
#kmw.resize(900, 600)
kmw.showFullScreen()
kmw.show()