diff --git a/manuskript/import_export/__init__.py b/manuskript/importer/__init__.py similarity index 100% rename from manuskript/import_export/__init__.py rename to manuskript/importer/__init__.py diff --git a/manuskript/import_export/opml.py b/manuskript/importer/opml.py similarity index 100% rename from manuskript/import_export/opml.py rename to manuskript/importer/opml.py diff --git a/manuskript/mainWindow.py b/manuskript/mainWindow.py index b47892e5..6a01d1bb 100644 --- a/manuskript/mainWindow.py +++ b/manuskript/mainWindow.py @@ -21,6 +21,7 @@ from manuskript.settingsWindow import settingsWindow from manuskript.ui import style from manuskript.ui.about import aboutDialog from manuskript.ui.collapsibleDockWidgets import collapsibleDockWidgets +from manuskript.ui.importers.importer import importerDialog from manuskript.ui.exporters.exporter import exporterDialog from manuskript.ui.helpLabel import helpLabel from manuskript.ui.mainWindow import Ui_MainWindow @@ -97,12 +98,13 @@ class MainWindow(QMainWindow, Ui_MainWindow): # Main Menu for i in [self.actSave, self.actSaveAs, self.actCloseProject, self.menuEdit, self.menuView, self.menuTools, self.menuHelp, - self.actCompile, self.actSettings]: + self.actImport, self.actCompile, self.actSettings]: i.setEnabled(False) self.actOpen.triggered.connect(self.welcome.openFile) self.actSave.triggered.connect(self.saveDatas) self.actSaveAs.triggered.connect(self.welcome.saveAsFile) + self.actImport.triggered.connect(self.doImport) self.actCompile.triggered.connect(self.doCompile) self.actLabels.triggered.connect(self.settingsLabel) self.actStatus.triggered.connect(self.settingsStatus) @@ -460,7 +462,7 @@ class MainWindow(QMainWindow, Ui_MainWindow): i.setEnabled(False) for i in [self.actSave, self.actSaveAs, self.actCloseProject, self.menuEdit, self.menuView, self.menuTools, self.menuHelp, - self.actCompile, self.actSettings]: + self.actImport, self.actCompile, self.actSettings]: i.setEnabled(True) # Add project name to Window's name @@ -504,7 +506,7 @@ class MainWindow(QMainWindow, Ui_MainWindow): i.setEnabled(True) for i in [self.actSave, self.actSaveAs, self.actCloseProject, self.menuEdit, self.menuView, self.menuTools, self.menuHelp, - self.actCompile, self.actSettings]: + self.actImport, self.actCompile, self.actSettings]: i.setEnabled(False) # Set Window's name - no project loaded @@ -1306,9 +1308,17 @@ class MainWindow(QMainWindow, Ui_MainWindow): # POV in settings / views ############################################################################### - # COMPILE + # IMPORT / EXPORT ############################################################################### + def doImport(self): + self.dialog = importerDialog(mw=self) + self.dialog.show() + + r = self.dialog.geometry() + r2 = self.geometry() + self.dialog.move(r2.center() - r.center()) + def doCompile(self): self.dialog = exporterDialog(mw=self) self.dialog.show() diff --git a/manuskript/ui/editors/mainEditor.py b/manuskript/ui/editors/mainEditor.py index d5dcc678..8791bfd9 100644 --- a/manuskript/ui/editors/mainEditor.py +++ b/manuskript/ui/editors/mainEditor.py @@ -14,7 +14,7 @@ from manuskript.ui import style from manuskript.ui.editors.editorWidget import editorWidget from manuskript.ui.editors.fullScreenEditor import fullScreenEditor from manuskript.ui.editors.mainEditor_ui import Ui_mainEditor -from manuskript.import_export import opml as opmlInputExport +from manuskript.importer import opml as opmlInputExport locale.setlocale(locale.LC_ALL, '') diff --git a/manuskript/ui/importers/__init__.py b/manuskript/ui/importers/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/manuskript/ui/importers/importer.py b/manuskript/ui/importers/importer.py new file mode 100644 index 00000000..24c62b16 --- /dev/null +++ b/manuskript/ui/importers/importer.py @@ -0,0 +1,23 @@ +#!/usr/bin/env python +# --!-- coding: utf8 --!-- +import json +import os + +from PyQt5.QtCore import Qt +from PyQt5.QtGui import QBrush, QColor, QIcon +from PyQt5.QtWidgets import QWidget + +from manuskript import exporter +from manuskript.functions import lightBlue, writablePath +from manuskript.ui.importers.importer_ui import Ui_importer + + +class importerDialog(QWidget, Ui_importer): + def __init__(self, parent=None, mw=None): + QWidget.__init__(self, parent) + self.setupUi(self) + + # Var + self.mw = mw + + #TODO diff --git a/manuskript/ui/importers/importer_ui.py b/manuskript/ui/importers/importer_ui.py new file mode 100644 index 00000000..c5ccc28a --- /dev/null +++ b/manuskript/ui/importers/importer_ui.py @@ -0,0 +1,72 @@ +# -*- coding: utf-8 -*- + +# Form implementation generated from reading ui file 'manuskript/ui/importers/importer_ui.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_importer(object): + def setupUi(self, importer): + importer.setObjectName("importer") + importer.resize(694, 489) + self.verticalLayout = QtWidgets.QVBoxLayout(importer) + self.verticalLayout.setObjectName("verticalLayout") + self.horizontalLayout = QtWidgets.QHBoxLayout() + self.horizontalLayout.setObjectName("horizontalLayout") + self.label = QtWidgets.QLabel(importer) + self.label.setObjectName("label") + self.horizontalLayout.addWidget(self.label) + self.cmbImporters = QtWidgets.QComboBox(importer) + self.cmbImporters.setObjectName("cmbImporters") + self.horizontalLayout.addWidget(self.cmbImporters) + self.btnManageImporters = QtWidgets.QPushButton(importer) + icon = QtGui.QIcon.fromTheme("preferences-system") + self.btnManageImporters.setIcon(icon) + self.btnManageImporters.setObjectName("btnManageImporters") + self.horizontalLayout.addWidget(self.btnManageImporters) + spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) + self.horizontalLayout.addItem(spacerItem) + self.btnChoseFile = QtWidgets.QPushButton(importer) + icon = QtGui.QIcon.fromTheme("document-import") + self.btnChoseFile.setIcon(icon) + self.btnChoseFile.setObjectName("btnChoseFile") + self.horizontalLayout.addWidget(self.btnChoseFile) + self.btnPreview = QtWidgets.QPushButton(importer) + icon = QtGui.QIcon.fromTheme("document-print-preview") + self.btnPreview.setIcon(icon) + self.btnPreview.setObjectName("btnPreview") + self.horizontalLayout.addWidget(self.btnPreview) + self.verticalLayout.addLayout(self.horizontalLayout) + self.splitter = QtWidgets.QSplitter(importer) + self.splitter.setOrientation(QtCore.Qt.Horizontal) + self.splitter.setObjectName("splitter") + self.grpSettings = QtWidgets.QGroupBox(self.splitter) + self.grpSettings.setObjectName("grpSettings") + self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.grpSettings) + self.verticalLayout_3.setContentsMargins(0, 0, 0, 0) + self.verticalLayout_3.setSpacing(0) + self.verticalLayout_3.setObjectName("verticalLayout_3") + self.grpPreview = QtWidgets.QGroupBox(self.splitter) + self.grpPreview.setObjectName("grpPreview") + self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.grpPreview) + self.verticalLayout_2.setContentsMargins(0, 0, 0, 0) + self.verticalLayout_2.setSpacing(0) + self.verticalLayout_2.setObjectName("verticalLayout_2") + self.verticalLayout.addWidget(self.splitter) + + self.retranslateUi(importer) + QtCore.QMetaObject.connectSlotsByName(importer) + + def retranslateUi(self, importer): + _translate = QtCore.QCoreApplication.translate + importer.setWindowTitle(_translate("importer", "Import")) + self.label.setText(_translate("importer", "Import from:")) + self.btnManageImporters.setText(_translate("importer", "Manage importers")) + self.btnChoseFile.setText(_translate("importer", "Chose file")) + self.btnPreview.setText(_translate("importer", "Preview")) + self.grpSettings.setTitle(_translate("importer", "Settings")) + self.grpPreview.setTitle(_translate("importer", "Preview")) + diff --git a/manuskript/ui/importers/importer_ui.ui b/manuskript/ui/importers/importer_ui.ui new file mode 100644 index 00000000..2d3ce526 --- /dev/null +++ b/manuskript/ui/importers/importer_ui.ui @@ -0,0 +1,133 @@ + + + importer + + + + 0 + 0 + 694 + 489 + + + + Import + + + + + + + + Import from: + + + + + + + + + + Manage importers + + + + + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Chose file + + + + + + + + + + Preview + + + + + + + + + + + + + + Qt::Horizontal + + + + Settings + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + + Preview + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + + + + + + diff --git a/manuskript/ui/mainWindow.py b/manuskript/ui/mainWindow.py index 73237964..91bc55d1 100644 --- a/manuskript/ui/mainWindow.py +++ b/manuskript/ui/mainWindow.py @@ -1189,12 +1189,17 @@ class Ui_MainWindow(object): icon = QtGui.QIcon.fromTheme("stock_view-details") self.actAbout.setIcon(icon) self.actAbout.setObjectName("actAbout") + self.actImport = QtWidgets.QAction(MainWindow) + icon = QtGui.QIcon.fromTheme("document-import") + self.actImport.setIcon(icon) + self.actImport.setObjectName("actImport") self.menuFile.addAction(self.actOpen) self.menuFile.addAction(self.menuRecents.menuAction()) self.menuFile.addAction(self.actSave) self.menuFile.addAction(self.actSaveAs) self.menuFile.addAction(self.actCloseProject) self.menuFile.addSeparator() + self.menuFile.addAction(self.actImport) self.menuFile.addAction(self.actCompile) self.menuFile.addSeparator() self.menuFile.addAction(self.actQuit) @@ -1360,6 +1365,7 @@ class Ui_MainWindow(object): self.actToolFrequency.setText(_translate("MainWindow", "&Frequency Analyzer")) self.actAbout.setText(_translate("MainWindow", "&About")) self.actAbout.setToolTip(_translate("MainWindow", "About Manuskript")) + self.actImport.setText(_translate("MainWindow", "Import…")) from manuskript.ui.cheatSheet import cheatSheet from manuskript.ui.editors.mainEditor import mainEditor diff --git a/manuskript/ui/mainWindow.ui b/manuskript/ui/mainWindow.ui index 05063d73..f341bd68 100644 --- a/manuskript/ui/mainWindow.ui +++ b/manuskript/ui/mainWindow.ui @@ -2116,6 +2116,7 @@ + @@ -2482,6 +2483,14 @@ QListView::item:hover { About Manuskript + + + + + + Import… + +