@@ -728,7 +728,13 @@ impl LogViewerApp {
728
728
( false , _, total_len) => as_string_with_separators ( total_len) ,
729
729
} ;
730
730
ui. label ( format ! ( "# Rows: {row_count_text}" ) ) ;
731
- ui. label ( format ! ( "Size: {}" , data. file_size_display( ) ) ) ;
731
+ let size_text = format ! ( "Size: {}" , data. file_size_display( ) ) ;
732
+ if self . does_data_exceeded_max_size ( ) {
733
+ ui. colored_label ( ui. visuals ( ) . warn_fg_color , size_text)
734
+ . on_hover_text ( "Save disabled because data size is over max set" ) ;
735
+ } else {
736
+ ui. label ( size_text) ;
737
+ }
732
738
}
733
739
} ) ;
734
740
}
@@ -776,17 +782,16 @@ impl LogViewerApp {
776
782
}
777
783
778
784
fn should_save ( & mut self ) -> bool {
779
- // Check if size of data allows saving
780
- if let ( Some ( data) , Some ( max_data_size) ) =
781
- ( self . data . as_ref ( ) , self . max_data_save_size . as_ref ( ) )
785
+ !self . does_data_exceeded_max_size ( ) && self . is_changed_since_last_save ( )
786
+ }
787
+
788
+ fn does_data_exceeded_max_size ( & self ) -> bool {
789
+ if let ( Some ( data) , Some ( max_size) ) = ( self . data . as_ref ( ) , self . max_data_save_size . as_ref ( ) )
782
790
{
783
- if & data. file_size_as_bytes > max_data_size {
784
- return false ;
785
- }
791
+ & data. file_size_as_bytes > max_size
792
+ } else {
793
+ false
786
794
}
787
-
788
- // Size of data does not prevent saving, check if there are changes to be saved
789
- self . is_changed_since_last_save ( )
790
795
}
791
796
}
792
797
0 commit comments