Multi tab mode, work in progress

This commit is contained in:
Olivier Keshavjee 2015-06-27 14:06:35 +02:00
parent 8a4e9db845
commit a6840644cb
8 changed files with 537 additions and 393 deletions

View file

@ -27,6 +27,8 @@ SOURCES += ../src/ui/editors/editorWidget.py
SOURCES += ../src/ui/editors/fullScreenEditor.py
SOURCES += ../src/ui/editors/textFormat.py
SOURCES += ../src/ui/editors/completer.py
SOURCES += ../src/ui/editors/mainEditor.py
SOURCES += ../src/ui/views/corkDelegate.py
SOURCES += ../src/ui/views/outlineDelegates.py

View file

@ -110,23 +110,6 @@ class MainWindow(QMainWindow, Ui_MainWindow):
# OUTLINE
###############################################################################
def outlineSelectionChanged(self):
if len(self.treeRedacOutline.selectionModel().
selection().indexes()) == 0:
hidden = False
else:
idx = self.treeRedacOutline.currentIndex()
if idx.isValid():
hidden = not idx.internalPointer().isFolder()
else:
hidden = False
self.btnRedacFolderText.setHidden(hidden)
self.btnRedacFolderCork.setHidden(hidden)
self.btnRedacFolderOutline.setHidden(hidden)
self.sldCorkSizeFactor.setHidden(hidden)
self.btnRedacFullscreen.setVisible(hidden)
def outlineRemoveItems(self):
for idx in self.treeRedacOutline.selectedIndexes():
if idx.isValid():
@ -334,21 +317,21 @@ class MainWindow(QMainWindow, Ui_MainWindow):
# Load settings
self.generateViewMenu()
self.sldCorkSizeFactor.setValue(settings.corkSizeFactor)
self.mainEditor.sldCorkSizeFactor.setValue(settings.corkSizeFactor)
self.actSpellcheck.setChecked(settings.spellcheck)
self.updateMenuDict()
self.setDictionary()
self.treeRedacOutline.setCurrentIndex(
self.mdlOutline.indexFromPath(settings.lastIndex))
self.redacEditor.setFolderView(settings.folderView)
self.mainEditor.setFolderView(settings.folderView)
if settings.folderView == "text":
self.btnRedacFolderText.setChecked(True)
self.mainEditor.btnRedacFolderText.setChecked(True)
elif settings.folderView == "cork":
self.btnRedacFolderCork.setChecked(True)
self.mainEditor.btnRedacFolderCork.setChecked(True)
elif settings.folderView == "outline":
self.btnRedacFolderOutline.setChecked(True)
self.mainEditor.btnRedacFolderOutline.setChecked(True)
self.tabMain.setCurrentIndex(settings.lastTab)
self.redacEditor.corkView.updateBackground()
self.mainEditor.updateCorkBackground()
# Set autosave
self.saveTimer = QTimer()
@ -584,19 +567,6 @@ class MainWindow(QMainWindow, Ui_MainWindow):
self.btnRedacRemoveItem.clicked.connect(self.outlineRemoveItems, AUC)
self.btnPlanRemoveItem.clicked.connect(self.outlineRemoveItems, AUC)
self.sldCorkSizeFactor.valueChanged.connect(
self.redacEditor.setCorkSizeFactor, AUC)
self.btnRedacFolderCork.toggled.connect(
self.sldCorkSizeFactor.setVisible, AUC)
self.btnRedacFolderText.clicked.connect(
lambda v: self.redacEditor.setFolderView("text"), AUC)
self.btnRedacFolderCork.clicked.connect(
lambda v: self.redacEditor.setFolderView("cork"), AUC)
self.btnRedacFolderOutline.clicked.connect(
lambda v: self.redacEditor.setFolderView("outline"), AUC)
def makeConnections(self):
# Flat datas (Summary and general infos)
@ -709,7 +679,7 @@ class MainWindow(QMainWindow, Ui_MainWindow):
self.mdlLabels, self.mdlStatus)
self.treePlanOutline.setModel(self.mdlOutline)
self.redacEditor.setModel(self.mdlOutline)
#self.redacEditor.setModel(self.mdlOutline)
self.treePlanOutline.selectionModel().selectionChanged.connect(lambda:
self.outlineItemEditor.selectionChanged(self.treePlanOutline), AUC)
@ -725,10 +695,10 @@ class MainWindow(QMainWindow, Ui_MainWindow):
lambda: self.redacMetadata.selectionChanged(self.treeRedacOutline), AUC)
#self.treeRedacOutline.selectionModel().currentChanged.connect(self.redacEditor.setCurrentModelIndex)
self.treeRedacOutline.selectionModel().selectionChanged.connect(self.redacEditor.setView, AUC)
self.treeRedacOutline.selectionModel().currentChanged.connect(self.redacEditor.txtRedacText.setCurrentModelIndex, AUC)
self.treeRedacOutline.selectionModel().selectionChanged.connect(self.mainEditor.selectionChanged, AUC)
self.treeRedacOutline.selectionModel().currentChanged.connect(self.mainEditor.setCurrentModelIndex, AUC)
self.treeRedacOutline.selectionModel().selectionChanged.connect(self.outlineSelectionChanged, AUC)
#self.treeRedacOutline.selectionModel().selectionChanged.connect(self.outlineSelectionChanged, AUC)
#self.treeRedacOutline.selectionModel().selectionChanged.connect(self.outlineSelectionChanged, AUC)
#self.treePlanOutline.selectionModel().selectionChanged.connect(self.outlineSelectionChanged, AUC)
#self.treePlanOutline.selectionModel().selectionChanged.connect(self.outlineSelectionChanged, AUC)
@ -865,7 +835,7 @@ class MainWindow(QMainWindow, Ui_MainWindow):
self.menuTools.addMenu(self.menuDict)
self.actSpellcheck.toggled.connect(self.toggleSpellcheck, AUC)
self.dictChanged.connect(self.redacEditor.setDict, AUC)
self.dictChanged.connect(self.mainEditor.setDict, AUC)
self.dictChanged.connect(self.redacMetadata.setDict, AUC)
self.dictChanged.connect(self.outlineItemEditor.setDict, AUC)
@ -877,10 +847,6 @@ class MainWindow(QMainWindow, Ui_MainWindow):
a.triggered.connect(self.openPyEnchantWebPage, AUC)
self.menuTools.addAction(a)
self.btnRedacFullscreen.clicked.connect(
lambda: self.redacEditor.showFullscreen(
self.treeRedacOutline.currentIndex()), AUC)
###############################################################################
# SPELLCHECK
###############################################################################
@ -921,7 +887,7 @@ class MainWindow(QMainWindow, Ui_MainWindow):
def toggleSpellcheck(self, val):
settings.spellcheck = val
self.redacEditor.toggleSpellcheck(val)
self.mainEditor.toggleSpellcheck(val)
self.redacMetadata.toggleSpellcheck(val)
self.outlineItemEditor.toggleSpellcheck(val)
@ -1021,9 +987,9 @@ class MainWindow(QMainWindow, Ui_MainWindow):
def setViewSettings(self, item, part, element):
settings.viewSettings[item][part] = element
if item == "Cork":
self.redacEditor.corkView.viewport().update()
self.mainEditor.updateCorkView()
if item == "Outline":
self.redacEditor.outlineView.viewport().update()
self.mainEditor.updateTreeView()
self.treePlanOutline.viewport().update()
if item == "Tree":
self.treeRedacOutline.viewport().update()

