Merge branch 'feat/helpPage' into 'main'

feat: help pages

See merge request gabmus/envision!44
This commit is contained in:
GabMus 2024-06-14 19:58:16 +00:00
commit 04cf4a5f3a
9 changed files with 116 additions and 4 deletions

View file

@ -21,7 +21,7 @@ cargo:test:
stage: test
script:
- apt-get update
- apt-get install libgtk-4-dev libadwaita-1-dev libssl-dev libjxl-dev libvte-2.91-gtk4-dev meson ninja-build git desktop-file-utils gettext file libusb-dev libusb-1.0-0-dev curl -y
- apt-get install libgtk-4-dev libadwaita-1-dev libssl-dev libjxl-dev libvte-2.91-gtk4-dev meson ninja-build git desktop-file-utils gettext file libusb-dev libusb-1.0-0-dev curl yelp yelp-tools -y
- curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs -o /tmp/rustup.sh
- chmod +x /tmp/rustup.sh
- /tmp/rustup.sh -y
@ -38,7 +38,7 @@ appimage:
stage: deploy
script:
- apt-get update
- apt-get install libgtk-4-dev libadwaita-1-dev libssl-dev libjxl-dev libvte-2.91-gtk4-dev meson ninja-build git desktop-file-utils gettext file libusb-dev libusb-1.0-0-dev curl -y
- apt-get install libgtk-4-dev libadwaita-1-dev libssl-dev libjxl-dev libvte-2.91-gtk4-dev meson ninja-build git desktop-file-utils gettext file libusb-dev libusb-1.0-0-dev curl yelp yelp-tools -y
- curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs -o /tmp/rustup.sh
- chmod +x /tmp/rustup.sh
- /tmp/rustup.sh -y

2
dist/arch/PKGBUILD vendored
View file

