From b7d130f96b228982f6017850b2adf9bc61d25b60 Mon Sep 17 00:00:00 2001 From: BasioMeusPuga Date: Fri, 3 Nov 2017 21:33:32 +0530 Subject: [PATCH] Initial commit --- __main__.py | 92 ++++++++++++++++++++++++++++++++++++++++++++ mainwindow.py | 66 ++++++++++++++++++++++++++++++++ resources/main.ui | 97 +++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 255 insertions(+) create mode 100755 __main__.py create mode 100644 mainwindow.py create mode 100644 resources/main.ui diff --git a/__main__.py b/__main__.py new file mode 100755 index 0000000..d065b25 --- /dev/null +++ b/__main__.py @@ -0,0 +1,92 @@ +#!/usr/bin/env python3 + +""" TODO + Define every widget in code because you're going to need to create separate tabs + Override the keypress event of the textedit + Goodreads API: Ratings, Read, Recommendations + Get ISBN using python-isbnlib + Theming + Pagination + sqlite3 for storing metadata + Drop down for TOC + Recursive file addition + Get cover images + Set context menu for definitions and the like +""" + +import os +import sys + +from PyQt5 import QtWidgets, QtGui, QtCore +import mainwindow + + +class MainUI(QtWidgets.QMainWindow, mainwindow.Ui_MainWindow): + def __init__(self): + super(self.__class__, self).__init__() + self.setupUi(self) + + # Toolbar setup + self.BookToolBar.hide() + fullscreenButton = QtWidgets.QAction( + QtGui.QIcon.fromTheme('view-fullscreen'), 'Fullscreen', self) + self.BookToolBar.addAction(fullscreenButton) + fullscreenButton.triggered.connect(self.set_fullscreen) + + # LibraryToolBar buttons + addButton = QtWidgets.QAction(QtGui.QIcon.fromTheme('add'), 'Add book', self) + deleteButton = QtWidgets.QAction(QtGui.QIcon.fromTheme('remove'), 'Delete book', self) + settingsButton = QtWidgets.QAction(QtGui.QIcon.fromTheme('settings'), 'Settings', self) + + self.LibraryToolBar.addAction(addButton) + self.LibraryToolBar.addAction(deleteButton) + self.LibraryToolBar.addSeparator() + self.LibraryToolBar.addAction(settingsButton) + + self.textEdit.setText('asdasds') + + self.exit_shortcut = QtWidgets.QShortcut(QtGui.QKeySequence('Escape'), self) + self.exit_shortcut.activated.connect(self.set_normalsize) + + # Toolbar switching + self.tabWidget.currentChanged.connect(self.toolbar_switch) + + def toolbar_switch(self): + if self.tabWidget.currentIndex() == 0: + self.BookToolBar.hide() + self.LibraryToolBar.show() + else: + self.BookToolBar.show() + self.LibraryToolBar.hide() + + + def set_fullscreen(self): + + scr = QtGui.QGuiApplication.primaryScreen() + agm = QtGui.QScreen.availableGeometry(scr) + self.textEdit.setParent(self) + self.textEdit.setGeometry(agm) + self.textEdit.showFullScreen() + self.showFullScreen() + + def set_normalsize(self): + self.textEdit.setParent(self.tab_2) + self.textEdit.showNormal() + self.showNormal() + + + +def wutface(): + print('huh?') + + +def main(): + app = QtWidgets.QApplication(sys.argv) + form = MainUI() + form.show() + form.textEdit.showFullScreen() + app.exec_() + + +if __name__ == '__main__': + main() diff --git a/mainwindow.py b/mainwindow.py new file mode 100644 index 0000000..8acbe59 --- /dev/null +++ b/mainwindow.py @@ -0,0 +1,66 @@ +# -*- coding: utf-8 -*- + +# Form implementation generated from reading ui file 'resources/main.ui' +# +# Created by: PyQt5 UI code generator 5.9 +# +# WARNING! All changes made in this file will be lost! + +from PyQt5 import QtCore, QtGui, QtWidgets + +class Ui_MainWindow(object): + def setupUi(self, MainWindow): + MainWindow.setObjectName("MainWindow") + MainWindow.resize(800, 600) + self.centralwidget = QtWidgets.QWidget(MainWindow) + self.centralwidget.setObjectName("centralwidget") + self.gridLayout = QtWidgets.QGridLayout(self.centralwidget) + self.gridLayout.setObjectName("gridLayout") + self.horizontalLayout = QtWidgets.QHBoxLayout() + self.horizontalLayout.setObjectName("horizontalLayout") + self.tabWidget = QtWidgets.QTabWidget(self.centralwidget) + self.tabWidget.setTabsClosable(True) + self.tabWidget.setObjectName("tabWidget") + self.tab = QtWidgets.QWidget() + self.tab.setObjectName("tab") + self.gridLayout_2 = QtWidgets.QGridLayout(self.tab) + self.gridLayout_2.setObjectName("gridLayout_2") + self.verticalLayout = QtWidgets.QVBoxLayout() + self.verticalLayout.setObjectName("verticalLayout") + self.gridLayout_2.addLayout(self.verticalLayout, 0, 0, 1, 1) + self.tabWidget.addTab(self.tab, "") + self.tab_2 = QtWidgets.QWidget() + self.tab_2.setObjectName("tab_2") + self.gridLayout_3 = QtWidgets.QGridLayout(self.tab_2) + self.gridLayout_3.setObjectName("gridLayout_3") + self.textEdit = QtWidgets.QTextEdit(self.tab_2) + self.textEdit.setObjectName("textEdit") + self.gridLayout_3.addWidget(self.textEdit, 0, 0, 1, 1) + self.tabWidget.addTab(self.tab_2, "") + self.horizontalLayout.addWidget(self.tabWidget) + self.gridLayout.addLayout(self.horizontalLayout, 0, 0, 1, 1) + MainWindow.setCentralWidget(self.centralwidget) + self.LibraryToolBar = QtWidgets.QToolBar(MainWindow) + self.LibraryToolBar.setMovable(False) + self.LibraryToolBar.setIconSize(QtCore.QSize(22, 22)) + self.LibraryToolBar.setFloatable(False) + self.LibraryToolBar.setObjectName("LibraryToolBar") + MainWindow.addToolBar(QtCore.Qt.TopToolBarArea, self.LibraryToolBar) + self.BookToolBar = QtWidgets.QToolBar(MainWindow) + self.BookToolBar.setMovable(False) + self.BookToolBar.setFloatable(False) + self.BookToolBar.setObjectName("BookToolBar") + MainWindow.addToolBar(QtCore.Qt.TopToolBarArea, self.BookToolBar) + + self.retranslateUi(MainWindow) + self.tabWidget.setCurrentIndex(0) + QtCore.QMetaObject.connectSlotsByName(MainWindow) + + def retranslateUi(self, MainWindow): + _translate = QtCore.QCoreApplication.translate + MainWindow.setWindowTitle(_translate("MainWindow", "Lector")) + self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab), _translate("MainWindow", "Library")) + self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_2), _translate("MainWindow", "Read")) + self.LibraryToolBar.setWindowTitle(_translate("MainWindow", "toolBar")) + self.BookToolBar.setWindowTitle(_translate("MainWindow", "toolBar_2")) + diff --git a/resources/main.ui b/resources/main.ui new file mode 100644 index 0000000..649018b --- /dev/null +++ b/resources/main.ui @@ -0,0 +1,97 @@ + + + MainWindow + + + + 0 + 0 + 800 + 600 + + + + Lector + + + + + + + + + 0 + + + true + + + + Library + + + + + + + + + + Read + + + + + + + + + + + + + + + + toolBar + + + false + + + + 22 + 22 + + + + false + + + TopToolBarArea + + + false + + + + + toolBar_2 + + + false + + + false + + + TopToolBarArea + + + false + + + + + +