View file

@ -15,7 +15,7 @@ class editorWidget(QWidget, Ui_editorWidget_ui):
toggledSpellcheck = pyqtSignal(bool)
dictChanged = pyqtSignal(str)
def __init__(self, parent=None):
def __init__(self, parent):
QWidget.__init__(self, parent)
self.setupUi(self)
self.currentIndex = QModelIndex()
@ -28,9 +28,9 @@ class editorWidget(QWidget, Ui_editorWidget_ui):
self.spellcheck = True
self.folderView = "cork"
def setModel(self, model):
self._model = model
self.setView()
#def setModel(self, model):
#self._model = model
#self.setView()
def setFolderView(self, v):
oldV = self.folderView
@ -164,7 +164,6 @@ class editorWidget(QWidget, Ui_editorWidget_ui):
self.corkView.clicked.connect(
lambda: mainWindow().redacMetadata.selectionChanged(self.corkView), AUC)
elif item and item.isFolder() and self.folderView == "outline":
self.stack.setCurrentIndex(3)
self.outlineView.setModelPersos(mainWindow().mdlPersos)
@ -177,8 +176,8 @@ class editorWidget(QWidget, Ui_editorWidget_ui):
self.outlineView.clicked.connect(
lambda: mainWindow().redacMetadata.selectionChanged(self.outlineView), AUC)
else:
self.txtRedacText.setCurrentModelIndex(self.currentIndex)
self.stack.setCurrentIndex(0) # Single text item
try:
@ -208,39 +207,10 @@ class editorWidget(QWidget, Ui_editorWidget_ui):
# Update progress
#if self.currentIndex and self.currentIndex.isValid():
if self._model:
if self.currentIndex:
item = self.currentIndex.internalPointer()
else:
item = self._model.rootItem
if not item:
item = self._model.rootItem
wc = item.data(Outline.wordCount.value)
goal = item.data(Outline.goal.value)
pg = item.data(Outline.goalPercentage.value)
#mw = qApp.activeWindow()
mw = mainWindow()
if not mw: return
if not wc:
wc = 0
if goal:
mw.lblRedacProgress.show()
rect = mw.lblRedacProgress.geometry()
rect = QRect(QPoint(0, 0), rect.size())
self.px = QPixmap(rect.size())
self.px.fill(Qt.transparent)
p = QPainter(self.px)
drawProgress(p, rect, pg, 2)
del p
mw.lblRedacProgress.setPixmap(self.px)
mw.lblRedacWC.setText(self.tr("{} words / {}").format(wc, goal))
else:
mw.lblRedacProgress.hide()
mw.lblRedacWC.setText(self.tr("{} words").format(wc))
mw.mainEditor.updateStats(self.currentIndex)
def toggleSpellcheck(self, v):
self.spellcheck = v

