finished wishlist

This commit is contained in:
2025-12-08 23:35:12 +01:00
parent 16523c2915
commit 59367bac5f
22 changed files with 356 additions and 27 deletions

View File

@@ -0,0 +1,33 @@
using Gtk 4.0;
using Adw 1;
template $FramePickerDialog: Adw.Dialog {
content-width: 400;
content-height: 300;
child: Adw.ToolbarView {
content: Box {
orientation: vertical;
spacing: 12;
margin-top: 12;
margin-bottom: 12;
margin-start: 12;
margin-end: 12;
SearchEntry search_entry {
placeholder-text: _("Search missing warframes…");
search-changed => $on_search_changed();
}
ScrolledWindow {
vexpand: true;
ListBox frame_list {
selection-mode: single;
styles [ "boxed-list" ]
row-activated => $on_row_activated();
}
}
};
};
}

View File

@@ -0,0 +1,47 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
DO NOT EDIT!
This file was @generated by blueprint-compiler. Instead, edit the
corresponding .blp file and regenerate this file with blueprint-compiler.
-->
<interface>
<requires lib="gtk" version="4.0"/>
<template class="FramePickerDialog" parent="AdwDialog">
<property name="content-width">400</property>
<property name="content-height">300</property>
<property name="child">
<object class="AdwToolbarView">
<property name="content">
<object class="GtkBox">
<property name="orientation">1</property>
<property name="spacing">12</property>
<property name="margin-top">12</property>
<property name="margin-bottom">12</property>
<property name="margin-start">12</property>
<property name="margin-end">12</property>
<child>
<object class="GtkSearchEntry" id="search_entry">
<property name="placeholder-text" translatable="yes">Search missing warframes…</property>
<signal name="search-changed" handler="on_search_changed"/>
</object>
</child>
<child>
<object class="GtkScrolledWindow">
<property name="vexpand">true</property>
<child>
<object class="GtkListBox" id="frame_list">
<property name="selection-mode">1</property>
<style>
<class name="boxed-list"/>
</style>
<signal name="row-activated" handler="on_row_activated"/>
</object>
</child>
</object>
</child>
</object>
</property>
</object>
</property>
</template>
</interface>

View File

@@ -7,6 +7,9 @@ template $HomePage: Box {
Adw.Clamp {
Adw.PreferencesGroup {
title: _("Welcome back, Tenno");
styles [
'list-title'
]
Adw.ActionRow {
title: _("Owned Unique Frames:");
title-selectable: false;

View File

@@ -14,6 +14,9 @@ corresponding .blp file and regenerate this file with blueprint-compiler.
<child>
<object class="AdwPreferencesGroup">
<property name="title" translatable="yes">Welcome back, Tenno</property>
<style>
<class name="list-title"/>
</style>
<child>
<object class="AdwActionRow">
<property name="title" translatable="yes">Owned Unique Frames:</property>

View File

@@ -0,0 +1,24 @@
using Gtk 4.0;
using Adw 1;
template $WishlistPage: Gtk.Box {
orientation: vertical;
baseline-position: center;
Adw.Clamp {
Adw.PreferencesGroup wishlist {
header-suffix: Button btn_wishlist_add {
icon-name: 'plus-circle-outline-symbolic';
styles [
'flat',
'circular',
'suggested-action'
]
};
separate-rows: true;
title: _("Wishlist");
styles [
"list-title"
]
}
}
}

View File

@@ -0,0 +1,36 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
DO NOT EDIT!
This file was @generated by blueprint-compiler. Instead, edit the
corresponding .blp file and regenerate this file with blueprint-compiler.
-->
<interface>
<requires lib="gtk" version="4.0"/>
<template class="WishlistPage" parent="GtkBox">
<property name="orientation">1</property>
<property name="baseline-position">1</property>
<child>
<object class="AdwClamp">
<child>
<object class="AdwPreferencesGroup" id="wishlist">
<property name="header-suffix">
<object class="GtkButton" id="btn_wishlist_add">
<property name="icon-name">plus-circle-outline-symbolic</property>
<style>
<class name="flat"/>
<class name="circular"/>
<class name="suggested-action"/>
</style>
</object>
</property>
<property name="separate-rows">true</property>
<property name="title" translatable="yes">Wishlist</property>
<style>
<class name="list-title"/>
</style>
</object>
</child>
</object>
</child>
</template>
</interface>