mirror of
https://github.com/MeexReay/bRAC.git
synced 2025-05-06 21:48:03 +03:00
fix flake and scroll
This commit is contained in:
parent
e90b94a694
commit
4f78d48b10
@ -12,7 +12,7 @@
|
|||||||
systems = [ "x86_64-linux" ];
|
systems = [ "x86_64-linux" ];
|
||||||
perSystem = { config, self', pkgs, lib, system, ... }:
|
perSystem = { config, self', pkgs, lib, system, ... }:
|
||||||
let
|
let
|
||||||
devDeps = with pkgs; [ pkg-config openssl ];
|
devDeps = with pkgs; [ pkg-config openssl gtk4 pango ];
|
||||||
|
|
||||||
cargoToml = builtins.fromTOML (builtins.readFile ./Cargo.toml);
|
cargoToml = builtins.fromTOML (builtins.readFile ./Cargo.toml);
|
||||||
msrv = cargoToml.package.rust-version;
|
msrv = cargoToml.package.rust-version;
|
||||||
|
@ -5,7 +5,7 @@ use colored::{Color, Colorize};
|
|||||||
use gtk4::gdk::Display;
|
use gtk4::gdk::Display;
|
||||||
use gtk4::gdk_pixbuf::PixbufLoader;
|
use gtk4::gdk_pixbuf::PixbufLoader;
|
||||||
use gtk4::glib::clone::Downgrade;
|
use gtk4::glib::clone::Downgrade;
|
||||||
use gtk4::glib::{idle_add_local, idle_add_local_once, ControlFlow, source::timeout_add_once};
|
use gtk4::glib::{idle_add_local, idle_add_local_once, ControlFlow, source::timeout_add_local_once};
|
||||||
use gtk4::{glib, glib::clone, Align, Box as GtkBox, Label, ScrolledWindow};
|
use gtk4::{glib, glib::clone, Align, Box as GtkBox, Label, ScrolledWindow};
|
||||||
use gtk4::{CssProvider, Entry, Orientation, Overlay, Picture};
|
use gtk4::{CssProvider, Entry, Orientation, Overlay, Picture};
|
||||||
use gtk4::prelude::*;
|
use gtk4::prelude::*;
|
||||||
@ -364,9 +364,9 @@ fn load_css() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn on_add_message(ctx: Arc<Context>, ui: &UiModel, message: String) {
|
fn on_add_message(ctx: Arc<Context>, ui: &UiModel, message: String) {
|
||||||
if let Some((date, ip, content, nick)) = parse_message(message.clone()) {
|
let hbox = GtkBox::new(Orientation::Horizontal, 2);
|
||||||
let hbox = GtkBox::new(Orientation::Horizontal, 2);
|
|
||||||
|
|
||||||
|
if let Some((date, ip, content, nick)) = parse_message(message.clone()) {
|
||||||
if let Some(ip) = ip {
|
if let Some(ip) = ip {
|
||||||
if ctx.enable_ip_viewing {
|
if ctx.enable_ip_viewing {
|
||||||
let ip = Label::builder()
|
let ip = Label::builder()
|
||||||
@ -425,8 +425,6 @@ fn on_add_message(ctx: Arc<Context>, ui: &UiModel, message: String) {
|
|||||||
.build();
|
.build();
|
||||||
|
|
||||||
hbox.append(&content);
|
hbox.append(&content);
|
||||||
|
|
||||||
ui.chat_box.append(&hbox);
|
|
||||||
} else {
|
} else {
|
||||||
let content = Label::builder()
|
let content = Label::builder()
|
||||||
.label(message)
|
.label(message)
|
||||||
@ -434,10 +432,12 @@ fn on_add_message(ctx: Arc<Context>, ui: &UiModel, message: String) {
|
|||||||
.css_classes(["message-content"])
|
.css_classes(["message-content"])
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
ui.chat_box.append(&content);
|
hbox.append(&content);
|
||||||
}
|
}
|
||||||
|
|
||||||
timeout_add_once(Duration::from_millis(10), move || {
|
ui.chat_box.append(&hbox);
|
||||||
|
|
||||||
|
timeout_add_local_once(Duration::from_millis(100), move || {
|
||||||
GLOBAL.with(|global| {
|
GLOBAL.with(|global| {
|
||||||
if let Some((ui, _)) = &*global.borrow() {
|
if let Some((ui, _)) = &*global.borrow() {
|
||||||
let o = &ui.chat_scrolled;
|
let o = &ui.chat_scrolled;
|
||||||
|
Loading…
Reference in New Issue
Block a user