View file

@ -0,0 +1,177 @@
#!/usr/bin/env python
#--!-- coding: utf8 --!--
from qt import *
from enums import *
from ui.editors.mainEditor_ui import *
from ui.editors.editorWidget import *
from functions import *
class mainEditor(QWidget, Ui_mainEditor):
def __init__(self, parent=None):
QWidget.__init__(self, parent)
self.setupUi(self)
self.mw = mainWindow()
self.tab.tabCloseRequested.connect(self.closeTab)
self.tab.currentChanged.connect(self.tabChanged)
self.sldCorkSizeFactor.valueChanged.connect(
self.setCorkSizeFactor, AUC)
self.btnRedacFolderCork.toggled.connect(
self.sldCorkSizeFactor.setVisible, AUC)
self.btnRedacFolderText.clicked.connect(
lambda v: self.setFolderView("text"), AUC)
self.btnRedacFolderCork.clicked.connect(
lambda v: self.setFolderView("cork"), AUC)
self.btnRedacFolderOutline.clicked.connect(
lambda v: self.setFolderView("outline"), AUC)
self.btnRedacFullscreen.clicked.connect(
self.showFullScreen, AUC)
###############################################################################
# TABS
###############################################################################
def currentEditor(self):
return self.tab.currentWidget()
def tabChanged(self, index):
#FIXME: Update UI
pass
def closeTab(self, index):
#FIXME: submit data if textedit?
self.tab.removeTab(index)
###############################################################################
# SELECTION AND UPDATES
###############################################################################
def selectionChanged(self):
if len(self.mw.treeRedacOutline.selectionModel().
selection().indexes()) == 0:
hidden = False
else:
idx = self.mw.treeRedacOutline.currentIndex()
if idx.isValid():
hidden = not idx.internalPointer().isFolder()
else:
hidden = False
self.btnRedacFolderText.setHidden(hidden)
self.btnRedacFolderCork.setHidden(hidden)
self.btnRedacFolderOutline.setHidden(hidden)
self.sldCorkSizeFactor.setHidden(hidden)
self.btnRedacFullscreen.setVisible(hidden)
#FIXME
#self.redacEditor.setView
def setCurrentModelIndex(self, index, newTab=False):
if not index.isValid():
return
item = index.internalPointer()
editor = editorWidget(self)
editor.setCurrentModelIndex(index)
self.tab.addTab(editor, item.title())
self.tab.setCurrentIndex(self.tab.count() - 1)
#FIXME: check if tab is already open
#self.redacEditor.txtRedacText.setCurrentModelIndex
#FIXME
###############################################################################
# UI
###############################################################################
def updateStats(self, index=None):
if index:
item = index.internalPointer()
else:
item = self._model.rootItem
if not item:
item = self._model.rootItem
wc = item.data(Outline.wordCount.value)
goal = item.data(Outline.goal.value)
progress = item.data(Outline.goalPercentage.value)
#mw = qApp.activeWindow()
if not wc:
wc = 0
if goal:
self.lblRedacProgress.show()
rect = self.lblRedacProgress.geometry()
rect = QRect(QPoint(0, 0), rect.size())
self.px = QPixmap(rect.size())
self.px.fill(Qt.transparent)
p = QPainter(self.px)
drawProgress(p, rect, progress, 2)
del p
self.lblRedacProgress.setPixmap(self.px)
self.lblRedacWC.setText(self.tr("{} words / {}").format(wc, goal))
else:
self.lblRedacProgress.hide()
self.lblRedacWC.setText(self.tr("{} words").format(wc))
###############################################################################
# VIEWS
###############################################################################
def setFolderView(self, view):
#FIXME
if self.currentEditor():
self.currentEditor().setFolderView(view)
pass
#self.redacEditor.setFolderView(settings.folderView)
def setCorkSizeFactor(self, val):
#FIXME
pass
#self.redacEditor.setCorkSizeFactor
def updateCorkView(self):
pass
#FIXME
#self.redacEditor.corkView.viewport().update()
def updateCorkBackground(self):
pass
#FIXME
#self.redacEditor.corkView.updateBackground()
def updateTreeView(self):
pass
#FIXME
#self.redacEditor.outlineView.viewport().update()
def showFullScreen(self):
pass
#FIXME
#self.redacEditor.showFullscreen(self.treeRedacOutline.currentIndex()
###############################################################################
# DICT AND STUFF LIKE THAT
###############################################################################
def setDict(self, dict):
pass
#FIXME
def toggleSpellcheck(self, val):
pass
#FIXME
#self.redacEditor.toggleSpellcheck(val)

View file

