From bfd9402e59354b745e3de043592f55ed4b4ba1ac Mon Sep 17 00:00:00 2001 From: VanillaHellen Date: Mon, 21 Dec 2020 17:40:37 +0100 Subject: [PATCH] added Library table --- win_venv/files/input/input1.mp4 | 0 win_venv/files/input/input2.mp4 | 0 win_venv/main.py | 67 +++++++++++++++++++++++++++++++-- 3 files changed, 63 insertions(+), 4 deletions(-) create mode 100644 win_venv/files/input/input1.mp4 create mode 100644 win_venv/files/input/input2.mp4 diff --git a/win_venv/files/input/input1.mp4 b/win_venv/files/input/input1.mp4 new file mode 100644 index 0000000..e69de29 diff --git a/win_venv/files/input/input2.mp4 b/win_venv/files/input/input2.mp4 new file mode 100644 index 0000000..e69de29 diff --git a/win_venv/main.py b/win_venv/main.py index 85f5ca1..d7aeaf8 100644 --- a/win_venv/main.py +++ b/win_venv/main.py @@ -1,11 +1,63 @@ #import tkinter as tk import sys import os +from datetime import datetime from PyQt5 import QtCore -from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QMainWindow, QGridLayout, QMenu, QFileDialog, QAction +from PyQt5.QtWidgets import * from PyQt5.QtGui import QIcon, QPixmap +from PyQt5.QtCore import * +scriptPath = os.path.dirname(os.path.realpath(__file__)) +filePath = scriptPath + '\\files\\input' +def files(path): + for file in os.listdir(path): + if os.path.isfile(os.path.join(path, file)): + yield file + +class LibraryTableButtons(QWidget): + def __init__(self, parent=None): + super(LibraryTableButtons,self).__init__(parent) + layout = QHBoxLayout() + + layout.setContentsMargins(0,0,0,0) + layout.setSpacing(0) + + layout.addWidget(QPushButton('View')) + layout.addWidget(QPushButton('Delete')) + + self.setLayout(layout) + +class LibraryTable(QTableWidget): + def __init__(self, parent=None): + QTableWidget.__init__(self) + self.setColumnCount(3) + self.setHorizontalHeaderLabels(['Upload date', 'Filename', 'Options']) + self.horizontalHeader().setSectionResizeMode(0, QHeaderView.ResizeToContents) + self.horizontalHeader().setSectionResizeMode(1, QHeaderView.Stretch) + self.horizontalHeader().setSectionResizeMode(2, QHeaderView.ResizeToContents) + + dates = [] + names = [] + for index, file in enumerate(files(filePath)): + dates.append(QTableWidgetItem(str(datetime.fromtimestamp(os.path.getmtime(filePath + '/' + file))))) + names.append(QTableWidgetItem(str(file))) + + self.setRowCount(len(dates)) + + for index, date in enumerate(dates): + self.setItem(index,0,date) + self.setItem(index,1,names[index]) + self.setCellWidget(index,2,LibraryTableButtons()) + + def handleButtonClicked(w): + button = qApp.focusWidget() + # or button = self.sender() + index = self.table.indexAt(button.pos()) + if index.isValid(): + print(index.row(), index.column()) + + def main(): app = QApplication(sys.argv) @@ -29,7 +81,16 @@ def main(): homeMenu = QMenu("&Home", w) menuBar.addMenu(homeMenu) homeMenu.addAction("Load new file") - + + # Show raw uploaded files + def showLibrary(): + libTable = LibraryTable() + w.setCentralWidget(libTable) + + libraryAct = QAction('&Library', w) + libraryAct.triggered.connect(showLibrary) + menuBar.addAction(libraryAct) + # Exit app exitAct = QAction('&Exit', w) exitAct.setShortcut('Ctrl+Q') @@ -37,8 +98,6 @@ def main(): exitAct.triggered.connect(app.quit) homeMenu.addAction(exitAct) - - historyMenu = menuBar.addMenu("&History") helpMenu = menuBar.addMenu("&Help") w.show()