This commit is contained in:
2025-12-06 00:56:28 +01:00
parent e651c8e18a
commit 734fc0675b
34 changed files with 92 additions and 1315 deletions

View File

@@ -1,29 +0,0 @@
# This class manages the backend of the application, specifically profiles
# TODO
# - Fetch new data from Wiki/API
import json
import os
import math
from gi.repository import Gio, GLib, GObject
class Backend():
def __init__():
super().__init__()
# load profile

View File

@@ -3,7 +3,7 @@
# 1⃣ Set up paths that Builder already used
# -------------------------------------------------
pkgdatadir = get_option('prefix') / get_option('datadir') / meson.project_name()
moduledir = pkgdatadir / 'gnomeframe' # <-- this is where the *data* files go
moduledir = pkgdatadir / 'voidmanifest' # <-- this is where the *data* files go
# (the GResource generated in data/ will be installed there by the toplevel file)
# -------------------------------------------------
@@ -22,8 +22,8 @@ conf.set('localedir', get_option('prefix') / get_option('localedir'))
conf.set('pkgdatadir', pkgdatadir)
configure_file(
input : 'gnomeframe.in',
output: 'gnomeframe',
input : 'voidmanifest.in',
output: 'voidmanifest',
configuration : conf,
install : true,
install_dir : get_option('bindir'), # the launcher script goes to /app/bin
@@ -33,12 +33,12 @@ configure_file(
# -------------------------------------------------
# 4⃣ Install the **Python package**
# -------------------------------------------------
# The package lives in src/gnomeframe/ (notice the extra directory level)
# The package lives in src/voidmanifest/ (notice the extra directory level)
# We install the whole directory tree into the Python sitepackages location.
# Meson will create the correct destination, e.g.
# /app/lib/python3.11/site-packages/gnomeframe/
# /app/lib/python3.11/site-packages/voidmanifest/
install_subdir(
'gnomeframe', # <-- source directory (relative to src/)
'voidmanifest', # <-- source directory (relative to src/)
install_dir : py_inst.get_install_dir(), # sitepackages
)

View File

@@ -1,6 +1,6 @@
#!@PYTHON@
# gnomeframe.in
# voidmanifest.in
#
# Copyright 2025 nihil
#
@@ -31,16 +31,16 @@ localedir = '@localedir@'
sys.path.insert(1, pkgdatadir)
signal.signal(signal.SIGINT, signal.SIG_DFL)
locale.bindtextdomain('gnomeframe', localedir)
locale.textdomain('gnomeframe')
gettext.install('gnomeframe', localedir)
locale.bindtextdomain('voidmanifest', localedir)
locale.textdomain('voidmanifest')
gettext.install('voidmanifest', localedir)
if __name__ == '__main__':
import gi
from gi.repository import Gio
resource = Gio.Resource.load(os.path.join(pkgdatadir, 'gnomeframe.gresource'))
resource = Gio.Resource.load(os.path.join(pkgdatadir, 'voidmanifest.gresource'))
resource._register()
from gnomeframe import main
from voidmanifest import main
sys.exit(main.main(VERSION))

View File

@@ -26,7 +26,7 @@ import math
from pathlib import Path
# local imports
from .window import VoidManifestWindow
from .window import VoidmanifestWindow
from .profile import Profile
from .constants import EXISTING_FRAMES_BASIC, EXISTING_FRAMES_PRIME, BASIC_WARFRAMES, PRIME_WARFRAMES, CURRENT_UPDATE
@@ -43,7 +43,7 @@ def get_config_dir(app_id: str) -> Path:
class VoidManifestApplication(Adw.Application):
class VoidmanifestApplication(Adw.Application):
# Profile
profile: Profile
@@ -58,18 +58,18 @@ class VoidManifestApplication(Adw.Application):
return cfg_dir
# helpers for profile loading
APP_ID = "gay.valhrafnaz.VoidManifest"
APP_ID = "gay.valhrafnaz.Voidmanifest"
CONFIG_DIR = get_config_dir(APP_ID)
CONFIG_FILE = CONFIG_DIR / "profile.json"
"""The main application singleton class."""
def __init__(self):
super().__init__(application_id='gay.valhrafnaz.VoidManifest',
super().__init__(application_id='gay.valhrafnaz.Voidmanifest',
flags=Gio.ApplicationFlags.DEFAULT_FLAGS,
resource_base_path='/gay/valhrafnaz/VoidManifest')
resource_base_path='/gay/valhrafnaz/Voidmanifest')
data_dir = GLib.get_system_data_dirs()[0]
resource = Gio.resource_load(os.path.join(data_dir, 'gnomeframe', 'gnomeframe.gresource'))
resource = Gio.resource_load(os.path.join(data_dir, 'voidmanifest', 'voidmanifest.gresource'))
Gio.Resource._register(resource)
self.create_action('quit', lambda *_: self.quit(), ['<control>q'])
@@ -88,13 +88,13 @@ class VoidManifestApplication(Adw.Application):
"""
win = self.props.active_window
if not win:
win = VoidManifestWindow(application=self)
win = VoidmanifestWindow(application=self)
win.present()
def on_about_action(self, *args):
"""Callback for the app.about action."""
about = Adw.AboutDialog(application_name='gnomeframe',
application_icon='gay.valhrafnaz.VoidManifest',
about = Adw.AboutDialog(application_name='voidmanifest',
application_icon='gay.valhrafnaz.Voidmanifest',
developer_name='valhrafnaz',
version='0.1.0',
developers=['valhrafnaz'],
@@ -186,5 +186,5 @@ class VoidManifestApplication(Adw.Application):
def main(version):
"""The application's entry point."""
app = VoidManifestApplication()
app = VoidmanifestApplication()
return app.run(sys.argv)

View File

@@ -1,2 +1,2 @@
# gnomeframe/pages/__init__.py
# voidmanifest/pages/__init__.py
"""Subpackage that holds the individual ViewStack pages."""

View File

@@ -12,7 +12,7 @@ gi.require_version('Adw', '1')
from gi.repository import Gtk, Adw, GObject, GLib # noqa: E402
@Gtk.Template(resource_path="/gay/valhrafnaz/VoidManifest/ui/checklist.ui")
@Gtk.Template(resource_path="/gay/valhrafnaz/Voidmanifest/ui/checklist.ui")
class ChecklistPage(Gtk.Box):
__gtype_name__ = "ChecklistPage"

View File

@@ -8,10 +8,10 @@ gi.require_version('Adw', '1')
from gi.repository import Gtk, Adw, GObject, GLib # noqa: E402
@Gtk.Template(resource_path="/gay/valhrafnaz/VoidManifest/ui/home.ui")
@Gtk.Template(resource_path="/gay/valhrafnaz/Voidmanifest/ui/home.ui")
class HomePage(Gtk.Box):
__gtype_name__ = "HomePage"
owned_frames = Gtk.Template.Child()
owned_basics = Gtk.Template.Child()
missing_basics = Gtk.Template.Child()

View File

@@ -1,9 +1,9 @@
from gi.repository import Gtk, Adw, GObject, GLib
@Gtk.Template(resource_path="/gay/valhrafnaz/VoidManifest/ui/settings.ui")
@Gtk.Template(resource_path="/gay/valhrafnaz/Voidmanifest/ui/settings.ui")
class SettingsPage(Gtk.Box):
__gtype_name__ = "SettingsPage"
def __init__(self, *, parent: Adw.ViewStack):
super().__init__()
parent.add_titled(self, "settings", "Settings")

View File

@@ -1,6 +1,6 @@
#!@PYTHON@
# gnomeframe.in
# voidmanifest.in
#
# Copyright 2025 nihil
#
@@ -31,16 +31,16 @@ localedir = '@localedir@'
sys.path.insert(1, pkgdatadir)
signal.signal(signal.SIGINT, signal.SIG_DFL)
locale.bindtextdomain('gnomeframe', localedir)
locale.textdomain('gnomeframe')
gettext.install('gnomeframe', localedir)
locale.bindtextdomain('voidmanifest', localedir)
locale.textdomain('voidmanifest')
gettext.install('voidmanifest', localedir)
if __name__ == '__main__':
import gi
from gi.repository import Gio
resource = Gio.Resource.load(os.path.join(pkgdatadir, 'gnomeframe.gresource'))
resource = Gio.Resource.load(os.path.join(pkgdatadir, 'voidmanifest.gresource'))
resource._register()
from gnomeframe import main
from voidmanifest import main
sys.exit(main.main(VERSION))

View File

@@ -29,9 +29,9 @@ from gi.repository import Adw
from gi.repository import Gtk, Gio
from gi.repository import GLib
@Gtk.Template(resource_path='/gay/valhrafnaz/VoidManifest/ui/window.ui')
class VoidManifestWindow(Adw.ApplicationWindow):
__gtype_name__ = 'VoidManifestWindow'
@Gtk.Template(resource_path='/gay/valhrafnaz/Voidmanifest/ui/window.ui')
class VoidmanifestWindow(Adw.ApplicationWindow):
__gtype_name__ = 'VoidmanifestWindow'
viewstack = Gtk.Template.Child()
btn_reset_profile = Gtk.Template.Child()