@ -0,0 +1,101 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'src/ui/editors/mainEditor_ui.ui'
#
# Created by: PyQt5 UI code generator 5.4.1
#
# WARNING! All changes made in this file will be lost!
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_mainEditor(object):
def setupUi(self, mainEditor):
mainEditor.setObjectName("mainEditor")
mainEditor.resize(626, 300)
self.verticalLayout = QtWidgets.QVBoxLayout(mainEditor)
self.verticalLayout.setContentsMargins(0, 0, 0, 0)
self.verticalLayout.setObjectName("verticalLayout")
self.tab = QtWidgets.QTabWidget(mainEditor)
self.tab.setDocumentMode(True)
self.tab.setTabsClosable(True)
self.tab.setMovable(True)
self.tab.setObjectName("tab")
self.verticalLayout.addWidget(self.tab)
self.horizontalLayout_19 = QtWidgets.QHBoxLayout()
self.horizontalLayout_19.setObjectName("horizontalLayout_19")
self.btnRedacShowOutline = QtWidgets.QPushButton(mainEditor)
self.btnRedacShowOutline.setText("")
icon = QtGui.QIcon.fromTheme("text-x-generic")
self.btnRedacShowOutline.setIcon(icon)
self.btnRedacShowOutline.setCheckable(True)
self.btnRedacShowOutline.setChecked(True)
self.btnRedacShowOutline.setObjectName("btnRedacShowOutline")
self.horizontalLayout_19.addWidget(self.btnRedacShowOutline)
self.btnRedacFolderText = QtWidgets.QPushButton(mainEditor)
self.btnRedacFolderText.setCheckable(True)
self.btnRedacFolderText.setObjectName("btnRedacFolderText")
self.buttonGroup = QtWidgets.QButtonGroup(mainEditor)
self.buttonGroup.setObjectName("buttonGroup")
self.buttonGroup.addButton(self.btnRedacFolderText)
self.horizontalLayout_19.addWidget(self.btnRedacFolderText)
self.btnRedacFolderCork = QtWidgets.QPushButton(mainEditor)
self.btnRedacFolderCork.setCheckable(True)
self.btnRedacFolderCork.setChecked(True)
self.btnRedacFolderCork.setObjectName("btnRedacFolderCork")
self.buttonGroup.addButton(self.btnRedacFolderCork)
self.horizontalLayout_19.addWidget(self.btnRedacFolderCork)
self.btnRedacFolderOutline = QtWidgets.QPushButton(mainEditor)
self.btnRedacFolderOutline.setCheckable(True)
self.btnRedacFolderOutline.setObjectName("btnRedacFolderOutline")
self.buttonGroup.addButton(self.btnRedacFolderOutline)
self.horizontalLayout_19.addWidget(self.btnRedacFolderOutline)
self.sldCorkSizeFactor = QtWidgets.QSlider(mainEditor)
self.sldCorkSizeFactor.setMinimumSize(QtCore.QSize(100, 0))
self.sldCorkSizeFactor.setMaximumSize(QtCore.QSize(200, 16777215))
self.sldCorkSizeFactor.setMinimum(50)
self.sldCorkSizeFactor.setMaximum(200)
self.sldCorkSizeFactor.setProperty("value", 100)
self.sldCorkSizeFactor.setOrientation(QtCore.Qt.Horizontal)
self.sldCorkSizeFactor.setObjectName("sldCorkSizeFactor")
self.horizontalLayout_19.addWidget(self.sldCorkSizeFactor)
spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout_19.addItem(spacerItem)
self.lblRedacWC = QtWidgets.QLabel(mainEditor)
self.lblRedacWC.setMinimumSize(QtCore.QSize(10, 0))
self.lblRedacWC.setText("")
self.lblRedacWC.setObjectName("lblRedacWC")
self.horizontalLayout_19.addWidget(self.lblRedacWC)
self.lblRedacProgress = QtWidgets.QLabel(mainEditor)
self.lblRedacProgress.setMinimumSize(QtCore.QSize(100, 6))
self.lblRedacProgress.setMaximumSize(QtCore.QSize(200, 14))
self.lblRedacProgress.setText("")
self.lblRedacProgress.setObjectName("lblRedacProgress")
self.horizontalLayout_19.addWidget(self.lblRedacProgress)
self.btnRedacFullscreen = QtWidgets.QPushButton(mainEditor)
self.btnRedacFullscreen.setText("")
icon = QtGui.QIcon.fromTheme("view-fullscreen")
self.btnRedacFullscreen.setIcon(icon)
self.btnRedacFullscreen.setObjectName("btnRedacFullscreen")
self.horizontalLayout_19.addWidget(self.btnRedacFullscreen)
self.btnRedacShowInfos = QtWidgets.QPushButton(mainEditor)
self.btnRedacShowInfos.setText("")
icon = QtGui.QIcon.fromTheme("edit-find")
self.btnRedacShowInfos.setIcon(icon)
self.btnRedacShowInfos.setCheckable(True)
self.btnRedacShowInfos.setChecked(True)
self.btnRedacShowInfos.setObjectName("btnRedacShowInfos")
self.horizontalLayout_19.addWidget(self.btnRedacShowInfos)
self.verticalLayout.addLayout(self.horizontalLayout_19)
self.retranslateUi(mainEditor)
self.tab.setCurrentIndex(-1)
QtCore.QMetaObject.connectSlotsByName(mainEditor)
def retranslateUi(self, mainEditor):
_translate = QtCore.QCoreApplication.translate
mainEditor.setWindowTitle(_translate("mainEditor", "Form"))
self.btnRedacFolderText.setText(_translate("mainEditor", "Text"))
self.btnRedacFolderCork.setText(_translate("mainEditor", "Index cards"))
self.btnRedacFolderOutline.setText(_translate("mainEditor", "Outline"))
self.btnRedacFullscreen.setShortcut(_translate("mainEditor", "F11"))

