From 6feba023af6fc94e660b99e163684ed5c7b4b6e9 Mon Sep 17 00:00:00 2001 From: Gabriele Musco Date: Thu, 12 Sep 2024 20:46:31 +0200 Subject: [PATCH] fix: use default trait properly with enums --- src/profile.rs | 9 ++------- src/ui/factories/device_row_factory.rs | 9 ++------- src/xr_devices.rs | 9 ++------- 3 files changed, 6 insertions(+), 21 deletions(-) diff --git a/src/profile.rs b/src/profile.rs index 711b2fb..57c43e4 100644 --- a/src/profile.rs +++ b/src/profile.rs @@ -188,19 +188,14 @@ impl Default for ProfileFeatures { } } -#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)] +#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)] pub enum LighthouseDriver { + #[default] Vive, Survive, SteamVR, } -impl Default for LighthouseDriver { - fn default() -> Self { - Self::Vive - } -} - impl From<&str> for LighthouseDriver { fn from(s: &str) -> Self { match s.trim().to_lowercase().as_str() { diff --git a/src/ui/factories/device_row_factory.rs b/src/ui/factories/device_row_factory.rs index bacd4ce..85ff527 100644 --- a/src/ui/factories/device_row_factory.rs +++ b/src/ui/factories/device_row_factory.rs @@ -5,19 +5,14 @@ use crate::{ use adw::prelude::*; use relm4::{factory::AsyncFactoryComponent, prelude::*, AsyncFactorySender}; -#[derive(Debug, Clone, Copy, PartialEq, Eq)] +#[derive(Default, Debug, Clone, Copy, PartialEq, Eq)] pub enum DeviceRowState { + #[default] Ok, Error, Warning, } -impl Default for DeviceRowState { - fn default() -> Self { - Self::Ok - } -} - impl DeviceRowState { pub fn icon(&self) -> &str { match &self { diff --git a/src/xr_devices.rs b/src/xr_devices.rs index 814d2c4..24636a2 100644 --- a/src/xr_devices.rs +++ b/src/xr_devices.rs @@ -1,7 +1,7 @@ use libmonado_rs::{self, BatteryStatus, DeviceRole}; use std::{collections::HashMap, fmt::Display, slice::Iter}; -#[derive(Debug, Clone, Copy, PartialEq, Eq)] +#[derive(Default, Debug, Clone, Copy, PartialEq, Eq)] pub enum XRDeviceRole { Head, Eyes, @@ -25,15 +25,10 @@ pub enum XRDeviceRole { Camera, Keyboard, + #[default] GenericTracker, } -impl Default for XRDeviceRole { - fn default() -> Self { - Self::GenericTracker - } -} - impl Display for XRDeviceRole { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { f.write_str(match self {