mirror of
https://github.com/olivierkes/manuskript.git
synced 2024-09-28 23:41:14 +12:00
Made selection a bit more intuitive
This commit is contained in:
parent
fc86ed5df6
commit
49fb32deab
1 changed files with 21 additions and 18 deletions
|
@ -9,7 +9,7 @@ from PyQt5.QtCore import (pyqtSignal, QSignalMapper, QTimer, QSettings, Qt, QPoi
|
||||||
QRegExp, QUrl, QSize, QModelIndex)
|
QRegExp, QUrl, QSize, QModelIndex)
|
||||||
from PyQt5.QtGui import QStandardItemModel, QIcon, QColor
|
from PyQt5.QtGui import QStandardItemModel, QIcon, QColor
|
||||||
from PyQt5.QtWidgets import QMainWindow, QHeaderView, qApp, QMenu, QActionGroup, QAction, QStyle, QListWidgetItem, \
|
from PyQt5.QtWidgets import QMainWindow, QHeaderView, qApp, QMenu, QActionGroup, QAction, QStyle, QListWidgetItem, \
|
||||||
QLabel, QDockWidget, QWidget, QMessageBox, QLineEdit
|
QLabel, QDockWidget, QWidget, QMessageBox, QLineEdit, QTextEdit
|
||||||
|
|
||||||
from manuskript import settings
|
from manuskript import settings
|
||||||
from manuskript.enums import Character, PlotStep, Plot, World, Outline
|
from manuskript.enums import Character, PlotStep, Plot, World, Outline
|
||||||
|
@ -299,25 +299,27 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
||||||
|
|
||||||
def handleCharacterSelectionChanged(self):
|
def handleCharacterSelectionChanged(self):
|
||||||
selectedCharacters = self.lstCharacters.currentCharacters()
|
selectedCharacters = self.lstCharacters.currentCharacters()
|
||||||
characterSelectionIsEmpty = True
|
characterSelectionIsEmpty = not any(selectedCharacters)
|
||||||
for c in selectedCharacters:
|
|
||||||
if c is not None:
|
|
||||||
characterSelectionIsEmpty = False
|
|
||||||
|
|
||||||
if characterSelectionIsEmpty:
|
if characterSelectionIsEmpty:
|
||||||
self.tabPersos.setEnabled(False)
|
self.tabPersos.setEnabled(False)
|
||||||
elif len(selectedCharacters)>1:
|
return
|
||||||
self.tabPersos.setEnabled(False)
|
cList = list(filter(None, self.lstCharacters.currentCharacters()))
|
||||||
else:
|
character = cList[0]
|
||||||
self.tabPersos.setEnabled(True)
|
self.changeCurrentCharacter(character)
|
||||||
self.changeCurrentCharacter()
|
|
||||||
|
|
||||||
def changeCurrentCharacter(self, trash=None):
|
# TODO: Transform this check to still enable tabPersos,
|
||||||
c = self.lstCharacters.currentCharacter()
|
# but only the parts that should be editable with multi-selection
|
||||||
if c is None:
|
if len(selectedCharacters) > 1:
|
||||||
|
self.tabPersos.setEnabled(False)
|
||||||
|
return
|
||||||
|
self.tabPersos.setEnabled(True)
|
||||||
|
|
||||||
|
def changeCurrentCharacter(self, character, trash=None):
|
||||||
|
|
||||||
|
if character is None:
|
||||||
return
|
return
|
||||||
|
|
||||||
index = c.index()
|
index = character.index()
|
||||||
|
|
||||||
for w in [
|
for w in [
|
||||||
self.txtPersoName,
|
self.txtPersoName,
|
||||||
|
@ -334,13 +336,13 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
||||||
w.setCurrentModelIndex(index)
|
w.setCurrentModelIndex(index)
|
||||||
|
|
||||||
# Button color
|
# Button color
|
||||||
self.updateCharacterColor(c.ID())
|
self.updateCharacterColor(character.ID())
|
||||||
|
|
||||||
# Slider importance
|
# Slider importance
|
||||||
self.updateCharacterImportance(c.ID())
|
self.updateCharacterImportance(character.ID())
|
||||||
|
|
||||||
# POV state
|
# POV state
|
||||||
self.updateCharacterPOVState(c.ID())
|
self.updateCharacterPOVState(character.ID())
|
||||||
|
|
||||||
# Character Infos
|
# Character Infos
|
||||||
self.tblPersoInfos.setRootIndex(index)
|
self.tblPersoInfos.setRootIndex(index)
|
||||||
|
@ -348,6 +350,7 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
||||||
if self.mdlCharacter.rowCount(index):
|
if self.mdlCharacter.rowCount(index):
|
||||||
self.updatePersoInfoView()
|
self.updatePersoInfoView()
|
||||||
|
|
||||||
|
|
||||||
def updatePersoInfoView(self):
|
def updatePersoInfoView(self):
|
||||||
self.tblPersoInfos.horizontalHeader().setSectionResizeMode(0, QHeaderView.ResizeToContents)
|
self.tblPersoInfos.horizontalHeader().setSectionResizeMode(0, QHeaderView.ResizeToContents)
|
||||||
self.tblPersoInfos.horizontalHeader().setSectionResizeMode(1, QHeaderView.Stretch)
|
self.tblPersoInfos.horizontalHeader().setSectionResizeMode(1, QHeaderView.Stretch)
|
||||||
|
|
Loading…
Reference in a new issue