View file

@ -0,0 +1,210 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>mainEditor</class>
<widget class="QWidget" name="mainEditor">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>626</width>
<height>300</height>
</rect>
</property>
<property name="windowTitle">
<string>Form</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<property name="margin">
<number>0</number>
</property>
<item>
<widget class="QTabWidget" name="tab">
<property name="currentIndex">
<number>-1</number>
</property>
<property name="documentMode">
<bool>true</bool>
</property>
<property name="tabsClosable">
<bool>true</bool>
</property>
<property name="movable">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_19">
<item>
<widget class="QPushButton" name="btnRedacShowOutline">
<property name="text">
<string/>
</property>
<property name="icon">
<iconset theme="text-x-generic">
<normaloff>../../../../../../../../.designer/backup</normaloff>../../../../../../../../.designer/backup</iconset>
</property>
<property name="checkable">
<bool>true</bool>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="btnRedacFolderText">
<property name="text">
<string>Text</string>
</property>
<property name="checkable">
<bool>true</bool>
</property>
<attribute name="buttonGroup">
<string notr="true">buttonGroup</string>
</attribute>
</widget>
</item>
<item>
<widget class="QPushButton" name="btnRedacFolderCork">
<property name="text">
<string>Index cards</string>
</property>
<property name="checkable">
<bool>true</bool>
</property>
<property name="checked">
<bool>true</bool>
</property>
<attribute name="buttonGroup">
<string notr="true">buttonGroup</string>
</attribute>
</widget>
</item>
<item>
<widget class="QPushButton" name="btnRedacFolderOutline">
<property name="text">
<string>Outline</string>
</property>
<property name="checkable">
<bool>true</bool>
</property>
<attribute name="buttonGroup">
<string notr="true">buttonGroup</string>
</attribute>
</widget>
</item>
<item>
<widget class="QSlider" name="sldCorkSizeFactor">
<property name="minimumSize">
<size>
<width>100</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>200</width>
<height>16777215</height>
</size>
</property>
<property name="minimum">
<number>50</number>
</property>
<property name="maximum">
<number>200</number>
</property>
<property name="value">
<number>100</number>
</property>
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QLabel" name="lblRedacWC">
<property name="minimumSize">
<size>
<width>10</width>
<height>0</height>
</size>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="lblRedacProgress">
<property name="minimumSize">
<size>
<width>100</width>
<height>6</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>200</width>
<height>14</height>
</size>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="btnRedacFullscreen">
<property name="text">
<string/>
</property>
<property name="icon">
<iconset theme="view-fullscreen">
<normaloff>../../../../../../../../.designer/backup</normaloff>../../../../../../../../.designer/backup</iconset>
</property>
<property name="shortcut">
<string>F11</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="btnRedacShowInfos">
<property name="text">
<string/>
</property>
<property name="icon">
<iconset theme="edit-find">
<normaloff>../../../../../../../../.designer/backup</normaloff>../../../../../../../../.designer/backup</iconset>
</property>
<property name="checkable">
<bool>true</bool>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
<resources/>
<connections/>
<buttongroups>
<buttongroup name="buttonGroup"/>
</buttongroups>
</ui>

View file

