Use label UI macro in collection item rendering
This commit is contained in:
		
					parent
					
						
							
								38adb5f4b9
							
						
					
				
			
			
				commit
				
					
						cd45d4303b
					
				
			
		
					 2 changed files with 30 additions and 28 deletions
				
			
		|  | @ -168,35 +168,29 @@ async fn create_collection_item ( | |||
| 			Texture :: from_filename (poster_file_path) . unwrap () | ||||
| 		) . await . unwrap () ; | ||||
| 
 | ||||
| 		container . append ( | ||||
| 			& image ! ( | ||||
| 				@ paintable : & poster_texture ; | ||||
| 				@ width_request : 300 ; | ||||
| 				@ height_request : 300 ; | ||||
| 				@ margin_bottom : 10 ; | ||||
| 			) | ||||
| 		) ; | ||||
| 		container . append ( & image ! ( | ||||
| 			@ paintable : & poster_texture ; | ||||
| 			@ width_request : 300 ; | ||||
| 			@ height_request : 300 ; | ||||
| 			@ margin_bottom : 10 ; | ||||
| 		) ) ; | ||||
| 	} | ||||
| 
 | ||||
| 	container . append ( | ||||
| 		& Label :: builder () | ||||
| 			. label (name) | ||||
| 			. attributes ( & pango_attributes ! ( @ scale : SCALE_LARGE ; @ weight : Bold ; ) ) | ||||
| 			. justify ( Justification :: Center ) | ||||
| 			. wrap (true) | ||||
| 			. max_width_chars (1)  // Not the actual limit, used instead to wrap more aggressively
 | ||||
| 			. build () | ||||
| 	) ; | ||||
| 	container . append ( & label ! ( | ||||
| 		@ justify : Justification :: Center ; | ||||
| 		@ wrap : true ; | ||||
| 		@ max_width_chars : 1 ;  // Not the actual limit, used instead to wrap more aggressively
 | ||||
| 		@ attributes : & pango_attributes ! ( @ scale : SCALE_LARGE ; @ weight : Bold ; ) ; | ||||
| 		name , | ||||
| 	) ) ; | ||||
| 
 | ||||
| 	if let Some (original_name) = original_name { | ||||
| 		container . append ( | ||||
| 			& Label :: builder () | ||||
| 				. label (original_name) | ||||
| 				. justify ( Justification :: Center ) | ||||
| 				. wrap (true) | ||||
| 				. max_width_chars (1)  // Not the actual limit, used instead to wrap more aggressively
 | ||||
| 				. build () | ||||
| 		) ; | ||||
| 		container . append ( & label ! ( | ||||
| 			@ justify : Justification :: Center ; | ||||
| 			@ wrap : true ; | ||||
| 			@ max_width_chars : 1 ;  // Not the actual limit, used instead to wrap more aggressively
 | ||||
| 			original_name , | ||||
| 		) ) ; | ||||
| 	} | ||||
| 
 | ||||
| 	container . append (details_widget) ; | ||||
|  |  | |||
|  | @ -1,16 +1,24 @@ | |||
| macro_rules ! label { ( | ||||
| 	$ ( @ hexpand : $ hexpand : expr ;) ? | ||||
| 	$ ( @ hexpand : $ hexpand : expr ; ) ? | ||||
| 	$ ( @ vexpand : $ vexpand : expr ; ) ? | ||||
| 	$ ( @ halign : $ halign : expr ; ) ? | ||||
| 	$ ( @ valign : $ valign : expr ; ) ? | ||||
| 	$ label : expr $ (,) ? | ||||
| 	$ ( @ justify : $ justify : expr ; ) ? | ||||
| 	$ ( @ wrap : $ wrap : expr ; ) ? | ||||
| 	$ ( @ max_width_chars : $ max_width_chars : expr ; ) ? | ||||
| 	$ ( @ attributes : $ attributes : expr ; ) ? | ||||
| 	$ ( $ label : expr ) ? $ (,) ? | ||||
| ) => { { | ||||
| 	let label = gtk4 :: Label :: builder () . build () ; | ||||
| 	$ ( label . set_hexpand ( $ hexpand ) ; ) ? | ||||
| 	$ ( label . set_vexpand ( $ vexpand ) ; ) ? | ||||
| 	$ ( label . set_halign ( $ halign ) ; ) ? | ||||
| 	$ ( label . set_valign ( $ valign ) ; ) ? | ||||
| 	label . set_label ( $ label ) ; | ||||
| 	$ ( label . set_label ( $ label ) ; ) ? | ||||
| 	$ ( label . set_justify ( $ justify ) ; ) ? | ||||
| 	$ ( label . set_max_width_chars ( $ max_width_chars ) ; ) ? | ||||
| 	$ ( label . set_attributes ( Some ( $ attributes ) ) ; ) ? | ||||
| 	$ ( label . set_wrap ( $ wrap ) ; ) ? | ||||
| 	label | ||||
| } } } | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue