|
@@ -51,7 +51,7 @@ class DataBase:
|
|
|
|
|
|
def getData(self, fileName):
|
|
|
c = self.db.cursor()
|
|
|
- c.execute("select * from dirnotes where name=?",(fileName,))
|
|
|
+ c.execute("select * from dirnotes where name=? order by comment_date desc",(os.path.abspath(fileName),))
|
|
|
return c.fetchone()
|
|
|
def setData(self, fileName, _date, _size, comment):
|
|
|
c = self.db.cursor()
|
|
@@ -119,11 +119,13 @@ class DirNotes(QMainWindow):
|
|
|
'''
|
|
|
def __init__(self, filename, db, parent=None):
|
|
|
super(DirNotes,self).__init__(parent)
|
|
|
+ self.db = db
|
|
|
+
|
|
|
win = QWidget()
|
|
|
self.setCentralWidget(win)
|
|
|
- self.db = db
|
|
|
|
|
|
lb = QTableWidget()
|
|
|
+ self.lb = lb
|
|
|
lb.setColumnCount(2)
|
|
|
lb.horizontalHeader().setResizeMode( 1, QHeaderView.Stretch );
|
|
|
lb.verticalHeader().setDefaultSectionSize(20); # thinner rows
|
|
@@ -159,12 +161,22 @@ class DirNotes(QMainWindow):
|
|
|
|
|
|
e = QLabel("View and edit file comments stored in extended attributes user.xdg.comment")
|
|
|
|
|
|
+ b1 = QPushButton("restore from database")
|
|
|
+ dirLeft = QFileDialog(self,"",current)
|
|
|
+ dirLeft.setMaximumHeight(250)
|
|
|
+ dirLeft.setOption(QFileDialog.DontUseNativeDialog)
|
|
|
+ dirLeft.setFileMode(QFileDialog.Directory)
|
|
|
+ dirLeft.setOption(QFileDialog.ShowDirsOnly)
|
|
|
+
|
|
|
layout = QVBoxLayout()
|
|
|
layout.addWidget(e)
|
|
|
+ layout.addWidget(b1)
|
|
|
+ layout.addWidget(dirLeft)
|
|
|
layout.addWidget(lb)
|
|
|
win.setLayout(layout)
|
|
|
|
|
|
lb.itemChanged.connect(self.change)
|
|
|
+ b1.pressed.connect(self.restore_from_database)
|
|
|
|
|
|
QShortcut(QKeySequence("Ctrl+Q"), self, self.close)
|
|
|
self.setWindowTitle("test")
|
|
@@ -178,7 +190,13 @@ class DirNotes(QMainWindow):
|
|
|
r = the_file.setComment(str(x.text()))
|
|
|
if r:
|
|
|
self.db.log(the_file.getName(),x.text())
|
|
|
-
|
|
|
+ def restore_from_database(self):
|
|
|
+ print("restore from database")
|
|
|
+ fileName = str(self.lb.item(self.lb.currentRow(),0).text())
|
|
|
+ fo_row = self.db.getData(fileName)
|
|
|
+ if len(fo_row)>1:
|
|
|
+ comment = fo_row[3]
|
|
|
+ print(fileName,fo_row[0],comment)
|
|
|
|
|
|
if __name__=="__main__":
|
|
|
p = parse()
|
|
@@ -224,5 +242,20 @@ user.xdg.publisher
|
|
|
|
|
|
''' TODO: also need a way to display-&-restore comments from the database '''
|
|
|
|
|
|
-
|
|
|
+''' QFileDialog
|
|
|
+ -make my own?
|
|
|
+ -existing one has
|
|
|
+ -history
|
|
|
+ -back button
|
|
|
+ -up button
|
|
|
+ -but we don't need
|
|
|
+ -directory date
|
|
|
+ -icon option
|
|
|
+ -url browser (unless we go network file system)
|
|
|
+ -new folder button
|
|
|
+ -file type chooser
|
|
|
+ -text entry box
|
|
|
+ -choose & cancel buttons
|
|
|
+
|
|
|
+ '''
|
|
|
|