manuskript/manuskript/ui/views/generalView.py
TheShadowOfHassen efd8d7c430 fix stuff
2023-09-12 17:15:40 -04:00

139 lines
5.6 KiB
Python

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import gi
gi.require_version("Gtk", "3.0")
from gi.repository import Gtk
from manuskript.data import Info
from manuskript.util import validString, invalidString
from manuskript.quoteOfTheDay import QuoteManager
class GeneralView:
def __init__(self, info: Info):
self.info = info
builder = Gtk.Builder()
builder.add_from_file("ui/general.glade")
self.widget = builder.get_object("general_view")
self.titleBuffer = builder.get_object("title")
self.subtitleBuffer = builder.get_object("subtitle")
self.seriesBuffer = builder.get_object("series")
self.volumeBuffer = builder.get_object("volume")
self.genreBuffer = builder.get_object("genre")
self.licenseBuffer = builder.get_object("license")
self.nameBuffer = builder.get_object("name")
self.emailBuffer = builder.get_object("email")
self.quoteLabel = builder.get_object("quote_label")
self.titleBuffer.set_text(validString(self.info.title), -1)
self.subtitleBuffer.set_text(validString(self.info.subtitle), -1)
self.seriesBuffer.set_text(validString(self.info.serie), -1)
self.volumeBuffer.set_text(validString(self.info.volume), -1)
self.genreBuffer.set_text(validString(self.info.genre), -1)
self.licenseBuffer.set_text(validString(self.info.license), -1)
self.nameBuffer.set_text(validString(self.info.author), -1)
self.emailBuffer.set_text(validString(self.info.email), -1)
self.titleBuffer.connect("deleted-text", self._titleDeletedText)
self.titleBuffer.connect("inserted-text", self._titleInsertedText)
self.subtitleBuffer.connect("deleted-text", self._subtitleDeletedText)
self.subtitleBuffer.connect("inserted-text", self._subtitleInsertedText)
self.seriesBuffer.connect("deleted-text", self._seriesDeletedText)
self.seriesBuffer.connect("inserted-text", self._seriesInsertedText)
self.volumeBuffer.connect("deleted-text", self._volumeDeletedText)
self.volumeBuffer.connect("inserted-text", self._volumeInsertedText)
self.genreBuffer.connect("deleted-text", self._genreDeletedText)
self.genreBuffer.connect("inserted-text", self._genreInsertedText)
self.licenseBuffer.connect("deleted-text", self._licenseDeletedText)
self.licenseBuffer.connect("inserted-text", self._licenseInsertedText)
self.nameBuffer.connect("deleted-text", self._nameDeletedText)
self.nameBuffer.connect("inserted-text", self._nameInsertedText)
self.emailBuffer.connect("deleted-text", self._emailDeletedText)
self.emailBuffer.connect("inserted-text", self._emailInsertedText)
self.quoteManager = QuoteManager("English")
self.quoteLabel.set_text(self.quoteManager.get_quote())
def __titleChanged(self, buffer: Gtk.EntryBuffer):
self.info.title = invalidString(buffer.get_text())
def __subtitleChanged(self, buffer: Gtk.EntryBuffer):
self.info.subtitle = invalidString(buffer.get_text())
def __seriesChanged(self, buffer: Gtk.EntryBuffer):
self.info.serie = invalidString(buffer.get_text())
def __volumeChanged(self, buffer: Gtk.EntryBuffer):
self.info.volume = invalidString(buffer.get_text())
def __genreChanged(self, buffer: Gtk.EntryBuffer):
self.info.genre = invalidString(buffer.get_text())
def __licenseChanged(self, buffer: Gtk.EntryBuffer):
self.info.license = invalidString(buffer.get_text())
def __nameChanged(self, buffer: Gtk.EntryBuffer):
self.info.author = invalidString(buffer.get_text())
def __emailChanged(self, buffer: Gtk.EntryBuffer):
self.info.email = invalidString(buffer.get_text())
def _titleDeletedText(self, buffer: Gtk.EntryBuffer, position, count):
self.__titleChanged(buffer)
def _titleInsertedText(self, buffer: Gtk.EntryBuffer, position, value, count):
self.__titleChanged(buffer)
def _subtitleDeletedText(self, buffer: Gtk.EntryBuffer, position, count):
self.__subtitleChanged(buffer)
def _subtitleInsertedText(self, buffer: Gtk.EntryBuffer, position, value, count):
self.__subtitleChanged(buffer)
def _seriesDeletedText(self, buffer: Gtk.EntryBuffer, position, count):
self.__seriesChanged(buffer)
def _seriesInsertedText(self, buffer: Gtk.EntryBuffer, position, value, count):
self.__seriesChanged(buffer)
def _volumeDeletedText(self, buffer: Gtk.EntryBuffer, position, count):
self.__volumeChanged(buffer)
def _volumeInsertedText(self, buffer: Gtk.EntryBuffer, position, value, count):
self.__volumeChanged(buffer)
def _genreDeletedText(self, buffer: Gtk.EntryBuffer, position, count):
self.__genreChanged(buffer)
def _genreInsertedText(self, buffer: Gtk.EntryBuffer, position, value, count):
self.__genreChanged(buffer)
def _licenseDeletedText(self, buffer: Gtk.EntryBuffer, position, count):
self.__licenseChanged(buffer)
def _licenseInsertedText(self, buffer: Gtk.EntryBuffer, position, value, count):
self.__licenseChanged(buffer)
def _nameDeletedText(self, buffer: Gtk.EntryBuffer, position, count):
self.__nameChanged(buffer)
def _nameInsertedText(self, buffer: Gtk.EntryBuffer, position, value, count):
self.__nameChanged(buffer)
def _emailDeletedText(self, buffer: Gtk.EntryBuffer, position, count):
self.__emailChanged(buffer)
def _emailInsertedText(self, buffer: Gtk.EntryBuffer, position, value, count):
self.__emailChanged(buffer)
def show(self):
self.widget.show_all()