mirror of
https://github.com/feschber/lan-mouse.git
synced 2026-07-07 07:44:47 +03:00
use proper css styling for the font colors
This commit is contained in:
committed by
Ferdinand Schober
parent
c2f6e172bb
commit
d68df35409
@@ -6,6 +6,7 @@
|
|||||||
<file compressed="true" preprocess="xml-stripblanks">fingerprint_window.ui</file>
|
<file compressed="true" preprocess="xml-stripblanks">fingerprint_window.ui</file>
|
||||||
<file compressed="true" preprocess="xml-stripblanks">client_row.ui</file>
|
<file compressed="true" preprocess="xml-stripblanks">client_row.ui</file>
|
||||||
<file compressed="true" preprocess="xml-stripblanks">key_row.ui</file>
|
<file compressed="true" preprocess="xml-stripblanks">key_row.ui</file>
|
||||||
|
<file compressed="true">style.css</file>
|
||||||
</gresource>
|
</gresource>
|
||||||
<gresource prefix="/de/feschber/LanMouse/icons">
|
<gresource prefix="/de/feschber/LanMouse/icons">
|
||||||
<file compressed="true" preprocess="xml-stripblanks">de.feschber.LanMouse.svg</file>
|
<file compressed="true" preprocess="xml-stripblanks">de.feschber.LanMouse.svg</file>
|
||||||
|
|||||||
12
lan-mouse-gtk/resources/style.css
Normal file
12
lan-mouse-gtk/resources/style.css
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
.peer-match > box > list .subtitle {
|
||||||
|
color: @success_color;
|
||||||
|
}
|
||||||
|
|
||||||
|
.peer-mismatch > box > list .subtitle {
|
||||||
|
font-weight: bold;
|
||||||
|
color: @warning_color;
|
||||||
|
}
|
||||||
|
|
||||||
|
.peer-unknown > box > list .subtitle {
|
||||||
|
color: @warning_color;
|
||||||
|
}
|
||||||
@@ -174,16 +174,22 @@ impl ClientRow {
|
|||||||
.and_then(|co| co.property::<Option<String>>("peer-commit"));
|
.and_then(|co| co.property::<Option<String>>("peer-commit"));
|
||||||
let local = crate::local_commit_str();
|
let local = crate::local_commit_str();
|
||||||
let markup = match peer.as_deref() {
|
let markup = match peer.as_deref() {
|
||||||
None => format!(
|
None => format!("Peer version: unknown · Ours: {local}"),
|
||||||
r##"<span foreground="#ffaa33">Peer version: unknown · Ours: {local}</span>"##
|
|
||||||
),
|
|
||||||
Some(p) if p == local.as_str() => {
|
Some(p) if p == local.as_str() => {
|
||||||
format!(r##"<span foreground="#33cc66">Peer version: {p} · matched</span>"##)
|
format!("Peer version: {p} · matched")
|
||||||
}
|
}
|
||||||
Some(p) => {
|
Some(p) => {
|
||||||
format!(r##"<span foreground="#ffaa33">Peer version: {p} · Ours: {local}</span>"##)
|
format!("Peer version: {p} · Ours: {local}")
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
self.remove_css_class("peer-mismatch");
|
||||||
|
self.remove_css_class("peer-match");
|
||||||
|
self.remove_css_class("peer-unknown");
|
||||||
|
match peer.as_deref() {
|
||||||
|
Some(p) if p == local.as_str() => self.add_css_class("peer-match"),
|
||||||
|
Some(_) => self.add_css_class("peer-mismatch"),
|
||||||
|
None => self.add_css_class("peer-unknown"),
|
||||||
|
};
|
||||||
self.set_subtitle(&markup);
|
self.set_subtitle(&markup);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ mod window;
|
|||||||
|
|
||||||
use std::{env, process, str, sync::OnceLock};
|
use std::{env, process, str, sync::OnceLock};
|
||||||
|
|
||||||
|
use gtk::CssProvider;
|
||||||
use window::Window;
|
use window::Window;
|
||||||
|
|
||||||
/// Local build's commit hash, set once by [`run`] before the GTK
|
/// Local build's commit hash, set once by [`run`] before the GTK
|
||||||
@@ -85,6 +86,7 @@ fn gtk_main() -> glib::ExitCode {
|
|||||||
.build();
|
.build();
|
||||||
|
|
||||||
app.connect_startup(|app| {
|
app.connect_startup(|app| {
|
||||||
|
load_css();
|
||||||
load_icons();
|
load_icons();
|
||||||
setup_actions(app);
|
setup_actions(app);
|
||||||
setup_menu(app);
|
setup_menu(app);
|
||||||
@@ -153,6 +155,16 @@ fn configure_macos_bundle_environment() {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn load_css() {
|
||||||
|
let provider = CssProvider::default();
|
||||||
|
provider.load_from_resource("de/feschber/LanMouse/style.css");
|
||||||
|
gtk::style_context_add_provider_for_display(
|
||||||
|
&Display::default().expect("Could not connect to a display"),
|
||||||
|
&provider,
|
||||||
|
gtk::STYLE_PROVIDER_PRIORITY_APPLICATION,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
fn load_icons() {
|
fn load_icons() {
|
||||||
let display = &Display::default().expect("Could not connect to a display.");
|
let display = &Display::default().expect("Could not connect to a display.");
|
||||||
let icon_theme = IconTheme::for_display(display);
|
let icon_theme = IconTheme::for_display(display);
|
||||||
|
|||||||
Reference in New Issue
Block a user