Initial commit.

This commit is contained in:
Sergio Martínez Portela 2021-04-03 00:16:06 +02:00
commit 97a63380c6
2 changed files with 116 additions and 0 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
__pycache__

115
main.py Executable file
View File

@ -0,0 +1,115 @@
#!/usr/bin/env python3
import logging
import os
import sys
import time
from PySide2.QtCore import QObject, QThread, Signal, Slot
from PySide2.QtWidgets import (QApplication, QDialog, QGroupBox, QHBoxLayout,
QLabel, QLineEdit, QProgressBar, QPushButton,
QScrollArea, QTabBar, QVBoxLayout)
ORG_PATH = os.environ['ORG_PATH']
class LoadDoneSignal(QObject):
sig = Signal(str)
class DocumentLoader(QThread):
def __init__(self, parent = None):
QThread.__init__(self, parent)
self.exiting = False
self.signal = LoadDoneSignal()
def run(self):
end = time.time() + 3
while self.exiting==False:
sys.stdout.write('*')
sys.stdout.flush()
time.sleep(1)
now = time.time()
if now >= end:
self.exiting = True
self.signal.sig.emit('OK')
class Dialog(QDialog):
def __init__(self):
super(Dialog, self).__init__()
self.loader = None
layout = QVBoxLayout()
# Edit box
self.progressBar = QProgressBar()
self.progressBar.setRange(0, 0) # Make undetermined
layout.addWidget(self.progressBar)
self.edit = QLineEdit("", placeholderText='Search for notes')
layout.addWidget(self.edit)
layout.setSpacing(0)
self.results = QScrollArea()
layout.addWidget(self.results)
# Options
self.tabBar = QTabBar(shape=QTabBar.RoundedSouth)
self.tabBar.addTab("Agenda")
self.tabBar.addTab("Notes")
self.tabBar.addTab("Tasks")
self.tabBar.currentChanged.connect(self.update_tab)
layout.addWidget(self.tabBar)
self.setLayout(layout)
self.startLoad()
@Slot()
def update_tab(self):
tabIndex = self.tabBar.currentIndex()
if tabIndex == 0:
self.loadAgenda()
elif tabIndex == 1:
self.loadNotes()
elif tabIndex == 2:
self.loadTasks()
def startLoad(self):
self.edit.setDisabled(True)
self.tabBar.setDisabled(True)
self.progressBar.setVisible(True)
self.loader = DocumentLoader()
self.loader.signal.sig.connect(self.longoperationcomplete)
self.loader.start()
def endLoad(self):
self.edit.setDisabled(False)
self.tabBar.setDisabled(False)
self.progressBar.setVisible(False)
self.update_tab()
def longoperationcomplete(self, data):
print("Complete with", data)
self.endLoad()
def loadAgenda(self):
logging.warning("loadAgenda not yet implemented")
def loadNotes(self):
logging.warning("loadNotes not yet implemented")
def loadTasks(self):
logging.warning("loadTasks not yet implemented")
# Create the Qt Application
app = QApplication(sys.argv)
dialog = Dialog()
sys.exit(dialog.exec_())