Prefer using exported once_cell from glib or std

This commit is contained in:
Bilal Elmoussaoui 2023-08-12 01:42:40 +02:00
parent d475fa4bdc
commit 9fbc2ff78d
24 changed files with 43 additions and 39 deletions

2
Cargo.lock generated
View file

@ -249,7 +249,6 @@ dependencies = [
"hex",
"image",
"libadwaita",
"once_cell",
"oo7",
"percent-encoding",
"prost",
@ -860,7 +859,6 @@ version = "0.1.0"
dependencies = [
"data-encoding",
"image",
"once_cell",
"percent-encoding",
"quick-xml",
"reqwest",

View file

@ -23,7 +23,6 @@ gst4gtk = {package = "gst-plugin-gtk4", version = "0.11.0-alpha.1", features = [
gtk = {package = "gtk4", version = "0.7", features = ["v4_10"]}
hex = {version = "0.4.3", features = ["serde"]}
image = {version = "0.24", default-features = false, features = ["png"]}
once_cell = "1.9"
oo7 = {version = "0.2", default-features = false, features = ["tokio", "native_crypto", "tracing"]}
percent-encoding = "2.1"
prost = "0.11"

View file

@ -7,7 +7,6 @@ version = "0.1.0"
[dependencies]
data-encoding = "2.3"
image = {version = "0.24", features = ["ico", "png"], default-features = false}
once_cell = "1.9"
percent-encoding = "2.1"
quick-xml = "0.30"
reqwest = "0.11"

View file

@ -4,7 +4,7 @@ use image::io::Reader as ImageReader;
use tokio::{io::AsyncWriteExt, sync::Mutex};
use url::Url;
use crate::{Error, Format, Metadata, CLIENT};
use crate::{client, Error, Format, Metadata};
pub struct Favicon {
url: Option<Url>,
@ -63,7 +63,7 @@ impl Favicon {
} else {
let has_cached_data = lock.is_some();
if !has_cached_data {
let res = CLIENT.get(self.url().as_str()).send().await?;
let res = client().get(self.url().as_str()).send().await?;
let bytes = res.bytes().await?.to_vec();
lock.replace(bytes);
}

View file

@ -1,6 +1,9 @@
use once_cell::sync::Lazy;
use std::sync::OnceLock;
pub static CLIENT: Lazy<reqwest::Client> = Lazy::new(reqwest::Client::new);
static CLIENT: OnceLock<reqwest::Client> = OnceLock::new();
pub(crate) fn client<'a>() -> &'a reqwest::Client {
CLIENT.get_or_init(|| reqwest::Client::new())
}
mod error;
mod favicon;

View file

@ -8,7 +8,7 @@ use quick_xml::{
use tracing::debug;
use url::Url;
use crate::{Error, Favicon, Format, Metadata, CLIENT};
use crate::{client, Error, Favicon, Format, Metadata};
const SUPPORTED_RELS: [&[u8]; 7] = [
b"icon",
@ -26,7 +26,7 @@ pub struct Scrapper(Vec<Favicon>);
impl Scrapper {
pub async fn from_url(base_url: &Url) -> Result<Self, Error> {
let res = CLIENT.get(base_url.as_str())
let res = client().get(base_url.as_str())
.header("User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 11_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.2 Safari/605.1.15")
.send()
.await?;

View file

@ -34,10 +34,9 @@ pub struct DieselAccount {
#[doc(hidden)]
mod imp {
use std::cell::{Cell, RefCell};
use std::cell::{Cell, OnceCell, RefCell};
use glib::ParamSpecObject;
use once_cell::sync::{Lazy, OnceCell};
use glib::{once_cell::sync::Lazy, ParamSpecObject};
use super::*;

View file

@ -3,7 +3,7 @@ use std::{fs, fs::File, path::PathBuf};
use anyhow::Result;
use diesel::{prelude::*, r2d2, r2d2::ConnectionManager};
use diesel_migrations::{embed_migrations, EmbeddedMigrations, MigrationHarness};
use once_cell::sync::Lazy;
use gtk::glib::once_cell::sync::Lazy;
type Pool = r2d2::Pool<ConnectionManager<SqliteConnection>>;

View file

@ -1,6 +1,6 @@
use std::collections::HashMap;
use once_cell::sync::OnceCell;
use gtk::glib::once_cell::sync::OnceCell;
use rand::RngCore;
use crate::config;

View file

@ -1,4 +1,4 @@
use once_cell::sync::Lazy;
use gtk::glib::once_cell::sync::Lazy;
mod account;
mod accounts;

View file

@ -13,10 +13,12 @@ use crate::{
};
mod imp {
use std::cell::RefCell;
use std::cell::{OnceCell, RefCell};
use glib::subclass::{InitializingObject, Signal};
use once_cell::sync::{Lazy, OnceCell};
use glib::{
once_cell::sync::Lazy,
subclass::{InitializingObject, Signal},
};
use super::*;

View file

@ -12,10 +12,9 @@ use crate::{
widgets::UrlRow,
};
mod imp {
use std::cell::RefCell;
use std::cell::{OnceCell, RefCell};
use glib::subclass::Signal;
use once_cell::sync::{Lazy, OnceCell};
use glib::{once_cell::sync::Lazy, subclass::Signal};
use super::*;

View file

@ -3,10 +3,11 @@ use gtk::{gdk, glib, prelude::*};
use crate::models::Account;
mod imp {
use std::cell::OnceCell;
use adw::subclass::prelude::*;
use gettextrs::gettext;
use glib::subclass;
use once_cell::sync::OnceCell;
use super::*;
use crate::widgets::Window;

View file

@ -4,6 +4,7 @@ use adw::subclass::prelude::*;
use anyhow::Result;
use ashpd::desktop::screenshot::ScreenshotRequest;
use gettextrs::gettext;
use glib::once_cell::sync::Lazy;
use gst::prelude::*;
use gtk::{
gio,
@ -11,7 +12,6 @@ use gtk::{
prelude::*,
};
use image::GenericImageView;
use once_cell::sync::Lazy;
use super::{CameraItem, CameraRow};
use crate::{utils::spawn_tokio, widgets::CameraPaintable};

View file

@ -1,5 +1,6 @@
use std::os::unix::io::AsRawFd;
use glib::once_cell::sync::Lazy;
use gst::prelude::*;
use gtk::{
gdk,
@ -8,7 +9,6 @@ use gtk::{
prelude::*,
subclass::prelude::*,
};
use once_cell::sync::Lazy;
use crate::widgets::camera::CameraEvent;
static PIPELINE_NAME: Lazy<glib::GString> = Lazy::new(|| glib::GString::from("camera"));

View file

@ -7,7 +7,6 @@ use gtk::{
glib::{self, clone},
prelude::*,
};
use once_cell::sync::OnceCell;
use tokio::{
select,
sync::oneshot,
@ -17,6 +16,8 @@ use tokio::{
use crate::{utils::spawn_tokio, widgets::Camera};
mod imp {
use std::cell::OnceCell;
use super::*;
#[derive(Default, gtk::CompositeTemplate, glib::Properties)]

View file

@ -17,8 +17,9 @@ use crate::{
};
mod imp {
use std::cell::OnceCell;
use glib::subclass::InitializingObject;
use once_cell::sync::OnceCell;
use super::*;

View file

@ -6,7 +6,6 @@ use gtk::{
glib::{self, clone},
subclass::prelude::*,
};
use once_cell::sync::OnceCell;
use super::{camera_page::CameraPage, password_page::PasswordPage};
use crate::{
@ -21,13 +20,12 @@ use crate::{
mod imp {
use std::{
cell::{Cell, RefCell},
cell::{Cell, OnceCell, RefCell},
collections::HashMap,
};
use adw::subclass::prelude::*;
use glib::subclass::Signal;
use once_cell::sync::Lazy;
use glib::{once_cell::sync::Lazy, subclass::Signal};
use super::*;

View file

@ -12,8 +12,9 @@ enum View {
}
mod imp {
use glib::subclass::Signal;
use once_cell::sync::{Lazy, OnceCell};
use std::cell::OnceCell;
use glib::{once_cell::sync::Lazy, subclass::Signal};
use super::*;
use crate::config;

View file

@ -3,8 +3,9 @@ use gtk::{glib, prelude::*, subclass::prelude::*};
use crate::models::Provider;
mod imp {
use std::cell::OnceCell;
use gtk::pango;
use once_cell::sync::OnceCell;
use super::*;

View file

@ -52,7 +52,7 @@ mod imp {
}
fn signals() -> &'static [Signal] {
use once_cell::sync::Lazy;
use glib::once_cell::sync::Lazy;
static SIGNALS: Lazy<Vec<Signal>> = Lazy::new(|| {
vec![Signal::builder("shared")
.param_types([Account::static_type()])

View file

@ -114,7 +114,7 @@ mod imp {
impl ObjectImpl for ProviderPage {
fn signals() -> &'static [Signal] {
use once_cell::sync::Lazy;
use glib::once_cell::sync::Lazy;
static SIGNALS: Lazy<Vec<Signal>> = Lazy::new(|| {
vec![
Signal::builder("created")

View file

@ -12,8 +12,9 @@ use crate::{
};
mod imp {
use glib::subclass::Signal;
use once_cell::sync::{Lazy, OnceCell};
use std::cell::OnceCell;
use glib::{once_cell::sync::Lazy, subclass::Signal};
use super::*;

View file

@ -1,3 +1,5 @@
use std::cell::OnceCell;
use gettextrs::gettext;
use gtk::{
gio,
@ -5,7 +7,6 @@ use gtk::{
prelude::*,
subclass::prelude::*,
};
use once_cell::sync::OnceCell;
use crate::{
application::Application,