@ -26,10 +26,12 @@ depends=(
polkit
base-devel
jq
yelp
)
makedepends=(
meson
rust
yelp-tools
)
optdepends=(
'libudev0-shim: steamvr_lh lighthouse driver support'

46
help/C/index.page Normal file
View file

@ -0,0 +1,46 @@
<page xmlns="http://projectmallard.org/1.0/"
xmlns:its="http://www.w3.org/2005/11/its"
type="guide" style="2column"
id="index">
<info>
<title type='link' role="trail">Envision</title>
<title type="link">Envision</title>
<title type="text">Envision</title>
<revision version="0.1" date="2024-05-30" status="draft"/>
<revision pkgversion="0.1" date="2024-05-30" status="review"/>
<credit type="author copyright">
<name its:translate="no">Gabriele Musco</name>
<email its:translate="no">gabmus@disroot.org</email>
<years>2024</years>
</credit>
<!--credit type="editor">
<name>Additional editor here</name>
<email its:translate="no">youremail@example.com</email>
<years>2024</years>
</credit-->
<include href="legal.xml" xmlns="http://www.w3.org/2001/XInclude"/>
<desc><app>Envision</app> is a FOSS VR orchestrator for setting up Monado and WiVRn, along with Basalt, Mercury and OpenHMD.</desc>
</info>
<title>
<media type="image" its:translate="no" mime="image/svg+xml" height="48px" width="48px" src="media/org.gabmus.envision.svg" />
Envision
</title>
<!--section id="basics">
<title>Basics</title>
<links type="topic" style="2column"/>
</section>
<section id="edit">
<title>Edit files</title>
<links type="topic" style="2column"/>
</section-->
</page>

6
help/C/legal.xml Normal file
View file

@ -0,0 +1,6 @@
<license xmlns="http://projectmallard.org/1.0/"
href="http://creativecommons.org/licenses/by-sa/3.0/">
<p>This work is licensed under a
<link href="http://creativecommons.org/licenses/by-sa/3.0/">Creative Commons
Attribution-ShareAlike 3.0 Unported License</link>.</p>
</license>

View file

@ -0,0 +1,33 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg height="128px" viewBox="0 0 128 128" width="128px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<linearGradient id="a" gradientTransform="matrix(1.458807 0 0 1.906515 -415.501769 -150.163364)" gradientUnits="userSpaceOnUse" x1="339.272705" x2="339.272705" y1="83.120338" y2="109.264557">
<stop offset="0" stop-color="#c0bfbc"/>
<stop offset="1" stop-color="#241f31"/>
</linearGradient>
<linearGradient id="b" gradientTransform="matrix(1.589925 0 0 1.907133 -458.59952 -141.699123)" gradientUnits="userSpaceOnUse" x1="339.272705" x2="339.272705" y1="91.225945" y2="113.737442">
<stop offset="0" stop-color="#9a9996"/>
<stop offset="1" stop-color="#3d3846"/>
</linearGradient>
<linearGradient id="c" gradientTransform="matrix(1.589925 0 0 1.745081 -458.59952 -123.465599)" gradientUnits="userSpaceOnUse" x1="293.458923" x2="363.924652" y1="109.130287" y2="109.130287">
<stop offset="0" stop-color="#241f31"/>
<stop offset="0.0479414" stop-color="#77767b"/>
<stop offset="0.0937468" stop-color="#5e5c64"/>
<stop offset="0.8943" stop-color="#5e5c64"/>
<stop offset="0.945474" stop-color="#77767b"/>
<stop offset="1" stop-color="#241f31"/>
</linearGradient>
<linearGradient id="d" gradientTransform="matrix(1.589925 0 0 1.674808 -308.505085 -97.176639)" gradientUnits="userSpaceOnUse" x1="188.163925" x2="280.755829" y1="107.404694" y2="107.404694">
<stop offset="0" stop-color="#3d3846"/>
<stop offset="0.507021" stop-color="#241f31"/>
<stop offset="1" stop-color="#3d3846"/>
</linearGradient>
<linearGradient id="e" gradientUnits="userSpaceOnUse" x1="18.78087990973" x2="106.95173311429" y1="67.63639825207" y2="102.31274676078">
<stop offset="0" stop-color="#33d17a"/>
<stop offset="1" stop-color="#a347ba"/>
</linearGradient>
<path d="m 22.511719 25.277344 c -2.308594 0 -3.390625 5.304687 -4.1875 12.089844 c 7.90625 1.042968 26.65625 10.417968 45.675781 10.425781 c 19.019531 -0.007813 37.769531 -9.382813 45.675781 -10.425781 c -0.796875 -6.785157 -1.882812 -12.089844 -4.1875 -12.089844 c -6.164062 0 -23.695312 9.292968 -41.488281 9.296875 c -17.792969 -0.003907 -35.328125 -9.296875 -41.488281 -9.296875 z m 0 0" fill="url(#a)"/>
<path d="m 18.78125 33.796875 c -4.960938 0 -6.429688 24.6875 -8.800781 36.667969 l 54.019531 -4.039063 l 54.019531 4.039063 c -2.371093 -11.980469 -3.839843 -36.667969 -8.804687 -36.667969 c -6.714844 0 -25.824219 9.296875 -45.214844 9.300781 c -19.390625 -0.003906 -38.5 -9.300781 -45.21875 -9.300781 z m 0 0" fill="url(#b)"/>
<path d="m 47.179688 50.792969 c -18.644532 0.695312 -39.179688 6.8125 -39.179688 22.628906 v 7.484375 c 0 15.816406 20.179688 28.859375 38.824219 29.550781 c 7.980469 0 8.191406 -12.511719 17.175781 -12.511719 c 8.988281 0 9.167969 12.511719 17.148438 12.511719 c 18.648437 -0.691406 38.851562 -13.734375 38.851562 -29.550781 v -7.484375 c 0 -15.816406 -20.535156 -21.933594 -39.179688 -22.628906 z m 0 0" fill="url(#c)"/>
<path d="m 47.179688 56.332031 c -18.644532 0.695313 -39.179688 6.816407 -39.179688 22.628907 v 7.488281 c 0 15.8125 20.179688 28.855469 38.824219 29.550781 c 7.980469 0 8.191406 -12.511719 17.175781 -12.511719 c 8.988281 0 9.167969 12.511719 17.148438 12.511719 c 18.648437 -0.695312 38.851562 -13.738281 38.851562 -29.550781 v -7.488281 c 0 -15.8125 -20.535156 -21.933594 -39.179688 -22.628907 z m 0 0" fill="url(#d)"/>
<path d="m 47.179688 56.335938 c -18.644532 0.691406 -39.179688 6.8125 -39.179688 22.628906 v 7.484375 c 0 15.8125 20.179688 28.855469 38.824219 29.550781 c 7.980469 0 8.191406 -12.511719 17.175781 -12.511719 c 8.988281 0 9.167969 12.511719 17.148438 12.511719 c 18.648437 -0.695312 38.851562 -13.738281 38.851562 -29.550781 v -7.484375 c 0 -15.816406 -20.535156 -21.9375 -39.179688 -22.628906 z m 0.117187 4.035156 h 33.40625 c 17.867187 0.671875 35.261719 6.273437 35.261719 18.59375 v 7.484375 c 0 12.992187 -17.675782 24.808593 -34.847656 25.5 c -4.980469 -0.054688 -5.515626 -12.5 -17.117188 -12.5 c -11.59375 0 -12.160156 12.445312 -17.144531 12.5 c -17.171875 -0.691407 -34.820313 -12.503907 -34.820313 -25.5 v -7.484375 c 0 -12.320313 17.394532 -17.921875 35.261719 -18.59375 z m 0 0" fill="url(#e)"/>
</svg>

After

Width:  |  Height:  |  Size: 4.3 KiB

13
help/meson.build Normal file
View file

@ -0,0 +1,13 @@
pages = [
'index.page',
'legal.xml',
]
media = [
'media/org.gabmus.envision.svg',
]
gnome.yelp(meson.project_name(),
sources: pages,
media: media,
)

View file

@ -73,6 +73,7 @@ global_conf.set('CMD_NAME', meson.project_name())
global_conf.set('REPO_URL', upstream_repo)
subdir('data')
subdir('help')
subdir('po')
subdir('src')
subdir('scripts')

View file

@ -47,8 +47,9 @@ use crate::ui::debug_view::{DebugViewInit, DebugViewOutMsg};
use crate::ui::libsurvive_setup_window::LibsurviveSetupMsg;
use crate::ui::main_view::{MainView, MainViewInit, MainViewOutMsg};
use crate::xr_devices::XRDevice;
use gtk::gdk::AppLaunchContext;
use gtk::glib::clone;
use gtk::prelude::*;
use gtk::{gio, prelude::*};
use relm4::actions::{AccelsPlus, ActionGroupName, RelmAction, RelmActionGroup};
use relm4::adw::prelude::MessageDialogExt;
use relm4::adw::ResponseAppearance;
@ -866,6 +867,13 @@ impl SimpleComponent for App {
abd_sender.send(()).unwrap();
});
}
stateless_action!(actions, HelpAction, move |_| {
if let Err(e) =
gio::AppInfo::launch_default_for_uri("help:envision", AppLaunchContext::NONE)
{
eprintln!("Error opening help page: {e}")
}
});
stateless_action!(
actions,
QuitAction,
@ -903,6 +911,7 @@ impl SimpleComponent for App {
app.set_accelerators_for_action::<QuitAction>(&["<Control>q"]);
app.set_accelerators_for_action::<BuildProfileAction>(&["F5"]);
app.set_accelerators_for_action::<BuildProfileCleanAction>(&["<Control>F5"]);
app.set_accelerators_for_action::<HelpAction>(&["F1"]);
}
model.main_view.sender().emit(MainViewMsg::UpdateProfiles(
@ -926,6 +935,7 @@ impl SimpleComponent for App {
new_action_group!(pub AppActionGroup, "win");
new_stateless_action!(pub AboutAction, AppActionGroup, "about");
new_stateless_action!(pub HelpAction, AppActionGroup, "help");
new_stateless_action!(pub BuildProfileAction, AppActionGroup, "buildprofile");
new_stateless_action!(pub BuildProfileCleanAction, AppActionGroup, "buildprofileclean");
new_stateless_action!(pub ConfigFbtAction, AppActionGroup, "configfbt");

View file

@ -12,7 +12,7 @@ use crate::profile::{LighthouseDriver, Profile, XRServiceType};
use crate::steamvr_utils::chaperone_info_exists;
use crate::ui::app::{
AboutAction, BuildProfileAction, BuildProfileCleanAction, ConfigFbtAction,
DebugViewToggleAction,
DebugViewToggleAction, HelpAction,
};
use crate::ui::profile_editor::ProfileEditorInit;
use crate::ui::steamvr_calibration_box::SteamVrCalibrationBoxMsg;
@ -117,6 +117,7 @@ impl SimpleComponent for MainView {
"Configure Full Body _Tracking" => ConfigFbtAction,
},
section! {
"_Help" => HelpAction,
"_About" => AboutAction,
}
}