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