update default sort for temp and disk

This commit is contained in:
ClementTsang 2021-12-31 16:54:56 -05:00
parent 863ae0059a
commit 9340044648
5 changed files with 27 additions and 4 deletions

View File

@ -247,8 +247,7 @@ pub fn create_collection_thread(
sender: std::sync::mpsc::Sender<RuntimeEvent<AppMessages>>,
control_receiver: std::sync::mpsc::Receiver<ThreadControlEvent>,
termination_ctrl_lock: Arc<Mutex<bool>>, termination_ctrl_cvar: Arc<Condvar>,
app_config_fields: &app::AppConfig, filters: app::DataFilters,
used_widget_set: UsedWidgets,
app_config_fields: &app::AppConfig, filters: app::DataFilters, used_widget_set: UsedWidgets,
) -> std::thread::JoinHandle<()> {
let temp_type = app_config_fields.temperature_type.clone();
let use_current_cpu_total = app_config_fields.use_current_cpu_total;

View File

@ -5,6 +5,24 @@ use crate::tuine::{
Bounds, DrawContext, Event, LayoutNode, Size, StateContext, Status, TmpComponent,
};
enum MultiShortcutStep<Message, Child>
where
Child: TmpComponent<Message>,
{
NextStep(Event),
Action(
Box<
dyn Fn(
&mut Child,
&mut StateContext<'_>,
&DrawContext<'_>,
Event,
&mut Vec<Message>,
) -> Status,
>,
),
}
/// A [`Component`] to handle keyboard shortcuts and assign actions to them.
///
/// Inspired by [Flutter's approach](https://docs.flutter.dev/development/ui/advanced/actions_and_shortcuts).
@ -26,6 +44,8 @@ where
) -> Status,
>,
>,
multi_shortcuts: FxHashMap<Event, MultiShortcutStep<Message, Child>>,
enabled_multi_shortcuts: FxHashMap<Event, MultiShortcutStep<Message, Child>>,
}
impl<Message, Child> Shortcut<Message, Child>
@ -36,6 +56,8 @@ where
Self {
child: Some(child),
shortcuts: Default::default(),
multi_shortcuts: Default::default(),
enabled_multi_shortcuts: Default::default(),
}
}

View File

@ -38,6 +38,7 @@ impl<Message> AppWidget for DiskTable<Message> {
style,
vec!["Disk", "Mount", "Used", "Free", "Total", "R/s", "W/s"],
rows,
0,
),
}
}

View File

@ -27,12 +27,13 @@ impl<Message> SimpleTable<Message> {
#[track_caller]
pub fn build<C: Into<std::borrow::Cow<'static, str>>, R: Into<DataRow>>(
ctx: &mut ViewContext<'_>, style: StyleSheet, columns: Vec<C>, data: Vec<R>,
sort_index: usize,
) -> Self {
let shortcut = Shortcut::with_child(TextTable::build(
ctx,
TextTableProps::new(columns)
.rows(data)
.default_sort(SortType::Ascending(1))
.default_sort(SortType::Ascending(sort_index))
.style(text_table::StyleSheet {
text: style.text,
selected_text: style.selected_text,

View File

@ -33,7 +33,7 @@ impl<Message> AppWidget for TempTable<Message> {
let rows = data.temp_table(config.temperature_type);
Self {
inner: SimpleTable::build(ctx, style, vec!["Sensor", "Temp"], rows),
inner: SimpleTable::build(ctx, style, vec!["Sensor", "Temp"], rows, 0),
}
}
}