Newer
Older
// SPDX-FileCopyrightText: 2022-2023 Bruce Cowan <bruce@bcowan.me.uk>
//
// SPDX-License-Identifier: GPL-3.0-or-later
using Gtk 4.0;
using Adw 1;
template RugbyAppWindow : Adw.ApplicationWindow {
Adw.HeaderBar {
SpinButton scorespin {
adjustment: Adjustment {
step-increment: 1;
upper: 200;
};
focusable: true;
tooltip-text: "Score";
}
icon-name: "funnel";
tooltip-text: "Show Try Filter";
}
Revealer {
halign: center;
margin-top: 6;
reveal-child: bind filter_toggle.active;
transition-type: slide_down;
SpinButton tryspin {
adjustment: Adjustment {
step-increment: 1;
lower: 0;
upper: 40;
};
focusable: true;
tooltip-text: "Tries";
value-changed => try_spin_value_changed_cb();
}
}
Stack stack {
StackPage {
name: "empty_page";
child: Adw.StatusPage {
icon-name: "list";
title: "No possibilities";
};
}
Adw.Clamp {
maximum-size: 600;
tightening-threshold: 400;
factory: BuilderListItemFactory {
resource: "/uk/me/bcowan/Rugby/gtk/score-item.ui";
};
model: NoSelection {
model: FilterListModel {
filter: CustomFilter try_filter {};
model: .RugbyListStore list_store {
score: bind scorespin.value;
items-changed => list_store_items_changed_cb();
ShortcutController {
scope: local;
Shortcut {
action: "action(win.score-changed)";
arguments: "'up'";
trigger: "<Ctrl>Up|<Ctrl>Right";
}
Shortcut {
action: "action(win.score-changed)";
arguments: "'down'";
trigger: "<Ctrl>Down|<Ctrl>Left";
}
Shortcut {
action: "action(win.show-try-filter)";
trigger: "<Ctrl>F";
}
}
}
menu app_menu {
section {
item ("_Preferences", "app.prefs")
item ("_Keyboard Shortcuts", "win.show-help-overlay")