Files
Notify/data/resources/ui/window.blp
2024-02-12 17:50:46 +01:00

178 lines
4.3 KiB
Plaintext

using Gtk 4.0;
using Adw 1;
menu primary_menu {
section {
item {
label: _("_Preferences");
action: "app.preferences";
}
item {
label: _("_Keyboard Shortcuts");
action: "win.show-help-overlay";
}
item {
label: _("_About Notify");
action: "app.about";
}
}
}
menu subscription_menu {
section {
item {
label: _("_Subscription Info");
action: "win.show-subscription-info";
}
}
section {
item {
label: _("_Clear all notifications");
action: "win.clear-notifications";
}
item {
label: _("_Unsubscribe");
action: "win.unsubscribe";
}
}
}
template $NotifyWindow : Adw.ApplicationWindow {
width-request: 360;
height-request: 360;
Adw.Breakpoint {
condition ("max-width: 640sp")
setters {
navigation_split_view.collapsed: true;
}
}
Adw.ToastOverlay toast_overlay {
Adw.NavigationSplitView navigation_split_view {
sidebar: Adw.NavigationPage {
title: "Topics";
child: Adw.ToolbarView {
[top]
Adw.HeaderBar {
[start]
Button {
icon-name: "list-add-symbolic";
clicked => $show_add_topic() swapped;
}
[end]
MenuButton appmenu_button {
icon-name: "open-menu-symbolic";
menu-model: primary_menu;
primary: true;
tooltip-text: _("Main Menu");
}
}
Gtk.Stack stack {
Adw.StatusPage welcome_view {
title: "Notify";
description: "Subscribe to one topic and start listening for notifications";
child: Gtk.Box {
orientation: vertical;
spacing: 8;
Gtk.Button {
label: "Subscribe To Topic";
clicked => $show_add_topic() swapped;
halign: center;
styles [
"suggested-action",
"pill"
]
}
Gtk.Button {
label: "Discover Integrations";
clicked => $discover_integrations() swapped;
halign: center;
styles [
"pill"
]
}
};
}
ScrolledWindow list_view {
propagate-natural-height: true;
ListBox subscription_list {
styles [
"navigation-sidebar"
]
}
}
}
};
};
content: Adw.NavigationPage {
title: "Notifications";
Adw.ToolbarView subscription_view {
[top]
Adw.HeaderBar headerbar {
[end]
MenuButton subscription_menu_btn {
icon-name: "view-more-symbolic";
menu-model: subscription_menu;
tooltip-text: _("Subscription Menu");
}
}
[top]
Adw.Banner banner {
title: "Reconnecting...";
}
content: ScrolledWindow message_scroll {
propagate-natural-height: true;
vexpand: true;
Adw.Clamp {
ListBox message_list {
selection-mode: none;
show-separators: true;
styles [
"background"
]
}
}
};
[bottom]
Adw.Bin {
margin-top: 4;
margin-bottom: 4;
margin-start: 4;
margin-end: 4;
Adw.Clamp {
Gtk.Box {
styles [
"message_bar"
]
Gtk.Button code_btn {
styles [
"circular",
"flat"
]
icon-name: "code-symbolic";
}
Entry entry {
placeholder-text: "Message...";
hexpand: true;
}
Gtk.Button send_btn {
styles [
"circular",
"suggested-action"
]
icon-name: "paper-plane-symbolic";
}
}
}
}
}
};
}
}
}