mirror of
https://github.com/djibux/BoilR.git
synced 2026-09-01 05:53:41 +02:00
Add option to only download images for BoilR shortcuts (#106)
This commit is contained in:
@@ -6,6 +6,7 @@ auth_key = "Write your authentication key between these quotes"
|
||||
enabled = true
|
||||
prefer_animated = false
|
||||
banned_images = []
|
||||
only_download_boilr_images = false
|
||||
|
||||
[origin]
|
||||
enabled = true
|
||||
|
||||
@@ -12,13 +12,13 @@ use tokio::sync::watch::Sender; // 0.3.1
|
||||
use steam_shortcuts_util::shortcut::ShortcutOwned;
|
||||
use steamgriddb_api::Client;
|
||||
|
||||
use super::CachedSearch;
|
||||
use crate::settings::Settings;
|
||||
use crate::steam::{get_shortcuts_for_user, get_users_images, SteamUsersInfo};
|
||||
use crate::steamgriddb::ImageType;
|
||||
use crate::sync::IsBoilRShortcut;
|
||||
use crate::sync::SyncProgress;
|
||||
|
||||
use super::CachedSearch;
|
||||
|
||||
const CONCURRENT_REQUESTS: usize = 10;
|
||||
|
||||
pub async fn download_images_for_users<'b>(
|
||||
@@ -150,7 +150,10 @@ async fn search_for_images_to_download(
|
||||
types
|
||||
};
|
||||
|
||||
let shortcuts_to_search_for = shortcuts.iter().filter(|s| {
|
||||
let shortcuts_to_search_for = shortcuts
|
||||
.iter()
|
||||
.filter(|s| !settings.steamgrid_db.only_download_boilr_images || s.is_boilr_shortcut())
|
||||
.filter(|s| {
|
||||
// if we are missing any of the images we need to search for them
|
||||
types
|
||||
.iter()
|
||||
|
||||
@@ -8,6 +8,7 @@ pub struct SteamGridDbSettings {
|
||||
pub auth_key: Option<String>,
|
||||
pub prefer_animated: bool,
|
||||
pub banned_images: Vec<String>,
|
||||
pub only_download_boilr_images: bool,
|
||||
}
|
||||
|
||||
impl SteamGridDbSettings {
|
||||
|
||||
@@ -6,4 +6,5 @@ pub use synchronization::download_images;
|
||||
pub use synchronization::get_platform_shortcuts;
|
||||
pub use synchronization::run_sync;
|
||||
|
||||
pub use synchronization::IsBoilRShortcut;
|
||||
pub use synchronization::SyncProgress;
|
||||
|
||||
@@ -109,12 +109,12 @@ pub async fn download_images(
|
||||
}
|
||||
}
|
||||
|
||||
trait IsBoilRShortcut {
|
||||
fn is_boilr_tag(&self) -> bool;
|
||||
pub trait IsBoilRShortcut {
|
||||
fn is_boilr_shortcut(&self) -> bool;
|
||||
}
|
||||
|
||||
impl IsBoilRShortcut for ShortcutOwned {
|
||||
fn is_boilr_tag(&self) -> bool {
|
||||
fn is_boilr_shortcut(&self) -> bool {
|
||||
let boilr_tag = BOILR_TAG.to_string();
|
||||
self.tags.contains(&boilr_tag) || self.dev_kit_game_id.starts_with(&boilr_tag)
|
||||
}
|
||||
@@ -123,7 +123,7 @@ impl IsBoilRShortcut for ShortcutOwned {
|
||||
fn remove_old_shortcuts(shortcut_info: &mut ShortcutInfo) {
|
||||
shortcut_info
|
||||
.shortcuts
|
||||
.retain(|shortcut| !shortcut.is_boilr_tag());
|
||||
.retain(|shortcut| !shortcut.is_boilr_shortcut());
|
||||
}
|
||||
|
||||
fn fix_shortcut_icons(
|
||||
@@ -141,7 +141,7 @@ fn fix_shortcut_icons(
|
||||
};
|
||||
|
||||
for shortcut in shortcuts {
|
||||
if shortcut.is_boilr_tag() {
|
||||
if shortcut.is_boilr_shortcut() {
|
||||
let replace_icon = shortcut.icon.trim().eq("")
|
||||
|| !Path::new(shortcut.icon.trim()).exists()
|
||||
|| shortcut.icon.eq(&shortcut.exe);
|
||||
|
||||
@@ -211,6 +211,10 @@ impl MyEguiApp {
|
||||
)
|
||||
});
|
||||
ui.checkbox(&mut self.settings.steamgrid_db.prefer_animated, "Prefer animated images").on_hover_text("Prefer downloading animated images over static images (this can slow Steam down but looks neat)");
|
||||
ui.checkbox(
|
||||
&mut self.settings.steamgrid_db.only_download_boilr_images,
|
||||
"Only download images for BoilR shortcuts",
|
||||
);
|
||||
}
|
||||
ui.add_space(SECTION_SPACING);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user