Fix multiple warnings, errors and naming issues

Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
This commit is contained in:
TheJackiMonster 2023-02-03 16:01:17 +01:00
parent 6ce6bb8aff
commit 4ccd78bc7d
No known key found for this signature in database
GPG key ID: D850A5F772E880F9
6 changed files with 128 additions and 173 deletions

View file

@ -75,7 +75,7 @@ class MainWindow:
self.startupWindow = StartupWindow(self)
self.aboutDialog = AboutDialog(self)
self.frequencyWindow = FrequencyWindow(self)
self.characterTemplateWindow = CharacterTemplateEditorWindow(self)
self.characterTemplateWindow = CharacterTemplateWindow(self)
self.settingsWindow = SettingsWindow(self)
self.windows = [

View file

@ -2,4 +2,4 @@
# -*- coding: utf-8 -*-
from manuskript.ui.tools.frequencyWindow import FrequencyWindow
from manuskript.ui.tools.Character_Template_Editor import CharacterTemplateEditorWindow
from manuskript.ui.tools.characterTemplateWindow import CharacterTemplateWindow

View file

@ -11,81 +11,75 @@ from gi.repository import GObject, Gtk, Handy
# Manuskript
from manuskript.ui.abstractDialog import AbstractDialog
from manuskript.util import unique_name_checker
from manuskript.util import unique_name_checker, invalidString, validString
# I lifted a lot of this code from frequencyWindow
# With a bit more stuff from charactersView
class CharacterTemplateEditorWindow(AbstractDialog):
class CharacterTemplateWindow(AbstractDialog):
def __init__(self, mainWindow):
AbstractDialog.__init__(self, mainWindow, "ui/character_details_template_editor.glade", "character_details_template_editor")
AbstractDialog.__init__(self, mainWindow, "ui/character_details_template_editor.glade",
"character_details_template_editor")
self.headerBar = None
self.back = None
self.wordLeaflet = None
self.analyzeWords = None
self.analyzePhrases = None
self.detailsStore = None
self.detailsSelection = None
self.addDetailsButton = None
self.removeDetailsButton = None
self.appendDetailsTemplateButton = None
self.detailsNameRenderer = None
self.detailsValueRenderer = None
def initWindow(self, builder, window):
self.headerBar = builder.get_object("header_bar")
self.back = builder.get_object("back")
self.character_leaflet = builder.get_object("character_details_leaflet")
self.character_leaflet.bind_property("folded", self.back, "visible", GObject.BindingFlags.SYNC_CREATE)
self.character_leaflet.bind_property("folded", self.headerBar, "show-close-button", GObject.BindingFlags.SYNC_CREATE |
GObject.BindingFlags.INVERT_BOOLEAN)
self.back.connect("clicked", self._backClicked)
#Liking Stuff stole from charactersView
# Liking Stuff stole from charactersView
self.detailsStore = builder.get_object("details_store")
self.detailsSelection = builder.get_object("details_selection")
self.addDetailsButton = builder.get_object("add_details")
self.removeDetailsButton = builder.get_object("remove_details")
self.append_details_template_button = builder.get_object("appened_details_template")
self.appendDetailsTemplateButton = builder.get_object("appened_details_template")
self.detailsNameRenderer = builder.get_object("details_name")
self.detailsValueRenderer = builder.get_object("details_value")
self.addDetailsButton.connect("clicked", self.addDetailsClicked)
self.removeDetailsButton.connect("clicked", self.removeDetailsClicked)
self.addDetailsButton.connect("clicked", self._addDetailsClicked)
self.removeDetailsButton.connect("clicked", self._removeDetailsClicked)
self.detailsNameRenderer.connect("edited", self.detailsNameEdited)
self.detailsValueRenderer.connect("edited", self.detailsValueEdited)
self.detailsNameRenderer.connect("edited", self._detailsNameEdited)
self.detailsValueRenderer.connect("edited", self._detailsValueEdited)
self.populate_tree()
self.loadCharacterTemplate()
def _backClicked(self, button: Gtk.Button):
if self.wordLeaflet.get_visible_child_name() == "wordlist_view":
self.wordLeaflet.set_visible_child_name("wordfilter_view")
else:
self.hide()
self.hide()
# So this adds any previously added parts to the template
def populate_tree(self):
def loadCharacterTemplate(self):
for name, value in self.mainWindow.project.character_template.details.items():
tree_iter = self.detailsStore.append()
if tree_iter is None:
return
self.detailsStore.set_value(tree_iter, 0, name)
self.detailsStore.set_value(tree_iter, 1, value)
# Functions stole From charactersView
def addDetailsClicked(self, button: Gtk.Button):
def _addDetailsClicked(self, button: Gtk.Button):
tree_iter = self.detailsStore.append()
if tree_iter is None:
return
name = unique_name_checker.get_unique_name_for_dictionary(self.mainWindow.project.character_template.details, "Description")
name = unique_name_checker.get_unique_name_for_dictionary(self.mainWindow.project.character_template.details,
"Description")
value = "Value"
self.detailsStore.set_value(tree_iter, 0, name)
@ -93,8 +87,7 @@ class CharacterTemplateEditorWindow(AbstractDialog):
self.mainWindow.project.character_template.details[name] = value
def removeDetailsClicked(self, button: Gtk.Button):
def _removeDetailsClicked(self, button: Gtk.Button):
model, tree_iter = self.detailsSelection.get_selected()
if (model is None) or (tree_iter is None):
@ -105,20 +98,20 @@ class CharacterTemplateEditorWindow(AbstractDialog):
self.mainWindow.project.character_template.details.pop(name)
def detailsNameEdited(self, renderer: Gtk.CellRendererText, path: str, text: str):
def _detailsNameEdited(self, renderer: Gtk.CellRendererText, path: str, text: str):
model, tree_iter = self.detailsSelection.get_selected()
if (model is None) or (tree_iter is None):
return
text_to_set = unique_name_checker.get_unique_name_for_dictionary(self.mainWindow.project.character_template.details, text)
text_to_set = unique_name_checker.get_unique_name_for_dictionary(
self.mainWindow.project.character_template.details, text)
name = model.get_value(tree_iter, 0)
model.set_value(tree_iter, 0, text_to_set)
# There was an error with this line but it didn't seem to do anything bad.
self.mainWindow.project.character_template.details[text_to_set] = self.mainWindow.project.character_template.details.pop(name)
def detailsValueEdited(self, renderer: Gtk.CellRendererText, path: str, text: str):
self.mainWindow.project.character_template.details[text_to_set] = \
self.mainWindow.project.character_template.details.pop(name)
def _detailsValueEdited(self, renderer: Gtk.CellRendererText, path: str, text: str):
model, tree_iter = self.detailsSelection.get_selected()
if (model is None) or (tree_iter is None):
@ -128,23 +121,3 @@ class CharacterTemplateEditorWindow(AbstractDialog):
model.set_value(tree_iter, 1, text)
self.mainWindow.project.character_template.details[name] = text
def nameChanged(self, buffer: Gtk.EntryBuffer):
text = buffer.get_text()
name = invalidString(text)
self.character.name = name
character_id = self.character.UID.value
for row in self.charactersStore:
if row[0] == character_id:
row[1] = validString(name)
break
def nameDeletedText(self, buffer: Gtk.EntryBuffer, position: int, n_chars: int):
self.nameChanged(buffer)
def nameInsertedText(self, buffer: Gtk.EntryBuffer, position: int, chars: str, n_chars: int):
self.nameChanged(buffer)

View file

@ -3,14 +3,6 @@
<interface>
<requires lib="gtk+" version="3.24"/>
<requires lib="libhandy" version="0.0"/>
<object class="GtkListStore" id="details_store">
<columns>
<!-- column-name Name -->
<column type="gchararray"/>
<!-- column-name Value -->
<column type="gchararray"/>
</columns>
</object>
<object class="HdyWindow" id="character_details_template_editor">
<property name="can-focus">False</property>
<child>
@ -32,8 +24,6 @@
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="margin-left">4</property>
<property name="margin-right">4</property>
<property name="margin-start">4</property>
<property name="margin-end">4</property>
<child>
@ -55,68 +45,64 @@
</packing>
</child>
<child>
<object class="HdyLeaflet" id="character_details_leaflet">
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="border-width">8</property>
<property name="orientation">vertical</property>
<property name="spacing">8</property>
<child>
<object class="GtkBox">
<object class="GtkFrame">
<property name="height-request">200</property>
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<property name="label-xalign">0</property>
<property name="label-yalign">0</property>
<child>
<object class="GtkFrame">
<property name="height-request">200</property>
<object class="GtkScrolledWindow">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<property name="label-xalign">0</property>
<property name="label-yalign">0</property>
<property name="can-focus">True</property>
<property name="shadow-type">in</property>
<child>
<object class="GtkScrolledWindow">
<object class="GtkViewport">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="shadow-type">in</property>
<property name="can-focus">False</property>
<child>
<object class="GtkViewport">
<object class="GtkTreeView">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="can-focus">True</property>
<property name="model">details_store</property>
<property name="reorderable">True</property>
<property name="search-column">0</property>
<property name="enable-grid-lines">both</property>
<child internal-child="selection">
<object class="GtkTreeSelection" id="details_selection"/>
</child>
<child>
<object class="GtkTreeView">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="model">details_store</property>
<property name="reorderable">True</property>
<property name="search-column">0</property>
<property name="enable-grid-lines">both</property>
<child internal-child="selection">
<object class="GtkTreeSelection" id="details_selection"/>
</child>
<object class="GtkTreeViewColumn">
<property name="title" translatable="yes">Name</property>
<child>
<object class="GtkTreeViewColumn">
<property name="title" translatable="yes">Name</property>
<child>
<object class="GtkCellRendererText" id="details_name">
<property name="editable">True</property>
</object>
<attributes>
<attribute name="text">0</attribute>
</attributes>
</child>
<object class="GtkCellRendererText" id="details_name">
<property name="editable">True</property>
</object>
<attributes>
<attribute name="text">0</attribute>
</attributes>
</child>
</object>
</child>
<child>
<object class="GtkTreeViewColumn">
<property name="title" translatable="yes">Value</property>
<child>
<object class="GtkTreeViewColumn">
<property name="title" translatable="yes">Value</property>
<child>
<object class="GtkCellRendererText" id="details_value">
<property name="editable">True</property>
</object>
<attributes>
<attribute name="text">1</attribute>
</attributes>
</child>
<object class="GtkCellRendererText" id="details_value">
<property name="editable">True</property>
</object>
<attributes>
<attribute name="text">1</attribute>
</attributes>
</child>
</object>
</child>
@ -124,74 +110,71 @@
</child>
</object>
</child>
<child type="label_item">
<placeholder/>
</object>
</child>
<child type="label_item">
<placeholder/>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="spacing">4</property>
<child>
<object class="GtkButton" id="add_details">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<child>
<object class="GtkImage">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">list-add</property>
</object>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkBox">
<object class="GtkButton" id="remove_details">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="spacing">4</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<child>
<object class="GtkButton" id="add_details">
<object class="GtkImage">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<child>
<object class="GtkImage">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">list-add</property>
</object>
</child>
<property name="can-focus">False</property>
<property name="icon-name">list-remove</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkButton" id="remove_details">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<child>
<object class="GtkImage">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">list-remove</property>
</object>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<placeholder/>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
@ -199,4 +182,12 @@
</object>
</child>
</object>
<object class="GtkListStore" id="details_store">
<columns>
<!-- column-name Name -->
<column type="gchararray"/>
<!-- column-name Value -->
<column type="gchararray"/>
</columns>
</object>
</interface>

View file

@ -795,10 +795,7 @@ summary</property>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-start">8</property>
<property name="margin-end">8</property>
<property name="margin-top">8</property>
<property name="margin-bottom">8</property>
<property name="border-width">8</property>
<property name="orientation">vertical</property>
<property name="spacing">8</property>
<child>

View file

@ -102,10 +102,7 @@ along with Manuskript. If not, see <http://www.gnu.org/licenses/>.
<property name="width-request">300</property>
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-start">8</property>
<property name="margin-end">8</property>
<property name="margin-top">8</property>
<property name="margin-bottom">8</property>
<property name="border-width">8</property>
<property name="orientation">vertical</property>
<property name="spacing">8</property>
<child>
@ -311,11 +308,8 @@ along with Manuskript. If not, see <http://www.gnu.org/licenses/>.
<property name="width-request">250</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="margin-start">8</property>
<property name="margin-end">8</property>
<property name="margin-top">8</property>
<property name="margin-bottom">8</property>
<property name="hexpand">True</property>
<property name="border-width">8</property>
<property name="shadow-type">in</property>
<child>
<object class="GtkViewport">