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
Reference in a new issue