@ -776,34 +776,34 @@ class Ui_MainWindow(object):
self.tabMain.addTab(self.lytTabOutline, "")
self.lytTabRedac = QtWidgets.QWidget()
self.lytTabRedac.setObjectName("lytTabRedac")
self.verticalLayout_19 = QtWidgets.QVBoxLayout(self.lytTabRedac)
self.verticalLayout_19.setObjectName("verticalLayout_19")
self.verticalLayout_16 = QtWidgets.QVBoxLayout(self.lytTabRedac)
self.verticalLayout_16.setObjectName("verticalLayout_16")
self.splitterRedac = QtWidgets.QSplitter(self.lytTabRedac)
self.splitterRedac.setOrientation(QtCore.Qt.Horizontal)
self.splitterRedac.setObjectName("splitterRedac")
self.widget = QtWidgets.QWidget(self.splitterRedac)
self.widget.setObjectName("widget")
self.verticalLayout_30 = QtWidgets.QVBoxLayout(self.widget)
self.treeRedacWidget = QtWidgets.QWidget(self.splitterRedac)
self.treeRedacWidget.setObjectName("treeRedacWidget")
self.verticalLayout_30 = QtWidgets.QVBoxLayout(self.treeRedacWidget)
self.verticalLayout_30.setContentsMargins(0, 0, 0, 0)
self.verticalLayout_30.setObjectName("verticalLayout_30")
self.treeRedacOutline = treeView(self.widget)
self.treeRedacOutline = treeView(self.treeRedacWidget)
self.treeRedacOutline.setObjectName("treeRedacOutline")
self.verticalLayout_30.addWidget(self.treeRedacOutline)
self.horizontalLayout_31 = QtWidgets.QHBoxLayout()
self.horizontalLayout_31.setObjectName("horizontalLayout_31")
self.btnRedacAddFolder = QtWidgets.QPushButton(self.widget)
self.btnRedacAddFolder = QtWidgets.QPushButton(self.treeRedacWidget)
self.btnRedacAddFolder.setText("")
icon = QtGui.QIcon.fromTheme("folder-new")
self.btnRedacAddFolder.setIcon(icon)
self.btnRedacAddFolder.setObjectName("btnRedacAddFolder")
self.horizontalLayout_31.addWidget(self.btnRedacAddFolder)
self.btnRedacAddText = QtWidgets.QPushButton(self.widget)
self.btnRedacAddText = QtWidgets.QPushButton(self.treeRedacWidget)
self.btnRedacAddText.setText("")
icon = QtGui.QIcon.fromTheme("document-new")
self.btnRedacAddText.setIcon(icon)
self.btnRedacAddText.setObjectName("btnRedacAddText")
self.horizontalLayout_31.addWidget(self.btnRedacAddText)
self.btnRedacRemoveItem = QtWidgets.QPushButton(self.widget)
self.btnRedacRemoveItem = QtWidgets.QPushButton(self.treeRedacWidget)
self.btnRedacRemoveItem.setText("")
icon = QtGui.QIcon.fromTheme("list-remove")
self.btnRedacRemoveItem.setIcon(icon)
@ -812,79 +812,8 @@ class Ui_MainWindow(object):
spacerItem16 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout_31.addItem(spacerItem16)
self.verticalLayout_30.addLayout(self.horizontalLayout_31)
self.layoutWidget1 = QtWidgets.QWidget(self.splitterRedac)
self.layoutWidget1.setObjectName("layoutWidget1")
self.verticalLayout_16 = QtWidgets.QVBoxLayout(self.layoutWidget1)
self.verticalLayout_16.setContentsMargins(0, 0, 0, 0)
self.verticalLayout_16.setObjectName("verticalLayout_16")
self.redacEditor = editorWidget(self.layoutWidget1)
self.redacEditor.setObjectName("redacEditor")
self.verticalLayout_16.addWidget(self.redacEditor)
self.horizontalLayout_19 = QtWidgets.QHBoxLayout()
self.horizontalLayout_19.setObjectName("horizontalLayout_19")
self.btnRedacShowOutline = QtWidgets.QPushButton(self.layoutWidget1)
self.btnRedacShowOutline.setText("")
icon = QtGui.QIcon.fromTheme("text-x-generic")
self.btnRedacShowOutline.setIcon(icon)
self.btnRedacShowOutline.setCheckable(True)
self.btnRedacShowOutline.setChecked(True)
self.btnRedacShowOutline.setObjectName("btnRedacShowOutline")
self.horizontalLayout_19.addWidget(self.btnRedacShowOutline)
self.btnRedacFolderText = QtWidgets.QPushButton(self.layoutWidget1)
self.btnRedacFolderText.setCheckable(True)
self.btnRedacFolderText.setObjectName("btnRedacFolderText")
self.buttonGroup = QtWidgets.QButtonGroup(MainWindow)
self.buttonGroup.setObjectName("buttonGroup")
self.buttonGroup.addButton(self.btnRedacFolderText)
self.horizontalLayout_19.addWidget(self.btnRedacFolderText)
self.btnRedacFolderCork = QtWidgets.QPushButton(self.layoutWidget1)
self.btnRedacFolderCork.setCheckable(True)
self.btnRedacFolderCork.setChecked(True)
self.btnRedacFolderCork.setObjectName("btnRedacFolderCork")
self.buttonGroup.addButton(self.btnRedacFolderCork)
self.horizontalLayout_19.addWidget(self.btnRedacFolderCork)
self.btnRedacFolderOutline = QtWidgets.QPushButton(self.layoutWidget1)
self.btnRedacFolderOutline.setCheckable(True)
self.btnRedacFolderOutline.setObjectName("btnRedacFolderOutline")
self.buttonGroup.addButton(self.btnRedacFolderOutline)
self.horizontalLayout_19.addWidget(self.btnRedacFolderOutline)
self.sldCorkSizeFactor = QtWidgets.QSlider(self.layoutWidget1)
self.sldCorkSizeFactor.setMinimumSize(QtCore.QSize(100, 0))
self.sldCorkSizeFactor.setMaximumSize(QtCore.QSize(200, 16777215))
self.sldCorkSizeFactor.setMinimum(50)
self.sldCorkSizeFactor.setMaximum(200)
self.sldCorkSizeFactor.setProperty("value", 100)
self.sldCorkSizeFactor.setOrientation(QtCore.Qt.Horizontal)
self.sldCorkSizeFactor.setObjectName("sldCorkSizeFactor")
self.horizontalLayout_19.addWidget(self.sldCorkSizeFactor)
spacerItem17 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout_19.addItem(spacerItem17)
self.lblRedacWC = QtWidgets.QLabel(self.layoutWidget1)
self.lblRedacWC.setMinimumSize(QtCore.QSize(10, 0))
self.lblRedacWC.setText("")
self.lblRedacWC.setObjectName("lblRedacWC")
self.horizontalLayout_19.addWidget(self.lblRedacWC)
self.lblRedacProgress = QtWidgets.QLabel(self.layoutWidget1)
self.lblRedacProgress.setMinimumSize(QtCore.QSize(100, 6))
self.lblRedacProgress.setMaximumSize(QtCore.QSize(200, 14))
self.lblRedacProgress.setText("")
self.lblRedacProgress.setObjectName("lblRedacProgress")
self.horizontalLayout_19.addWidget(self.lblRedacProgress)
self.btnRedacFullscreen = QtWidgets.QPushButton(self.layoutWidget1)
self.btnRedacFullscreen.setText("")
icon = QtGui.QIcon.fromTheme("view-fullscreen")
self.btnRedacFullscreen.setIcon(icon)
self.btnRedacFullscreen.setObjectName("btnRedacFullscreen")
self.horizontalLayout_19.addWidget(self.btnRedacFullscreen)
self.btnRedacShowInfos = QtWidgets.QPushButton(self.layoutWidget1)
self.btnRedacShowInfos.setText("")
icon = QtGui.QIcon.fromTheme("edit-find")
self.btnRedacShowInfos.setIcon(icon)
self.btnRedacShowInfos.setCheckable(True)
self.btnRedacShowInfos.setChecked(True)
self.btnRedacShowInfos.setObjectName("btnRedacShowInfos")
self.horizontalLayout_19.addWidget(self.btnRedacShowInfos)
self.verticalLayout_16.addLayout(self.horizontalLayout_19)
self.mainEditor = mainEditor(self.splitterRedac)
self.mainEditor.setObjectName("mainEditor")
self.tabRedacInfos = QtWidgets.QTabWidget(self.splitterRedac)
self.tabRedacInfos.setTabPosition(QtWidgets.QTabWidget.South)
self.tabRedacInfos.setDocumentMode(True)
@ -929,7 +858,7 @@ class Ui_MainWindow(object):
self.verticalLayout_15.addWidget(self.textEdit)
self.verticalLayout_21.addWidget(self.groupBox_3)
self.tabRedacInfos.addTab(self.tab_18, "")
self.verticalLayout_19.addWidget(self.splitterRedac)
self.verticalLayout_16.addWidget(self.splitterRedac)
self.tabMain.addTab(self.lytTabRedac, "")
self.lytTabDebug = QtWidgets.QWidget()
self.lytTabDebug.setObjectName("lytTabDebug")
@ -1118,8 +1047,6 @@ class Ui_MainWindow(object):
self.btnPlotShowSummary.toggled['bool'].connect(self.grpPlotSummary.setVisible)
self.comboBox_2.currentIndexChanged['int'].connect(self.stkPlotSummary.setCurrentIndex)
self.btnPlanShowDetails.toggled['bool'].connect(self.frame.setVisible)
self.btnRedacShowInfos.toggled['bool'].connect(self.tabRedacInfos.setVisible)
self.btnRedacShowOutline.toggled['bool'].connect(self.widget.setVisible)
self.cmbSummary.currentIndexChanged['int'].connect(self.tabSummary.setCurrentIndex)
self.tabSummary.currentChanged['int'].connect(self.cmbSummary.setCurrentIndex)
self.btnShowSubPlotSummary.toggled['bool'].connect(self.grpSubPlotSummary.setVisible)
@ -1193,10 +1120,6 @@ class Ui_MainWindow(object):
self.tabMain.setTabText(self.tabMain.indexOf(self.lytTabPlot), _translate("MainWindow", "Plots"))
self.tabMain.setTabText(self.tabMain.indexOf(self.tab_5), _translate("MainWindow", "Context"))
self.tabMain.setTabText(self.tabMain.indexOf(self.lytTabOutline), _translate("MainWindow", "Outline"))
self.btnRedacFolderText.setText(_translate("MainWindow", "Text"))
self.btnRedacFolderCork.setText(_translate("MainWindow", "Index cards"))
self.btnRedacFolderOutline.setText(_translate("MainWindow", "Outline"))
self.btnRedacFullscreen.setShortcut(_translate("MainWindow", "F11"))
self.tabRedacInfos.setTabText(self.tabRedacInfos.indexOf(self.tab_17), _translate("MainWindow", "Metadata"))
self.groupBox_3.setTitle(_translate("MainWindow", "Cheat sheet"))
self.lineEdit_3.setPlaceholderText(_translate("MainWindow", "Filter"))
@ -1251,13 +1174,13 @@ class Ui_MainWindow(object):
self.actSettings.setShortcut(_translate("MainWindow", "F8"))
self.actCloseProject.setText(_translate("MainWindow", "Close project"))
from ui.welcome import welcome
from ui.views.basicItemView import basicItemView
from ui.views.plotTreeView import plotTreeView
from ui.views.metadataView import metadataView
from ui.views.treeView import treeView
from ui.editors.editorWidget import editorWidget
from ui.views.outlineView import outlineView
from ui.welcome import welcome
from ui.views.basicItemView import basicItemView
from ui.views.textEditView import textEditView
from ui.views.lineEditView import lineEditView
from ui.views.outlineView import outlineView
from ui.sldImportance import sldImportance
from ui.views.treeView import treeView
from ui.views.lineEditView import lineEditView
from ui.editors.mainEditor import mainEditor

View file

@ -1500,13 +1500,13 @@
<attribute name="title">
<string>Redaction</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout_19">
<layout class="QVBoxLayout" name="verticalLayout_16">
<item>
<widget class="QSplitter" name="splitterRedac">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<widget class="QWidget" name="widget" native="true">
<widget class="QWidget" name="treeRedacWidget" native="true">
<layout class="QVBoxLayout" name="verticalLayout_30">
<property name="margin">
<number>0</number>
@ -1566,180 +1566,7 @@
</item>
</layout>
</widget>
<widget class="QWidget" name="layoutWidget">
<layout class="QVBoxLayout" name="verticalLayout_16">
<item>
<widget class="editorWidget" name="redacEditor" native="true"/>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_19">
<item>
<widget class="QPushButton" name="btnRedacShowOutline">
<property name="text">
<string/>
</property>
<property name="icon">
<iconset theme="text-x-generic">
<normaloff>../../../../../../../.designer/backup</normaloff>../../../../../../../.designer/backup</iconset>
</property>
<property name="checkable">
<bool>true</bool>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="btnRedacFolderText">
<property name="text">
<string>Text</string>
</property>
<property name="checkable">
<bool>true</bool>
</property>
<attribute name="buttonGroup">
<string notr="true">buttonGroup</string>
</attribute>
</widget>
</item>
<item>
<widget class="QPushButton" name="btnRedacFolderCork">
<property name="text">
<string>Index cards</string>
</property>
<property name="checkable">
<bool>true</bool>
</property>
<property name="checked">
<bool>true</bool>
</property>
<attribute name="buttonGroup">
<string notr="true">buttonGroup</string>
</attribute>
</widget>
</item>
<item>
<widget class="QPushButton" name="btnRedacFolderOutline">
<property name="text">
<string>Outline</string>
</property>
<property name="checkable">
<bool>true</bool>
</property>
<attribute name="buttonGroup">
<string notr="true">buttonGroup</string>
</attribute>
</widget>
</item>
<item>
<widget class="QSlider" name="sldCorkSizeFactor">
<property name="minimumSize">
<size>
<width>100</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>200</width>
<height>16777215</height>
</size>
</property>
<property name="minimum">
<number>50</number>
</property>
<property name="maximum">
<number>200</number>
</property>
<property name="value">
<number>100</number>
</property>
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QLabel" name="lblRedacWC">
<property name="minimumSize">
<size>
<width>10</width>
<height>0</height>
</size>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="lblRedacProgress">
<property name="minimumSize">
<size>
<width>100</width>
<height>6</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>200</width>
<height>14</height>
</size>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="btnRedacFullscreen">
<property name="text">
<string/>
</property>
<property name="icon">
<iconset theme="view-fullscreen">
<normaloff>../../../../../../../.designer/backup</normaloff>../../../../../../../.designer/backup</iconset>
</property>
<property name="shortcut">
<string>F11</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="btnRedacShowInfos">
<property name="text">
<string/>
</property>
<property name="icon">
<iconset theme="edit-find">
<normaloff>../../../../../../../.designer/backup</normaloff>../../../../../../../.designer/backup</iconset>
</property>
<property name="checkable">
<bool>true</bool>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
<widget class="mainEditor" name="mainEditor" native="true"/>
<widget class="QTabWidget" name="tabRedacInfos">
<property name="tabPosition">
<enum>QTabWidget::South</enum>
@ -2184,12 +2011,6 @@
<header>ui.sldImportance.h</header>
<container>1</container>
</customwidget>
<customwidget>
<class>editorWidget</class>
<extends>QWidget</extends>
<header>ui.editors.editorWidget.h</header>
<container>1</container>
</customwidget>
<customwidget>
<class>treeView</class>
<extends>QTreeView</extends>
@ -2218,6 +2039,12 @@
<header>ui.welcome.h</header>
<container>1</container>
</customwidget>
<customwidget>
<class>mainEditor</class>
<extends>QWidget</extends>
<header>ui.editors.mainEditor.h</header>
<container>1</container>
</customwidget>
</customwidgets>
<resources/>
<connections>
@ -2269,38 +2096,6 @@
</hint>
</hints>
</connection>
<connection>
<sender>btnRedacShowInfos</sender>
<signal>toggled(bool)</signal>
<receiver>tabRedacInfos</receiver>
<slot>setVisible(bool)</slot>
<hints>
<hint type="sourcelabel">
<x>860</x>
<y>614</y>
</hint>
<hint type="destinationlabel">
<x>1090</x>
<y>772</y>
</hint>
</hints>
</connection>
<connection>
<sender>btnRedacShowOutline</sender>
<signal>toggled(bool)</signal>
<receiver>widget</receiver>
<slot>setVisible(bool)</slot>
<hints>
<hint type="sourcelabel">
<x>272</x>
<y>614</y>
</hint>
<hint type="destinationlabel">
<x>233</x>
<y>772</y>
</hint>
</hints>
</connection>
<connection>
<sender>cmbSummary</sender>
<signal>currentIndexChanged(int)</signal>