1+ #[ cfg( target_arch = "x86_64" ) ]
12use everything_rs:: EverythingSort ;
23use parking_lot:: RwLock ;
34use serde:: { Deserialize , Serialize } ;
@@ -36,7 +37,7 @@ impl EverythingConfigInner {
3637 }
3738
3839 pub ( crate ) fn default_sort_method ( ) -> EverythingSortKind {
39- EverythingSortKind :: NameAscending
40+ EverythingSortKind ( " NameAscending" . to_string ( ) )
4041 }
4142
4243 pub ( crate ) fn default_result_limit ( ) -> usize {
@@ -58,7 +59,7 @@ impl EverythingConfigInner {
5859 pub fn to_partial ( & self ) -> PartialEverythingConfig {
5960 PartialEverythingConfig {
6061 sort_threshold : Some ( self . sort_threshold ) ,
61- sort_method : Some ( self . sort_method ) ,
62+ sort_method : Some ( self . sort_method . clone ( ) ) ,
6263 result_limit : Some ( self . result_limit ) ,
6364 }
6465 }
@@ -93,81 +94,48 @@ impl EverythingConfig {
9394 }
9495
9596 pub fn get_sort_method ( & self ) -> EverythingSortKind {
96- self . inner . read ( ) . sort_method
97+ self . inner . read ( ) . sort_method . clone ( )
9798 }
9899
99100 pub fn get_result_limit ( & self ) -> usize {
100101 self . inner . read ( ) . result_limit
101102 }
102103}
103104
104- #[ derive( Debug , Clone , Copy , Serialize , Deserialize , PartialEq , Eq ) ]
105- pub enum EverythingSortKind {
106- NameAscending ,
107- NameDescending ,
108- PathAscending ,
109- PathDescending ,
110- SizeAscending ,
111- SizeDescending ,
112- ExtensionAscending ,
113- ExtensionDescending ,
114- TypeNameAscending ,
115- TypeNameDescending ,
116- DateCreatedAscending ,
117- DateCreatedDescending ,
118- DateModifiedAscending ,
119- DateModifiedDescending ,
120- AttributesAscending ,
121- AttributesDescending ,
122- FileListFilenameAscending ,
123- FileListFilenameDescending ,
124- RunCountAscending ,
125- RunCountDescending ,
126- DateRecentlyChangedAscending ,
127- DateRecentlyChangedDescending ,
128- DateAccessedAscending ,
129- DateAccessedDescending ,
130- DateRunAscending ,
131- DateRunDescending ,
132- }
105+ #[ derive( Debug , Clone , Serialize , Deserialize ) ]
106+ pub struct EverythingSortKind ( String ) ;
133107
108+ #[ cfg( target_arch = "x86_64" ) ]
134109impl From < EverythingSortKind > for EverythingSort {
135110 fn from ( kind : EverythingSortKind ) -> Self {
136- match kind {
137- EverythingSortKind :: NameAscending => EverythingSort :: NameAscending ,
138- EverythingSortKind :: NameDescending => EverythingSort :: NameDescending ,
139- EverythingSortKind :: PathAscending => EverythingSort :: PathAscending ,
140- EverythingSortKind :: PathDescending => EverythingSort :: PathDescending ,
141- EverythingSortKind :: SizeAscending => EverythingSort :: SizeAscending ,
142- EverythingSortKind :: SizeDescending => EverythingSort :: SizeDescending ,
143- EverythingSortKind :: ExtensionAscending => EverythingSort :: ExtensionAscending ,
144- EverythingSortKind :: ExtensionDescending => EverythingSort :: ExtensionDescending ,
145- EverythingSortKind :: TypeNameAscending => EverythingSort :: TypeNameAscending ,
146- EverythingSortKind :: TypeNameDescending => EverythingSort :: TypeNameDescending ,
147- EverythingSortKind :: DateCreatedAscending => EverythingSort :: DateCreatedAscending ,
148- EverythingSortKind :: DateCreatedDescending => EverythingSort :: DateCreatedDescending ,
149- EverythingSortKind :: DateModifiedAscending => EverythingSort :: DateModifiedAscending ,
150- EverythingSortKind :: DateModifiedDescending => EverythingSort :: DateModifiedDescending ,
151- EverythingSortKind :: AttributesAscending => EverythingSort :: AttributesAscending ,
152- EverythingSortKind :: AttributesDescending => EverythingSort :: AttributesDescending ,
153- EverythingSortKind :: FileListFilenameAscending => {
154- EverythingSort :: FileListFilenameAscending
155- }
156- EverythingSortKind :: FileListFilenameDescending => {
157- EverythingSort :: FileListFilenameDescending
158- }
159- EverythingSortKind :: RunCountAscending => EverythingSort :: RunCountAscending ,
160- EverythingSortKind :: RunCountDescending => EverythingSort :: RunCountDescending ,
161- EverythingSortKind :: DateRecentlyChangedAscending => {
162- EverythingSort :: DateRecentlyChangedAscending
163- }
164- EverythingSortKind :: DateRecentlyChangedDescending => {
165- EverythingSort :: DateRecentlyChangedDescending
166- }
167- EverythingSortKind :: DateAccessedAscending => EverythingSort :: DateAccessedAscending ,
168- EverythingSortKind :: DateAccessedDescending => EverythingSort :: DateAccessedDescending ,
169- EverythingSortKind :: DateRunAscending => EverythingSort :: DateRunAscending ,
170- EverythingSortKind :: DateRunDescending => EverythingSort :: DateRunDescending ,
111+ match kind. 0 . as_str ( ) {
112+ "NameAscending" => EverythingSort :: NameAscending ,
113+ "NameDescending" => EverythingSort :: NameDescending ,
114+ "PathAscending" => EverythingSort :: PathAscending ,
115+ "PathDescending" => EverythingSort :: PathDescending ,
116+ "SizeAscending" => EverythingSort :: SizeAscending ,
117+ "SizeDescending" => EverythingSort :: SizeDescending ,
118+ "ExtensionAscending" => EverythingSort :: ExtensionAscending ,
119+ "ExtensionDescending" => EverythingSort :: ExtensionDescending ,
120+ "TypeNameAscending" => EverythingSort :: TypeNameAscending ,
121+ "TypeNameDescending" => EverythingSort :: TypeNameDescending ,
122+ "DateCreatedAscending" => EverythingSort :: DateCreatedAscending ,
123+ "DateCreatedDescending" => EverythingSort :: DateCreatedDescending ,
124+ "DateModifiedAscending" => EverythingSort :: DateModifiedAscending ,
125+ "DateModifiedDescending" => EverythingSort :: DateModifiedDescending ,
126+ "AttributesAscending" => EverythingSort :: AttributesAscending ,
127+ "AttributesDescending" => EverythingSort :: AttributesDescending ,
128+ "FileListFilenameAscending" => EverythingSort :: FileListFilenameAscending ,
129+ "FileListFilenameDescending" => EverythingSort :: FileListFilenameDescending ,
130+ "RunCountAscending" => EverythingSort :: RunCountAscending ,
131+ "RunCountDescending" => EverythingSort :: RunCountDescending ,
132+ "DateRecentlyChangedAscending" => EverythingSort :: DateRecentlyChangedAscending ,
133+ "DateRecentlyChangedDescending" => EverythingSort :: DateRecentlyChangedDescending ,
134+ "DateAccessedAscending" => EverythingSort :: DateAccessedAscending ,
135+ "DateAccessedDescending" => EverythingSort :: DateAccessedDescending ,
136+ "DateRunAscending" => EverythingSort :: DateRunAscending ,
137+ "DateRunDescending" => EverythingSort :: DateRunDescending ,
138+ _ => EverythingSort :: NameAscending , // 默认值
171139 }
172140 }
173141}
0 commit comments