f1c6e6da17
* Add sort button * Update lofty and gtk-rs * Fix bug with invalid music tags with reference folders * Remove try at * Fix loading of certain directories with disabled loading settings at start * Change FileChooserDialog to FileChooserNative * Any * Copy Clone * Popover sort basic * Builder using * Basic sorting * Fix not working sorting by size * Changelog
47 lines
2 KiB
Rust
47 lines
2 KiB
Rust
use gtk4::prelude::*;
|
|
use gtk4::Builder;
|
|
|
|
use crate::flg;
|
|
|
|
#[derive(Clone)]
|
|
pub struct GuiSortPopovers {
|
|
pub buttons_popover_sort_file_name: gtk4::Button,
|
|
pub buttons_popover_sort_folder_name: gtk4::Button,
|
|
pub buttons_popover_sort_full_name: gtk4::Button,
|
|
pub buttons_popover_sort_size: gtk4::Button,
|
|
pub buttons_popover_sort_selection: gtk4::Button,
|
|
|
|
pub popover_sort: gtk4::Popover,
|
|
}
|
|
|
|
impl GuiSortPopovers {
|
|
pub fn create_from_builder() -> Self {
|
|
let glade_src = include_str!("../../ui/popover_sort.ui").to_string();
|
|
let builder = Builder::from_string(glade_src.as_str());
|
|
|
|
let buttons_popover_sort_file_name: gtk4::Button = builder.object("buttons_popover_sort_file_name").unwrap();
|
|
let buttons_popover_sort_folder_name: gtk4::Button = builder.object("buttons_popover_sort_folder_name").unwrap();
|
|
let buttons_popover_sort_full_name: gtk4::Button = builder.object("buttons_popover_sort_full_name").unwrap();
|
|
let buttons_popover_sort_size: gtk4::Button = builder.object("buttons_popover_sort_size").unwrap();
|
|
let buttons_popover_sort_selection: gtk4::Button = builder.object("buttons_popover_sort_selection").unwrap();
|
|
|
|
let popover_sort: gtk4::Popover = builder.object("popover_sort").unwrap();
|
|
|
|
Self {
|
|
buttons_popover_sort_file_name,
|
|
buttons_popover_sort_folder_name,
|
|
buttons_popover_sort_full_name,
|
|
buttons_popover_sort_size,
|
|
buttons_popover_sort_selection,
|
|
popover_sort,
|
|
}
|
|
}
|
|
pub fn update_language(&self) {
|
|
self.buttons_popover_sort_file_name.set_label(&flg!("popover_sort_file_name"));
|
|
self.buttons_popover_sort_folder_name.set_label(&flg!("popover_sort_folder_name"));
|
|
self.buttons_popover_sort_full_name.set_label(&flg!("popover_sort_full_name"));
|
|
self.buttons_popover_sort_size.set_label(&flg!("popover_sort_size"));
|
|
self.buttons_popover_sort_selection.set_label(&flg!("popover_sort_selection"));
|
|
}
|
|
}
|