Adds notes field for patterns
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
import click
|
import click
|
||||||
|
|
||||||
from sqlalchemy import Column, Integer, String, ForeignKey
|
from sqlalchemy import Column, Integer, String, Text, ForeignKey
|
||||||
from sqlalchemy.orm import relationship
|
from sqlalchemy.orm import relationship
|
||||||
|
|
||||||
from .show import Base, Show
|
from .show import Base, Show
|
||||||
@@ -35,6 +35,8 @@ class Pattern(Base):
|
|||||||
|
|
||||||
quality = Column(Integer, default=0)
|
quality = Column(Integer, default=0)
|
||||||
|
|
||||||
|
notes = Column(Text, default='')
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def getId(self):
|
def getId(self):
|
||||||
|
|||||||
@@ -45,11 +45,12 @@ class PatternController():
|
|||||||
|
|
||||||
if q.count():
|
if q.count():
|
||||||
|
|
||||||
pattern = q.first()
|
pattern: Pattern = q.first()
|
||||||
|
|
||||||
pattern.show_id = int(patternObj['show_id'])
|
pattern.show_id = int(patternObj['show_id'])
|
||||||
pattern.pattern = str(patternObj['pattern'])
|
pattern.pattern = str(patternObj['pattern'])
|
||||||
pattern.quality = str(patternObj['quality'])
|
pattern.quality = str(patternObj['quality'])
|
||||||
|
pattern.notes = str(patternObj['notes'])
|
||||||
|
|
||||||
s.commit()
|
s.commit()
|
||||||
return True
|
return True
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import click, re
|
|||||||
from typing import List
|
from typing import List
|
||||||
|
|
||||||
from textual.screen import Screen
|
from textual.screen import Screen
|
||||||
from textual.widgets import Header, Footer, Static, Button, Input, DataTable
|
from textual.widgets import Header, Footer, Static, Button, Input, DataTable, TextArea
|
||||||
from textual.containers import Grid
|
from textual.containers import Grid
|
||||||
|
|
||||||
from ffx.model.pattern import Pattern
|
from ffx.model.pattern import Pattern
|
||||||
@@ -40,7 +40,7 @@ class PatternDetailsScreen(Screen):
|
|||||||
|
|
||||||
Grid {
|
Grid {
|
||||||
grid-size: 7 13;
|
grid-size: 7 13;
|
||||||
grid-rows: 2 2 2 2 2 2 8 2 2 8 2 2 2 2;
|
grid-rows: 2 2 2 2 2 2 6 2 2 8 2 2 8 2 2 2 2;
|
||||||
grid-columns: 25 25 25 25 25 25 25;
|
grid-columns: 25 25 25 25 25 25 25;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
@@ -89,6 +89,12 @@ class PatternDetailsScreen(Screen):
|
|||||||
column-span: 7;
|
column-span: 7;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.four_box {
|
||||||
|
min-height: 6;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
.box {
|
.box {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
border: solid green;
|
border: solid green;
|
||||||
@@ -258,6 +264,9 @@ class PatternDetailsScreen(Screen):
|
|||||||
if self.__pattern and self.__pattern.quality:
|
if self.__pattern and self.__pattern.quality:
|
||||||
self.query_one("#quality_input", Input).value = str(self.__pattern.quality)
|
self.query_one("#quality_input", Input).value = str(self.__pattern.quality)
|
||||||
|
|
||||||
|
if self.__pattern and self.__pattern.notes:
|
||||||
|
self.query_one("#notes_textarea", Input).value = str(self.__pattern.notes)
|
||||||
|
|
||||||
self.updateTags()
|
self.updateTags()
|
||||||
self.updateTracks()
|
self.updateTracks()
|
||||||
|
|
||||||
@@ -305,12 +314,29 @@ class PatternDetailsScreen(Screen):
|
|||||||
# 3
|
# 3
|
||||||
yield Static(" ", classes="seven")
|
yield Static(" ", classes="seven")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# 4
|
# 4
|
||||||
yield Static("Quality")
|
yield Static("Quality")
|
||||||
yield Input(type="integer", id="quality_input")
|
yield Input(type="integer", id="quality_input")
|
||||||
yield Static(' ', classes="five")
|
yield Static(' ', classes="five")
|
||||||
|
|
||||||
# 4
|
|
||||||
|
# 5
|
||||||
|
yield Static(" ", classes="seven")
|
||||||
|
|
||||||
|
|
||||||
|
# 6
|
||||||
|
yield Static("Notes")
|
||||||
|
yield Static(" ", classes="six")
|
||||||
|
|
||||||
|
# 7
|
||||||
|
yield TextArea(id="notes_textarea", classes="four_box seven")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# 4 -> 8
|
||||||
yield Static(" ", classes="seven")
|
yield Static(" ", classes="seven")
|
||||||
|
|
||||||
# 5
|
# 5
|
||||||
@@ -382,6 +408,9 @@ class PatternDetailsScreen(Screen):
|
|||||||
except ValueError:
|
except ValueError:
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
|
def getNotesFromInput(self):
|
||||||
|
return str(self.query_one("#notes_textarea", Input).value)
|
||||||
|
|
||||||
|
|
||||||
def getSelectedTrackDescriptor(self):
|
def getSelectedTrackDescriptor(self):
|
||||||
|
|
||||||
@@ -443,6 +472,7 @@ class PatternDetailsScreen(Screen):
|
|||||||
patternDescriptor['show_id'] = self.__showDescriptor.getId()
|
patternDescriptor['show_id'] = self.__showDescriptor.getId()
|
||||||
patternDescriptor['pattern'] = self.getPatternFromInput()
|
patternDescriptor['pattern'] = self.getPatternFromInput()
|
||||||
patternDescriptor['quality'] = self.getQualityFromInput()
|
patternDescriptor['quality'] = self.getQualityFromInput()
|
||||||
|
patternDescriptor['notes'] = self.getNotesFromInput()
|
||||||
|
|
||||||
if self.__pattern is not None:
|
if self.__pattern is not None:
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user